出于某种原因,如果某人因为卡被拒而注册订阅计划,那么条带仍在创建客户。
我不太确定为什么会发生这种情况,因为我正在制作充电的客户,如果有人注册但他们的卡片没有通过条纹,我怎么能这样做呢?他们是顾客?
这是我的代码
import stripe
@app.route('/stripe/charge', methods=['POST'])
def stripe_charge():
data = json.loads(request.data)
user = data['user']
source = data['stripeToken'] # obtained from Stripe.js
try:
customer = stripe.Customer.create(
source=source,
plan="gold5",
email=email,
)
except stripe.CardError, e:
return jsonify(error="%s" % e)
return jsonify(customer)
答案 0 :(得分:2)
由于create the customer带有plan
参数,Stripe将尝试一次性创建客户和订阅。除非计划有试用期,否则Stripe将立即尝试向客户收取计划金额(因为Stripe的订阅是预先支付的),如果收费失败,那么电话将返回错误,客户不会即可创建。
如果您看到不同的行为,我建议您与Stripe's support联系以说明问题。确保在邮件中包含客户ID和/或请求ID。
答案 1 :(得分:0)
你确定它会被抛出CardError
吗?尝试做一般Exception
,看看卡坏了时会抛出什么错误。此外,他们的API文档实际上并没有说如果卡被拒绝将会引发错误:
如果发票付款到期并且未提供来源,则通话将引发错误。如果提供了不存在的计划或不存在或过期的优惠券,则该呼叫将引发错误。