私はストライプを作成するときに私はidempotency_keyを追加するだけで充電が発生するはずですが、問題はエラーメッセージです.HTMLフォームでの表示はあまりにも技術的です。ユーザーに自分のメッセージを表示したいのですがそのドキュメント番目のストライプjsメッセージを上書きする方法は?
私のPHPコード
Stripe::setApiKey('sk_test_something');
$StripeError = "";
try {
\Stripe\Charge::create(array(
"amount" => 44 * 100,
"currency" => "usd",
"source" => $request->stripeToken, // obtained with Stripe.js
"description" => "Charge ticket",
"metadata" => array("order_id" => "67ewe35")
), array(
"idempotency_key" => "45sss423refsd",
)
);
} catch (\Stripe\Error\RateLimit $e) {
$StripeError .= $e->getMessage() . "\n";
return redirect()->route('user.tickets.pay')->with('error', $StripeError);
} catch (\Stripe\Error\InvalidRequest $e) {
$StripeError .= $e->getMessage() . "\n";
return redirect()->route('user.tickets.pay')->with('error', $StripeError);
} catch (\Stripe\Error\Authentication $e) {
$StripeError .= $e->getMessage() . "\n";
return redirect()->route('user.tickets.pay')->with('error', $StripeError);
} catch (\Stripe\Error\ApiConnection $e) {
$StripeError .= $e->getMessage() . "\n";
return redirect()->route('user.tickets.pay')->with('error', $StripeError);
} catch (\Stripe\Error\Base $e) {
$StripeError .= $e->getMessage();
return redirect()->route('user.tickets.pay')->with('error', $StripeError);
} catch (\Exception $e) {
$StripeError .= $e->getMessage() . "\n";
return redirect()->route('user.tickets.pay')->with('error', $StripeError);
JSコード
Stripe.setPublishableKey('pk_test_something');
var $form = $('#checkout-form');
$form.submit(function (event) {
$('#charge-error').addClass('hidden');
$form.find('button').prop('disabled', true);
Stripe.card.createToken({
number: $('#debit_card').val(),
cvc: $('#card_cvc').val(),
exp_month: $('#card_expiry_month').val(),
exp_year: $('#card_expiry_year').val(),
name: $('#card_holder_name').val()
}, stripeResponseHandler
);
return false;
});
function stripeResponseHandler(status, response) {
if (response.error) {
$('#charge-error').removeClass('hidden');
$('#charge-error').text(response.error.message);
$form.find('button').prop('disabled', false);
} else {
var token = response.id;
$form.append($('<input type="hidden" name="stripeToken"/>').val(token));
// Submit the form:
$form.get(0).submit();
}
EYはこのことを示しますが、私はストライプへの要求が失敗した場合、応答は代わりに次の形式のものであろう、それを https://stripe.com/docs/stripe-js/v2
を実装することができますかわからない:
{
error: {
type: "invalid_request_error", // String identifier of the type of error
message: "Invalid routing number", // String description of the error
param: "bank_account" // Optional string identifier of the offending parameter.
}
}
メッセージHTMLにフォームはこれです 冪等要求のキーは、最初に使用されたのと同じパラメーターでのみ使用できます。別のリクエストを実行する場合は、 '35423refsd'以外のキーを使用してみてください。
は、私はそれ