PayPal支付总是拒绝(沙盒)

时间:2015-01-16 09:13:41

标签: php paypal

我正在尝试为我的PHP应用程序测试同步支付,但服务器的响应始终相同,它指向INTERNAL_ERROR。我正在使用paypal/rest-api-sdk-php我相信版本v1.0.0(composer.json什么也没说) - 应该是我的JSON中的最新版本我将版本设置为dev-master

try {
    /** @var PayoutBatch $payoutBatch */
    $payoutBatch = $payout->createSynchronous($apiContext);
} catch (\Exception $ex) {
    echo $ex->getMessage();
}

try {
    /** @var PayoutBatch $response */
    $response = Payout::get($payoutBatch->getBatchHeader()->getPayoutBatchId(), $apiContext);

    $status = $response->getBatchHeader()->getBatchStatus();

    if ($status === "SUCCESS") {
        //do some logic
    }

} catch (\Exception $ex) {
    echo $ex->getMessage();
}

你们有没有遇到过这个问题?

也是一个子问题,不要PayPal PHP SDK定义了一些我可以找到消息状态的常量吗?

1 个答案:

答案 0 :(得分:1)

请你确保Payouts Enabled in your sandbox environment.这可以让你获得拨打电话所需的适当范围。

Payout Settings

但是,如果你已经这样做了但仍然失败了,可以试试随SDK一起提供的样品。

您需要做的只是运行一个命令,然后您将运行示例,如上所述here

php -f vendor/paypal/rest-api-sdk-php/sample/index.php

这将启动一个示例服务器,并允许您玩它。

enter image description here

它有一个付款样本,您只需点击并运行即可。如果这些工作正常,我们现在可以做一个微小的改变来获取样本以使用您的clientId和secret。在sdk代码中查找samples/bootstrap.php,并更改那些clientId和secret,然后再次运行示例。如果你失败了,请告诉我,我可以进一步研究这个问题。