浅析微信支付:商户平台开通现金红包、指定用户发放、红包记录查询 (3)

官方还提供了一种发放裂变红包的接口,有需要的小伙伴可以了解一下,文档地址:

https://pay.weixin.qq.com/wiki/doc/api/tools/cash_coupon.php?chapter=13_5&index=4

裂变红包:一次可以发放一组红包。首先领取的用户为种子用户,种子用户领取一组红包当中的一个,并可以通过社交分享将剩下的红包给其他用户。裂变红包充分利用了人际传播的优势。

查询红包记录

用于商户对已发放的红包进行查询红包的具体信息,可支持普通红包和裂变包。

这个接口很简单,就是查询已经发送的红包记录,根据商户发放红包的商户订单号查询即可。

接口链接 https://api.mch.weixin.qq.com/mmpaymkttransfers/gethbinfo 是否需要证书

调用接口

应用代码:

/** * 查询现金红包 * * @author yclimb * @date 2018/9/18 */ private void getHbInfo() throws Exception { WXPay wxPay = new WXPay(AsydWXPayConfigImpl.getInstance()); Map<String, String> resultMap = wxPay.getHbInfo("1502348237482342342"); System.out.println("wxPay.getHbInfo:" + resultMap); }

查询接口代码:

/** * 作用:查询红包记录<br> * 场景:用于商户对已发放的红包进行查询红包的具体信息,可支持普通红包和裂变包。 * 接口文档地址:https://pay.weixin.qq.com/wiki/doc/api/tools/cash_coupon.php?chapter=13_6&index=5 * * @param mch_billno 商户订单号 * @return API返回数据 * @throws Exception e */ public Map<String, String> getHbInfo(String mch_billno) throws Exception { /** 构造请求参数数据 **/ Map<String, String> data = new HashMap<>(); // 商户订单号 mch_billno 是 10000098201411111234567890 String(28) 商户订单号(每个订单号必须唯一。取值范围:0~9,a~z,A~Z)接口根据商户订单号支持重入,如出现超时可再调用。 data.put("mch_billno", mch_billno); // 订单类型 bill_type 是 MCHT String(32) MCHT:通过商户订单号获取红包信息。 data.put("bill_type", "MCHT"); /** 以下四个参数,在 this.fillRequestData 方法中会自动赋值 **/ // 商户号 mch_id 是 10000098 String(32) 微信支付分配的商户号 // 随机字符串 nonce_str 是 5K8264ILTKCH16CQ2502SI8ZNMTM67VS String(32) 随机字符串,不长于32位 // 签名 sign 是 C380BEC2BFD727A4B6845133519F3AD6 String(32) 详见签名生成算法 // 公众账号appid appid 是 wx8888888888888888 String(32) 微信分配的公众账号ID(企业号corpid即为此appId)。在微信开放平台(open.weixin.qq.com)申请的移动应用appid无法使用该接口。 // 微信调用接口 Map<String, String> resultMap = this.getHbInfo(data); WXPayUtil.getLogger().info("wxPay.getHbInfo:" + resultMap); return resultMap; }

此接口通过商户订单号获取红包信息,很简单,对于返回参数小伙伴们可以查看官方文档,注意一下错误代码即可。

结语

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/wsxwfz.html