这段代码更新PayPal按钮有什么问题?我得到“buttontype无效错误”

时间:2013-03-09 07:29:25

标签: php paypal paypal-nvp

我正在尝试动态更新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 个答案:

答案 0 :(得分:6)

在遇到同样的问题之后,我已经把问题想出来了。

同时:

"BUTTONTYPE" => "BUYNOW"

你需要:

"BUTTONSUBTYPE" => "PRODUCTS"

我知道它在API文档中说是可选的,但它确实是必需的。

子类型将是产品或服务。