php实现微信中的企业付款到零钱的完整教程

发布时间:2025-10-24 点击:2
如果需要转账到用户的零钱里,需要先获取用户的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




如何得到大规模LSI关键字?LSI关键字对于网站优化具有促进作用
如何优化网站?
公司网站制作网页布局在网页设计中的作用
行业动态视频网站自制剧艺术创作的泛娱乐化表现
专业网站制作谈谈CSS3
技术贴,如何解决移动适配问题
政府网站建设需要怎么做
虚拟主机打不开怎么处理?