流星和条纹 API 的新手我正在尝试使用流星和条纹应用此优惠券代码。这是使用优惠券的一次性付款。然而,handleCharge 方法在流程支付方法之前触发。我希望 Stripe.coupons.retrieve 在处理付款之前先返回结果。
服务器方法
Meteor.methods({
processPayment( charge, coupon ) {
Stripe.coupons.retrieve(
coupon,
function(err, result) {
if( result ) {
charge.amount = parseInt(charge.amount) - parseInt( charge.amount * coupon.percent_off );
}
}
);
let handleCharge = Meteor.wrapAsync( Stripe.charges.create, Stripe.charges ),
payment = handleCharge( charge );
return payment;
}
});
我还尝试在将优惠券传递到 processPayment 之前返回结果。然后,当我尝试 console.log 结果时,它总是未定义。
checkForCoupon( couponCode ) {
let result = false;
Stripe.coupons.retrieve(
couponCode,
function(err, coupon) {
if( err ) {
result = false;
} else {
result = true;
}
}
);
return result;
}
Meteor.call( 'checkForCoupon', coupon, ( error, response ) => {
if ( error ) {
console.log( error );
} else {
console.log( "Success");
}
});
任何帮助将不胜感激。