Paypal 自适应支付 : transactionStatus vs senderTransactionStatus

标签 paypal paypal-ipn paypal-adaptive-payments

我正在使用 PayPal 自适应支付。我正在此处检索 PaymentDetails 详细信息 https://developer.paypal.com/docs/classic/api/adaptive-payments/PaymentDetails_API_Operation/

我不清楚 senderTransactionStatus 和 transactionStatus 之间的区别?

更奇怪的是我可以有以下场景:

status: COMPLETED
paymentInfoList.paymentInfo.transactionStatus: null
paymentInfoList.paymentInfo.senderTransactionStatus: PENDING
paymentInfoList.paymentInfo.pendingReason: SOME REASON

怎么可能状态是 COMPLETE,但是 senderTransactionStatus 是 PENDING,而 transactionStatus 是 null?

我不知道我应该使用哪种状态,甚至不知道如何组合使用它们来向我的用户报告正确的状态。

我阅读了文档,但仍然一无所知。

最佳答案

status 与提交的付款有关。只要付款已进入处理阶段(即资金正在转移或待转移且交易未被拒绝),这将显示已完成。

senderTransactionStatus 与离开发件人账户的资金有关。如果是 INSTANT 付款(已完成),它将显示已完成:信用卡、即时转账、余额转账。 Pending 将显示资金是否因电子支票、发送限制、风险审查等原因而被搁置。PaymentDetails API 页面上有一个 pendingReasons 列表。 OTHER 可能表示由于隐私政策而未向任何一方披露的内容:它可能与合规性相关、汇款转移规则等。

transactionStatus 应该在收款人的账户中有资金后完成。不过,这可能会根据交易发生的情况而改变。 IE:退款、因退单而暂停、因风险或未经授权的帐户访问而撤销。 编辑:如果收件人的电子邮件地址无效,这将为 NULL。 pendingReason 将显示 UNILATERAL,因为此电子邮件地址在系统中不存在并且UNCLAIMED

如果 transactionStatus 不为 NULL,它和 senderTransactionStatus 将始终相同。这包括等待付款审核手动接受货币eCheck即时银行转账。一切。

关于 Paypal 自适应支付 : transactionStatus vs senderTransactionStatus,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22863429/

相关文章:

api - 我应该共享 Paypal API 凭据吗

php - 如何查看账单协议(protocol)是否有效或已取消?

php - Paypal :从沙箱上线

PHP执行命令 "at"运行SQL查询问题

paypal - 使用自适应支付时如何设置paypal页面的语言

paypal - 检索 Paypal 交易费用

php - Paypal IPN 总是在沙盒上返回 "payment_status: Pending"?

php - ipn 不返回 VERIFIED 或 INVALiD

paypal - 使用 Paypal 自适应支付 API 添加 "message to recipient"

PayPal 自适应支付链式支付不会让主要收款人收取的款项少于次要收款人。想要这个退款