Что не так с этим кодом для обновления кнопки PayPal? Я получаю "buttontype invalid error"

Я пытаюсь динамически обновить размещенную кнопку PayPal, но получаю сообщение об ошибке

The button type specified is invalid.

Я использовал функцию PPHttpPost (что, вероятно, хорошо), взятую отсюда: https://www.x.com/paypal-apis-dodirectpayment-php-5.3/nvp, я просто удалил все nvp переменные, кроме подписи API, пароля и т. д.

Это мой код для использования ButtonManager:

// Set request-specific fields.

 $nvpStr =  "&HOSTEDBUTTONID=buynow&BUTTONCODE=HOSTED&AMT=330.66&BUTTONTYPE=BUYNOW";

// Execute the API operation; see the PPHttpPost function above.
$httpParsedResponseAr = PPHttpPost('BMUpdateButton', $nvpStr);

var_dump($httpParsedResponseAr);

?>

Что я делаю неправильно?

редактировать

Когда я удаляю HOSTEDBUTTONID из строки запроса и выводю полную строку NVP, я получаю это (некоторые символы заменены подчеркиванием для конфиденциальности):

METHOD=BMUpdateButton&VERSION=98.0&PWD=1362320204&USER=___._1362320167_biz_api1.gmail.com&SIGNATURE=________________&BUTTONCODE=HOSTED&AMT=330.66

1 ответ

После столкновения с той же проблемой, я понял проблему.

Вместе с:

"BUTTONTYPE" => "BUYNOW"

Тебе нужно:

"BUTTONSUBTYPE" => "PRODUCTS"

Я знаю, что в документах по API написано необязательно, но это действительно необходимо.

Подтип будет либо ПРОДУКТЫ, либо УСЛУГИ.

Другие вопросы по тегам