我想在“创建订单”
POST /v2/checkout/orders
通话期间设置送货偏好。
如果我使用已弃用的方法
application_context
那么它工作正常:
{
"intent": "CAPTURE",
"purchase_units": [
{
"amount": {
"currency_code": "GBP",
"value": "110.62"
}
}
],
"application_context": {
"shipping_preference": "NO_SHIPPING"
}
}
但是,如果我使用推荐的使用
experience_context
的方法,那么我不会得到 CREATED
的状态,而是得到 PAYER_ACTION_REQUIRED
的状态。
{
"intent": "CAPTURE",
"purchase_units": [
{
"amount": {
"currency_code": "GBP",
"value": "110.62"
}
}
],
"payment_source": {
"paypal": {
"experience_context": {
"shipping_preference": "NO_SHIPPING"
}
}
}
}
这是为什么?
注意:一年前PayPal社区也问过同样的问题:
但一直没有解决。
没有问题,您只是描述更新后的 API 的行为。
使用已弃用的参数时,CREATED 始终是旧响应。
PAYER_ACTION_REQUIRED 是新的状态响应,如果确实需要此类操作(取决于使用哪些新参数,例如当使用不同的 payment_source 对象时,可能不需要)。
基本上不用担心这一点,订单已像以前一样创建,现在会明确告知您是否以及何时需要付款人采取行动。继续。