我正在建立一个php网站,使用Stripe进行计费。如果收费成功,我将结果记录在表中,到目前为止一直很好。如果收费失败(被拒绝)我想做同样的事情,记录消息等,但也记录金额和货币。是否可以从Stripe \ Error \ Card对象中获取这些值?
我似乎能够使用
获取值catch(\Stripe\Error\Card $e) {
$test = $e->getTrace();
print_r($test[3]['args']);
}
但这看起来很狡猾!我想我可以从原来的收费请求中抓住它们,只是想知道是否还有其他方式?
答案 0 :(得分: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 }
我希望这有用,我知道这并不是你想要的,但如果你正在收费并抓住这样的错误那么你已经有了可用的金额和货币而不需要寻找它在错误卡片中。