1
を使用して日付支払いを送信しようとしましたが、token.createを使用して支払いが送信された日付をconsole.logにしようとしましたが、未定義を返します。私はどのように私は日付を取得することができたのだろうかと思っていた。ここでストライプ
app.post('/payments.html', function(req, res) {
var token = req.body.stripeToken; // Using Express
// Create a charge: this will charge the user's card
var charge = stripe.charges.create({
amount: 20000, // Amount in cents
currency: "usd",
source: token,
description: "Example charge"
}, function(err, charge) {
if (err && err.type === 'StripeCardError') {
// The card has been declined
}
});
console.log(charge.amount);
stripe.customers.create({
description: 'customer for..',
source: token
}), function(err, customer){
console.log("error in creating customer" + err);
}
console.log(token.created);
res.sendFile(__dirname + '/views/payments.html');
});
スクリプトここ
<script type="text/javascript">
// Fill in your publishable key
Stripe.setPublishableKey('pk_test_SkainfjXuZvik6J2Sg5praOz');
var stripeResponseHandler = function(status, response) {
var $form = $('#payment-form');
if (response.error) {
// Show the errors on the form
$form.find('.payment-errors').text(response.error.message);
$form.find('button').prop('disabled', false);
} else {
// token contains id, last4, and card type
var token = response.id;
// Insert the token into the form so it gets submitted to the server
$form.append($('<input type="hidden" name="stripeToken" />').val(token));
// and re-submit
$form.get(0).submit();
}
};
jQuery(function($) {
$('#payment-form').submit(function(e) {
var $form = $(this);
// Disable the submit button to prevent repeated clicks
$form.find('button').prop('disabled', true);
Stripe.card.createToken($form, stripeResponseHandler);
// Prevent the form from submitting with the default action
return false;
});
});
</script>
は、あなたが全体のトークンオブジェクトを掲示していないことを確認する必要がありますが、お支払い情報を入力フォーム
<form action="" method="POST" id="payment-form">
<span style="color:red;"class="payment-errors"></span>
<div class="form-row">
<label>
<span>Name</span>
<input type="text" size="20" data-stripe="name">
</label>
<label>
<span>Zip Code</span>
<input type="text" size="20" data-stripe="address_zip">
</label>
</div>
<div class="form-row">
<label>
<span>Card Number</span>
<input type="text" size="20" data-stripe="number">
</label>
</div>
<div class="form-row">
<label>
<span>Expiration (MM/YY)</span>
<input type="text" size="2" data-stripe="exp_month">
</label>
<span>/</span>
<label>
<input type="text" size="2" data-stripe="exp_year">
</label>
</div>
<div class="form-row">
<label>
<span>CVC</span>
<input type="text" size="4" data-stripe="cvc">
</label>
</div>
<input type="submit" class="submit" value="Submit Payment">
</form>
は、クライアント側のコードを掲載 – srsxyz
うん、ここにあるビット: 'VARトークン= response.id;' あなたは全体ではなく、トークンオブジェクトを送り返すことができます。文字列をフォームに追加するか、代わりにajax経由で投稿する必要があります。 また、料金のトークンからIDを取得するためにバックエンドコードを変更する必要があります。 – alwayslearning
、ありがとう! – srsxyz