微信小程序开发(十)小程序支付-查询退款

应用场景

提交退款申请后,通过调用该接口查询退款状态。退款有一定延时,用零钱支付的退款20分钟内到账,银行卡支付的退款3个工作日后重新查询退款状态。

接口说明

微信小程序开发(十)小程序支付-查询退款_第1张图片
这里退款还是根据商户订单号-out_trade_no去微信那边查询

代码实现

/*
 * 根据商户订单号out_trade_no 查询退款
 */
router.all('/api/wxpay/refundQuery', function(req, res, next) {
    var param = req.query || req.params; 
    var out_trade_no = param.out_trade_no;
    console.log('out_trade_no = ' + out_trade_no);

    var nonce_str = getNonceStr();
    var fee = '1';

    var bodyData = '';
    bodyData += '' + wxConfig.AppID + '';
    bodyData += '' + wxConfig.Mch_id + '';
    bodyData += '' + nonce_str + '';
    bodyData += '' + out_trade_no + '';

    var sign = refundQuerySign(
        wxConfig.AppID,
        wxConfig.Mch_id,
        nonce_str,
        out_trade_no,
    );

    bodyData += '' + sign + '';
    bodyData += '';

    var urlStr = 'https://api.mch.weixin.qq.com/pay/refundquery';
    request({
        url: urlStr,
        method: 'POST',
        body: bodyData,
    }, function (error, response, body) {
        if (!error && response.statusCode == 200) {
            var returnValue = {};
            parseString(body, function (err, result) {
                if (result.xml.return_code[0] == 'SUCCESS' && result.xml.result_code[0] == 'SUCCESS') {
                    returnValue.msg = '操作成功';
                    returnValue.status = '100';
                    returnValue.result = result;
                    res.end(JSON.stringify(returnValue));
                } else{
                    returnValue.msg = result.xml.return_msg[0];
                    returnValue.status = '102';
                    returnValue.result = result;
                    res.end(JSON.stringify(returnValue));
                }
            });
        }else{
            res.end(JSON.stringify({
                msg: "请求失败",
                status: "103"
            }));
        }
    })
});

总结

关于小程序支付基本都写完了。
《微信小程序开发(五)小程序支付-统一下单》
《微信小程序开发(六)小程序支付-notify_url》
《微信小程序开发(七)小程序支付-查询订单》
《微信小程序开发(八)小程序支付-关闭订单》
《微信小程序开发(九)小程序支付-申请退款》
《微信小程序开发(十)小程序支付-查询退款》

你可能感兴趣的:(Node.js,学习记录,微信开发)