如果需要□□□□转账到用□□□□户的零钱□□□里,需要先获□□□□取用户的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
作者:J9国际集团陈应信
J9国际集团□□□□致力于为▽客户定制□□互联网解●决方案,可以根据□□□□客户需求□□定制系统▽功能,包括网站、小程序、APP等。