我使用智能支付按钮(https://developer.paypal.com/docs/checkout/#)整合了新的paypal结账订单。它工作得很好,允许我让用户使用信用卡或SEPA付款而无需PayPal帐户:
paypal.Buttons({
// ...
createOrder(data, actions) {
},
// ...
onApprove(data, actions) {
// data.orderID available here
现在,在用户的订单概述中,我想显示使用了哪种付款方式,而不仅仅是他们使用paypal付款给我。然而,我找不到使用@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甚至无法找到该订单。必须是一些特殊的结账订单。
Capture对象paypalOrder.result.purchase_units[0].payments.captures[0].id
也没有帮助。它很光秃,并没有提供订单没有告诉我的任何信息。没有链接到任何地方。 captureId不允许我搜索交易或付款。
如果我登录沙箱卖家帐户,订单不会显示使用的付款方式。这些信息刚丢失了吗?或者有办法检索它吗?
谢谢!
对于此付款,2GP872418N1179401
是卖家帐户中的PayPal交易ID。这是您应该在捕获完成时在您的企业会计数据库中记录的ID,因为您可以在以后的几年内在卖家(沙盒。)paypal.com帐户和报告中引用它。
顶级6CC44267CA709615A
更短暂,我相信这是您开始时结账的订单ID,因此它仅用于支付审批。我不确定它到期的时间到期但你应该只保留一段时间用于调试目的,它没有业务/会计价值。
至于找出使用何种类型的付款,PayPal会在付款人的设计中将该信息保密。他们是否使用特定的Visa,MC,Amex,Discover,PayPal Credit,他们的余额或其他一些本地资金来源....这是买方的业务;所有卖家都知道他们是通过PayPal收到付款的。据说这是为了安全和隐私,因此如果任何卖方的网站遭到入侵,买方的账单信息就不会泄露。