使用 REST API 更新 PayPal 订单时,我们通常根据https://developer.paypal.com/docs/api/orders/v2/#orders_patch上的文档执行以下操作
curl -v -X PATCH https://api-m.sandbox.paypal.com/v2/checkout/orders/5O190127TN364715T \
-H 'Content-Type: application/json' \
-H 'Authorization: Bearer access_token' \
-d '[
{
"op": "add",
"path": "/purchase_units/@reference_id==\'PUHF\'/shipping/address",
"value": {
"address_line_1": "2211 N First Street",
"address_line_2": "Building 17",
"admin_area_2": "San Jose",
"admin_area_1": "CA",
"postal_code": "95131",
"country_code": "US"
}
}
]'
但是,当尝试更新custom_id
或时invoice_id
,尝试将值放入“value”键中时会出现验证错误,因为它们不代表像上面示例这样的对象。我尝试使用键“integration_artifact”,如https://developer.paypal.com/docs/multiparty/checkout/advanced/customize/update-order-details/中的示例所示,但这也会导致错误
curl -v -X PATCH https://api-m.sandbox.paypal.com/v2/checkout/orders/5O190127TN364715T \
-H 'Content-Type: application/json' \
-H 'Authorization: Bearer access_token' \
-d '[
{
"op": "replace",
"path": "/purchase_units/@reference_id==\'PUHF\'/custom_id",
"value": {
"integration_artifact": "CUSTOM_ID"
}
}
]'
错误
{
"name": "UNPROCESSABLE_ENTITY",
"details": [
{
"issue": "VALIDATION_ERROR",
"links": [],
"description": "VALIDATION_ERROR"
}
],
"message": "The requested action could not be performed, semantically incorrect, or failed business validation.",
"debug_id": "fca96d06c1409",
"links": [
{
"href": "https://developer.paypal.com/docs/api/orders/v2/#error-VALIDATION_ERROR",
"rel": "information_link"
}
]
}
当值只是一个字符串时,我应该在 custom_id/invoice_id 的值中输入什么?