Ошибка API PayPal - Ошибка обработки платежа - PullRequest
1 голос
/ 23 февраля 2011

Я знаю, что это довольно специфический вопрос, но мне раньше удавалось получить большую помощь. Я уже разместил это на сайте разработчиков PayPal (www.x.com), но пока не получил ответа.

Я пытался создать кнопку PayNow с помощью API BMCreateButton через NVP. Я получаю сообщение об успехе и код кнопки, однако всякий раз, когда кто-то нажимает кнопку, он мгновенно отображает сообщение:

"Ошибка обработки платежа
Ваш платеж не может быть обработан. Пожалуйста, свяжитесь с продавцом напрямую с этим кодом. "

Код, который я использую для генерации кнопки, выглядит следующим образом:

$sendData = array(
    "METHOD" => "BMCreateButton",
    "VERSION" => "65.2",
    "USER" => "[username]",
    "PWD" => "[password]",
    "SIGNATURE" => "[signature]",
    "BUTTONCODE" => "ENCRYPTED",
    "BUTTONTYPE" => "PAYMENT",
    "BUTTONSUBTYPE" => "SERVICES",
    "BUTTONCOUNTRY" => "GB",
    "BUTTONIMAGE" => "reg",
    "L_BUTTONVAR1" => "item_number=$userID",
    "L_BUTTONVAR2" => "item_name=$invoiceID",
    "L_BUTTONVAR3" => "subtotal=$invoiceTotal",
    "L_BUTTONVAR4" => "currency_code=GBP",
    "L_BUTTONVAR5" => "no_shipping=1",
    "L_BUTTONVAR6" => "no_note=1",
    "L_BUTTONVAR7" => "notify_url=[full url to ipn]",
    "L_BUTTONVAR8" => "cancel_return=[full url to cancel]",
    "L_BUTTONVAR9" => "return=[full url to return]"
    );


$curl = curl_init();
curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);

curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($curl, CURLOPT_URL, 'https://api-3t.sandbox.paypal.com/nvp?'.http_build_query($sendData));

$nvpReturn = curl_exec($curl);
curl_close($curl);

Результат, который я действительно хочу, так это то, что я могу на лету создать кнопку для каждого из счетов наших пользователей, размер которой может варьироваться (т. Е. С просроченными платежами, надстройками и т. Д.).

Просто интересно, может ли кто-нибудь с опытом работы с API PayPal NVP обнаружить проблему.

Спасибо:)

Ответы [ 2 ]

4 голосов
/ 01 марта 2011

Я действительно нашел ответ, связавшись со значениями в течение нескольких часов, пока, наконец, один из них не заработал В конечном итоге это было подтверждено PayPal на сайте www.x.com.

Были внесены следующие изменения:

"BUTTONTYPE" => "PAYMENT", в "BUTTONTYPE" => "BUYNOW",

и

"L_BUTTONVAR3" => "subtotal=$invoiceTotal", в "L_BUTTONVAR3" => "amount=$invoiceTotal",

Судя по всему, я использовал их методы оплаты через Интернет / в корзину (не то, чтобы они упоминались в документации).

Неважно, добрался до конца.

0 голосов
/ 25 февраля 2011

Я сам разбирался с этой проблемой, после долгих поисков я наткнулся на скрипт, похожий на этот. Я не могу найти оригинальный пост, но сценарий, похоже, делает то же самое.

https://www.x.com/blogs/magarvin/2011/02/25/bmcreatebutton-api-example--create-buttons-on-the-fly

Надеюсь, это поможет.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...