php微信支付到个人收款码_php微信公众号开发之微信企业付款给个人

本文实例为大家分享了php微信企业付款给个人的具体代码,供大家参考,具体内容如下

以下有关微信支付中企业付款的介绍及编码参考自微信支付开发文档,网址,如图所示

835865cb13efbe531556dcbc52d69c27.png

企业付款,提供企业向用户付款的功能,支持企业通过API接口付款,或通过微信支付商户平台网页功能操作付款。

企业付款业务是基于微信支付商户平台的资金管理能力,为了协助商户方便地实现企业向个人付款,针对部分有开发能力的商户,提供通过API完成企业付款的功能。<

比如目前的保险行业向客户退保、给付、理赔。

以下是PHP用于实现企业付款业务的代码片段,仅供参考。

/*微信企业付款给个人*/

private function weixin_transfer_money($openid,$re_user_name,$amount,$partner_trade_no,$desc){

//请求参数

//公众号appid(字段名)--mch_appid(变量名)--1(必填)

//输入你的公众号appid

$data['mch_appid']="**************";

//商户号--mchid--1

//输入你的商户号

$data['mchid']="*************";

//设备号--device_info--0

//随机字符串--nonce_str--1

$data['nonce_str']=$this->get_unique_value();

//签名--sign--1

$data['sign']="";

//商户订单号--partner_trade_no--1

$data['partner_trade_no']=$partner_trade_no;

//用户openid--openid--1

$data['openid']=$openid;

//校验用户姓名选项--check_name--1

$data['check_name']="OPTION_CHECK";

//收款用户姓名--re_user_name--0

$data['re_user_name']=$re_user_name;

//金额--amount--1

$data['amount']=$amount;

//企业付款描述信息--desc--1

$data['desc']=$desc;

//IP地址--spbill_create_ip--1

$data['spbill_create_ip']=$_SERVER['LOCAL_ADDR'];

//生成签名

//对数据数组进行处理

//API密钥,输入你的appsecret

$appsecret="*************";

$data=array_filter($data);

ksort($data);

$str="";

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

$str.=$k."=".$v."&";

}

$str.="key=".$appsecret;

$data['sign']=strtoupper(MD5($str));

/*

付款操作:

1.将请求数据转换成xml

2.发送请求

3.将请求结果转换为数组

4.将请求信息和请求结果录入到数据库中

5.判断是否通信成功

6.判断是否付款成功

*/

//企业付款接口地址

$url="https://api.mch.weixin.qq.com/mmpaymkttransfers/promotion/transfers";

//1.将请求数据由数组转换成xml

$xml=$this->arraytoxml($data);

//2.进行请求操作

$res=$this->curl($xml,$url);

//3.将请求结果由xml转换成数组

$arr=$this->xmltoarray($res);

//4.将请求信息和请求结果录入到数据库中,可以根据自己的需要进行处理,$arr是返回的结果数组

$transfer['partner_trade_no']=$data['partner_trade_no'];

$transfer['request_data']=serialize($data);

$transfer['response_data']=serialize($arr);

if($arr['return_code']=="SUCCESS" && $arr['result_code']=="SUCCESS"){

//5. 判断是否通讯成功 6.判断是否付款成功

$transfer['success']=1;

$transfer_res['success']=1;

}else{

$transfer['success']=0;

$transfer_res['success']=0;

$transfer_res['desc']=$arr['return_msg'];

}

$transfer['add_time']=time();

D("weixin_transfer")->add($transfer);

return $transfer_res;

}

// 生成32位唯一随机字符串

private function get_unique_value(){

$str=uniqid(mt_rand(),1);

$str=sha1($str);

return md5($str);

}

// 将数组转换成xml

private function arraytoxml($arr){

$xml="";

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

$xml.="".$v."".$k.">";

}

$xml.="";

return $xml;

}

// 将xml转换成数组

