Node.JS调用微信支付API
Roy
• 发表于:2021-02-24 12:39:50 • 更新于:2021-10-21 08:26:45
471

功能概述:

后台调用支付API

前端发起微信支付

支付结果回调

github地址:https://github.com/befinal/node-tenpay

实现步骤:

1、支付结果回调

参数配置参数配置

源码

async function hook($req = request, $resp = response, $modules = modules) {

    let api = $modules.weixinPayApi;

    let data = await api.read($req); //读取信息

    await api.success($resp); //返回成功信息

 

    let order_id = data["out_trade_no"];//订单号

    let result_code = data["result_code"];//支付结果:SUCCESS为成功  /  

    let transaction_id = data["transaction_id"];//交易id

    if (result_code == "SUCCESS") {

        //支付成功

    } else {

        //支付失败

    }

}

2、后台调用支付API

配置调用支付

源码

async function run($input, $output, $modules = modules) {

    let result = await $modules.weixinPayApi.getPayParams({

        body: "title",//名称

        out_trade_no: $input.order_id,//订单号

        total_fee: $input.total, // 1分钱

        openid: $input.openid,//openid

        notify_url: "https://platform.bnocode.com/api/open/5f43669bd40c150945a51b34/weixinpay"//回调地址

    });

    //返回结果

    $output.result = JSON.stringify(result);

}

其中的回调地址为第一点创建的webhook所生成的路径回调

3、前端发起支付

源码

//获取当前微信的openID 

window.vue.$store.dispatch("weixin/getOpenid").then(openid => {

        //调用“后台调用支付API”的功能

        $view.cmd({

            type: "program",

            value: {

                flow: "5f607c7f8bc6f05918a9d3f8",

                data,

                skip: true

            }

        }, {

            callback: (value) => {//获取API返回的交易信息

                let config = JSON.parse(value.data);

              //发起支付

                window.vue.$store.dispatch("weixin/get").then(wx => {

                    window.vue.$store.dispatch("weixin/pay", config).then(() => {

                        //成功处理

                    }).catch(() => {

                        //失败处理

                    })

                })

            }

        });

    })


本文是否对您有帮助?
有帮助
没帮助
您是否遇到了以下问题?
内容过期或不准确
缺少场景、事例
链接有误
太简单,步骤待完善
其他
提交反馈
如需获取即时帮助,请联系
小助理
微信扫码添加小助理
让你的想法快速变成软件吧~
文章标签
API
联系我们
售前咨询电话
020-88520693
意见箱 · 建议反馈
您的宝贵建议,使白码更完美!
白码小助理
加入白码社区,学习更多开发小技巧!
微信扫码添加白码小助理