/**

* 微信分账功能

* $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;

}

php收付同分账,php微信分账功能 —— app支付相关推荐

  1. 微信开放平台手机APP支付

                PHP对接APP微信支付 微信开放平台手机APP支付总结 1. 微信开放平台手机APP支付总结 支付功能链接: https://pay.weixin.qq.com/wiki/d ...

  2. java对账_Java微信对账接口返回值解析

    public static void main(String[] args) throws Exception { String downloadbill = getDownloadbill();// ...

  3. 美团买单与微信分付入局后,蚂蚁花呗和京东白条地位不保了?

    最近,消费金融市场的战火烧得有点猛.美团最近就上线了一款消费金融产品"美团买单",打响了它踏入消费金融市场的第一枪. 作为国内互联网公司的龙头老大之一,腾讯自然不甘示弱.据报道,腾 ...

  4. 微信分账功能与微信支付企业付款相关内容详解(payjs版)

    PAYJS开通微信分账功能以来,有很多同学咨询相关情况.很多同学关心有没有什么办法,可以让自己的商户号快速开通企业付款功能.这里就介绍下微信分账的具体相关内容,可以完美解决问题. 一.什么是微信分账? ...

  5. 怎么看安装包是什么bit的_微信分付和支付分有什么区别 分付额度怎么看

    阅读本文前,请您先点击上面的蓝色字体,再点击"关注",这样您就可以免费收到最新内容了.每天都有分享,完全是免费订阅,请放心关注!                          ...

  6. 微信支付 postman_微信版花呗“分付”开通入口在哪?2020年微信分付开通最全攻略!...

    阅读本文前,请您先点击上面的蓝色字体,再点击"关注",这样您就可以继续免费收到文章了.每天都有分享,完全是免费订阅,请放心关注 免责声明图文来源于网络侵权请联系删除         ...

  7. 电商收付通可视化进件二级商户,多功能升级

    能刷到这篇文章的小伙伴,说明你已经对电商收付通有所了解,或者正在了解的路上,就算不了解,不妨先看看 电商收付通系统,可视化进件二级商户 这篇内容,相信对你了解收付通是什么,怎么用,解决什么问题有所帮助 ...

  8. 数字人民币解决中小企收付难点

    随着数字经济的发展,中小企业的经营环境面临着巨大的变化.用科技金融手段,如数字人民币等,在供给侧为中小企业提供普惠金融服务,具有重要意义. 中小企业是我国经济大循环的毛细血管,数量庞大.少数中小企业具 ...

  9. 2016年微信app支付开发填坑篇

    之前开发过高德地图的,百度地图的,人家官网的资料,开发文档,官方论坛,应有尽有,特别详细.微信支付相对支付宝支付,操作繁琐了很多,而且有些文档上的说明太过专业,导致问题多多. 首先他们官网上面只有ec ...

  10. 微信电商收付通关于分账动账通知踩坑记录

    微信电商收付通关于分账动账,此功能基本用于服务商抽佣,二级商户分账,账期控制等用途,在开发中我们一般希望于微信分账动账回调通知处理业务逻辑,但是这个回调通知,由于微信文档的描述不清晰,造成我们明明接收 ...

最新文章

  1. 当支持向量机遇上神经网络:这项研究揭示了SVM、GAN、Wasserstein距离之间的关系...
  2. MySQL中exists与in的使用
  3. 怎么样用javascript获取触发事件的对象
  4. C语言希尔排序(解析)
  5. jvm 参数-server_JVM选项:-client vs -server
  6. python 多线程为什么鸡肋?
  7. 使用.NET System.IO.Pipelines和Kestrel套接字库创建Redis客户端
  8. 对adapter的封装优化
  9. 44个实用的Apache Web Server面试问题及答案
  10. 图:婚庆现场管理系统-双屏版V3软件完美收工!!!
  11. nmap快速扫描大量主机端口方法
  12. 李小璐JAVA,李小璐和马蓉为什么都会婚内出轨?
  13. FZU 2139 久违的月赛之二
  14. bat和cmd文件是什么,dos又是什么东西
  15. 采用analysis-dynamic-synonym插件,动态文件的方式同步同义词
  16. python 列表嵌套字典 添加修改删除_python3--字典,字典的嵌套,概念:分别赋值
  17. 树的结点?结点的度?
  18. (30)【RCE集合】RCE漏洞的原理、出现地方、相关命令、函数解析、利用详细的过程
  19. OpenVas简介与安装
  20. JavaScript获取鼠标控制权

热门文章

  1. ov7725图像帧率计算公式总结
  2. ”微服务一条龙“最佳指南-工具篇:初步使用Pipenv
  3. python空气质量提醒代码_空气质量指数查询示例代码
  4. Python code on Sliced Inverse Regression ( SIR ) and Sliced Average Variance Estimates ( SAVE )
  5. 安装python时无法访问筛选器,如何使用Python筛选器功能(详解)
  6. lifecycle-aware components(生命周期感知组件用法和原理)
  7. Struts2 内部是如何工作的
  8. 日志-坑-keng-rz-rizhi-log
  9. Recovering Realistic Texture in Image Super-resolution by Deep Spatial Feature Transform
  10. SparkStreaming的背压机制