当收费下降时,Stripe正在创建客户

时间:2016-09-26 00:33:02

标签: python flask stripe-payments

出于某种原因,如果某人因为卡被拒而注册订阅计划,那么条带仍在创建客户。

我不太确定为什么会发生这种情况,因为我正在制作充电的客户,如果有人注册但他们的卡片没有通过条纹,我怎么能这样做呢?他们是顾客?

这是我的代码

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)

2 个答案:

答案 0 :(得分:2)

由于create the customer带有plan参数,Stripe将尝试一次性创建客户和订阅。除非计划有试用期,否则Stripe将立即尝试向客户收取计划金额(因为Stripe的订阅是预先支付的),如果收费失败,那么电话将返回错误,客户不会即可创建。

如果您看到不同的行为,我建议您与Stripe's support联系以说明问题。确保在邮件中包含客户ID和/或请求ID。

答案 1 :(得分:0)

你确定它会被抛出CardError吗?尝试做一般Exception,看看卡坏了时会抛出什么错误。此外,他们的API文档实际上并没有说如果卡被拒绝将会引发错误:

  

如果发票付款到期并且未提供来源,则通话将引发错误。如果提供了不存在的计划或不存在或过期的优惠券,则该呼叫将引发错误。

https://stripe.com/docs/api?lang=python#create_customer