繁体   English   中英

使用 node.js 的条纹支付方式

[英]Stripe Payment Method using node.js

我正在使用节点实现条带支付方法并表示它成功运行并返回成功消息但客户没有添加条带客户并且我的节点代码也崩溃了。 我是新来的,所以学习帮助将不胜感激。

这是我的代码:

const express = require('express')
const app = express()
const { stripecard } = require('../../schemas')
var stripe = require("stripe")("sk_test_51LM4hdClyoITdq3ZfTfLdVZjmLKskcWAV17Yef5fGAjKFBReC82bstJOP7VyuauMiHFVGvHgyfQdSLsfcQHTzb9w00s65S9CT6")

const CreateCard = app.post('/payment', function(req, res) {
    const {
        id,
        duration,
        cardNumber,
        expMM,
        expYY,
        cvv,
        email,
        name
    } = req.body;

    const createdUser =  stripe.customers.create({
        email: email || 'testUser@gmail.com',
        name: name || "123"
    })

    //console.log("createdUser", createdUser)
    if (createdUser) {
        try {
            const token =  stripe.tokens.create({
                card: {
                    number: cardNumber,
                    exp_month: expMM,
                    exp_year: expYY,
                    cvc: cvv
                }
            })
            //console.log("token : ", token)
            const AddingCardToUser =  stripe.customers.createSource(createdUser.id, {
                source: token.id
            })

            return res.status(201).json({
                success: true,
                AmountCharged: req.body.charge,
                message: "Payment Charged Successfully and also a mail has been sent to User as well as Admin."
            });
        } catch (error) {
            return res.status(501).json({
                success: false,
                message: `Error in ${error.type} and error is :  ${error.message}`
            });
        }
    }

})
module.exports = CreateCard

这是 postman 中的 output:

{
    "success": true,
    "AmountCharged": "1200",
    "message": "Payment Charged Successfully and also a mail has been sent to User as well as Admin."
}

你检查过最新的文档@stripe吗?

查看“自定义付款流程”

您可能希望在每个 API 调用前添加await关键字,以便它返回customer对象而不是 Promise。

我还想强调几件事。

  1. 您的密钥在这篇文章中泄露,您应该尽快滚动它
  2. 您将信用卡号和详细信息直接传递给您的应用程序。 除非您打算自己处理PCI 合规性,否则我强烈建议您在前端标记卡详细信息,并将令牌 ID 传递给后端。
  3. Sources 和 Tokens 是 Stripe 的旧 API。 如果您不维护旧项目,则应使用新的Payment IntentsSetup Intents API。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM