2017-07-06 32 views
0

我建立一個php網站,使用Stripe來完成計費。如果收費成功,我將結果記錄在一張表格中,迄今爲止非常好。如果收費失敗(被拒絕),我想做同樣的事情,記錄消息等,但也記錄金額和貨幣。是否有可能從Stripe \ Error \ Card對象中獲取這些值?從錯誤對象獲取條帶電荷參數

我似乎能夠得到的值用

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

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

但是這看起來很狡猾!我想我可以從原來的收費請求中抓住他們,只是想知道是否有另一種方式?

+0

你大概會將這些值傳遞給[Create Charge] [https://stripe.com/docs/api#create_charge] API端點,對不對?只需將它們存儲在一個可供try-catch訪問的範圍內的變量,並在那裏執行您需要的任何操作。有才華的板球的答案應該做的,但只是將'$ 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 } 

我希望這是有幫助的,我知道這不正是你想要的,但如果你正在做的電荷和追趕這樣的錯誤,那麼你就已經擁有量和可用貨幣你並不需要在錯誤卡中查找它。