快捷搜索: 王者荣耀 脱发

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

产品介绍

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

使用场景举例

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

产品特点

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

代码集成

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

加密方式:

/**
 * 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 "";
    }
}

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

参考

https://paycloud.vip/docs/

- END -

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

产品介绍 直连商户分账主要用于商户将交易成功的资金,按照一定的周期,分账给其他方,可以是合作伙伴、员工、用户或者其他分润方。 使用场景举例 员工奖励:零售、餐饮等行业中,当销售人员销售完成后,达到可奖励的条件,可以通过分账,将销售奖励分给员工。 管理资金到账时间:在酒店行业中,利用分账功能中的“冻结/解冻“能力,当用户预订/入住酒店时,交易资金先冻结在酒店的账户中,当用户确认消费离店后,再利用“分账“功能中的”分账完结“解冻资金到酒店的账户中。这样可以避免用户退款时商户账户资金不足的情况。 分润给合作伙伴:在与他方合作的情况下,可以用“分账”功能,将交易资金分给合作伙伴,例如物流合作商。 产品特点 分账方:交易收款方,这里指直连商户本身 分账接收方:接收资金的一方,可以是商户,可以是个人 代码集成 这里需要注意的是,分账接口不再是MD5加密,而是使用了HMAC-SHA256加密。上一坨伪代码: 加密方式: /** * 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 ""; } } 需要注意的是,在调用下单的逻辑中,需要新增以下逻辑: 参考 https://paycloud.vip/docs/ - END - 牛逼,CTO点名要搞个灰度发布系统
经验分享 程序员 微信小程序 职场和发展