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

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




中小企业建设网站需要注意哪些问题,该如何解决
建企业网站该注意哪些问题
好的网站设计对企业的重要性
网站建设公司选择标准
网站设计:怎么找专业的网站公司
定制广州网站制作应该选择什么源码?
gov.cn域名过户办理流程
微店吸粉20技