ZFSYS

easywechat退款参考

33

退款参考


public function qx_order(){
    $this->config =  [
        'app_id' => 'wx6********9719',
        'secret' => 'e2e3e**********0194ab3d6596fd',
        // 指定 API 调用返回结果的类型:array(default)/collection/object/raw/自定义类名
        // 'response_type' => 'array',
        'mch_id' => '151*********',
        'key' => 'AAA66666666666666666666666666666',
        'cert_path' =>  './cert/apiclient_cert.pem', // optional,退款等情况时用到
        'key_path' =>  './cert/apiclient_key.pem',// optional,退款等情况时用到
        // 'notify_url'         => '默认的订单回调地址',     // 你也可以在下单时单独设置来想覆盖它
        'oauth' => [
            'scopes'   => ['snsapi_userinfo'],
            'callback' => '/wx_callback',
        ]
    ];


    $app  = Factory::payment($this->config);
    $order_sn = input('order_sn','');
    $res = db('order')->where([['uid','=',$this->user['id']],['pay_status','=',1],['order_sn','=',$order_sn],['tk_status','=',0]])->find();
    if(!$res){
        return jserror('订单错误');
    }
    if(strtotime($res['yd_time'])<time() || date("Y/m/d")==date("Y/m/d",strtotime($res['yd_time'])) ){
        return jserror('已过期禁止退款');
    }

    $result = $app->refund->byOutTradeNumber($res['order_sn'], $res['wechatpay_sn'], $res['money']*100, $res['money']*100, [
        // 可在此处传入其他参数,详细参数见微信支付文档
        'refund_desc' => '用户申请退款',
    ]);
    logOutput('用户申请退款');
    logOutput($result);
    //  logOutput(1);
    if($result && $result['result_code']=='SUCCESS'){
        $res = ZFTB('order')->where(['order_sn'=>$order_sn])->update(['tk_status'=>1,'pay_status'=>3,'tk_time'=>time()]);
        return jssuccess('退款成功');
    }else{
        ZFTB('order')->where(['order_sn'=>$order_sn])->update(['tk_status'=>3]);
        return jssuccess('退款中');
    }

}

如果退款成功,result_code值为SUCCESS

下面提供几个返回值

退款失败
2024-03-18 08:22:21   {"return_code":"SUCCESS","return_msg":"OK","appid":"wx6********9719","mch_id":"151*********","nonce_str":"PCBsRw5fuM93Okq4","sign":"815FCA8C7618534BD24EE1DCECA7ABF5","result_code":"FAIL","err_code":"NOTENOUGH","err_code_des":"\u57fa\u672c\u8d26\u6237\u4f59\u989d\u4e0d\u8db3\uff0c\u8bf7\u5145\u503c\u540e\u91cd\u65b0\u53d1\u8d77"}


退款成功
2024-03-19 15:42:23   {"return_code":"SUCCESS","return_msg":"OK","appid":"wx6********9719","mch_id":"151*********","nonce_str":"psWErNkwdPRy5hnJ","sign":"8807A4727C03C9338FB3B2E4A80D5AFF","result_code":"SUCCESS","transaction_id":"4200002147202403197626516348","out_trade_no":"ZF-17108340872403195515650190","out_refund_no":"4200002147202403197626516348","refund_id":"50303009142024031997093366287","refund_channel":null,"refund_fee":"18000","coupon_refund_fee":"0","total_fee":"18000","cash_fee":"18000","coupon_refund_count":"0","cash_refund_fee":"18000"}


重复退款
2024-03-20 10:08:20   {"return_code":"SUCCESS","return_msg":"OK","appid":"wx6********9719","mch_id":"151*********","nonce_str":"3ep8H9BssvJwkOkx","sign":"8468E7C2EEC133A4E44F9C588CD2F88B","result_code":"SUCCESS","transaction_id":"4200002171202403161563976051","out_trade_no":"ZF-17105685972403166676168739","out_refund_no":"4200002171202403161563976051","refund_id":"50303309012024031615803304851","refund_channel":null,"refund_fee":"10","coupon_refund_fee":"0","total_fee":"10","cash_fee":"10","coupon_refund_count":"0","cash_refund_fee":"10"}
  • 没有任何评论
最新帖子
[站长推荐] 一些站长/创业者使用的工具推荐 567
HTML+JS 全选与取消全选功能 529
有没有人做百度小程序啊 434
子枫内容系统更新记录 432
PHP 按照指定数量切割字符串 376
php composer更换国内源 358
composer 报错SSL routines:SSL3_GET_SERVER_CERTIFICATE:certificate verify 329
layui table 的宽度超出自动隐藏 325
怎么克服拖延症呀 324
tp5.1 分页样式 322
最近热帖
[站长推荐] 一些站长/创业者使用的工具推荐 567
HTML+JS 全选与取消全选功能 529
有没有人做百度小程序啊 434
子枫内容系统更新记录 432
PHP 按照指定数量切割字符串 376
php composer更换国内源 358
composer 报错SSL routines:SSL3_GET_SERVER_CERTIFICATE:certificate verify 329
layui table 的宽度超出自动隐藏 325
怎么克服拖延症呀 324
tp5.1 分页样式 322
近期热议
开始使用 146