精华内容
下载资源
问答
  • 微信支付分账

    千次阅读 热门讨论 2020-07-24 10:31:48
    微信支付分账的先后顺序,首先先完成支付订单,在创建订单的时候加上分账订单标识,其次得到微信支付回调后在添加分账方,添加成功后就直接进行单次分账或者批量分账。 专业微信支付系统开发,有不解的请在下方留言...

    微信支付分账的先后顺序,首先先完成支付订单,在创建订单的时候加上分账订单标识,其次得到微信支付回调后在添加分账方,添加成功后就直接进行单次分账或者批量分账。

    专业微信支付系统开发,有不解的请在下方留言并带上你的联系方式,我将提供源码和帮助你调试完全通过!

    展开全文
  • 原标题:微信支付分账,就是这么简单! 产品介绍直连商户分账主要用于商户将交易成功的资金,按照一定的周期,分账给其他方,可以是合作伙伴、员工、用户或者其他分润方。使用场景举例员工奖励:零售、餐饮等行业中...

    原标题:微信支付分账,就是这么简单!

    ae0c6b21386f73bfb9725fe48c75813c.png

    产品介绍

    直连商户分账主要用于商户将交易成功的资金,按照一定的周期,分账给其他方,可以是合作伙伴、员工、用户或者其他分润方。

    使用场景举例

    员工奖励:零售、餐饮等行业中,当销售人员销售完成后,达到可奖励的条件,可以通过分账,将销售奖励分给员工。

    管理资金到账时间:在酒店行业中,利用分账功能中的“冻结/解冻“能力,当用户预订/入住酒店时,交易资金先冻结在酒店的账户中,当用户确认消费离店后,再利用“分账“功能中的”分账完结“解冻资金到酒店的账户中。这样可以避免用户退款时商户账户资金不足的情况。

    分润给合作伙伴:在与他方合作的情况下,可以用“分账”功能,将交易资金分给合作伙伴,例如物流合作商。

    相信不少小伙伴都推荐过一些IT培训的课程,比如你推荐成功以后,你会收到一笔佣金,其实他们也是使用了微信的分账功能。

    产品特点

    分账方:交易收款方,这里指直连商户本身

    分账接收方:接收资金的一方,可以是商户,可以是个人

    a62a011084b00d8a0e30b37098db73d2.png

    代码集成

    对于分账微信提供了不少接口,比如,添加分账接收方、删除分账接收方、请求单次分账、请求多次分账、完结分账等等,具体可以去查看官网文档。

    这里需要注意的是,分账接口不再是MD5加密,而是使用了HMAC-SHA256加密。上一坨伪代码:

    /**

    * 绑定分账账号

    * @param allocation

    * @param config

    */

    public voidaddWx(Allocation allocation, WxPayConfig config){

    try{

    Stringkey = config.getApiKey;

    SortedMap< String, String> packageParams = newTreeMap<>;

    wxPayUtil.commonParams(packageParams,config);

    packageParams.put( "sign_type",SystemConstant.SIGN_HMAC);

    JSONObject receiver = newJSONObject;

    receiver.put( "type",allocation.getAccountType);

    receiver.put( "account",allocation.getAccount);

    receiver.put( "name",allocation.getName);

    receiver.put( "relation_type", RelationType.HEADQUARTER.getCode);

    packageParams.put( "receiver",receiver.toJSONString);

    Stringsign = PayCommonUtil.createSign(packageParams, key, SystemConstant.SIGN_HMAC);

    packageParams.put( "sign", sign);

    StringrequestXML = PayCommonUtil.getRequestXml(packageParams);

    StringresXml = HttpUtil.postData(WxPayUrl.PROFIT_SHARING_ADD_URL, requestXML);

    Mapmap = XMLUtil.doXMLParse(resXml);

    StringreturnCode = ( String) map.get( "return_code");

    if(SystemConstant.SUCCESS.equalsIgnoreCase(returnCode)){

    StringresultCode = ( String) map.get( "result_code");

    if(!SystemConstant.SUCCESS.equalsIgnoreCase(resultCode)){

    StringerrCodeDes = ( String) map.get( "err_code_des");

    log.error( "微信分账绑定失败:{}",errCodeDes);

    thrownewRrException( "微信分账绑定失败");

    }

    } else{

    StringreturnMsg = ( String) map.get( "return_msg");

    log.error( "微信分账绑定(通信)失败:{}",returnMsg);

    thrownewRrException( "微信分账绑定失败");

    }

    } catch(Exception e) {

    e.printStackTrace;

    log.error( "绑定微信支付账号异常:{}",e.getMessage);

    thrownewRrException( "微信分账绑定失败");

    }

    }

    加密方式:

    /**

    * HmacSHA256 加密

    */

    publicclassHMACUtil{

    publicstaticString HMACSHA256( String data, String key){

    try{

    Mac sha256_HMAC = Mac.getInstance( "HmacSHA256");

    SecretKeySpec secret_key = newSecretKeySpec(key.getBytes( "UTF-8"), "HmacSHA256");

    sha256_HMAC.init(secret_key);

    byte[] array = sha256_HMAC.doFinal(data.getBytes( "UTF-8"));

    StringBuilder sb = newStringBuilder;

    for( byteitem : array) {

    sb.append(Integer.toHexString((item & 0xFF) | 0x100), 1, 3);

    }

    returnsb.toString.toUpperCase;

    } catch(Exception e) {

    e.printStackTrace;

    }

    return"";

    }

    }

    需要注意的是,在调用下单的逻辑中,需要新增以下逻辑:

    /**

    * 是否分账,并且为sign加密参数

    * 业务数据请自行关联,比如分账接收方数据

    * 这个在微信支付成功以后,自动或者手动调用分账会用到

    */

    if(分账){

    packageParams.put( "profit_sharing",SystemConstant.Y);

    }

    支付成功之后,调用分账接口,微信建议在支付回调成功1分钟后或30天内调用分账接口。

    截图

    a389d88ce7a482e44987e076d2a0e650.png

    6048027bccf325bd7cbf495e348044cd.png

    1590ad89e09c05370226432d59721430.png

    9946823f9dcc9d3b77dd4daa4fc9a207.png

    参考

    https://paycloud.vip/docs/

    https://pay.weixin.qq.com/wiki/doc/api/allocation.php?chapter=26_1

    牛逼,CTO点名要搞个灰度发布系统返回搜狐,查看更多

    责任编辑:

    展开全文
  • 微信支付 分账需要注意的坑

    千次阅读 2020-11-27 18:04:16
    接收方可以是微信支付商户或微信支付的个人账户。 1)分账比例30% 微信分账的比例上限在30%,即针对一笔交易订单,平台商户最多只能把交易资金的30%进行分账, 而平台要留存该笔交易订单70%以上的资金,所以.

    在这里插入图片描述
    分账发起方:发起分账的一方,这里指电商平台;

    分账方:交易的直接收款方,电商平台二级商户;

    接收方:接收资金的一方,电商平台已被默认添加为接收方,二级商户可直接向电商平台进行分账;其他接收方,电商平台通过添加分账接收方接口,建立平台维度统一的“分账接收方列表”,添加成功后,所有二级商户号均可向其分账。接收方可以是微信支付商户或微信支付的个人账户。

    1)分账比例30%

    微信分账的比例上限在30%,即针对一笔交易订单,平台商户最多只能把交易资金的30%进行分账,
    而平台要留存该笔交易订单70%以上的资金,所以对于只需要收取很小比例额度服务费的平台而言,
    微信分账并不适用这种的业务场景;
    

    *当然还有一种别的思路,就是把接收方当做分账方来使用,但是如果接收方比较多的话,电商平台就需要维护一个分账账户列表,每一笔订单交易资金进到指定的账户。

    2)微信分账账期

    微信分账账期最长为30天,如果30天内未进行分账的话,微信会把交易资金自动解冻至平台,同时不再继续分账。
    

    注:若电商平台除微信支付外,还需要支付宝、银联快捷等其他的支付方式,仅仅通过微信支付的分账功能是完全无法满足平台业务需求的,所以很多电商平台都会专门对接一个支付平台。




    *觉得有用可以关注博主哦,如果再不能相遇,祝你早午晚都安。。。

    展开全文
  • 产品介绍直连商户分账主要用于商户将交易成功的资金,按照一定的周期,分账给其他方,可以是合作伙伴、员工、用户或者其他分润方。使用场景举例员工奖励:零售、餐饮等行业中,当销售人员销售完成后,...

    产品介绍

    直连商户分账主要用于商户将交易成功的资金,按照一定的周期,分账给其他方,可以是合作伙伴、员工、用户或者其他分润方。

    使用场景举例

    • 员工奖励:零售、餐饮等行业中,当销售人员销售完成后,达到可奖励的条件,可以通过分账,将销售奖励分给员工。

    • 管理资金到账时间:在酒店行业中,利用分账功能中的“冻结/解冻“能力,当用户预订/入住酒店时,交易资金先冻结在酒店的账户中,当用户确认消费离店后,再利用“分账“功能中的”分账完结“解冻资金到酒店的账户中。这样可以避免用户退款时商户账户资金不足的情况。

    • 分润给合作伙伴:在与他方合作的情况下,可以用“分账”功能,将交易资金分给合作伙伴,例如物流合作商。

    相信不少小伙伴都推荐过一些IT培训的课程,比如你推荐成功以后,你会收到一笔佣金,其实他们也是使用了微信的分账功能。

    产品特点

    • 分账方:交易收款方,这里指直连商户本身

    • 分账接收方:接收资金的一方,可以是商户,可以是个人

    代码集成

    对于分账微信提供了不少接口,比如,添加分账接收方、删除分账接收方、请求单次分账、请求多次分账、完结分账等等,具体可以去查看官网文档。

    这里需要注意的是,分账接口不再是MD5加密,而是使用了HMAC-SHA256加密。上一坨伪代码:

    /**
     * 绑定分账账号
     * @param allocation
     * @param config
     */
    public void addWx(Allocation allocation, WxPayConfig config){
        try {
            String key = config.getApiKey();
            SortedMap<String, String> packageParams = new TreeMap<>();
            wxPayUtil.commonParams(packageParams,config);
            packageParams.put("sign_type",SystemConstant.SIGN_HMAC);
            JSONObject receiver = new JSONObject();
            receiver.put("type",allocation.getAccountType());
            receiver.put("account",allocation.getAccount());
            receiver.put("name",allocation.getName());
            receiver.put("relation_type", RelationType.HEADQUARTER.getCode());
            packageParams.put("receiver",receiver.toJSONString());
            String sign = PayCommonUtil.createSign(packageParams, key, SystemConstant.SIGN_HMAC);
            packageParams.put("sign", sign);
            String requestXML = PayCommonUtil.getRequestXml(packageParams);
            String resXml = HttpUtil.postData(WxPayUrl.PROFIT_SHARING_ADD_URL, requestXML);
            Map map = XMLUtil.doXMLParse(resXml);
            String returnCode = (String) map.get("return_code");
            if(SystemConstant.SUCCESS.equalsIgnoreCase(returnCode)){
                String resultCode = (String) map.get("result_code");
                if(!SystemConstant.SUCCESS.equalsIgnoreCase(resultCode)){
                    String errCodeDes = (String) map.get("err_code_des");
                    log.error("微信分账绑定失败:{}",errCodeDes);
                    throw new RrException("微信分账绑定失败");
                }
            }else{
                String returnMsg = (String) map.get("return_msg");
                log.error("微信分账绑定(通信)失败:{}",returnMsg);
                throw new RrException("微信分账绑定失败");
            }
        } catch (Exception e) {
            e.printStackTrace();
            log.error("绑定微信支付账号异常:{}",e.getMessage());
            throw new RrException("微信分账绑定失败");
        }
    }

    加密方式:

    /**
     * HmacSHA256 加密
     */
    public class HMACUtil {
    
        public static String HMACSHA256(String data, String key){
            try {
                Mac  sha256_HMAC = Mac.getInstance("HmacSHA256");
                SecretKeySpec secret_key = new SecretKeySpec(key.getBytes("UTF-8"), "HmacSHA256");
                sha256_HMAC.init(secret_key);
                byte[] array = sha256_HMAC.doFinal(data.getBytes("UTF-8"));
                StringBuilder sb = new StringBuilder();
                for (byte item : array) {
                    sb.append(Integer.toHexString((item & 0xFF) | 0x100), 1, 3);
                }
                return sb.toString().toUpperCase();
            } catch (Exception e) {
                e.printStackTrace();
            }
            return "";
        }
    }

    需要注意的是,在调用下单的逻辑中,需要新增以下逻辑:

    /**
    * 是否分账,并且为sign加密参数
    * 业务数据请自行关联,比如分账接收方数据
    * 这个在微信支付成功以后,自动或者手动调用分账会用到
    */
    if(分账){
        packageParams.put("profit_sharing",SystemConstant.Y);
    }

    支付成功之后,调用分账接口,微信建议在支付回调成功1分钟后或30天内调用分账接口。

    截图

    参考

    https://paycloud.vip/docs/

    https://pay.weixin.qq.com/wiki/doc/api/allocation.php?chapter=26_1

    END -

    1.3 万亿条数据查询,如何做到毫秒级响应?

    分享六个经典的 SpringBoot 开源项目

    一套通用的后台管理系统,赚钱就靠它了!

    SpringBoot 开发案例之接入腾讯云短信

    推荐一款基于 Java 的身份证号码识别系统

    分享一个支付大屏实时监控数据平台

    推荐一款清爽的实时监控大屏附安装教程

    微信支付收银台功能上线了

    支付宝支付新版 SDK 上线,让支付触手可及

    太厉害了!我用 Nginx 提升系统10倍性能

    牛逼,CTO点名要搞个灰度发布系统

    展开全文
  • 请看图,分账分给多个人的时候,为什么每一笔订单都相差一分钱。如果进行四舍五入处理,会不会出现分账金额大于订单金额的情况,到时就分不了账了。 50元减去0.3元服务费,实际分账金额应该是:49.7元。 !...
  • 微信支付分账功能接口: https://pay.weixin.qq.com/wiki/doc/api/allocation_sl.php?chapter=25_1&amp;index=1 支付宝支付分账功能接口:https://docs.open.alipay.com/api_1/alipay.trade.order.settle...
  • ci微信支付,微信分账

    2020-01-15 09:27:31
    配置文件application\config\... <?...defined('BASEPATH') OR exit('No direct script access allowed'); /** * 微信分账支付配置 */ $config['wxpay_profitsharing'] = [ 'mch_id'=>'商户号', 'appid'=&...
  • 前景说明:之前用的银联分账——优化使用微信、支付宝自带的分账功能 首先—开通分账能力 说明:分账分普通商户和服务商模式(官方技术人员说的:根据你的订单下单时用的是服务商还是直连来对应使用) .....
  • php微信商家分账API

    2020-09-09 16:50:19
    php微信商家分账API 普通商户官方文档:https://pay.weixin.qq.com/wiki/doc/api/allocation.php?chapter=26_1 服务商分账API官方文档:https://pay.weixin.qq.com/wiki/doc/api/allocation_sl.php?chapter=24_1&...
  • 微信支付分账功能 填坑指南V1

    千次阅读 2019-10-05 19:23:08
    公司是做电商的,近期开发了一款小程序,准备线上线下同步销售玩具。这里就涉及到微信支付的功能,网上...后来发现微信支付平台里,有个分账功能,正好解决这个问题。今天重点聊的这个功能,目前网络上资源很少,就...
  • 微信支付服务商分账-添加分账接收方写在前面:服务商官方文档SIGN值校验检查地址调试中可能遇到的问题直接上代码 服务商添加分账接收方与普通商户添加分账接收方的区别。1 写在前面: 服务商官方文档 ...
  • PAYJS开通微信分账功能以来,有很多同学咨询相关情况。很多同学关心有没有什么办法,可以让自己的商户号快速开通企业付款功能。这里就介绍下微信分账的具体相关内容,可以完美解决问题。 一、什么是微信分账微信...
  • PAYJS开通微信分账功能以来,有很多同学咨询相关情况。很多同学关心有没有什么办法,可以让自己的商户号快速开通企业付款功能。这里就介绍下微信分账的具体相关内容,可以完美解决问题。 一、什么是微信分账? ...
  • 微信支付普通商户分账-添加分账接收方写在前面:微信官方文档SIGN值校验检查地址调试中可能遇到的问题直接上代码 写在前面: 微信官方文档 https://pay.weixin.qq.com/wiki/doc/api/allocation.php?chapter=27_3&...
  • 支付之家网(ZFZJ.CN)7月21日,微信支付推出《微信支付成长计划-智慧经营系列课堂》,同时对外透露,微信支付智慧经营产品支付分正式宣布支持服务商模式。首期“政策与产品能力专场”中,官方团队公布了最新的激励...
  • 微信支付文档值得吐槽,sdk不如第三方,网络知识付费严重,分享解决问题需要注册会员,vip和卖课程的比较多,程序开源共享以后会走下坡路,功利心已经覆盖了分享的初衷 好了,继续我的个人分享,如有疑问请留言,...
  • 微信支付服务商分账-请求单次分账

    千次阅读 2020-08-05 04:36:06
    注意事项 服务商请求单次分账与普通商户...订单支付成功后不能立刻执行分账逻辑 要任务操作 大于订单支付时间1分钟以上 且有QPS限制 建议做好日志警告 必要时切换到服务商 <?php namespace app\api\lib\Weixin; us
  • 订单支付成功后不能立刻执行分账逻辑 要任务操作 大于订单支付时间1分钟以上 且有QPS限制 建议做好日志警告 必要时切换到服务商 <?php namespace app\api\lib\Weixin; use think\Controller; class
  • 微信支付分开通攻略!

    千次阅读 2019-01-12 09:12:16
    近期,许多朋友秀出了微信支付分,是啥?想必大家都知道,类似于蚂蚁信用分。 现已在北上微信支付分开通攻略!上线,具体已上线城市不明确,预计在2019年内会在全国全部覆盖。 微信支付分没有入口,如何开通?接下来是...
  • ① 预约商户绑定微信会收到“微信支付商家助手欧”的授权信息进行设置分账比例后输入支付密码授权 ② 登录商户平台授权:产品中心 >> 我授权的产品 >> 服务商分账授权(右上角第一个菜单“消息中心”也...
  • 总结一下微信支付的企业分账功能,自己前前后后折腾了一两天,也给后来的同学一个参考 关于分账这个功能,可能应用的也比较少,网上相关的资料也比较少 关于分账功能的应用场景,可以参考微信官方文档...
  • 微信支付 SDK V2 版支付(商户/服务商) V2 版分账(商户/服务商) V2 版企业付款到零钱 V3 版支付即服务 安装包 go get -u github.com/wleven/wxpay 查看文档 // 执行命令 godoc -http=:8888 -play // 浏览器打开...
  • 微信支付里面分账接口调用时需要证书,本文介绍python使用证书。 1 JSAPI文档地址 JSAPI文档,普通商户微信分账是通过https请求实现的。 2 代码实现 封装一个类WxPay,实现微信分账,有如下接口: 普通商户添加分账...
  • JAVA微信支付分生成签名 //生成签名的方法: public class CreateSigner { public static Map<String,Object> getToken(String method, HttpUrl url, String body) throws IOException, SignatureException, ...
  • 先把分账金额返还给商户可以使用金额,微信再将剩余金额解冻到可使用金额,最后一起退款 3,如果订单已分账已结算–>先把分账金额返还给商户,再退款 4,如果多笔订单一起下单已分账未结算–>将分账金额返还到可用...
  • 微信分账说明

    千次阅读 2020-03-19 11:51:11
    分账,开通后产品设置,设置分账比例 2.添加分账接收方 添加分账接收方,也可以通过接口管理。交易中心->管理分账接收方。分账发起方选择本商户。点击添加分账接收方 3.根据开发文档分账 注意开发文档分普通...
  • 资源是用python3封装了一个微信支付的类WxPay,类里面包含:微信下单、生成付款码、微信退款、微信分账等功能,使用时只需要设置自己的appid、key、mch_id。
  • 微信支付分 - 回调通知API

    千次阅读 2019-12-03 11:52:56
    注意: 1.用户确认订单和收款成功的异步回调URL,是在调用接口时填写的参数; 用户确认订单回调返回参数解密示例: { "appid": "wx0708325fba9", "mchid": "156415191", "service_id": ...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 2,463
精华内容 985
关键字:

微信支付分账