微信企业付款

<?php
header(‘content-type:text/html;charset=utf-8‘);
$data[‘mch_appid‘]=‘##################‘;//商户的应用appid
$data[‘mchid‘]=‘################‘;//商户ID
$data[‘nonce_str‘]=‘123456‘;//unicode();//这个据说是唯一的字符串下面有方法
$data[‘partner_trade_no‘]=‘LB123456‘;//.time();//这个是订单号。
$data[‘openid‘]=‘123‘;//这个是授权用户的openid。。这个必须得是用户授权才能用
$data[‘check_name‘]=‘NO_CHECK‘;//这个是设置是否检测用户真实姓名的
$data[‘re_user_name‘]=‘######‘;//用户的真实名字
$data[‘amount‘]=‘1‘;//提现金额
$data[‘desc‘]=‘服务费‘;//订单描述
$data[‘spbill_create_ip‘]=$_SERVER[‘SERVER_ADDR‘];//这个最烦了,,还得获取服务器的ip
$secrect_key=‘#################################‘;///这个就是个API密码。32位的。。随便MD5一下就可以了
$data=array_filter($data);
ksort($data);
$str=‘‘;
foreach($data as $k=>$v) {
    $str.=$k.‘=‘.$v.‘&‘;
}
$str.=‘key=‘.$secrect_key;
$data[‘sign‘]=md5($str);
$xml=arraytoxml($data);
// echo $xml;
$url=‘https://api.mch.weixin.qq.com/mmpaymkttransfers/promotion/transfers‘;
$res=curl($xml,$url);
$return=xmltoarray($res);
print_r($return);
// echo getcwd().‘/cert/apiclient_cert.pem‘;die;
function unicode() {
    $str = uniqid(mt_rand(),1);
    $str=sha1($str);
   return md5($str);
}
function arraytoxml($data){
    $str=‘<xml>‘;
    foreach($data as $k=>$v) {
        $str.=‘<‘.$k.‘>‘.$v.‘</‘.$k.‘>‘;
    }
    $str.=‘</xml>‘;
    return $str;
}
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;
}
function curl($param="",$url) {
   
    $postUrl = $url;
    $curlPost = $param;
    $ch = curl_init();                                      //初始化curl
    curl_setopt($ch, CURLOPT_URL,$postUrl);                 //抓取指定网页
    curl_setopt($ch, CURLOPT_HEADER, 0);                    //设置header
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);            //要求结果为字符串且输出到屏幕上
    curl_setopt($ch, CURLOPT_POST, 1);                      //post提交方式
    curl_setopt($ch, CURLOPT_POSTFIELDS, $curlPost);           // 增加 HTTP Header(头)里的字段
    curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE);        // 终止从服务端进行验证
    curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, FALSE);
    curl_setopt($ch,CURLOPT_SSLCERT,getcwd().‘/cert/apiclient_cert.pem‘); //这个是证书的位置
    curl_setopt($ch,CURLOPT_SSLKEY,getcwd().‘/cert/apiclient_key.pem‘); //这个也是证书的位置
    $data = curl_exec($ch);                                 //运行curl
    curl_close($ch);
    return $data;
}
时间: 2024-10-15 14:14:02

微信企业付款的相关文章

thinkphp 微信支付 thinkphp 微信企业付款

前面已经跑通了微信支付的流程,接下来吧微信支付和微信企业付款接入到thinkphp中,版本是3.2 把微信支付类.企业付款类整合到一起放到第三方类库,这里我把微信支付帮助类和企业付款类放到同一个文件了: 把Payment整个文件夹放到\ThinkPHP\Library\Vendor文件夹下面,打开WxPay.pub.config.php,配置四个参数即可,然后把微信提供的证书放到caccert文件夹:这样就完成了支付和 企业付款的所有代码配置! 待续...

微信企业付款到银行卡

第一次做微信企业付款到银行卡,特地记录下来,因为这个功能自己用了2-3天,这中间的坑主要是再rsa加密那块.自己记录下来,供朋友参考.自己用的php开发 第一,首先你需要开通企业的微信认证公众号平台,然后开通支付功能.这些我就不说了.自己开通. 第二,看文档, 第三步,发送请求接口,发送后,腾讯会给你响应.特别要说明一点的是,腾讯这个功能真不便宜,我测试时一元钱,手续费扣了我一元.最少金额是一元. 在发送接口时有个公钥我们首先要获得,同时里面有个签名算法,公钥主要用于到时银行账号和收款人姓名加密

