스트라이프를 만들 때 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
을 구현할 수있는 방법을 모른다 : HTML에
{
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.
}
}
메시지 형식은 다음과 같습니다. 멱등 원 (Idempotent) 요청에 대한 키는 처음에 사용 된 것과 동일한 매개 변수에서만 사용할 수 있습니다. 다른 요청을 실행하려는 경우 '35423refsd'이외의 키를 사용해보십시오.
와 나는 그것을