Django提交表单并重定向到付款页面然后做表格

问题描述 投票:0回答:1

我正在尝试整合Stripe Checkout,以便在提交表单时让客户付款。此集成将客户重定向到Stripe的页面以进行付款。在重定向页面上提交付款后,如何让Django记住表单中的输入值?我可以创建一个记住值的自定义URL吗?

此外,他们的脚本需要我通过变量提供的付款ID,但是在提交表单后首先创建此变量。一旦页面呈现,我无法动态更改javascript变量,对吗?

使用Javascript

<script>
    stripe.redirectToCheckout({
      sessionId: "{{context}}",
    }).then(function (result) {
      // Diplay result.error.message to your customer
    });
    </script>

用于创建表单提交后调用的付款的Python代码

    stripeUID = str(uuid.uuid4())
    payment = stripe.checkout.Session.create(
  success_url="https://mypage.com/succes",
  cancel_url="https://mypage.com/error",
  payment_method_types=["card"],
  client_reference_id= stripeUID,
  line_items=[
    {
      "amount": 2000242,
      "quantity": 1,
      "name": "Blender rendering",
      "currency": "usd",
    }
  ]
)   
    context = payment.id
django stripe-payments
1个回答
1
投票

对于付款ID,请使用AJAX。使用Javascript提交表单,并在AJAX响应中提供付款ID。然后你可以在重定向中使用它。至于重定向,您需要创建一个模型来存储表单值与条带会话ID,因此当您的客户重定向到您的网站时,您可以使用会话ID查询该表以获取其原始表单值。

AJAX调用可以通过使用fetchXMLHttpRequestjQuery.ajax来完成

© www.soinside.com 2019 - 2024. All rights reserved.