如何向 actions.order.create paypal 集成添加更多属性
Posted
技术标签:
【中文标题】如何向 actions.order.create paypal 集成添加更多属性【英文标题】:How to add more properties to actions.order.create paypal intergration 【发布时间】:2019-12-25 19:27:03 【问题描述】:我想在 paypal 的 actions.order.create 函数中添加更多属性。 tax_total、运费、保险、客户购买的物品清单等属性。
我已经实现了他们网站上的代码,它工作正常,剩下的就是在代码中添加额外的细节。这是他们的文档:https://developer.paypal.com/docs/api/orders/v2/#orders_create。
<script>
paypal.Buttons(
createOrder: function(data, actions)
return actions.order.create(
purchase_units: [
amount:
// value: '350.00',
breakdown:
item_total: '300.00',
tax_total: '20.00',
shipping: '10.00',
handling: '10.00',
insurance: '10.00'
,
]
);
,
onApprove: function(data, actions)
// Capture the funds from the transaction
return actions.order.capture().then(function(details)
// Show a success message to your buyer
console.log(data, actions);
alert('Transaction completed by ' + details.payer.name.given_name);
// Call your server to save the transaction
return fetch('/paypal-transaction-complete',
method: 'post',
headers:
'content-type': 'application/json',
'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content')
,
body: JSON.stringify(
orderID: data.orderID
)
);
);
).render('#paypal-button-container');
</script>
上面的代码是我尝试过的,我预计分解属性将成为有效负载的一部分,如文档中所示,但我从控制台收到错误消息。
那么添加这些属性的正确方法是什么?在此先感谢:)
【问题讨论】:
【参考方案1】:我在这里找到了答案:
https://github.com/paypal/paypal-checkout-components/issues/1098
该链接中的示例的货币代码对我不起作用。下面是一个类似的例子:
var createOrder = function createOrder(data, actions)
return actions.order.create(
"purchase_units": [
"reference_id": 1234,
"description": "Attempt n.1 for Quote ID 1234",
"amount":
"currency_code": "USD",
"value": 14.4,
"breakdown":
"item_total": "currency_code":"USD", "value":"12",
"shipping": "currency_code":"USD", "value":"1",
"tax_total": "currency_code":"USD", "value":"1.4",
"discount": "currency_code":"USD", "value":"0"
,
"items": [
"name": "OnePlus 6 T-rex 12\" name for 14\"\" blabla \" more double quotes",
"unit_amount":
"currency_code": "USD",
"value": 12
,
"tax":
"currency_code": "USD",
"value": 1.4
,
"quantity": 1,
"sku": "OnePlus61",
"category": "PHYSICAL_GOODS"
],
"shipping":
"address":
"address_line_1": "Some line 1",
"address_line_2": "Some line 2",
"admin_area_2": "Some city",
"admin_area_1": "some state",
"postal_code": "12345",
"country_code": "GB"
]
);
;
请注意,每个金额加起来必须等于总值(在本例中为 14.4)。另请注意,在此示例中,键 tax_total 和 tax 的值必须匹配。如果您的订单中有不止一件商品,则情况可能并非如此。
【讨论】:
以上是关于如何向 actions.order.create paypal 集成添加更多属性的主要内容,如果未能解决你的问题,请参考以下文章