사용자가 계정을 만들 때 요금을 청구하려고합니다. 모든 것이 설정되고 코드로 완벽하게 작동합니다. 사용자 로그인이 웹 사이트의 "프리미엄"섹션에있을 때 계정을 만들고 아래 코드로 요금이 부과됩니다.PassportJS 및 Stripe
문제 : 사용자의 신용 카드가 여러 가지 이유로 거절당하는 경우 ... 사용자 계정이 아직 생성되었습니다. 신용 카드가 실패 할 경우 코드의 해당 부분에 도달하지 못하도록 내 코드를 어떻게 변경합니까?
참고 : 사용자가 사용자 이름을 사용하여 계정을 만들려고 할 때 작동합니다. 웹 앱은 /를 구매자에게 리디렉션하여 새 사용자 이름을 선택합니다. 그러나 사용자가 먼저 생성되기 때문에 신용 카드 오류를 처리하지 못합니다.
도움 주셔서 감사합니다.
user.save(function(err) {
console.log('this is the problem' + ' ' + err)
if(err){
return res.redirect('/buy')
}
var token = req.body.stripeToken; // Using Express
var charge = stripe.charges.create({
amount: 749,
currency: "usd",
description: "Website.com Premium - One time Payment",
source: token,
}, function(err, charge) {
if(err) {
console.log(err);
return res.redirect('/buy')
}
console.log('charged')
req.logIn(user, function(err) {
if(err) {
console.log(err);
}
console.log('all looks good')
res.redirect('/results');
});
});
});
});
이 질문에 두 번 질문했습니다 ... –