/**
-
微信分账功能
-
$out_order_no 系统自定义的单号
-
$transaction_id 微信支付单号
-
$profitSharingAccounts array 分账接收方
public function ProfitShare($out_order_no, $transaction_id, $profitSharingAccounts)
$result = array();
$result[‘status’] = false;
$result[‘message’] = ‘未知错误!’;
if ($out_order_no == ”) {
$result[‘message’] = ‘系统单号为空!’;
if ($transaction_id == ”) {
$result[‘message’] = ‘支付单号为空!’;
$url = ‘https://api.mch.weixin.qq.com/secapi/pay/profitsharing’;
//添加请求xml
$xmlArr = array();
$xmlArr[‘appid’] = config(‘jshop.service_wechatgzh_appid’);
$xmlArr[‘mch_id’] = config(‘jshop.service_wechatpay_mch_id’);
$xmlArr[‘out_order_no’] = $out_order_no;
$xmlArr[‘transaction_id’] = $transaction_id;
$xmlArr[‘nonce_str’] = $this->getNonceStr();
$xmlArr[‘sign_type’] = ‘HMAC-SHA256’;
$xmlArr[‘receivers’] = json_encode($profitSharingAccounts);
$sign = $this->makeSignBySHA($xmlArr);
$xmlArr[‘sign’] = $sign;
$XmlStr = $this->toXml($xmlArr);
$res = $this->postXmlCurl($XmlStr, $url, true);
$res = $this->fromXml($res);
if ($res[‘return_code’] == ‘SUCCESS’) {
$result[‘status’] = true;
$result[‘message’] = ‘查询成功!’;
return $result;
/**
-
查询分账结果
-
$out_order_no 系统自定义的单号
-
$transaction_id 微信支付单号
public function ProfitsharingQuery($out_order_no, $transaction_id)
$result = array();
$result[‘status’] = false;
$result[‘message’] = ‘未知错误!’;
if ($out_order_no == ”) {
$result[‘message’] = ‘系统单号为空!’;
if ($transaction_id == ”) {
$result[‘message’] = ‘支付单号为空!’;
$url = ‘https://api.mch.weixin.qq.com/pay/profitsharingquery’;
$xmlArr = array();
$xmlArr[‘mch_id’] = config(‘jshop.service_wechatpay_mch_id’);
$xmlArr[‘out_order_no’] = $out_order_no;
$xmlArr[‘transaction_id’] = $transaction_id;
$xmlArr[‘nonce_str’] = $this->getNonceStr();
$xmlArr[‘sign_type’] = ‘HMAC-SHA256’;
$sign = $this->makeSignBySHA($xmlArr);
$xmlArr[‘sign’] = $sign;
$XmlStr = $this->toXml($xmlArr);
$res = $this->postXmlCurl($XmlStr, $url);
$res = $this->fromXml($res);
$result[‘data’] = $res;
if ($res[‘return_code’] == ‘SUCCESS’ && $res[‘result_code’] == ‘SUCCESS’) {
$result[‘status’] = true;
$result[‘message’] = ‘查询成功!’;
return $result;
/**
- 添加分账方
public function ProfitSharingAddReceiver($profitSharingAccounts)
$result = array();
$result[‘status’] = false;
$result[‘message’] = ‘未知错误!’;
if (count($profitSharingAccounts) == 0) {
$result[‘message’] = ‘分账接收为空!’;
return $result;
$url = ‘https://api.mch.weixin.qq.com/pay/profitsharingaddreceiver’;
//添加请求xml
$xmlArr = array();
$xmlArr[‘appid’] = config(‘jshop.service_wechatgzh_appid’);
$xmlArr[‘mch_id’] = config(‘jshop.service_wechatpay_mch_id’);
$xmlArr[‘nonce_str’] = $this->getNonceStr();
$xmlArr[‘sign_type’] = ‘HMAC-SHA256’;
$xmlArr[‘receiver’] = json_encode($profitSharingAccounts);
$sign = $this->makeSignBySHA($xmlArr);
$xmlArr[‘sign’] = $sign;
$XmlStr = $this->toXml($xmlArr);
$res = $this->postXmlCurl($XmlStr, $url);
var_dump($res);
/**
-
删除分账方
-
profitSharingAccounts 分账方数组
public function ProfitSharingRemoverEceiver($profitSharingAccounts)
$result = array();
$result[‘status’] = false;
$result[‘message’] = ‘未知错误!’;
if (count($profitSharingAccounts) == 0) {
$result[‘message’] = ‘分账接收为空!’;
return $result;
$url = ‘https://api.mch.weixin.qq.com/pay/profitsharingremovereceiver
//添加请求xml
$xmlArr = array();
$xmlArr[‘appid’] = config(‘jshop.service_wechatgzh_appid’);
$xmlArr[‘mch_id’] = config(‘jshop.service_wechatpay_mch_id’);
$xmlArr[‘nonce_str’] = $this->getNonceStr();
$xmlArr[‘sign_type’] = ‘HMAC-SHA256’;
$xmlArr[‘receiver’] = json_encode($profitSharingAccounts);
$sign = $this->makeSignBySHA($xmlArr);
$xmlArr[‘sign’] = $sign;
$XmlStr = $this->toXml($xmlArr);
$res = $this->postXmlCurl($XmlStr, $url);
var_dump($res);
/**
-
完结分账
-
- $out_order_no 系统自定义的单号
-
$transaction_id 微信支付单号
public function ProfitSharingFinish($out_order_no, $transaction_id)
$result = array();
$result[‘status’] = false;
$result[‘message’] = ‘未知错误!’;
if ($out_order_no == ”) {
$result[‘message’] = ‘系统单号为空!’;
if ($transaction_id == ”) {
$result[‘message’] = ‘支付单号为空!’;
$url = ‘https://api.mch.weixin.qq.com/secapi/pay/profitsharingfinish’;
$xmlArr = array();
$xmlArr[‘mch_id’] = config(‘jshop.service_wechatpay_mch_id’);
$xmlArr[‘appid’] = config(‘jshop.service_wechatgzh_appid’);
$xmlArr[‘out_order_no’] = $out_order_no.’1′;
$xmlArr[‘transaction_id’] = $transaction_id;
$xmlArr[‘nonce_str’] = $this->getNonceStr();
$xmlArr[‘sign_type’] = ‘HMAC-SHA256’;
$xmlArr[‘description’] = ‘完结分账’;
$sign = $this->makeSignBySHA($xmlArr);
$xmlArr[‘sign’] = $sign;
$XmlStr = $this->toXml($xmlArr);
$res = $this->postXmlCurl($XmlStr, $url, true);
$res = $this->fromXml($res);
$result[‘data’] = $res;
if ($res[‘return_code’] == ‘SUCCESS’) {
$result[‘status’] = true;
$result[‘message’] = ‘查询成功!’;
return $result;
Original: https://www.cnblogs.com/wangbaishi/p/14475975.html
Author: wangbaishi
Title: php微信分账功能 —— app支付
原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/578604/
转载文章受原作者版权保护。转载请注明原作者出处!