将数据从javascript表单传递到Flask服务器

时间:2015-07-12 19:40:55

标签: javascript python heroku flask stripe-payments

我很高兴使用stripe , flask and heroku为我的静态博客(github页面)设置我自己的付款处理。

用户点击按钮并转到我在heroku上托管的烧瓶应用程序进行付款。

问题是我真的不希望用户离开我的网站。

我真的很想知道是否有任何办法可以在客户端使用javascript和heroku的烧录应用程序进行服务器处理。

请指点我们如何做到这一点!

谢谢!

PS:我是一个python程序员,而不是一个烧瓶或javascript的专业人士。因为我想自定义服务器端任务所以我在这里使用flask(python)。

修改

我想要做的是......

1)在我的博客上添加条纹结账按钮(完成!)

2)当按下按钮时,弹出条纹检查

以下是结帐时使用的表单的代码

<form action="" method="POST">
  <script
    src="https://checkout.stripe.com/checkout.js" class="stripe-button"
    data-key="YOUR_STRIPE_KEY"
    data-amount="2000"
    data-name="Demo Site"
    data-description="2 widgets ($20.00)"
    data-image="/128x128.png">
  </script>
</form>

3)当用户输入他的信用卡信息时,它应该进入我的烧瓶应用程序以添加客户,创建卡,添加一些关于客户的元数据并订阅他的计划。我猜必须有一些形式的动作属性的神秘使用!

4)成功交易后加载感谢页面。该页面位于我的博客模板中

1 个答案:

答案 0 :(得分:1)

提交此表单的最简单方法是将您的费用端点放在Flask中作为此表单的“操作”值。

<form action="/charge" method="POST">

如果此端点未托管在同一网站上,则需要

<form action="https://mysiteothersite.fake/charge" method="POST">

但如果您不希望用户离开您的博客/页面,事情会变得有点棘手。您无需使用Stripe的基本结帐,而是需要使用Custom Integration

在“令牌”回调中,您将使用从Stripe收到的令牌向Flask充电终点点击AJAX POST request。您还需要在Flask服务器上添加CORS Header,以允许您的博客提交令牌。如果您愿意,可以使用Flask module