如何在贝宝支付中完成待处理交易

Posted

技术标签:

【中文标题】如何在贝宝支付中完成待处理交易【英文标题】:How to complete pending transactions in paypal payouts 【发布时间】:2021-12-19 05:28:32 【问题描述】:

我正在尝试在 Paypal 中实现单一的支付功能。我参考了 Paypal 的文档here 给出的示例代码。一切似乎都正常,但 PayPal 给出的响应表明:"batch_status": "PENDING"。这是我的支付功能:

public function payoutWithPaypal()

    $request_amount = session()->get('request_amount');
    $transaction_id = session()->get('transaction_id');
    $receiver_email = session()->get('receiver_email');

    $payouts = new \PayPal\Api\Payout();
    $senderBatchHeader = new \PayPal\Api\PayoutSenderBatchHeader();
    $senderBatchHeader->setSenderBatchId(uniqid())->setEmailSubject("You have a Payout!");
    $senderItem = new \PayPal\Api\PayoutItem();
    $senderItem->setRecipientType('Email')
                ->setNote('Thanks for your patronage!')
                ->setReceiver($receiver_email)
                ->setSenderItemId("001")
                ->setAmount(new \PayPal\Api\Currency('
                            "value":"'.$request_amount.'",
                            "currency":"USD"
                        '));

    $payouts->setSenderBatchHeader($senderBatchHeader)->addItem($senderItem);
    $request = clone $payouts;
    
    try 
        $output = $payouts->create(array('sync_mode' => 'false'), $this->_api_context);

     catch (\Exception $ex) 
         dd($ex);
    

    return $output;


here 提供的解决方案并没有真正解决我的问题。

【问题讨论】:

【参考方案1】:

付款分批进行。批次状态以“PENDING”开始是正常的。批次中每笔付款的状态才是最重要的。您可以根据需要查询它们,如果它们单独待定,可能会给出一些原因。

PayPal 付款在沙盒或实时中待处理的最常见原因是,如果在接收地址的地址没有带有已确认电子邮件(分别在沙盒或实时)中的 PayPal 帐户。付款已发送。收款人有 30 天的时间创建帐户和/或确认其帐户中的电子邮件以接受付款,否则将在 30 天后自动退款。在此期间,系统会将提醒发送到该电子邮件。

【讨论】:

以上是关于如何在贝宝支付中完成待处理交易的主要内容,如果未能解决你的问题,请参考以下文章

在贝宝上延迟付款

贝宝信用卡支付可以在像贝宝快递这样的托管页面中处理吗?

如何解决贝宝沙箱中的此错误

创建 CreateRecurringPaymentsProfile 后,配置文件状态不会在贝宝中从待处理变为活动

如何在 BSC 上获取待处理的交易

如何在贝宝卡支付字段中禁用填充