我使用Paypal快速结帐。问题是,当我尝试多次捕获授权时。我得到了失败的回应。
此付款总额为800。
我想捕获每个项目的授权。
这是第一个请求。我尝试在' L_AMT0'
中捕获项目金额 $captureData = array(
'AUTHORIZATIONID' => $payment->payment_id,
'AMT' => $amount, // '41.00'
'COMPLETETYPE' => 'Complete',
'CURRENCYCODE' => 'SGD',
);
$response = $merchant->doCapture($captureData);
这是捕获第一项后第一个响应的一些部分。 一切都很好。
'ACK' => string 'Success' (length=7)
'TRANSACTIONTYPE' => string 'cart' (length=4)
'PAYMENTTYPE' => string 'instant' (length=7)
'AMT' => string '800.00' (length=6)
'L_AMT0' => string '759.00' (length=6)
'L_AMT1' => string '41.00' (length=5)
所以我做了第二笔金额并得到了这个错误。
'AUTHORIZATIONID' => string '*****************' (length=17)
'TIMESTAMP' => string '2015-09-09T09:14:51Z' (length=20)
'CORRELATIONID' => string '*************' (length=13)
'ACK' => string 'Failure' (length=7)
'VERSION' => string '115' (length=3)
'BUILD' => string '17972692' (length=8)
'L_ERRORCODE0' => string '10606' (length=5)
'L_SHORTMESSAGE0' => string 'Buyer cannot pay.' (length=17)
'L_LONGMESSAGE0' => string 'Transaction rejected, please contact the buyer.' (length=47)
'L_SEVERITYCODE0' => string 'Error' (length=5)
那么你能帮我找到我的要求有什么问题吗?
答案 0 :(得分:1)
好的,我现在得到了解决方案。
只需将COMPLETETYPE更改为'NotComplete'即可进行第一次和以下捕获。
然后在最后一次捕获时将其更改为“完成”。
https://developer.paypal.com/docs/classic/api/merchant/DoCapture_API_Operation_NVP/