我还是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
),将不胜感激。
答案 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