我已经使用智能付款按钮(https://developer.paypal.com/docs/checkout/#)集成了新的Paypal结帐订单。运作良好,让我可以让使用者在没有Paypal帐户的情况下使用信用卡或SEPA进行付款:
paypal.Buttons({
// ...
createOrder(data, actions) {
},
// ...
onApprove(data, actions) {
// data.orderID available here
现在,在用户的订单概述中,我想显示使用了哪种付款方式,而不仅是他们使用贝宝付款给我。
但是,我找不到使用@paypal/checkout-server-sdk
或paypal-rest-sdk
获取信息的方法,因为我只有CheckoutOrder
和Capture
对象。
可以在我的后端使用来自客户端的orderID来获取订单详细信息:
paypalCheckoutSdk.orders.OrdersGetRequest(payload.orderID)
但是我得到的只是这些东西:
"result": {
"id": "6CC44267CA709615A",
"intent": "CAPTURE",
"purchase_units": [{
"reference_id": "default",
"amount": { ... },
"payee": { ... },
"shipping": {
"name": { ... },
"address": { ... }
},
"payments": {
"captures": [{
"id": "2GP872418N1179401",
"status": "COMPLETED",
"amount": { ... },
"final_capture": true,
"seller_protection": {...},
"links": [...],
...
}]
}
}],
"payer": { ... },
"status": "COMPLETED"
}
没有有关已使用信用卡的信息,甚至不是信用卡还是Paypal帐户。
如果我尝试使用paypal-rest-sdk,则该ID甚至找不到该订单。必须是一些特殊的结帐顺序。
捕获对象paypalOrder.result.purchase_units[0].payments.captures[0].id
也不起作用。它是光秃秃的,并没有提供命令尚未告诉我的任何内容。没有链接到任何地方。 captureId不允许我搜索交易或付款。
如果我登录沙盒卖家帐户,则该订单也不会显示使用了哪种付款方式。信息丢失了吗?还是有办法找回它?
谢谢!
答案 0 :(得分:2)
对于此付款,2GP872418N1179401
是卖方帐户中的PayPal交易ID。这是您应该在捕获完成后记录在企业会计数据库中的ID,因为以后您可以在卖方(sandbox。)paypal.com帐户中引用该ID并报告以后的年份。
顶层6CC44267CA709615A
更短暂,我相信这是您开始使用的结帐订单ID,因此仅用于付款批准。我不确定它何时确切到期,但您仅应将其保留一段时间以进行调试,因为它没有业务/会计价值。
关于找出使用哪种付款方式,PayPal在其设计中将信息保密给付款人。无论他们使用的是特定的Visa,MC,Amex,Discover,PayPal Credit,他们的余额还是其他一些本地资金来源。卖方唯一知道的是他们通过PayPal收到了付款。据说这是出于安全和隐私的考虑,因此,如果任何卖方的网站遭到破坏,则不会暴露买方的帐单信息。