L_ERRORCODE0: 10401, возвращенный DoReferenceTransaction

1

Я сделал оплату в размере 990 долларов, и это получило успех. После этого я пытаюсь выполнить платеж в размере 2490 долларов, что дает ошибку: 10401.

Для обоих платежей я использую вызов API DoReferenceTransaction API (тот же идентификатор соглашения об оплате).

Почему это происходит?

Вот мой 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
express-checkout

1 ответ

1

Документация Paypal гласит:

Код 10401

Сделка отказалась из-за недопустимого аргумента.

Общее количество заказов недействительно. Сумма TotalOrder недействительна.

По моему опыту ошибка 10004 появилась, когда имеет несовместимость между методами SetExpressCheckout и (в вашем случае) DoReferenceTransaction

Поэтому, пожалуйста, проверьте количество TotalOrder!

  • 0
    Привет, Павел ... Спасибо за ваш добрый ответ, моя проблема была решена. Это было связано с более чем двумя десятичными знаками в AMT. решено

Ещё вопросы

Сообщество Overcoder
Наверх
Меню