支付回调失败怎么处理_Node.JS调用微信支付API

本文档介绍了如何使用Node.js调用微信支付API,包括后台调用支付接口、前端发起支付以及处理支付结果回调。重点在于支付回调的参数配置和回调地址的设置,所有代码可在GitHub上获取。
摘要由CSDN通过智能技术生成

801c1fd56616e7425dcda106f5cb02f0.png

功能概述:

#后台调用支付API

#前端发起微信支付

#支付结果回调

  • github地址:
befinal/node-tenpay​github.com
593cbd7006d47b06feb3694c15863abb.png
  • 实现平台:白码低代码开发平台
白码--无代码 | 低代码软件开发​www.bnocode.com
a20cc1190f169e8646869292468f70c8.png

1、支付结果回调

参数配置

eddfe2aaaaeaf3c70de34b1ba54c06d8.png

源码

sync 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

配置

13acb025344dc048761314648f045f96.png

源码

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所生成的路径

cffac961eb08f36fd78940d1bca31c00.png

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(() => {
                        //失败处理
                    })
                })
            }
        });
    })
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值