我正在从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)
答案 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是付款标识符,不一定表示已完成付款。