我有关于平行付款和退款的问题。我们正在开发一个设置并行支付的应用程序,我们自己作为My Store接收者,并且作为卖家接收者提供服务。我们为二级接收方提供退还全额付款的机制。
Screenshot http://inter.image.ohozaa.com/i/ge8/X6dcNC.png
我们想知道的是当卖家接收人的PayPal账户中没有资金时会发生什么?通过在沙盒和我们阅读的内容中对此进行测试,似乎退款的卖方接收器组件正在等待(我们假设,资金从相关的银行帐户中下拉)。三件事:
My Store收件人是否已全额支付退款,现在正等待卖家接收方付款。暗示,在这个时间点,My Store接收器是免税的?
如果无法从卖家收件人关联的银行账户中提取资金会怎样?
如果我们尝试从未经验证的用户退款而在PayPal账户中没有资金,会发生什么? My Store收件人是否再次全额支付退款并希望在有资金时收取卖家收件人部分?
答案 0 :(得分:2)
除非我误解了这种情况,否则有三个可能的问题/结果。
您提交付款以支付mystore@test.com 10美元和seller1@test.com 90美元,总计100美元:
https://svcs.sandbox.paypal.com/AdaptivePayments/Pay
'currencyCode' => 'USD',
'actionType' => 'PAY',
'receiverList.receiver(0).email' => 'mystore@test.com',
'receiverList.receiver(0).amount' => '10',
'receiverList.receiver(1).email' => 'seller1@test.com',
'receiverList.receiver(1).amount' => '90',
'requestEnvelope.errorLanguage' => 'en-US',
buyer@test.com希望退款:
1)如果您有API许可为seller1@test.com提交退款,您可以退还部分交易以及您的交易。您可以通过传递receiverList变量来执行此操作:
https://svcs.sandbox.paypal.com/AdaptivePayments/Refund
'payKey' => $thepaykey,
'receiverList.receiver(0).email' => 'mystore@test.com',
'receiverList.receiver(0).amount' => '10',
'receiverList.receiver(1).email' => 'seller1@test.com',
'receiverList.receiver(1).amount' => '90',
'requestEnvelope.errorLanguage' => 'en_US',
'currencyCode' => 'USD',
1.1)mystore@test.com和seller1@test.com都有资金,他们会立即退还。
1.2)mystore@test.com有资金,但seller1@test.com没有。从seller1@test.com的银行帐户提交eCheck以支付退款,状态将 PENDING ,直到从银行清除为止。 mystore@test.com只付了buyer@test.com 10USD。 buyer@test.com将有两笔交易,一笔为10USD完成,另一笔为90USD待处理。如果90USD交易失败,PayPal将再次尝试向银行表示。如果再次失败,seller1 @ test.com的交易应进入 FAILED 状态,并且可能无法通过交易退款。退还这笔交易的唯一方法就是汇款。
2)如果您没有API许可提交seller1@test.com的退款,您将无法在请求中通过其接收者。如果您这样做,整个退款将失败。您不能超过最初支付的金额(10美元)
3)如果卖家1 @ test.com未被确认,或者没有在paypal / sandbox中创建帐户,则交易将 PENDING ,并且在等待买家可以点击时在交易旁边取消。您也可以在显示 COMPLETED 之前取消交易,方法是提交退款金额。
如果这是链式付款,可能会有不同的结果。