嘿,我正在我的网站上使用 react 制作支付网关,所以我正在使用 stripe js(用于测试)我已经将我的支付组件包装在 app.js 的 Elements 中
const promise = loadStripe("my stipe publishable key")
<Route path='/payment'> <Header/> <Elements stripe={promise}> <Payment/> </Elements> </Route>
我在支付组件中的代码是
我使用 firebase 托管作为后端,所以我的运行命令 firebase init 创建了一个名为函数的文件夹(“因为我在运行 firebase init 后选择了函数选项”)并且对于 axios 我已经在我的 axios.js 文件中编写了这段代码
import axios from "axios";
const instance = axios.create({
baseURL: "http://localhost:5001/*****/******/api"
});
export default instance;
和这里使用的 baseURL 我通过在运行 firebase init 创建的函数文件夹中的 index.js 中编写一些代码来获得我在 index.js 中编写的代码是
const functions = require('firebase-functions');
const express = require("express");
const cors = require("cors");
const stripe = require("stripe")('my stripe secret key here')
//API
//App config
const app = express();
//Middlewares
app.use(cors({origin: true}));
app.use(express.json());
//API routes
app.get('/', (request, response) => response.status(200).send('hello world'))
app.post('/payment/create', async(request, response) => {
const total = request.query.total;
console.log('Payment Request Recieved BOOM!!! for this amount', total)
const paymentIntent = await stripe.paymentIntents.create({
amount: total,
currency: "usd",
});
//OK Created
response.status(201).send({
clientSecret: paymentIntent.client_secret,
})
})
//Listen command
exports.api = functions.https.onRequest(app)
从这里我得到了我的 api,它在终端函数 [api] 中用作基本 url :http 函数已初始化(http://localhost:5001/abcdabcdabcd/abcabcd/api)。
四季花海
相关分类