Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

what's wrong with this code to update a paypal button? I get "buttontype invalid error"

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?

Edit

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
like image 415
user961627 Avatar asked Mar 09 '13 07:03

user961627


1 Answers

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.

like image 147
user2067005 Avatar answered Nov 10 '22 22:11

user2067005