paymentId和TRANSACTIONID之间的区别

时间:2014-12-12 14:26:25

标签: paypal

我正在从REST转向经典API(而且我是两者都是新手)。作为开发人员,我想记录付款的唯一标识符,以将网站销售与Paypal付款ID相关联,例如我想要退款。

REST API用于在返回网址中提供payment IDs,而经典API在响应中为我提供了交易ID。

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


两者的例子:

paymentId PAY-0CN62912EY171514DKSECBXA
PAYMENTINFO_0_TRANSACTIONID 4KY08572SD6526629

商家的网络界面显示交易ID,而不显示付款ID:

PayPal Express Checkout Payment Received (Unique Transaction ID 4KY08572SD6526629)

2 个答案:

答案 0 :(得分:8)

交易ID是PayPal交易完成后的标识符,无论它来自哪个API(Classic API,REST API,Adaptive Payment API等)。当且仅当交易完成时才会发出。

相反,付款ID是REST API中的付款标识符,不一定表示已完成付款。例如,假设您使用REST API进行PayPal付款,使用/ v1 / payments / payment endpoint:

POST / v1 /付款/付款

{
  "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 //执行端点执行事务才能完成。

在您的情况下,由于您希望跟踪交易以便将来退款,我认为仅存储交易ID就足够了。

答案 1 :(得分:0)

***交易ID是PayPal交易完成后的标识符,当且仅当交易完成时才会发出。 ***付款ID是付款标识符,不一定表示已完成付款。