我知道这是一个非常具体的问题,但我之前设法获得了一些很好的帮助。我已经在 PayPal 的开发者网站 (www.x.com) 上发布了此内容,但尚未收到回复。
我一直在尝试通过 NVP 使用 BMCreateButton API 创建一个 PayNow 按钮。我收到了成功消息和按钮代码,但是只要有人单击按钮,他们就会立即显示消息:
“错误处理付款
无法处理您的付款。请使用此代码直接联系商家。”
我用来生成按钮的代码如下:
$sendData = array(
"METHOD" => "BMCreateButton",
"VERSION" => "65.2",
"USER" => "[username]",
"PWD" => "[password]",
"SIGNATURE" => "[signature]",
"BUTTONCODE" => "ENCRYPTED",
"BUTTONTYPE" => "PAYMENT",
"BUTTONSUBTYPE" => "SERVICES",
"BUTTONCOUNTRY" => "GB",
"BUTTONIMAGE" => "reg",
"L_BUTTONVAR1" => "item_number=$userID",
"L_BUTTONVAR2" => "item_name=$invoiceID",
"L_BUTTONVAR3" => "subtotal=$invoiceTotal",
"L_BUTTONVAR4" => "currency_code=GBP",
"L_BUTTONVAR5" => "no_shipping=1",
"L_BUTTONVAR6" => "no_note=1",
"L_BUTTONVAR7" => "notify_url=[full url to ipn]",
"L_BUTTONVAR8" => "cancel_return=[full url to cancel]",
"L_BUTTONVAR9" => "return=[full url to return]"
);
$curl = curl_init();
curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($curl, CURLOPT_URL, 'https://api-3t.sandbox.paypal.com/nvp?'.http_build_query($sendData));
$nvpReturn = curl_exec($curl);
curl_close($curl);
我真正想要的结果是,我能够为我们的每个用户发票即时创建一个按钮,发票的金额可能会有所不同(即滞纳金、附加费等)。
只是想知道是否有人有一些 PayPal NVP API 经验可以发现问题。
谢谢 :)
最佳答案
实际上,我通过数小时修改值找到了答案,直到最后一个成功。 PayPal 最终在 www.x.com 上证实了这一点。
进行了以下更改:
"BUTTONTYPE"=> "PAYMENT",
到
"BUTTONTYPE"=> "立即购买",
和
"L_BUTTONVAR3"=> "subtotal=$invoiceTotal",
到
"L_BUTTONVAR3"=> "amount=$invoiceTotal",
显然,我使用的选项是用于他们的托管付款/购物车付款方式(并不是他们的文档中任何地方都提到了这些)。
没关系,总算到了。
关于php - PayPal API 错误 - 处理付款时出错,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5090570/