gpt4 book ai didi

django - 我如何知道用户使用 Stripe Checkout.js 选择什么计划?

转载 作者:行者123 更新时间:2023-12-02 04:34:30 26 4
gpt4 key购买 nike

我用订阅按钮列出了我们的所有计划,如下(django 模板语法):

  {% for plan in plans %}
<tr>
<td>{{ plan.name }}</td>
<td>£{{ plan.price_human }}</td>
<td>
<form method="POST" action=".">
{% csrf_token %}
<script
src="https://checkout.stripe.com/checkout.js" class="stripe-button"
data-key="{{ public_key }}"
data-image="/static/images/logo-n.png"
data-name="Product Name"
data-description="{{ plan.name }}"
data-currency="{{ plan.currency }}"
data-amount="{{ plan.price }}"
data-locale="{{ request.LANGUAGE_CODE }}"
data-email="{{ user.email }}"
data-label="{% trans 'Subscribe' %}"
data-panel-label="{% trans 'Subscribe' %}"
data-allow-remember-me="false"
>
</script>
</form>
</td>
</tr>
{% endfor %}

然后我将创建客户/订阅以响应此表单的发布:

class SubscribePageView(generic.TemplateView):
def post(self, request, *args, **kwargs):
stripe.api_key = settings.STRIPE_SECRET_KEY
user = self.request.user
token = request.POST.get('stripeToken')

customer = stripe.Customer.create(
source=token,
plan=[[WHERE DOES THIS COME FROM??]],
email=user.email,
)
user.customer_id = customer.id
user.save()

但那时我没有计划 ID 可以传回 Stripe。 :/。

我这样做是不是错了?

最佳答案

Stripe 结账脚本所做的就是将 token 插入表单中的隐藏字段,然后将整个表单提交到您的服务器。如果您需要任何其他信息(例如计划),也应该将其包含在表单中:

<form method="POST" action=".">
{% csrf_token %}
<input type="hidden" name="plan" value="{{ plan.id }}">
<script....>
</form>

现在您可以通过 request.POST['plan'] 访问该计划。

关于django - 我如何知道用户使用 Stripe Checkout.js 选择什么计划?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32715681/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com