首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >条-提交令牌/创建收费通过一个HTML-按钮?

条-提交令牌/创建收费通过一个HTML-按钮?
EN

Stack Overflow用户
提问于 2017-10-10 20:21:40
回答 1查看 468关注 0票数 0
代码语言:javascript
复制
                    <!-- Stripeform -->
                    <form action="/charge" method="post" id="payment-form">
                        <div class="form-row">
                            <label for="card-element">
                            Credit or debit card
                            </label>
                            <div id="card-element">
                            <!-- a Stripe Element will be inserted here. -->
                            </div>

                            <!-- Used to display form errors -->
                            <div id="card-errors" role="alert"></div>
                        </div>

                        <button>Submit Payment</button>
                    </form>

这个HTML和我的controller.js一起能够向条带提交一个令牌.我还有一个用server.js编写的Node.js,它成功地向Stripe收费:

代码语言:javascript
复制
// Get our dependencies
var stripe = require("stripe")("sk_test_111111111111111111111111");
var express = require('express'), bodyParser = require('body-parser');
var urlencodedParser = bodyParser.urlencoded({ extended: false })
var app = express();
var jwt = require('express-jwt');
var rsaValidation = require('auth0-api-jwt-rsa-validation');

//Implement charge endpoint 
app.get('/', function(req, res) {
// for kicks, just sending checkout
res.send('<form action="/charge" method="POST">Buy it !<script 
src="https://checkout.stripe.com/checkout.js" class="stripe-button" data-
key="pk_test_111111111111111111111"></script></form>')
});

app.post('/charge',urlencodedParser, function(req, res) {

//grab a token
var token = req.body.stripeToken;

//Creating a charge
stripe.charges.create({
amount: 2000,
currency: "usd",
source: token, // obtained with Stripe.js
description: "Charge"
}, function(err, charge) {
    res.send("You made a charge: "+ charge.id);
});
}); 

app.listen(5000)

问题是他们是独立工作的。如果我将我的网站文件夹public (它的server.js也位于public/subfolder中)放在7878端口,则提交支付按钮成功地提交了带有Stripe测试卡信息的令牌,但随后使用404-error将我重定向到file:///D:/charge

现在,如果我在cmd中运行node server.js,然后转到localhost:5000,那么我可以用测试卡收费。

我想要按钮在我的网站生成,并提交令牌(它这样做),并开始收费。

尽管详细说明API/HTML之间的关系,因为我显然很困惑。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-10-10 21:56:44

当您直接为文件提供服务时,您实际上并不运行Node服务器,因此/charge路由无法运行。

为了使其工作,您将需要服务器端节点代码在服务器上运行-并且可以访问<form>提交的HTML;这些东西不能在客户端运行,所以您需要将其托管在某个地方。

它不一定需要被托管在与HTML相同的地方,但它确实需要在某个地方可以从web上访问。

您可能想看看像赫鲁库这样的托管部分。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/46675328

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档