wx_Transfer.go 1.7 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546
  1. package wechat
  2. import (
  3. "fmt"
  4. "github.com/iGoogle-ink/gopay"
  5. "github.com/iGoogle-ink/gopay/wechat"
  6. )
  7. func Transfer() {
  8. // 初始化微信客户端
  9. // appId:应用ID
  10. // MchID:商户ID
  11. // ApiKey:Key值
  12. // isProd:是否是正式环境(企业转账到个人账户,默认正式环境)
  13. client := wechat.NewClient("wxdaa2ab9ef87b5497", "1368139502", "GFDS8j98rewnmgl45wHTt980jg543abc", false)
  14. err := client.AddCertFilePath("iguiyu_cert/apiclient_cert.pem", "iguiyu_cert/apiclient_key.pem", "iguiyu_cert/apiclient_cert.p12")
  15. if err != nil {
  16. fmt.Println("client.AddCertFilePath err:", err)
  17. return
  18. }
  19. // 初始化参数结构体
  20. bm := make(gopay.BodyMap)
  21. bm.Set("nonce_str", gopay.GetRandomString(32))
  22. bm.Set("partner_trade_no", gopay.GetRandomString(32))
  23. bm.Set("openid", "o0Df70H2Q0fY8JXh1aFPIRyOBgu8")
  24. bm.Set("check_name", "FORCE_CHECK") // NO_CHECK:不校验真实姓名 , FORCE_CHECK:强校验真实姓名
  25. bm.Set("re_user_name", "付明明") // 收款用户真实姓名。 如果check_name设置为FORCE_CHECK,则必填用户真实姓名
  26. bm.Set("amount", 30) // 企业付款金额,单位为分
  27. bm.Set("desc", "测试转账") // 企业付款备注,必填。注意:备注中的敏感词会被转成字符*
  28. bm.Set("spbill_create_ip", "127.0.0.1")
  29. // 企业向微信用户个人付款(不支持沙箱环境)
  30. // body:参数Body
  31. // certFilePath:cert证书路径
  32. // keyFilePath:Key证书路径
  33. // pkcs12FilePath:p12证书路径
  34. wxRsp, err := client.Transfer(bm, nil, nil, nil)
  35. if err != nil {
  36. fmt.Println("Error:", err)
  37. return
  38. }
  39. fmt.Println("wxRsp:", *wxRsp)
  40. }