我正在尝试为我的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定义了一些我可以找到消息状态的常量吗?
答案 0 :(得分:1)
请你确保Payouts Enabled in your sandbox environment.这可以让你获得拨打电话所需的适当范围。
但是,如果你已经这样做了但仍然失败了,可以试试随SDK一起提供的样品。
您需要做的只是运行一个命令,然后您将运行示例,如上所述here
php -f vendor/paypal/rest-api-sdk-php/sample/index.php
这将启动一个示例服务器,并允许您玩它。
它有一个付款样本,您只需点击并运行即可。如果这些工作正常,我们现在可以做一个微小的改变来获取样本以使用您的clientId和secret。在sdk代码中查找samples/bootstrap.php,并更改那些clientId和secret,然后再次运行示例。如果你失败了,请告诉我,我可以进一步研究这个问题。