2014-12-04 93 views
0

我使用貝寶IPN的PHP版本,並具有下列代碼,以確定是否有來自PayPal支付回調的量:貝寶IPN認購金額付費變量不可

[代碼]

if(isset($_POST['mc_amount1'])){ 
    $payment_amount = $_POST['mc_amount1']; 
}elseif(isset($_POST['mc_gross'])){ 
    $payment_amount = $_POST['mc_gross']; 
}elseif(isset($_POST['payment_gross'])){  
    $payment_amount = $_POST['payment_gross']; 
}else{ 
    $payment_amount = "Amount Not Available"; 
} 

[/代碼]

的問題是,有時它的工作原理,有時它does not,注意,我的買家用戶,他們不只需支付他們訂閱我的項目。但我有兩個帳戶支付來自同一個PayPal和一個查詢是正確的金額,另一個是金額不可用,而當我檢查貝寶IPN響應它是完全相同的,只是用戶變量更改,但爲什麼它第二次沒有收到金額?

任何提示將不勝感激。

預先感謝

回答

0

它實際上取決於事務類型的IPN消息(變量「txn_type」)的。例如,如果「txn_type」是「recurring_payment_profile_created」,那麼「mc_gross」不存在。在這種情況下,您可以在「金額」變量中看到金額。我認爲「mc_gross」用於一次性付款或定期付款。所以您需要先檢查交易類型,然後再檢查金額變量。

供您參考:https://developer.paypal.com/docs/classic/ipn/integration-guide/IPNandPDTVariables/