我使用Express Checkout API接受我的在线商店的付款。付款流程如下:
1)用户将物品添加到购物车
2)用户进入PayPal
3)用户输入或选择现有的送货地址,确认并重定向到订单确认步骤
4)使用GetExpressCheckoutDetails从PayPal检索订单详细信息,例如送货地址。
5)在订单确认步骤(DoExpressCheckoutPayment之前),用户可以选择更改PayPal返回的送货地址。如果用户更改了送货地址,我需要重新计算此新地址的运费,并将新的运费和新地址提交回PayPal
6)我尝试使用PAYMENTREQUEST_0_SHIPTONAME等在DoExpressCheckoutPayment付款电话中执行此操作,但交易详情中的送货地址不会更改。 (可能因为这些已被弃用)相反,在PayPal上选择或输入的地址仍然存在。
如何在不让用户从头开始重新进入交易渠道的情况下向PayPal提交新的送货地址?
答案 0 :(得分:0)
不推荐使用DECP中的送货参数。文档有点误导。这些参数的旧版本,在他们添加了向EC进行并行付款的能力之前,已被弃用。
因此,例如,不推荐使用SHIPTONAME。相反,你现在应该像你一样使用PAYMENTREQUEST_n_SHIPTONAME。
也就是说,无论您在DECP请求中发送的是什么,都应该转移到PayPal,并最终成为付款的送货地址。事实上,如果您没有在DECP中包含地址,那么根据我的经验,它不应该作为付款细节的一部分。
如果您想在结帐时提供API请求的示例,我们很乐意看一看,看看我是否能找出出错的地方。