如果需要轉(zhuǎn)賬到用戶(hù)的零錢(qián)里,需要先獲取用戶(hù)的open_id,也就是在公眾號(hào)里登錄過(guò)并保存的open_id,然后就可以實(shí)現(xiàn)企業(yè)付款到零錢(qián)的功能了,以下是代碼詳解:
public function index(){
$transfer['payment_id'] = '201803221552123458';//訂單號(hào),可以自定義,但不能重復(fù)使用
$transfer['open_id'] = session('login_weixin');//用戶(hù)的open_id
$transfer['real_name'] ='張三';//用戶(hù)的真實(shí)姓名
$transfer['amount'] = 0.3;//要付款的金額;
$this->dotransfer($transfer);//調(diào)用接口
}
/*
* 付款給用戶(hù)的接口(直接調(diào)用即可完成付款)
* */
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'),//商戶(hù)號(hào)
'nonce_str' => $this->create_noncestr(32), //生成32位的隨機(jī)字符串,見(jiàn)圖1
'partner_trade_no' => $transfer['payment_id'], //商戶(hù)訂單號(hào),不能重復(fù)使用
'openid' => $transfer['open_id'],//用戶(hù)的open_id
'check_name' => 'OPTION_CHECK',//是否檢查姓名
're_user_name' => $transfer['real_name'], //真實(shí)姓名
'amount' => bcmul($transfer['amount'],100,0), //企業(yè)付款金額,單位為分 最低1元
'desc' => '分銷(xiāo)提現(xiàn)',//備注
'spbill_create_ip' => strval($_SERVER['SERVER_ADDR']),//服務(wù)器IP
);
$parameters['sign'] = $this->getSign($parameters, C('KEY'));//getSign函數(shù)見(jiàn)圖2,C('KEY'):商戶(hù)支付密鑰
$xml = $this->arrayToXml($parameters);//函數(shù)見(jiàn)圖3
$response = $this->postXmlCurl($xml, $url,true);//函數(shù)見(jiàn)圖4
$result = $this->xmlToArray($response);//函數(shù)見(jiàn)圖片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('付款失敗,微信接口出現(xiàn)異常');
return false;
}
}
圖1
圖2
圖3
圖4
圖5
圖6
作者:方維網(wǎng)絡(luò)陳應(yīng)信
方維網(wǎng)絡(luò)致力于為客戶(hù)定制互聯(lián)網(wǎng)解決方案,可以根據(jù)客戶(hù)需求定制系統(tǒng)功能,包括網(wǎng)站、小程序、APP等。
如沒(méi)特殊注明,文章均為方維網(wǎng)絡(luò)原創(chuàng),轉(zhuǎn)載請(qǐng)注明來(lái)自http://www.sdlwjx666.com/news/4256.html