ITPub博客

首页 > 移动开发 > 微信开发 > Node.JS调用微信支付API

Node.JS调用微信支付API

原创 微信开发 作者:Roy155 时间:2020-09-25 18:14:53 0 删除 编辑

功能概述:

#后台调用支付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(() => {
                        //失败处理
                    })
                })
            }
        });
    })


来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/69981626/viewspace-2724235/,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论

注册时间:2020-08-14

  • 博文量
    14
  • 访问量
    4373