wechat_pay_test.go 1.4 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546
  1. package gopay
  2. import (
  3. "fmt"
  4. "testing"
  5. )
  6. func TestWXPay(t *testing.T) {
  7. //初始化微信客户端
  8. // appId:应用ID
  9. // mchID:商户ID
  10. // isProd:是否是正式环境
  11. // secretKey:key,(当isProd为true时,此参数必传;false时,此参数为空)
  12. client := NewWeChatClient(appID, mchID, true, secretKey)
  13. //初始化参数结构体
  14. params := new(WeChatPayParams)
  15. params.NonceStr = "dyUNIkNS29hvDUC1CmoF0alSdfCQGg9I"
  16. params.Body = "测试充值"
  17. params.OutTradeNo = "GYsadfjk4dhg3fkhffgnlsdkf"
  18. params.TotalFee = 10 //单位为分
  19. params.SpbillCreateIp = "127.0.0.1"
  20. params.NotifyUrl = "http://www.igoogle.ink"
  21. params.TradeType = WX_PayType_JsApi //目前只支持JSAPI有效
  22. params.DeviceInfo = "WEB"
  23. params.SignType = WX_SignType_MD5 //如不设置此参数,默认为 MD5
  24. params.Openid = openID
  25. //请求支付下单,成功后得到结果
  26. wxRsp, err := client.UnifiedOrder(params)
  27. if err != nil {
  28. fmt.Println("Error:", err)
  29. } else {
  30. fmt.Println("ReturnCode:", wxRsp.ReturnCode)
  31. fmt.Println("ReturnMsg:", wxRsp.ReturnMsg)
  32. fmt.Println("Appid:", wxRsp.Appid)
  33. fmt.Println("MchId:", wxRsp.MchId)
  34. fmt.Println("DeviceInfo:", wxRsp.DeviceInfo)
  35. fmt.Println("NonceStr:", wxRsp.NonceStr)
  36. fmt.Println("Sign:", wxRsp.Sign)
  37. fmt.Println("ResultCode:", wxRsp.ResultCode)
  38. fmt.Println("PrepayId:", wxRsp.PrepayId)
  39. fmt.Println("TradeType:", wxRsp.TradeType)
  40. }
  41. }