Указанная валюта транзакции должна соответствовать указанной ранее.

Здравствуйте! Я пытаюсь создать платеж в евро в PayPal, но получаю сообщение об ошибке. Но он работает нормально, когда я использую оплату в долларах США.

[TIMESTAMP] => 2014-09-26T10:03:06Z
[CORRELATIONID] => 4d802c104e0ae
[ACK] => Failure
[VERSION] => 64
[BUILD] => 13055236
[L_ERRORCODE0] => 10444
[L_SHORTMESSAGE0] => Transaction refused because of an invalid argument. See additional error messages for details.
[L_LONGMESSAGE0] => The transaction currency specified must be the same as previously specified.
[L_SEVERITYCODE0] => Error

3

Решение

Замените ваш код этим, PayPal Устаревшие некоторые поля, такие как

PAYMENTACTION в PAYMENTREQUEST_n_PAYMENTACTION

AMT К PAYMENTREQUEST_n_AMT

CUSTOM в PAYMENTREQUEST_n_CUSTOM

$nvpstr = "&TOKEN=" . $token;
$nvpstr = $nvpstr . "&PAYMENTREQUEST_0_PAYMENTACTION=Sale";
$nvpstr = $nvpstr . "&PAYERID=" . $payerID;
$nvpstr = $nvpstr . "&PAYMENTREQUEST_0_AMT=" . $paymentAmount;
$nvpstr = $nvpstr . "&PAYMENTREQUEST_0_CUSTOM=" . $userId;
$nvpstr = $nvpstr . "&PAYMENTREQUEST_0_CURRENCYCODE=".$currency;

Вы вносите эти изменения в вызов API «DoExpressCheckoutPayment», все должно быть в порядке.

5

Другие решения

Вы передаете два параметра, связанных с валютой, в вызове API SetExpressCheckout, как показано ниже:

$ nvpstr = $ nvpstr. «&CURRENCYCODE = «. $ CurrencyCodeType;

$ Nvpstr. =»&PAYMENTREQUEST_0_CURRENCYCODE =»$ currencyCodeType.

Но в вызове API «DoExpressCheckoutPayment» вы передаете только один:

$ nvpstr = $ nvpstr. «&. PAYMENTREQUEST_0_CURRENCYCODE =»$ валюта;

Вы должны передать только один параметр, связанный с валютой, в вызове API:
$ Nvpstr. =»&PAYMENTREQUEST_0_CURRENCYCODE =»$ currencyCodeType.

Как только вы сделаете эти изменения в своем вызове API «SetExpressCheckout», все должно быть хорошо

0

По вопросам рекламы [email protected]