我正在使用Stripe用于德语网站,我可以为this post之后的表单翻译JS(stripeResponseHandler)错误消息,但不是验证例外($ e-> getMessage())。 我在英语中遇到异常错误,我该怎么翻译?
我的PHP:
try {
require_once('Stripe/init.php');
\Stripe\Stripe::setApiKey("myKey"); //Secret Key
$token = $_POST['stripeToken'];
$coupon = \Stripe\Coupon::retrieve($_POST['couponId']);
$charge = \Stripe\Charge::create(array(...)
} catch (Exception $e) {
echo $e->getMessage();
}
答案 0 :(得分:0)
API返回的错误消息是英文的 - 此时,Stripe不支持本地化的API错误消息。
您可以执行SO answer中描述的内容,通过error handling提供您自己的翻译。例如。你可以这样做:
try {
$charge = \Stripe\Charge::create(...);
} catch(\Stripe\Error\Card $e) {
$body = $e->getJsonBody();
$err = $body['error'];
switch ($err['code']) {
case 'card_declined':
// use your own "card declined" error message
break;
case 'invalid_number':
// use your own "invalid number" error message
break;
// etc.
}
} catch (\Stripe\Error\Base $e) {
// another Stripe error happened, use a generic "error with our payment processor" message
} catch (Exception $e) {
// something else happened, unrelated to Stripe
}