PHP实现微信商户支付企业付款到零钱功能

来源:中文源码网    浏览: 次    日期:2019年11月5日

【下载文档:  PHP实现微信商户支付企业付款到零钱功能.txt 】

(友情提示:右键点上行txt文档名->目标另存为)

PHP实现微信商户支付企业付款到零钱功能本文为大家分享了PHP实现微信商户支付企业付款到零钱的具体代码,供大家参考,具体内容如下

微信支付开发文档

一、开通条件

企业付款为企业提供付款至用户零钱的能力,支持通过API接口付款,或通过微信支付商户平台(pay.weixin.qq.com)网页操作付款。

使用条件 商户号(或同主体其他非服务商商户号)已入驻90日

商户号(或同主体其他非服务商商户号)有30天连续正常交易

登录微信支付商户平台-产品中心,开通企业付款。

具体的可以看微信支付开发文档

二、代码展示

//企业付款到微信零钱,PHP接口调用方法

define("APPID", "wxe062425f740c30d8"); // 商户账号appid

define("MCHID", "10000098"); // 商户号

define("SECRECT_KEY", "453436425252"); //支付密钥签名

define("IP", "xxx.xxx.xx.xx"); //IP

/**

* [xmltoarray xml格式转换为数组]

* @param [type] $xml [xml]

* @return [type] [xml 转化为array]

*/

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;

} /**

* [arraytoxml 将数组转换成xml格式(简单方法):]

* @param [type] $data [数组]

* @return [type] [array 转 xml]

*/

function arraytoxml($data){

$str='';

foreach($data as $k=>$v) {

$str.=''.$v.''.$k.'>';

}

$str.='';

return $str;

} /**

* [createNoncestr 生成随机字符串]

* @param integer $length [长度]

* @return [type] [字母大小写加数字]

*/

function createNoncestr($length =32){

$chars = "ABCDEFGHIJKLMNOPQRSTUVWXYabcdefghijklmnopqrstuvwxyz0123456789";

$str =""; for($i=0;$i $str.= substr($chars, mt_rand(0, strlen($chars)-1), 1);

}

return $str;

} /**

* [curl_post_ssl 发送curl_post数据]

* @param [type] $url [发送地址]

* @param [type] $xmldata [发送文件格式]

* @param [type] $second [设置执行最长秒数]

* @param [type] $aHeader [设置头部]

* @return [type] [description]

*/

function curl_post_ssl($url, $xmldata, $second = 30, $aHeader = array()){

$isdir = $_SERVER['DOCUMENT_ROOT']."/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, $xmldata);//全部数据使用HTTP协议中的"POST"操作来发送 $data = curl_exec($ch);//执行回话

if ($data) {

curl_close($ch);

return $data;

} else {

$error = curl_errno($ch);

echo "call faild, errorCode:$error\n";

curl_close($ch);

return false;

}

}

/**

* [sendMoney 企业付款到零钱]

* @param [type] $amount [发送的金额(分)目前发送金额不能少于1元]

* @param [type] $re_openid [发送人的 openid]

* @param string $desc [企业付款描述信息 (必填)]

* @param string $check_name [收款用户姓名 (选填)]

* @return [type] [description]

*/

function sendMoney($amount,$re_openid,$desc='测试',$check_name=''){

$total_amount = (100) * $amount;

$data=array(

'mch_appid'=>APPID,//商户账号appid

'mchid'=> MCHID,//商户号

'nonce_str'=>createNoncestr(),//随机字符串

'partner_trade_no'=> date('YmdHis').rand(1000, 9999),//商户订单号

'openid'=> $re_openid,//用户openid

'check_name'=>'NO_CHECK',//校验用户姓名选项,

're_user_name'=> $check_name,//收款用户姓名

'amount'=>$total_amount,//金额

'desc'=> $desc,//企业付款描述信息

'spbill_create_ip'=> IP,//Ip地址

); //生成签名算法

$secrect_key=SECRECT_KEY;///这个就是个API密码。MD5 32位。

$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);

$url='http://api.mch.weixin.qq.com/mmpaymkttransfers/promotion/transfers'; //调用接口

$res=curl_post_ssl($url,$xml);

$return=xmltoarray($res);

print_r($return);

//返回来的结果是xml,最后转换成数组

/*

array(9) {

["return_code"]=>

string(7) "SUCCESS"

["return_msg"]=>

array(0) {

}

["mch_appid"]=>

string(18) "wx57676786465544b2a5"

["mchid"]=>

string(10) "143345612"

["nonce_str"]=>

string(32) "iw6TtHdOySMAfS81qcnqXojwUMn8l8mY"

["result_code"]=>

string(7) "SUCCESS"

["partner_trade_no"]=>

string(18) "201807011410504098"

["payment_no"]=>

string(28) "1000018301201807019357038738"

["payment_time"]=>

string(19) "2018-07-01 14:56:35"

}

*/

$responseObj = simplexml_load_string($res, 'SimpleXMLElement', LIBXML_NOCDATA);

echo $res= $responseObj->return_code; //SUCCESS 如果返回来SUCCESS,则发生成功,处理自己的逻辑

return $res;

}三、调用方法

sendMoney(1,'gdgfdg56456223423','xxxx测试','xxx');调用的话,稍微在修改下,加上自己的业务逻辑就行了。

