微信付款到零钱

<?php
namespace Wechat;

use Wechat\Common;

class Wxpaytochange{
 
    private $check_name = 'FORCE_CHECK';
    private $appid;
    private $mchid;
    private $key;
    private $sslcert_path;
    private $sslkey_path;
    private $error_code = '';
    private $error_msg = '';


    /** 
     * 企业支付(零钱) 
     * @param string $openid    用户openID 
     * @param string $trade_no  单号 
     * @param string $money     金额 
     * @param string $desc      描述 
     * @return string   XML 结构的字符串 
     */  
    public function __construct($options){
        $this->appid = $options['appid'];
        $this->mchid = $options['mch_id'];
        $this->key = $options['key'];
        $this->sslcert_path = $options['sslcert_path'];
        $this->sslkey_path = $options['sslkey_path'];
    }
    public function pay($data){
        
        $data = array(  
            'mch_appid' => $this->appid,  
            'mchid'     => $this->mchid,  
            'nonce_str' => Common::getNonceStr(16), 
            'partner_trade_no' => $data['trade_no'], //商户订单号,需要唯一  
            'openid'    => $data['openid'],  
            'check_name'=> $this->check_name, //OPTION_CHECK不强制校验真实姓名, FORCE_CHECK:强制 NO_CHECK:  
            're_user_name' => $data['real_name'], //收款人用户姓名  
            'amount'    => $data['money'] * 100, //付款金额单位为分  
            'desc'      => $data['desc'],  
            'spbill_create_ip' => Common::getIp()  
        );  
        
        // var_dump($data);
        //生成签名  
        $data['sign'] = Common::MakeSign($data,$this->key); 
      
        //构造XML数据  
        $xmldata = Common::array2xml($data);  
        $url = 'https://api.mch.weixin.qq.com/mmpaymkttransfers/promotion/transfers';  
        //发送post请求  
        $res = Common::curl_post_ssl($url, $xmldata,$second=30,[],$this->sslcert_path,$this->sslkey_path);  
        // var_dump($res);
        if(!$res){  
            return ['code'=>403, 'msg'=>"Can't connect the server"];  
        }  

        //付款结果分析  
        $content = Common::xml2array($res);  
        
        if($content['return_code'] == 'FAIL'){  
            return ['return_code'=>$content['return_code'], 'msg'=>$content['return_msg'],'err_code'=>$content['err_code'],'err_code_des'=>$content['err_code_des']];  
        }  

        
        if($content['result_code'] == 'FAIL'){  
            return ['return_code'=>$content['err_code'], 'msg'=>$content['err_code_des'],'err_code'=>$content['err_code'],'err_code_des'=>$content['err_code_des']];  
        }  
        $resdata = array(  
            'return_code'      => $content['return_code'],  
            'result_code'      => $content['result_code'],  
            'err_code'         => $content['err_code'],
            'err_code_des'     => $content['err_code_des'],
            'partner_trade_no' => $content['partner_trade_no'],  
            'payment_no'       => $content['payment_no'],  
            'payment_time'     => $content['payment_time'],  
        );  
        return $resdata;  

    }
}


打赏

看恩吧
网站不承担任何有关评论的责任
  • 最新评论
  • 总共条评论
取消

感谢您的支持,我会继续努力的!

扫码支持
扫码打赏,你说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