【发布时间】:2018-03-22 08:49:41
【问题描述】:
<!-- 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 能够向Stripe 提交一个令牌。我还有一个server.js,写在Node.js,成功地向Stripe收费:
// 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)
问题是,它们独立工作。如果我在端口7878 本地主机我的网站文件夹public(也有位于public/subfolder 中的server.js),则提交付款按钮成功提交带有条纹测试卡信息的令牌,但随后将我重定向到file:///D:/charge,带有404-错误。
现在,如果我在 cmd 中运行node server.js,然后转到localhost:5000,那么我可以使用测试卡进行收费。
我希望 我的网站上的按钮 生成并提交令牌(确实如此),并启动收费。
随意详细说明 API/HTML 关系,因为我显然很困惑。
【问题讨论】:
标签: javascript html node.js api stripe-payments