11. PHP接入微信企业付款功能

payment 项目2.0版本 这个功能与支付宝的批量付款到支付宝帐号功能类似.但是当前支付宝这个接口已经停止审核了. 当前很多提问平台就用到了这两个平台.比如[来问医生],你提的问题如果被人看了.医生得0.5元,你得0.5元.然后累积够1元后,[来问医生]就会通过微信的企业付款功能给你的微信余额增加1元. 代码调用 use Payment\TransferContext; use Payment\Common\PayException; use Payment\Config; // 生成转款单

微信企业付款到个人钱包引发的坑之反思~

企业付款到个人钱包也就是用户在微信公众平台提现可以直接打入提现者微信的钱包!但要满足: 1)企业开通微信支付90天 2)连续30天有交易才能开通此功能 今天有幸能开发此功能,我只能说我又涨知识了!!!在我编程的这条道路上我又多见到了一些坑!下面就给大家讲一下今天遇到的两个坑! 1)CA证书引入问题,开发过程中遇到了CA证书验证失败的问题,百度之后网上有的说要用绝对路径,有的人说要用相对路径! curl_setopt($curl,CURLOPT_SSLCERT,getcwd()."/cert/ap

微信企业付款到个人钱包引发的坑之反思~!

企业付款到个人钱包也就是用户在微信公众平台提现可以直接打入提现者微信的钱包!但要满足: 1)企业开通微信支付90天 2)连续30天有交易才能开通此功能 今天有幸能开发此功能,我只能说我又涨知识了!!!在我编程的这条道路上我又多见到了一些坑!下面就给大家讲一下今天遇到的两个坑! 1)CA证书引入问题,开发过程中遇到了CA证书验证失败的问题,百度之后网上有的说要用绝对路径,有的人说要用相对路径! 小梦使用的是Thinkphp3.2框架开发的这个功能,最终我结果告诉我用绝对路径,还要用到PHP的一个函

微信开发 -- 企业付款 PHP代码实现

写这篇文章的目的主要是由于在微信公众平台提供的SDK中并没有提供此功能的SDK实现, 其实最后实现还是借助 微信公众平台开发文档 和 SDK. 企业付款的应用场景: 公众号向已关注用户付款,比如处理退款.财务结算等 先说一下实现思路: 在SDK中自带类库的基础上扩展WxMchPay组件, 实现企业付款功能的扩展. 话不多说,上代码, 下面是继承SDK,实现企业付款的组件: $parameters参数参考: 企业付款API的文档 <?php // 引入SDK import('Common.Util

微信:企业付款给用户

微信企业付款给个人零钱 使用盛派开发的sdk :nuget地址 senparc.weixin.mp.dll 盛派sdk地址:https://weixin.senparc.com/ 盛派SDK github 地址:https://github.com/JeffreySu/WeiXinMPSDK 企业付款API 使用接口: TenPayV3.Transfers(TenPayV3TransfersRequestData dataInfo, string cert, string certPasswor

解决问题:CA_ERROR证书出错,请登录微信支付商户平台下载证书-企业付款到零钱接口(原创)

这几天用到了微信企业付款到零钱这个接口,结果出现了报错:CA_ERROR, 该接口的API说明和报错提示说明:https://pay.weixin.qq.com/wiki/doc/api/tools/mch_pay.php?chapter=14_2 通过看提示知道原因大概在:请求没带商户API证书或带了错误的商户API证书. 然后我自己查看了我发post请求的地方,汗,果不其然,有个控制是否携带API证书的地方我设置了不携带false. 修改为ture,然后检查下证书路径,测试OK. 原文地址:

微信支付之企业付款--微信商户后台没有“企业付款到零钱”解决方案

项目需要用到用户提现功能,准备用微信支付提供的企业付款功能,即提供企业向用户付款的功能,支持企业通过API接口付款,或通过微信支付商户平台网页功能操作付款. 登录商户后台准备开通,发现产品中心中并不存在. 这没有,我要怎么开通啊,后来网上一顿搜索,发现一个解决方案,将原网址https://pay.weixin.qq.com/index.php/extend/product/lists?tid=3,com/后的改为/index.php/public/product/detail?pid=5,参见下