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

use*_*627 6 php paypal paypal-nvp

我正在尝试动态更新PayPal托管按钮,但收到错误

The button type specified is invalid.
Run Code Online (Sandbox Code Playgroud)

我使用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);

?>
Run Code Online (Sandbox Code Playgroud)

我究竟做错了什么?

编辑

当我从请求字符串中删除HOSTEDBUTTONID并输出完整的NVP字符串时,我得到了这个(用隐藏字符替换了一些带有下划线的字符):

METHOD=BMUpdateButton&VERSION=98.0&PWD=1362320204&USER=___._1362320167_biz_api1.gmail.com&SIGNATURE=________________&BUTTONCODE=HOSTED&AMT=330.66
Run Code Online (Sandbox Code Playgroud)

use*_*005 6

遇到同样的问题后,我已经把问题弄清楚了.

随着:

"BUTTONTYPE" => "BUYNOW"
Run Code Online (Sandbox Code Playgroud)

你需要:

"BUTTONSUBTYPE" => "PRODUCTS"
Run Code Online (Sandbox Code Playgroud)

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

子类型将是产品或服务.