Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/maven/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在PayPal Express签出的订单确认步骤中更改发货地址_Paypal - Fatal编程技术网

在PayPal Express签出的订单确认步骤中更改发货地址

在PayPal Express签出的订单确认步骤中更改发货地址,paypal,Paypal,我正在使用Express Checkout API为我的在线商店接受付款。付款流程如下: 1) 用户将项目添加到购物车 2) 用户进入贝宝 3) 用户输入或选择现有发货地址,进行确认,并重定向到订单确认步骤 4) 使用GetExpressCheckoutDetails从PayPal检索订单详细信息,如发货地址 5) 在订单确认步骤(DoExpressCheckoutPayment之前),用户可以选择更改PayPal返回的发货地址。如果用户更改了配送地址,我需要重新计算这个新地址的配送成本,并将新

我正在使用Express Checkout API为我的在线商店接受付款。付款流程如下:

1) 用户将项目添加到购物车

2) 用户进入贝宝

3) 用户输入或选择现有发货地址,进行确认,并重定向到订单确认步骤

4) 使用GetExpressCheckoutDetails从PayPal检索订单详细信息,如发货地址

5) 在订单确认步骤(DoExpressCheckoutPayment之前),用户可以选择更改PayPal返回的发货地址。如果用户更改了配送地址,我需要重新计算这个新地址的配送成本,并将新的配送成本以及新地址提交回PayPal

6) 我正在尝试使用PAYMENTREQUEST\u 0\u ShiptonName等作为DoExpressCheckoutPayment支付呼叫的一部分来执行此操作,但交易详细信息中的发货地址没有更改。(可能是因为这些地址已弃用)相反,在PayPal上选择或输入的地址仍然保留


如何向PayPal提交新的配送地址,而不让用户从头重新进入交易漏斗?

DECP中的配送参数没有被弃用。文档有点误导。不推荐使用的是那些参数的旧版本,在它们向EC添加并行支付功能之前

因此,例如,ShiptName不推荐使用。相反,您现在应该像以前一样使用PAYMENTREQUEST\u n\u ShiptName

也就是说,您在DECP请求中发送的任何内容都应该转到PayPal,并最终用于支付的发货地址。事实上,根据我的经验,如果你不在DECP中包含地址,它就不应该成为付款细节的一部分


如果您想在签出期间提供API请求的示例,我很乐意看一看,看看是否能找出您的错误所在

我的请求生成器对象中有一个bug,它阻止了DoExpressCheckoutPayment事务发送新地址。通过DoExpressCheckoutPayment请求发送配送地址参数会立即更新PayPal文件中的配送地址。谢谢你的帮助!您可能知道这些问题的答案:我看到您的权限演示在标题中显示您的徽标。非常感谢你的建议。