I'm trying to dynamically update a PayPal hosted button but getting an error that
The button type specified is invalid.
I used the PPHttpPost function (which is probably fine), taken from here: https://www.x.com/paypal-apis-dodirectpayment-php-5.3/nvp, I just removed all the nvp
variables except API signature, password etc.
This is my code to use the 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);
?>
What am I doing wrong?
When I remove HOSTEDBUTTONID from the request string and output the full NVP string, I get this (replaced some characters with underscore for privacy):
METHOD=BMUpdateButton&VERSION=98.0&PWD=1362320204&USER=___._1362320167_biz_api1.gmail.com&SIGNATURE=________________&BUTTONCODE=HOSTED&AMT=330.66
After running into the same issue, I have figured the issue out.
Along with:
"BUTTONTYPE" => "BUYNOW"
You need:
"BUTTONSUBTYPE" => "PRODUCTS"
I know it says optional in the API docs, but it's really required.
The sub type will either be PRODUCTS or SERVICES.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With