微信企业付款转账到微信

这个事官方文档 不了解的可以先去看下

话不多说 直接上代码

/**
     * 企业转账
     * @return 
     */
    public function qiyezhuanzhang($order_sn,$total_fee,$bossfind,$openid,$order_id)
    {
        
        // 获取配置项
        $this->config['APPID'] = $bossfind['jsappid'];
        $this->config['MCHID'] = $bossfind['jsmchid'];
        $this->config['KEY'] = $bossfind['jskey'];

        $weixinpay_config = $this->config;

        // 订单数据  请根据订单号out_trade_no 从数据库中查出实际的body、total_fee、out_trade_no、product_id
        $data = array(
            'desc' => $bossfind['app_name'],// 商品描述(需要根据自己的业务修改)
            'amount' => $total_fee*100,// 订单金额  以(分)为单位(需要根据自己的业务修改)
            'partner_trade_no' => $order_sn,// 订单号(需要根据自己的业务修改)
            'openid' => $openid,// 获取到的openid
            'check_name' => 'NO_CHECK',// NO_CHECK:不校验真实姓名 FORCE_CHECK:强校验真实姓名
            're_user_name' => '王小二',// 真实姓名 
            'mch_appid' => $weixinpay_config['APPID'],
            'mchid' => $weixinpay_config['MCHID'],
            'nonce_str' => md5(time() . '!@#$%^&*()_+'),
            'spbill_create_ip' => '192.168.0.1',

        );
        // 生成签名
        $sign = $this->makeSignss($data,$weixinpay_config['KEY']);
        $data['sign'] = $sign;
        // var_dump($data);exit;
        $xml = $this->toXml_tui($data);
        // var_dump($xml);exit;
        $url = 'https://api.mch.weixin.qq.com/secapi/pay/refund';//接收xml数据的文件
        $header[] = "Content-type: text/xml,charset:utf-8";//定义content-type为xml,注意是数组
        $ch = curl_init($url);
        curl_setopt($ch, CURLOPT_URL, $url);
        curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
        curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false); // 兼容本地没有指定curl.cainfo路径的错误
        curl_setopt($ch, CURLOPT_HTTPHEADER, $header);
        curl_setopt($ch, CURLOPT_POST, 1);
        curl_setopt($ch, CURLOPT_POSTFIELDS, $xml);

        //证书的使用
        curl_setopt($ch, CURLOPT_SSLCERTTYPE, 'PEM');
        curl_setopt($ch, CURLOPT_SSLCERT, './cert/apiclient_cert.pem');
        curl_setopt($ch, CURLOPT_SSLKEYTYPE, 'PEM');
        curl_setopt($ch, CURLOPT_SSLKEY, './cert/apiclient_key.pem');

        $response = curl_exec($ch);

        if (curl_errno($ch)) {

            // 显示报错信息;终止继续执行
            die(curl_error($ch));
        }

        curl_close($ch);
        $result = $this->toArray($response);
        // 显示错误信息
        if ($result['return_code'] == 'FAIL') {
            die($result['return_msg']);
        }
        
        return $result;
    
    }

这个没有经过测试 是我根据文档写出来的 为了防止以后我自己忘记了

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值