微信支付分账,就是这么简单!

2021-09-04 20:21:00

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

使用场景举例

  • 员工奖励:零售、餐饮等行业中,当销售人员销售完成后,达到可奖励的条件,可以通过分账,将销售奖励分给员工。
  • 管理资金到账时间:在酒店行业中,利用分账功能中的“冻结/解冻“能力,当用户预订/入住酒店时,交易资金先冻结在酒店的账户中,当用户确认消费离店后,再利用“分账“功能中的”分账完结“解冻资金到酒店的账户中。这样可以避免用户退款时商户账户资金不足的情况。
  • 分润给合作伙伴:在与他方合作的情况下,可以用“分账”功能,将交易资金分给合作伙伴,例如物流合作商。

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

产品特点

  • 分账方:交易收款方,这里指直连商户本身
  • 分账接收方:接收资金的一方,可以是商户,可以是个人

代码集成

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

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

/**

* 绑定分账账号

* @param allocation

* @param config

*/

public voidaddWx(Allocation allocation, WxPayConfig config){

try{

Stringkey = config.getApiKey;

SortedMap< StringString> 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)){

充值微信红包

上一篇:

下一篇:

关于我们

领秀网是领先的新闻资讯平台,汇集美食文化、商旅生涯、国际资讯、投资理财、热点新闻、教育科研、等多方面权威信息

版权信息

领秀网版权所有,未经允许不可复制本站镜像,本站文章来源于网络,如有侵权请邮件举报!