企业付款

企业付款主要是为付款至用户零钱的能力。

在使用前,请确认payment.UserConfig里面配置了的CertPathKeyPath,比较完整的配置参考介绍

  1. PaymentService, err := payment.NewPayment(&payment.UserConfig{
  2. // ...
  3. CertPath: "[wx_cert_path]",
  4. KeyPath: "[wx_key_path]",
  5. // ...
  6. })

企业付款到用户零钱

  1. paymentService.Transfer.ToBalance(ctx,&power.HashMap{
  2. "partner_trade_no": "1233455", // 商户订单号,需保持唯一性(只能是字母或者数字,不能包含有符号)
  3. "openid": "oxTWIuGaIt6gTKsQRLau2M0yL16E", // 商户appid下,某用户的openid
  4. "check_name": "FORCE_CHECK", // NO_CHECK:不校验真实姓名; FORCE_CHECK:强校验真实姓名
  5. "re_user_name": "王小帅", // 收款用户真实姓名。如果check_name设置为FORCE_CHECK,则必填用户真实姓名。如需电子回单,需要传入收款用户姓名
  6. "amount": 10000, // 付款金额,单位为分
  7. "desc": "理赔", // 付款备注,必填。注意:备注中的敏感词会被转成字符*
  8. })

企业付款到银行卡

  1. paymentService.Transfer.ToBankCard(ctx, &request.RequestToBankCard{
  2. Amount: 100,
  3. BankCode: "xxxxx",
  4. Desc: "xxxxx",
  5. EncBankNO: "xxxxx",
  6. EncTrueName: "xxx",
  7. MchID: "xx",
  8. NonceStr: "xxxx",
  9. PartnerTradeNO: "xxxxx",
  10. })

RSA加密生成公钥

企业付款到银行卡需要对银行卡号与姓名进行 RSA 加密,所以这里需要先下载 RSA 公钥到本地 (服务器),可以使用openssl工具,请按照微信的方式,生成公钥

查询付款到零钱的订单

  1. paymentService.Transfer.QueryBalanceOrder(ctx,"[partnerTradeNo]")

partnerTradeNo

  • 类型: string(32)
  • 必传:
  • 示例: 10000098201411111234567890

商户调用付款API时使用的商户订单号。

查询付款到银行卡的订单

  1. paymentService.Transfer.QueryBankCardOrder(ctx,"[partnerTradeNo]")

partnerTradeNo

  • 类型: string(32)
  • 必传:
  • 示例: 10000098201411111234567890

商户调用付款API时使用的商户订单号。

微信官方文档地址: