首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >paymentId与TRANSACTIONID的差异

paymentId与TRANSACTIONID的差异
EN

Stack Overflow用户
提问于 2014-12-12 14:26:24
回答 2查看 6.6K关注 0票数 4

我正在从REST转向经典API (这两者我都是新手)。作为开发人员,我希望记录支付的唯一标识符,以便将站点中的销售与Paypal支付ID相关联,例如,如果我想退款的话。

REST用于在返回URL中为我提供payment IDs,而经典API在响应中为我提供事务ID。

有什么关系?或者它们是同一个资源的别名?存储PAYMENTINFO_0_TRANSACTIONID是否足以查找付款?

这两方面的例子:

代码语言:javascript
复制
paymentId PAY-0CN62912EY171514DKSECBXA
PAYMENTINFO_0_TRANSACTIONID 4KY08572SD6526629

商家的Web接口显示交易ID,从不显示支付ID:

代码语言:javascript
复制
PayPal Express Checkout Payment Received (Unique Transaction ID 4KY08572SD6526629)
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2014-12-12 17:46:40

事务ID是PayPal事务完成后的标识符,不管它来自哪个API (经典API、REST、Adaptive等)。只有在交易已经完成的情况下才会发行。

相反,payment是REST中的支付标识符,它不一定表示已完成的支付。例如,假设您使用REST进行/v1/ PayPal支付/支付端点:

邮政/v1/付款/付款

代码语言:javascript
复制
{
  "intent":"sale",
  "redirect_urls":{
    "return_url":"http://ashrafishak.com",
    "cancel_url":"http://google.com"
  },
  "payer":{
    "payment_method":"paypal"
  },
  "transactions":[
    {
      "amount":{
        "total":"7.47",
        "currency":"USD"
      },
      "description":"This is the payment transaction description."
    }
  ]
}

您将收到来自上述请求的付款ID,但由于未发出交易ID,因此尚未完成。您需要使用/v1/payments/payment//execute端点来执行事务,这样才能完成事务。

在您的情况下,由于您想要跟踪交易的未来退款,我认为它是足够的只是存储事务ID。

票数 11
EN

Stack Overflow用户

发布于 2016-05-13 10:35:39

*事务ID是PayPal事务的标识符,一旦它完成,只有在事务完成时才会发出。*付款ID是付款的标识符,并不一定表示已完成的付款。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/27445740

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档