private function xmltoarray($xml){

//禁止引用外部xml实体

libxml_disable_entity_loader(true);

$xmlstring=simplexml_load_string($xml,"SimpleXMLElement",LIBXML_NOCDATA);

$arr=json_decode(json_encode($xmlstring),true);

return $arr;

}

//进行curl操作

private function curl($param="",$url) {

$postUrl = $url;

$curlPost = $param;

//初始化curl

$ch = curl_init();

//抓取指定网页

curl_setopt($ch, CURLOPT_URL,$postUrl);

//设置header

curl_setopt($ch, CURLOPT_HEADER, 0);

//要求结果为字符串且输出到屏幕上

curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);

//post提交方式

curl_setopt($ch, CURLOPT_POST, 1);

// 增加 HTTP Header(头)里的字段

curl_setopt($ch, CURLOPT_POSTFIELDS, $curlPost);

// 终止从服务端进行验证

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

//运行curl

$data = curl_exec($ch);

//关闭curl

curl_close($ch);

//返回结果

return $data;

}

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

订单系统2016 WAP版新增功能: 1、邮件提醒+手机短信提醒{手机邮箱开启短信提示功能即可},特别增强对将QQ邮箱设置为订单发件箱的支持;邮件标题进一步优化,显示订单编号、姓名(会员名)、联系电话 2、产品套餐选择支持单选、复选、下拉选择,满足亲们多样化需求 3、订单来路页面检测 4、下单人IP追踪 5、支持设置同一IP下单间隔时间,防重复提交;增强恶意空单拦截,有效应对恶意客户拦截传递过程中的订单信息后提交空单行为 6、升级优化邮件系统内核到最新 7、对空间要求更宽泛,只要空间支持PHP就能使用,支持绝大多数的PHP空间 8、相关提示更加人性化,拥有本订单系统的亲们能根据错误提示快速明了订单系统无法正常工作的原因,方便对症下药,迅速安装配置 9、全部为全新界面,更加美观、大气 10、增强支付宝付款接口,在支付宝业务调整,免签接口失效后,本店第一时间升级了订单系统,提供了收款收款(支付宝收款获取方法及替换方法见附送的WORD文档)及支付宝商户双接口,方便买家根据自己的需求切换使用 11、新增微信付款接口,客户无需加好友,直接扫描二维微信支付付款二维获取方法及替换方法见附送的WORD文档)完成支付。 12、加入伪数据库功能,订单提交失败自动写入设置好的数据文件中,确保不漏一单 请注意您空间要支持PHP或全能空间,空间不能禁用SMTP.纯ASP空间不能使用本订单系统。 请注册一个163邮箱用来发信,(当然也可用其它邮箱发信,只是麻烦些)再注册一个手机邮箱用来收订单,同时手机邮箱请设置手机通知邮件到达免费提醒功能。 (移动手机邮箱请到http://mail.10086.cn/注册,联通手机到http://mail.wo.com.cn注册,电信手机到http://mail.189.cn注册) 配置订单系统需要用到亲的163邮箱地址(发订单邮件用)、QQ邮箱地址(收订单邮件用)、手机邮箱地址(收订单免费短信提示用). ------------------------------------------------------------------------------------- 订单系统配置 请对照注释修改文件夹下的 bdconfig.php 配置文件引号中的内容 ------------------------------------------------------------------------------------- /************************** 订单发送设置 ************************* */ $MailFrom = '邮箱地址'; // 设置一个用来发送订单信息的邮箱,需开启SMTP服务 $Mailhost = 'SMTP服务器地址'; // 邮箱SMTP服务器地址 【163邮箱(smtp.163.com)、qq邮箱(smtp.qq.com)】 $MailUsername = '邮箱账号'; // 邮箱登陆帐号 【如果是163邮箱需填写整个邮箱地址,如果是qq邮箱只需填写qq号,前提开通pop3】 $MailPassword = '登录密'; // 邮箱登陆密【如果必须开启客户端授权密才能开启163邮箱的POP3服务的话,则需要将此密改为客户端授权密
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值