2017-07-06 3 views
0

Implify PHPサイトを作成し、ストライプを使用して請求を行います。請求が成功した場合、結果をテーブルに記録します。チャージが失敗した場合(落ちる場合)、私は同じことをしたい、メッセージなどを記録するだけでなく、金額と通貨を記録する。 Stripe \ Error \ Cardオブジェクトからこれらの値を取得することは可能ですか?エラーオブジェクトからストライプ充電パラメータを取得する

私は

catch(\Stripe\Error\Card $e) { 

    $test = $e->getTrace(); 
    print_r($test[3]['args']); 
} 

を使用して値で取得することができるように見えるが、これはかなり危険な見えます!私はちょうど元の請求要求からそれらをつかむことができたと思う、ちょうど別の方法があるかどうか疑問に思った?

+0

これらの値は[料金の作成] [https://stripe.com/docs/api#create_charge] APIエンドポイントに渡されていると思われます。 try-catchにアクセス可能なスコープ内にある変数にそれらを格納し、そこに必要なものを実行してください。 Talented Cricketの答えは必要ですが、 '$ amount_in_cents'をtry-catchブロックの外に保存してください。 – korben

答えて

1

私はtryとcatchを使って、エラーの前に変数に金額と通貨を格納します。これは、私が料金をかけてストライピングするのと同じ変数です。例えば:

私はこれが役に立つことを願う
$customer = \Stripe\Customer::create(array(
    'email' => $customer_email, 
    'source' => $token 
)); 

try { 

    $charge = \Stripe\Charge::create(array(
    'customer' => $customer->id, 
    'amount' => $amount_in_cents, 
    'currency' => 'usd' 
)); 

} catch(\Stripe\Error\Card $e) { // Your error handling code } 

、私はあなたが何を望むか、それは正確ではないと知っているが、あなたは、充電を行うと、このようなエラーをキャッチしている場合、あなたはすでに量と使用可能な通貨にする必要がありますあなたとエラーカードでそれを探す必要はありません。

関連する問題