Ich benutze Stripe mit Laravel 5.1 und ich habe alles funktioniert außer, dass wenn ich eine Testkartennummer eingeben, die abgelehnt werden sollte, erhalte ich keine Fehler; Das heißt, Resonanzen existieren niemals, selbst wenn es nötig ist.Streifen zieht keine Karten im Testmodus
Ich erhalte ein Token zurück, als ob alles durch ganz gut (Beispiel: tok_16Y3wFAMxhd2ngVpHnky8VWX) ging
Die stripeResponseHandler() Funktion Fehler in der Antwort ist nicht egal, welche die Rückkehr Testkarte die ich benutze. Hier ist der Code in Frage:
var PublishableKey = 'pk_test_Ed0bCarBWsgCXGBtjEnFeBVJ'; // Replace with your API publishable key
Stripe.setPublishableKey(PublishableKey);
/* Create token */
var expiry = $form.find('[name=cardExpiry]').payment('cardExpiryVal');
var ccData = {
number: $form.find('[name=cardNumber]').val().replace(/\s/g, ''),
cvc: $form.find('[name=cardCVC]').val(),
exp_month: expiry.month,
exp_year: expiry.year
};
Stripe.card.createToken(ccData, function stripeResponseHandler(status, response) {
console.log(status);
if (response.error) {
/* Visual feedback */
$form.find('[type=submit]').html('Please Try Again');
/* Show Stripe errors on the form */
$form.find('.payment-errors').text(response.error.message);
$form.find('.payment-errors').closest('.row').show();
} else {
/* Visual feedback */
$form.find('[type=submit]').html('Processing <i class="fa fa-spinner fa-pulse"></i>');
/* Hide Stripe errors on the form */
$form.find('.payment-errors').closest('.row').hide();
$form.find('.payment-errors').text("");
// response contains id and card, which contains additional card details
console.log(response.id);
console.log(response.card);
var token = response.id;
var email = $form.find('[name=email]').val();
var formToken = $form.find('[name=_token]').val();
console.log(email);
// AJAX - you would send 'token' to your server here.
console.log(token);
$.post('/testing', {
_token: formToken,
token: token,
email: email
}, function (data) {
console.log(data);
})
// Assign handlers immediately after making the request,
.done(function (data, textStatus, jqXHR) {
//console.log(data);
$form.find('[type=submit]').html('Subscription Successful <i class="fa fa-check"></i>').prop('disabled', true);
})
.fail(function (jqXHR, textStatus, errorThrown) {
$form.find('[type=submit]').html('There was a problem').removeClass('success').addClass('error');
/* Show Stripe errors on the form */
$form.find('.payment-errors').text('Try refreshing the page and trying again.');
$form.find('.payment-errors').closest('.row').show();
});
}
});
Die if (response.error) nie ausgelöst, auch wenn die Karte abgelehnt werden soll. Ich kann nicht verstehen, was ich hier falsch mache, was dieses Problem verursacht.
Ich habe versucht, alle Testkartennummern, die von den Stripe-Dokumenten abgelehnt werden sollten, aber keiner von ihnen gibt eine Antwort mit Fehlern zurück.
Bitte helfen Sie mir. Vielen Dank für Ihre Zeit.
Also, was ist Streifen zurücksenden? Wie können wir etwas tun, wenn die Antwort keine Fehler enthält? – charlietfl