如果需要转账到用户的零钱里,需要先获取用户的open_id,也就是在公众号里登录过并保存的open_id,然后就可以实现企业付款到零钱的功能了,以下是代码详解:
public function index(){
$transfer['payment_id'] = '201803221552123458';//订单号,可以自定义,但不能重复使用
$transfer['open_id'] = session('login_weixin');//用户的open_id
$transfer['real_name'] ='张三';//用户的真实姓名
$transfer['amount'] = 0.3;//要付款的金额;
$this->dotransfer($transfer);//调用接口
}
/*
* 付款给用户的接口(直接调用即可完成付款)
* */
public function dotransfer($transfer,&$msg=''){
$url = "https://api.mch.weixin.qq.com/mmpaymkttransfers/promotion/transfers";
$parameters = array(
'mch_appid' => C('APPID'),//绑定支付的APPID
'mchid' => C('MCHID'),//商户号
'nonce_str' => $this->create_noncestr(32), //生成32位的随机字符串,见图1
'partner_trade_no' => $transfer['payment_id'], //商户订单号,不能重复使用
'openid' => $transfer['open_id'],//用户的open_id
'check_name' => 'OPTION_CHECK',//是否检查姓名
're_user_name' => $transfer['real_name'], //真实姓名
'amount' => bcmul($transfer['amount'],100,0), //企业付款金额,单位为分 最低1元
'desc' => '分销提现',//备注
'spbill_create_ip' => strval($_SERVER['SERVER_ADDR']),//服务器IP
);
$parameters['sign'] = $this->getSign($parameters, C('KEY'));//getSign函数见图2,C('KEY'):商户支付密钥
$xml = $this->arrayToXml($parameters);//函数见图3
$response = $this->postXmlCurl($xml, $url,true);//函数见图4
$result = $this->xmlToArray($response);//函数见图片5
if($result['return_code']=='SUCCESS'){
if($result['result_code']=='SUCCESS'){
$this->success($transfer['payment_id'].'=payment_id 付款成功');
return true;
}else{
$this->error($result['err_code_des'].' 付款失败');
return false;
}
}else{
$this->error('付款失败,微信接口出现异常');
return false;
}
}
图1
图2
图3
图4
图5
图6
作者:创新互联陈应信
创新互联致力于为客户定制互联网
解决方案,可以根据客户需求定制系统功能,包括网站、
小程序、APP等。
名称栏目:php实现微信中的企业付款到零钱的完整教程
新闻来源:https://www.cdcxhl.com/news/244060.html
成都网站建设公司_创新互联,为您提供搜索引擎优化、域名注册、做网站、软件开发、网站策划、标签优化
广告
声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源:
创新互联