微信付款到零钱-创新互联

require_once "include/lib/Api.class.php";
require_once "include/lib/JsApiPay.class.php";
require_once "include/lib/PayNotifyCallBack.class.php";
require_once "include/lib/Config.class.php";
require_once "include/lib/JSSDK.class.php";

专注于为中小企业提供网站设计、成都网站制作服务,电脑端+手机端+微信端的三站合一,更高效的管理,为中小企业巴马免费做网站提供优质的服务。我们立足成都,凝聚了一批互联网行业人才,有力地推动了近千家企业的稳健成长,帮助中小企业通过网站建设实现规模扩充和转变。

class WeiPay
{

 //企业向个人付款
public static function payToUser($data)
{
    //微信付款到个人的接口 前4个参数,去微信平台获取
    $url = 'https://api.mch.weixin.qq.com/mmpaymkttransfers/promotion/transfers';
    $params["mch_appid"]        = 'wxed179f31e9bd43**';   //公众账号appid
    $params["mchid"]            = '153660**11';   //商户号 微信支付平台账号
    $params['key']              = '8ffbb9de88a5****edd1a14858b0';   //对应的商户号的key 秘钥

    $params["nonce_str"]        = 'aedwnewe'.mt_rand(100,999);   //随机字符串
    $params["partner_trade_no"] = mt_rand(10000000,99999999);           //商户订单号
    $params["amount"]           = $data['pay_amount'];          //金额
    $params["desc"]             = $data['order_title'];          //企业付款描述
    $params["openid"]           = $data['openID'];         //用户openid
    $params["check_name"]       = 'NO_CHECK';       //不检验用户姓名 固定值 可以
    $params['spbill_create_ip'] = '101.37.163.73';   //获取IP 服务器ip

    //生成签名(签名算法后面详细介绍)
    $str = 'amount='.$params["amount"].'&check_name='.$params["check_name"].'&desc='.$params["desc"].
            '&mch_appid='.$params["mch_appid"].'&mchid='.$params["mchid"].'&nonce_str='.$params["nonce_str"].
            '&openid='.$params["openid"].'&partner_trade_no='.$params["partner_trade_no"].'&spbill_create_ip='.
             $params['spbill_create_ip'].'&key='.$params['key'];
    //md5加密 转换成大写
    $sign = strtoupper(md5($str));
    $params["sign"] = $sign;//签名
    $xml = self::arrayToXml($params);
    return self::curl_post_ssl($url, $xml);
}

                 //遍历数组方法
public static function arraytoxml($data){
    $str='';
    foreach($data as $k=>$v) {
        $str.='<'.$k.'>'.$v.'';
    }
    $str.='';
    return $str;
}

public static function xmltoarray($xml) {
    //禁止引用外部xml实体
    libxml_disable_entity_loader(true);
    $xmlstring = simplexml_load_string($xml, 'SimpleXMLElement', LIBXML_NOCDATA);
    $val = json_decode(json_encode($xmlstring),true);
    return $val;
}

//上个方法中用到的curl_post_ssl()

public static function curl_post_ssl($url, $vars, $second = 30, $aHeader = array())
{
$isdir = "/www/wwwroot/qbb/tapi/storage/cert/";//证书位置
$ch = curl_init();//初始化curl

curl_setopt($ch, CURLOPT_TIMEOUT, $second);//设置执行最长秒数
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);//要求结果为字符串且输出到屏幕上
    curl_setopt($ch, CURLOPT_URL, $url);//抓取指定网页
    curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);// 终止从服务端进行验证
    curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, false);//
    curl_setopt($ch, CURLOPT_SSLCERTTYPE, 'PEM');//证书类型
    curl_setopt($ch, CURLOPT_SSLCERT, $isdir . 'apiclient_cert.pem');//证书位置
    curl_setopt($ch, CURLOPT_SSLKEYTYPE, 'PEM');//CURLOPT_SSLKEY中规定的私钥的加密类型
    curl_setopt($ch, CURLOPT_SSLKEY, $isdir . 'apiclient_key.pem');//证书位置
    curl_setopt($ch, CURLOPT_CAINFO, 'PEM');
    curl_setopt($ch, CURLOPT_CAINFO, $isdir . 'rootca.pem');
    if (count($aHeader) >= 1) {
        curl_setopt($ch, CURLOPT_HTTPHEADER, $aHeader);//设置头部
    }
    curl_setopt($ch, CURLOPT_POST, 1);//post提交方式
    curl_setopt($ch, CURLOPT_POSTFIELDS, $vars);//全部数据使用HTTP协议中的"POST"操作来发送

    $data = curl_exec($ch);//执行回话
    if ($data) {
        curl_close($ch);
        $res = self::xmltoarray($data);
        return $res;
    } else {
        $error = curl_errno($ch);
        echo "call faild, errorCode:$error\n";
        curl_close($ch);
        return false;
    }
}

}

注意:
1,金额必须是整数,最低是30=3毛钱
2,用公众号的APPID,对应的商户号 和key秘钥
3,对应的公众号的openID

另外有需要云服务器可以了解下创新互联scvps.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。


本文标题:微信付款到零钱-创新互联
网页网址:http://pwwzsj.com/article/dipsdo.html