贝宝智能付款结帐-获取使用的付款类型

时间:2019-04-12 09:20:25

标签: javascript paypal paypal-sandbox paypal-rest-sdk

我已经使用智能付款按钮(https://developer.paypal.com/docs/checkout/#)集成了新的Paypal结帐订单。运作良好,让我可以让使用者在没有Paypal帐户的情况下使用信用卡或SEPA进行付款:

paypal.Buttons({
  // ...
  createOrder(data, actions) {
},
  // ...
  onApprove(data, actions) {
  // data.orderID available here

现在,在用户的订单概述中,我想显示使用了哪种付款方式,而不仅是他们使用贝宝付款给我。 但是,我找不到使用@paypal/checkout-server-sdkpaypal-rest-sdk获取信息的方法,因为我只有CheckoutOrderCapture对象。

可以在我的后端使用来自客户端的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不允许我搜索交易或付款。

如果我登录沙盒卖家帐户,则该订单也不会显示使用了哪种付款方式。信息丢失了吗?还是有办法找回它?

谢谢!

1 个答案:

答案 0 :(得分:2)

对于此付款,2GP872418N1179401是卖方帐户中的PayPal交易ID。这是您应该在捕获完成后记录在企业会计数据库中的ID,因为以后您可以在卖方(sandbox。)paypal.com帐户中引用该ID并报告以后的年份。

顶层6CC44267CA709615A更短暂,我相信这是您开始使用的结帐订单ID,因此仅用于付款批准。我不确定它何时确切到期,但您仅应将其保留一段时间以进行调试,因为它没有业务/会计价值。

关于找出使用哪种付款方式,PayPal在其设计中将信息保密给付款人。无论他们使用的是特定的Visa,MC,Amex,Discover,PayPal Credit,他们的余额还是其他一些本地资金来源。卖方唯一知道的是他们通过PayPal收到了付款。据说这是出于安全和隐私的考虑,因此,如果任何卖方的网站遭到破坏,则不会暴露买方的帐单信息。