6

我正在尝试动态更新 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
4

1 回答 1

6

遇到同样的问题后,我已经解决了这个问题。

随着:

"BUTTONTYPE" => "BUYNOW"

你需要:

"BUTTONSUBTYPE" => "PRODUCTS"

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

子类型将是产品或服务。

于 2014-01-03T08:46:15.827 回答