php - L_ERRORCODE0 : 10401 returned by DoReferenceTransaction

标签 php paypal express-checkout

我已经支付了 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 美元

最佳答案

Paypal documentation says :

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/

相关文章:

paypal - 甚至可以使用 Express Checkout 进行定期付款吗?

php - Codeigniter 多个 foreach 循环

php - 在 android 应用程序和 php 服务器中使用 http get/post 请求时出现文本编码错误?

php - SSL 错误无法更改为 TLS

php - Paypal 的 ipn_email 从哪里来?

android - 多个 PayPal 应用程序和验证付款

shopify - 如何从 Shopify 基本套餐的结账页面中删除 Express Checkout 按钮?

php - 在 NetBeans 中查看游标函数信息

php - 如何将默认选项与 Symfony 表单中的新选项合并