php - 这段更新 Paypal 按钮的代码有什么问题?我得到 "buttontype invalid error"

标签 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

最佳答案

遇到同样的问题后,我想通了。

连同:

"BUTTONTYPE" => "BUYNOW"

你需要:

"BUTTONSUBTYPE" => "PRODUCTS"

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

子类型可以是产品或服务。

关于php - 这段更新 Paypal 按钮的代码有什么问题?我得到 "buttontype invalid error",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15308382/

相关文章:

php - 在 symfony 生产中将弃用记录到自己的文件中

php-resque 作业执行功能未执行?

php - 使用 PHP (Code Igniter) 和 MongoDB 构建用户系统

asp.net - Paypal 处理 - 需要抓取 TransactionId、CorrelationId 和 TimeStamp

paypal - Paypal 沙盒和 NVP API 出现意外错误 10548。所有建议都通过

javascript - 带有 Firebase 云消息传递的 Android WebView

curl - 使用 Parse.com 云代码确认 PayPal 付款

paypal - 在 Paypal 快速结账时关闭强制电话号码

paypal - 使用 PayPal Payflow 设置采购订单号或客户引用号

paypal - Paypal 的DoVoid方法中的权限被拒绝