我无法使用Button Manager API的BMCreateButton来上传多项目购物车。 在paypal documentation for the cart upload command内,关于“保护您的按钮”的段落意味着应该可以获得上面列出的所有功能的加密按钮,包括购物车上传表单。在this SO thread中,有人说他们已经用PHP解决了这个问题,但是看了之后,他们使用简单的HTTP Post并不明显,因为它与PHP类的内部工作有关。
到目前为止,我只能查看一个项目,并且在尝试使用多项目语法(item_name_1
,item_name_2
...)时,它根本没有显示任何项目总共0.00
。
这是我的请求代码:
string requestContent =
"METHOD=BMCreateButton" +
"&VERSION=85.0" +
"&USER=<user>" +
"&PWD=<pwd>" +
"&SIGNATURE=<sig>" +
"&BUTTONCODE=ENCRYPTED" +
"&BUTTONTYPE=BUYNOW" +
"&BUTTONIMAGE=reg" +
"&BUTTONCOUNTRY=US" +
"&BUTTONSUBTYPE=PRODUCTS" +
//"&L_BUTTONVAR1=cmd%3D_cart" + //having this in here definitely causes an error message to display
"&L_BUTTONVAR1=button_subtype%3DPRODUCTS" +
"&L_BUTTONVAR2=business%3Dbiz%40biz.com" +
"&L_BUTTONVAR3=item_name_1%3DToaster" +
"&L_BUTTONVAR4=amount_1%3D45.00" +
"&L_BUTTONVAR5=quantity_1%3D1" +
"&L_BUTTONVAR6=upload%3D1";
它不起作用 - 我已经询问了PayPal技术支持,并且如果我在这个主题上听到他们的任何回复,我会在这里回复。
答案 0 :(得分:1)
我遇到了同样的问题,因为没有进展,我联系了PayPal支持。 There is the answer:
如果链接将死亡,则会引用回复:
它不仅仅是加密的。如果您尝试CLEARTEXT,则会抛出相同的错误。
上传购物车是一种略有不同的按钮,从未打算预先构建,这就是为什么BMCreateButton中不存在此功能的原因。如果您比较帐户中的Button Manager和API功能 - 它们具有相同的功能,在这两种情况下,上传购物车都没有。
查看文档,您还会注意到BUTTONTYPE = CART是指添加到购物车。
尝试保护上传购物车代码非常有意义,但最好的方法始终是事后一致性验证(使用IPN)。
所以总结一下,它是不可能加密的,我们只能检测篡改,例如IPN。
在回答我的问题时,PayPal主持人提交了一个问题,以便在文档中澄清这一点。