我正在尝试为我的 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 没有定义一些常量,我可以在其中找到消息状态吗?
最佳答案
你能确定你有Payouts Enabled in your sandbox environment.吗?这使您可以获得进行支付调用所需的适当范围。
但是,如果您已经这样做但仍然失败,请您试用随 SDK 一起提供的示例。
所有您需要做的就是运行一个命令,您将运行示例,如前所述 here
php -f vendor/paypal/rest-api-sdk-php/sample/index.php
这将启动一个示例服务器,并允许您使用它。
它有一个支付样本,您只需点击并运行即可。如果这些有效,我们现在可以做一个微小的改变来获取样本以使用您的 clientId 和 secret 。查找 samples/bootstrap.php在 sdk 代码中,更改那些 clientId 和 secret,然后再次运行示例。如果失败,请告诉我,我可以进一步调查该问题。
关于php - PayPal 支付总是被拒绝(沙盒),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27980541/