zen cart實現支付前生成訂單的方法

2022-10-06 09:30:12 字數 2740 閱讀 9490

除了paypal之外. 客戶通過其他的支付方式進入index.php?main_page=checkout_confirmation這個頁面就能生出訂單.

但是!! paypal就有點與眾不同, 它只能是從它的官網 [paypal.com] 返回來並且進入checkout_process這個頁面後,才能生出訂單

而意外常會發生:比如網路不順. 又比如客戶不小心在返回前就關了頁面.

那麼,我們的**後台就看不到客戶買的是什麼產品(雖然在paypal後台能看到是誰買了,但確實是無法知道他到底買了什麼,)這可是乙個好鬱悶的事情

paypal防漏單的原理就是------在 checkout_confirmation.php這個頁面先生出訂單!!!

方法是:在這個檔案的最後部分

複製** **如下:

echo title_continue_checkout_procedure . '

' . text_continue_checkout_procedure;

後面新增**:

// create the order record 防漏單

if ($_session['payment'] == 'paypal')

而且在確認頁面,如果顧客一直重新整理頁面,就會一直生成訂單,可以加個限制.

// create the order record 防漏單

if ($_session['payment'] == 'paypal' and !isset($_session['order_number_created']))

在pages/checkout_payment/header_php.php任意位置加上

unset($_session['order_number_created']);

這樣,就算顧客在確認頁面一直重新整理,因為已經設定了

$_session['order_number_created']

訂單不再生成,

如果顧客返回修改了購物車,再次到達checkout_payment時$_session['order_number_created']將被清除,

其實,生成訂單的**可以寫在modules/payment/paypal.php的 function confirmation()中。

**如下:

function confirmation()

else }

if(isset($mycartid)&&$mycartid == $_session['cart']->cartid)

$mycartid = $_session['cart']->cartid;

$order = new order; // prevent 0-pndaqentry orders from being generated/spoofed

if (sizeof($order->products) < 1)

$order_total_modules = new order_total;

$zco_notifier->notify('notify_checkout_process_before_order_totals_pre_confirmation_check');

//$order_totals = $order_total_modules->pre_confirmation_check();

$zco_notifier->notify('notify_checkout_process_before_order_totals_process');

$or程式設計客棧der_totals = $order_total_modules->process();

$zco_notifier->notify('notify_checkout_process_after_order_totals_process');

if (!isset($_session['payment']) && !$credit_covers)

// load the before_process

// load the before_process function from the payment modules

//$zco_notifier->notify('notify_checkout_process_after_payment_modules_beforeprocess');

// create the order record

$insert_id = $order->create($order_totals, 2);

require(dir_ws_languages.'english/email_extras.php');

require(dir_ws_languages.'english/checkout_process.php');

// store the product info to the order

$order->create_add_products($insert_id);

$_session['order_number_created'] = $insert_id;

$zco_notifier->notify('notify_checkout_process_after_order_create_add_products');

$order->send_opndaqrder_email($insert_id, 2);

if (is_array($order_total_modules->modules)) }}

else

return false;

}

python實現支付功能

支付寶開發者公鑰 支付寶生成 alipay public key os.path.join base dir,utils paycenter alipay certs alipay public key alipay public key obj pub openssl.crypto.load pu...

關於支付寶支付介面的實現

本篇部落格,借鑑其他的部落格僅僅闡述支付介面的實現而已.最初我考慮這個問題的時候,其實有很多疑點,首先我要建立四個輸入框,輸入完了以後,我是不是要把每個輸入框輸入的內容在組合在一起,去判斷是不是正確,最後乙個輸入框要做處理操作等等 所以我覺得很麻煩,後來在qq群裡有人發了一些 上去看了一下,其實我們...

支付系統,支付流程及實現介紹

龍果支付系統是國內首款開源的網際網路支付系統,其核心目標是匯聚所有主流支付渠道,打造一款輕量 便捷 易用,且集支付 資金對賬 資金清結算於一體的支付系統,滿足網際網路業務系統的收款和業務資金管理需求。主要特點 1.具備支付系統通用的支付 對賬 清算 資金賬戶管理 支付訂單管理等功能 3.支援直連和間...