使用Stripe和Django进行定期付款

时间:2018-06-26 19:25:42

标签: python django stripe-payments

我还是Django的新手,正尝试通过Stripe设置定期付款。我正在使用Django 2.0,并且已经成功设置了一个充电测试用例。但是,我不熟悉如何创建定期付款,并且对我正在从事的项目要求定期付款。

对于单笔付款,我有以下内容:

视图

CustomerEntranceRestriction

stripe-template.html

stripe.api_key = settings.STRIPE_SECRET_KEY

def checkout(request):
    """Stripe check out"""

    new_tier = models.PaymentTier(
        level = "Tier 3",
        year = 2018
    )

    if request.method == "POST":
        token = request.POST.get("stripeToken")
    try:
        charge = stripe.Charge.create(
            amount = 2000,
            currency = "usd",
            source = token,
            description = "Tier 3 subscription for Elite Fitness"
        )

        new_tier.charge_id = charge.id

    except stripe.error.CardError as ce:
        return False, ce

    else:
        new_tier.save()
        return redirect("thank_you_page")



def payment_form(request):
    """Render stripe payment form template"""

    context = {"stripe_key": settings.STRIPE_PUBLIC_KEY}
    return render(request, "stripe-template.html", context)




def thank_you_page(request):
    """Successful payment processed"""

    return render(request,'thank_you_page.html')

我很难在网上找到任何可以涵盖定期付款的内容。如果有人知道如何设置它们(甚至通过<form action="checkout/" method="POST"> {% csrf_token %} <script src="https://checkout.stripe.com/checkout.js" class="stripe-button" data-key={{stripe_key}} # Make sure to wrap the variable name with double {} data-amount="2000" data-name="company name here" data-description="Elite Fitness Subscription" data-image="picture.png" data-currency="usd"> </script> </form> dj-stripe),将不胜感激。

3 个答案:

答案 0 :(得分:1)

您需要create a plan,指定定期付款的价格和期限,然后将条带客户注册到计划using subscriptions

答案 1 :(得分:1)

您应该查看Billing Quickstart文档。它概述了如何设置订阅(或定期付款)的步骤。要点是,您首先create a product,然后create a plan使用该产品,create a customer您要为其重复计费的产品,然后attach that plan as a subscription给客户。

答案 2 :(得分:1)

从2020年开始,实际上建议为此使用PaymentIntents。如今,Stripe在他们的文档中已经介绍了an excellent guide的操作方法,它遍历了整个流程并涵盖了3D安全等内容。

有关Django特定主题的详细说明,请参见此文章:How to Create a Subscription SaaS Application with Django and Stripe