から400応答を引く私はここにある非常に具体的な質問質問:誰もが、私はそれのPayPal APIから400エラーをキャッチについてよりオープン質問したい助けることができなかったようLaravel 5 catching PayPal PHP API 400 errors on localhost:8000Laravel 5ペイパルAPI
を。
私はPayPalへのリクエストを作成しています。リクエストが成功した場合はすべて正常に動作し、素敵なレスポンスオブジェクトが得られます。
たとえば、不正なカードの詳細が入力された場合、Laravelは400エラーをスローし、それに応じてエラーを捕捉できません。
スニペット:ここ
try {
// ### Create Payment
// Create a payment by posting to the APIService
// using a valid ApiContext
// The return object contains the status;
$payment->create($this->_apiContext);
//will not catch here :(throws Laravel 400 error! want to redirect with message!
} catch (\PPConnectionException $ex) {
return Redirect::back()->withErrors([$ex->getMessage() . PHP_EOL]);
}
//if we get an approved payment ! This fires perfectly when succesful!!! woo!!
if($payment->state == 'approved') {
//if success we hit here fine!!!
} else {
//won't get here, dies before catch.
}
はLaravelのデバッグモードでのエラーです:
私は私ができるので、私は素敵なオブジェクトを取得する必要がありますPayPalのAPIサンドボックスのログで見てみるとそれに応じた行動。
{
"status": 400,
"duration_time": 60,
"body": {
"message": "Invalid request. See details.",
"information_link": "https://developer.paypal.com/webapps/developer/docs/api/#VALIDATION_ERROR",
"details": [
{
"field": "payer.funding_instruments[0].credit_card.number",
"issue": "Value is invalid."
}
],
"name": "VALIDATION_ERROR",
"debug_id": "XXXXXXXXXXXXXX"
},
"additional_properties": {},
"header": {
"Date": "Thu, 25 May 2017 14:44:43 GMT",
"paypal-debug-id": "2f88f18d519c3",
"APPLICATION_ID": "APP-XXXXXXXXXXXX",
"Content-Language": "*",
"CALLER_ACCT_NUM": "XXXXXXXXXXXXX"
}
}
もしあなたが私のヒーローになることができれば、どんなララベルの魔法使いも助けてくれるでしょう。
ニック。
これはあなたを助けますか? https://github.com/paypal/PayPal-PHP-SDK/wiki/exception-'PayPal%5CException%5CPayPalConnectionException-with-message-'Got-Http-response-code-400-when-accessing – rchatburn
ありがとうございます返信@rchatburn!私はそのリンクを見て、私は多くの助けになると確信していますが、私の場合には再びキャッチすることができません:(私のアプリケーションは、この呼び出しを行うようにステータスが400の場合にフロップするようです: '$ payment-> create - > _ apiContext); 'PayPalが何らかのエラーを投げた場合、その行を越えるものはありません。 –