Paypal rest sdk 访问时获取Http响应代码400https://api.sandbox.paypal.com/v1/payments/payment

Paypal rest sdk 访问时获取Http响应代码400https://api.sandbox.paypal.com/v1/payments/payment,paypal-rest-sdk,Paypal Rest Sdk,我正在使用PayPal rest sdk/api并向我的客户收费,但随后我在循环中多次调用收费部分,然后在第一次借记我客户的帐户时,其他客户的帐户未借记。当我尝试调试时,我发现此错误“访问时获得Http响应代码400” 当循环第一次调用RESTSDK/api charge函数时,它会获得成功,但当循环进一步运行时,它会显示错误 如果您需要我这边的任何其他信息,请告诉我。如果您将任何需要$apiContext的调用包装在try/catch块中,并检查SDK引发的异常,您将有更好的运气调试您的问题。

我正在使用PayPal rest sdk/api并向我的客户收费,但随后我在循环中多次调用收费部分,然后在第一次借记我客户的帐户时,其他客户的帐户未借记。当我尝试调试时,我发现此错误“访问时获得Http响应代码400”

当循环第一次调用RESTSDK/api charge函数时,它会获得成功,但当循环进一步运行时,它会显示错误


如果您需要我这边的任何其他信息,请告诉我。

如果您将任何需要
$apiContext
的调用包装在try/catch块中,并检查SDK引发的异常,您将有更好的运气调试您的问题。我有一个函数,我一直在使用它,这是很有帮助的

function PaypalError($e){

    $err = "";

    do {
        if (is_a($e, "PayPal\Exception\PayPalConnectionException")){
            $data = json_decode($e->getData(),true);
            $err .= $data['name'] . " - " . $data['message'] . "<br>";
            if (isset($data['details'])){
                $err .= "<ul>";
                foreach ($data['details'] as $details){
                    $err .= "<li>". $details['field'] . ": " . $details['issue'] . "</li>";
                }
                $err .= "</ul>";
            }
        }else{
            //some other type of error
            $err .= sprintf("%s:%d %s (%d) [%s]\n", $e->getFile(), $e->getLine(), $e->getMessage(), $e->getCode(), get_class($e));
        }
    } while($e = $e->getPrevious());

    return $err;
}
try{
    $Payment->create($apiContext); //or any similar calls
}catch(Exception $e){
    echo PaypalError($e);
}