Php 贝宝批量支付API
Php 贝宝批量支付API,php,paypal,Php,Paypal,我正试图找出贝宝批量支付的最佳工作流程:
我的一切工作正常,即我可以发送大量支出,阅读和存储回复
我有一个Paypals服务类,它与Paypals API交互
// ...
use myApp\Contracts\Payment;
class PaypalService implements Payment
{
public function sendBatchPayout(...)
{
...
}
public function getPayoutDeta
我正试图找出贝宝批量支付的最佳工作流程:
我的一切工作正常,即我可以发送大量支出,阅读和存储回复
我有一个Paypals服务类,它与Paypals API交互
// ...
use myApp\Contracts\Payment;
class PaypalService implements Payment
{
public function sendBatchPayout(...)
{
...
}
public function getPayoutDetails($payout_batch_id)
{
...
}
}
// .. etc
我想知道处理大额支付的理想流程是什么
例如:
3个收件人需要获得X金额
我是这样做的:
创建批量付款
这将返回一个带有“payout\u batch\u id”的响应,这是异步的
在获取状态后,我是否立即打电话获取支付批次详细信息?还是有等待期
我应该将响应的哪一部分存储在我的存储器/DB中,我为批量支付的每个接收者创建一个记录,我应该为这些记录中的每个分配“支付批处理id”吗
第5点很重要,因为下次我希望发送付款时,我想从当前付款金额中扣除之前成功付款的金额
请帮忙。多谢各位
在获取状态后,我是否立即打电话获取支付批次详细信息?还是有等待期
您可以定期检查状态,但理想情况下我会使用Webhook,以便在批处理/项目完成时通知您,而不是轮询。然后,如果您错过了事件通知(您的服务器已关闭),请通过/v1/notifications/webhooks events重新列出该通知,或者定期轮询自上次收到更新后是否超过了某个时间限制(可能是5/10/15/30/45天)
我应该将响应的哪一部分存储在我的存储器/DB中,我为批量支付的每个接收者创建一个记录,我应该为这些记录中的每个分配“支付批处理id”吗
我建议始终使用发件人\u批次\u id,以防您没有收到来自PayPal的回复,您将重新发送相同的发件人\u批次\u id,如果发送成功,您将收到相同的回复(防止重复支付)。应将其与结果付款\u批次\u id一起存储。要区分批次中的每个项目,请存储付款\u项目\u id。您可以根据付款\u批次\u id或付款\u项目\u id获取状态
第5点很重要,因为下次我希望发送付款时,我想从当前付款金额中扣除之前成功付款的金额
如果您已经发送了付款,并且该付款处于待定状态(或任何其他不确定状态),则您不应针对该金额再次发出付款。假设在您将请求发送到PayPal之前成功地从该点发送了资金,然后仅假设在您得到具体的失败场景时失败,否则您可能仍然要承担责任
希望这有帮助如果您希望立即检索结果,您可以尝试同步支付。