ここからクレジットカード決済にPaypal PHP Rest API を使用しています。デモデータで無事支払いできました。ユーザーがクレジット カードの支払いでエラーに直面した場合、プログラムによる方法ではなく、ユーザー フレンドリーな方法でそれをリアルタイムで表示する方法が必要です。
Paypal 開発者サイトから、返されたエラー オブジェクトの形式を見つけましたが、その使用方法がわかりません。
私のコードは次のとおりです。
try {
$payment->create($apiContext);
} catch (PayPal\Exception\PPConnectionException $ex) {
echo "Exception: " . $ex->getMessage() . PHP_EOL;
var_dump($ex->getData());
}
間違ったデータを意図的に入力すると、次のエラー メッセージが表示されました。
Exception: Got Http response code 400 when accessing
https://api.sandbox.paypal.com/v1/payments/payment.
string '{"name":"VALIDATION_ERROR","details":
[{"field":"payer.funding_instruments[0].credit_card",
"issue":"Invalid expiration (cannot be in the past)"},
{"field":"payer.funding_instruments[0].credit_card.number",
"issue":"Value is invalid"},{"field":
"payer.funding_instruments[0].credit_card.cvv2",
"issue":"Length is invalid (must be 3 or 4,
depending on card type)"}],"message":"Invalid request
- see details","information_link":
"https://developer.paypal.com/webapps
/developer/docs/api/#VALIDATION_ERROR","debug_id":
"bdcc'... (length=523)
では、前述の Paypal 開発者サイトで述べられているエラー オブジェクトを取得するにはどうすればよいでしょうか。また、それを使用して技術者以外の人にエラーを表示する方法はありますか?