自升级到PayPal REST API以来,我们的快速结账存在问题。
使用Express Checkout时,用户将首先被发送到Paypal网站进行身份验证,以便我们获取他的地址详细信息。
在此阶段中设置以下值:
创建付款
"transactions": [
{
"amount": {
"currency": "EUR",
"total": "11.95",
"details": {
"shipping": "2.00",
"subtotal": "9.95"
}
},
"item_list": {
"items": [
{
"quantity": "1",
"name": "Some item :)",
"price": "9.95",
"currency": "EUR",
"sku": "123"
}
]
}
}
]
返回我们的结帐页面后,用户可以选择将凭证应用到他的订单中。我们不确定如何在PayPal REST API中反映这一变化。
在旧API中,我们用于在item_list中创建一个具有负价格的新项目。
REST API中是否有正确的方法在身份验证后更新item_list?
更新和执行付款命令仅支持"金额"的新值。对象但不是" item_list"。如果我们按如下方式发送新的(折扣)金额,我们会收到AMOUNT_MISMATCH错误,因为新的"金额"没有反映" item_list"了。
执行付款
"transactions": [
{
"amount": {
"currency": "EUR",
"total": "6.95",
"details": {
"shipping": "2.00",
"subtotal": "4.95"
}
}
}
]
结果
Error code : 400 with response : {"name":"AMOUNT_MISMATCH","message":"The totals of the cart item amounts do not match sale amounts"}
如何正确应用优惠券? 建议?