我已经支付了 990 美元,成功了。之后,我尝试支付 2490 美元,但出现error : 10401.
对于这两种付款,我都使用 DoReferenceTransaction API 调用(相同的计费协议(protocol) ID)。
为什么会这样?
这是我的NVP:
$nvpstr = '&REFERENCEID=' . $billing_agreement_id;
$nvpstr.='&PAYMENTACTION=' . $paymentType;
$nvpstr.= '&AMT=' . $FinalPaymentAmt;
$nvpstr.= '&CURRENCYCODE=' . $currencyCodeType;
$nvpstr.='&L_ITEMCATEGORY0=Digital';
$nvpstr.='&DESC=' . urlencode("LMS Recurring Payment( $" . $_SESSION["Payment_Amount"] . " )");
$nvpstr.="&L_PAYMENTREQUEST_0_ITEMCATEGORY0=Digital";
$nvpstr.="&L_PAYMENTREQUEST_0_QTY0=1";
$nvpstr.="&L_PAYMENTREQUEST_0_NAME0=LMS Billing";
$nvpstr.="&L_PAYMENTREQUEST_0_AMT0=" . $_SESSION["Payment_Amount"];
$nvpstr.="&L_NAME0=Test Name";
$nvpstr.="&L_DESC0=" . urlencode("LMS Recurring Payment( $" . $_SESSION["Payment_Amount"] . " )");
$nvpstr.="&L_AMT0=" . $_SESSION["Payment_Amount"];
$nvpstr.="&ITEMAMT=" . $_SESSION["Payment_Amount"];
$nvpstr.="&L_QTY0=1";
$nvpstr.="&RECURRING=Y";
请指导我,以便我克服这个错误。
注意当交易付款按如下顺序完成时不会出现错误:
99 美元
249 美元
3990 美元
最佳答案
Code 10401
Transaction refused because of an invalid argument.
Order total is invalid. TotalOrder amount is invalid.
根据我的经验,当方法 SetExpressCheckout 和(在您的情况下)DoReferenceTransaction 之间不兼容时会出现错误 10004
所以请查看总订单金额!
关于php - L_ERRORCODE0 : 10401 returned by DoReferenceTransaction,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33566673/