使用 Stripe 和 Django 进行定期付款

aal*_*333 6 python django stripe-payments

我对 Django 还是很陌生,正在尝试通过 Stripe 设置定期付款。我正在使用 Django 2.0 并成功设置了单次充电测试用例。但是,我不熟悉如何创建定期付款,并且我正在从事的项目需要它。

对于单次付款,我有以下几点:

观看次数

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')
Run Code Online (Sandbox Code Playgroud)

条纹模板.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>
Run Code Online (Sandbox Code Playgroud)

我很难在网上找到任何专门涵盖定期付款的内容。如果有人知道如何设置它们(甚至通过dj-stripepinax)任何帮助将不胜感激。

小智 6

您应该查看Billing Quickstart文档。它逐步概述了如何设置订阅(或定期付款)。它的要点是,您首先创建一个产品,然后使用该产品创建一个计划创建一个您想要重复计费的客户,然后将该计划作为订阅附加到该客户。


umg*_*gel 2

您需要创建一个计划,指定定期付款价格和持续时间,然后使用订阅将您的 Stripe 客户注册到该计划中。