四、调用效果

也可以下载文件,我写的是一个类文件:PHP微信商户支付企业付款到零钱功能

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持中文源码网。

亲,试试微信扫码分享本页! *^_^*

php企业微信付款到零钱,PHP实现微信商户支付企业付款到零钱功能相关推荐

  1. PHP微信商户支付 - 企业付款到零钱功能(即提现)技术资料汇总

    PHP实现微信开发中提现功能(企业付款到用户零钱) 一.实现该功能目的 这几天在小程序里要实现用户从系统中提现到零钱的功能,查了一下文档可以使用 企业付款到用户零钱 来实现: 官方文档:https:/ ...

  2. 微信支付-企业付款到零钱问题集锦

    前言 做拉新活动的奖金分发,商品售卖的分销体系.给与用户奖金 1. 需要证书 <xml> <return_code><![CDATA[SUCCESS]]></ ...

  3. 微信支付(企业付款到个人微信零钱账户)微信公众平台开发教程(6)

    微信支付(企业付款到个人微信零钱账户)微信公众平台开发教程(6 简介 开发步骤 后端代码实现 简介 Senparc.Weixin SDK 是由盛派网络(Senparc)团队自主研发的针对微信各模块的 ...

  4. 企业商户如何开通付款到微信零钱

    企业商户如何开通付款到微信零钱 前言 波俊科技(公众号:波俊助手)作为微信服务商,一直致力于发展灵活用工发薪板块,为广大平台商家提供开通付款到微信零钱.微工卡及发薪方案定制服务,以稳定优质的服务,过硬 ...

  5. 微信支付----企业付款到零钱和银行卡规则

    企业付款到零钱 微信官方文档:https://pay.weixin.qq.com/wiki/doc/api/tools/mch_pay.php?chapter=14_1 使用条件 1.商户号(或同主体 ...

  6. asp源码demo下载:微信公众号支付企业付款到零钱功能asp源码下载案例

    最近接到一个开发需求,一个企业想用微信支付里面的,企业付款到零钱功能,利用此功能来给用会发红包,因为微信支付里的红包功能一次要付款1块钱,太多,所以他想利用此功能来发红包,这样红包金额可以低到每次3角 ...

  7. 微信支付--企业支付到零钱

    最近由于开发需要,进行了微信支付--企业支付到零钱的功能开发,期间也参考了部分网上的开发思路,以及微信支付的开发问题,在这里做一下总结和源码分享. 腾讯的开发文档:https://pay.weixin ...

  8. 微信分账功能与微信支付企业付款相关内容详解(payjs版)

    PAYJS开通微信分账功能以来,有很多同学咨询相关情况.很多同学关心有没有什么办法,可以让自己的商户号快速开通企业付款功能.这里就介绍下微信分账的具体相关内容,可以完美解决问题. 一.什么是微信分账? ...

  9. thinkPHP+easyWeChat开发微信公众号支付,企业付款,红包

    easywechat 配置 public function __construct(){$configModel = new Setting();$this->orderModel = new ...

  10. php 工商银行公众号支付代码_php开发微信支付企业付款实例代码

    企业付款的应用场景: 公众号向已关注用户付款,比如处理退款.财务结算等,本文主要和大家分享php开发微信支付企业付款实例代码,希望能帮助到大家. 说明 1.证书需要用自己的商户里面的证书(注意:证书路 ...

最新文章

  1. {“errmsg“:“name length invalid rid: 5fbf54ef-3a02c“,“errcode“:300002}
  2. 小师妹学JVM之:JVM中的Safepoints
  3. linux网络编程之Listen函数参数介绍
  4. Mysql 行转列,列转行
  5. 自动行政审批流程组件的审批流程节点定义【民间称为工作流组件、官方称为审批流程组件】...
  6. 无界面和应用图标的应用程序
  7. js简单屏蔽鼠标右键实现方式
  8. wap 横屏适配和竖屏适配的通用方案
  9. 二十一个微信公众号推广技巧
  10. php 公众号授权登录,微信公众号授权登录
  11. zmap启动报错:[FATAL] get-iface-ip: ioctl failure: No such device
  12. 个税计算器python代码_用python写一个北京市的个税计算器
  13. 海航科技集团要寻人才去火星喽!
  14. 向量的数量积,向量积,混合积及应用
  15. UTC(世界标准时间)/GMT(格林威治时间)/CST(北京时间)
  16. Mac下cmake使用
  17. IE 凉了?怎么可能!
  18. PythonPyCharm
  19. 金仓数据库 时间没有 时分秒 的问题
  20. 如何选择加密软件保护公司数据安全

热门文章

  1. SSH 端口转发与 SOCKS 代理
  2. ajax poker,《使命召唤15》大逃杀模式介绍 人物解锁方法一览
  3. CSDN_MySQL入门技能树学习整理知识点
  4. 关于XDR的这些问题你都了解吗?
  5. dwg格式转换成jpg图片
  6. 【寻找最佳小程序】09期:轻芒杂志——杂志感设计,美美地阅读各领域杂志...
  7. 为什么没什么人玩呢?凰华学院主校剧情有感
  8. 员工培训与开发实训心得体会_人力资源管理实训心得体会
  9. 如何保证战略落地_如何保障企业战略落地实施
  10. peoplesoft 更新表接口程序