我在 Node.js 中有一个可用的应用程序,它将处理 Stripe收费。因为我用 Firebase 主持, 我需要使用谷歌 Cloud Functions为了照顾这个。有没有一种简单的方法可以将我的代码“翻译”为 index.js
中的云函数?
exports.stripecharge = functions.https.onRequest((req, res) =>
不确定如何将其实现到我现有的代码中
这是我的工作 API(已修改测试 key ):
var stripe = require("stripe")("sk_test_213123123123123");
var express = require('express'), bodyParser = require('body-parser');
var urlencodedParser = bodyParser.urlencoded({ extended: false })
var app = express();
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_123123123123213"></script></form>')
});
app.post('/charge',urlencodedParser, function(req, res) {
// grab a token
var token = req.body.stripeToken;
// creating a charge, for real use add things like error handling
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);
});
});
最佳答案
看起来您已经有了一个可用的 Express 应用程序。事实证明,您可以将 Express 应用传递给 Cloud Functions:
exports.api = functions.https.onRequest(app)
执行此操作时,来自您应用的所有路由都将由 Cloud Functions 处理。 URL 的路径将以函数名称为前缀。在上面的例子中,这是“api”,所以路径将是 /api/
和 /api/charge
等。
可以看到one example这在 Firebase samples repo .
关于javascript - Firebase Cloud Functions 的 Node RESTful API,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46757185/