我正在使用Express checkout实现智能按钮,因此客户可以在Paypal的弹出窗口上选择送货地址。由于同意Paypal的支持,我正在做的沟通与Paypal服务器通过PHP而不是Javascript。因此,在onShippingChange事件中,我调用服务器来计算交货价格并修补订单,以便Paypal更新交货价格。成功路径工作良好,我需要你的帮助,错误情况(s)。如何修补程序请求应该是仪表贝宝显示警告,我的网店没有交付到选定的位置?(在Javascript上实现时,这是onShippingChange中的return actions.reject
)
谢谢!
这是一个成功补丁的补丁请求:
{
"path": "/v2/checkout/orders/xxxxxxxxxxxxxxxxxxxxx?",
"body": [
{
"op": "replace",
"path": "/intent",
"value": "CAPTURE"
},
{
"op": "replace",
"path": "/purchase_units/@reference_id=='default'/amount",
"value": {
"currency_code": "GBP",
"value": 265.95,
"breakdown": {
"item_total": {
"currency_code": "GBP",
"value": 236
},
"shipping": {
"currency_code": "GBP",
"value": 29.95
}
}
}
}
],
"verb": "PATCH",
"headers": {
"Content-Type": "application/json"
}
}
在onShippingChange事件中,我调用服务器来计算交货价格并修补订单
好了。但是,如果不支持该地址,则服务器必须在对该调用的响应中返回失败状态。基于这个响应,onShippingChange必须return actions.reject()
到调用PayPal JS。