wx_Micropay.go 1.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445
  1. package wechat
  2. import (
  3. "fmt"
  4. "github.com/iGoogle-ink/gopay"
  5. )
  6. func Micropay() {
  7. //初始化微信客户端
  8. // appId:应用ID
  9. // MchID:商户ID
  10. // ApiKey:Key值
  11. // isProd:是否是正式环境
  12. client := gopay.NewWeChatClient("wxdaa2ab9ef87b5497", "1368139502", "GFDS8j98rewnmgl45wHTt980jg543abc", false)
  13. //初始化参数Map
  14. body := make(gopay.BodyMap)
  15. body.Set("nonce_str", gopay.GetRandomString(32))
  16. body.Set("body", "扫用户付款码支付")
  17. number := gopay.GetRandomString(32)
  18. fmt.Println("out_trade_no:", number)
  19. body.Set("out_trade_no", number)
  20. body.Set("total_fee", 1)
  21. body.Set("spbill_create_ip", "127.0.0.1")
  22. body.Set("auth_code", "134595229789828537")
  23. body.Set("sign_type", gopay.SignType_MD5)
  24. sign := gopay.GetWeChatParamSign("wxdaa2ab9ef87b5497", "1368139502", "GFDS8j98rewnmgl45wHTt980jg543abc", body)
  25. //sign, _ := gopay.GetWeChatSanBoxParamSign("wxdaa2ab9ef87b5497", "1368139502", "GFDS8j98rewnmgl45wHTt980jg543abc", body)
  26. body.Set("sign", sign)
  27. //请求支付,成功后得到结果
  28. wxRsp, err := client.Micropay(body)
  29. if err != nil {
  30. fmt.Println("Error:", err)
  31. return
  32. }
  33. fmt.Println("Response:", *wxRsp)
  34. ok, err := gopay.VerifyWeChatSign("GFDS8j98rewnmgl45wHTt980jg543abc", gopay.SignType_MD5, wxRsp)
  35. if err != nil {
  36. fmt.Println("err:", err)
  37. }
  38. fmt.Println("同步验签结果:", ok)
  39. }