Documentation ¶
Index ¶
- Constants
- Variables
- func WxJSSDKTicketSign(nonceStr, ticket, timeStamp, url string) (ticketSign string)
- func WxMpQrShowQrCodeUrl(wxMpConfig IWxMpConfig, ticket string) (string, error)
- func WxMpSubscribeMsgURL(body *WxMpSubscribeMsgURLBody) (string, error)
- func WxMpWrapAuthorizeURL(wxMpConfig IWxMpConfig, redirectUri string, snsapiBase bool) (string, error)
- func WxPayAppSign(appId, nonceStr, partnerId, prepayId, signType, timeStamp, apiKey string) (paySign string)
- func WxPayJSAPISign(appId, nonceStr, packages, signType, timeStamp, apiKey string) (paySign string)
- func WxPayMaSign(appId, nonceStr, packages, signType, timeStamp, apiKey string) (paySign string)
- func WxPayNotifyPay(wxPayConfig IWxPayConfig, requestBody []byte, ...) (rspBody string, err error)
- type IWxConfig
- type IWxMaConfig
- type IWxMpConfig
- type IWxPayConfig
- type ResponseBase
- type SessionKey
- type WxAccessToken
- type WxCardTicket
- type WxJsTicket
- type WxMaAuthGetPaidUnionIdResponse
- type WxMaCodeGetUnlimitedBody
- type WxMaTemplateMsgSendBody
- type WxMpQrCreateResponse
- type WxMpSubscribeMsgSendBody
- type WxMpSubscribeMsgURLBody
- type WxMpTemplateMsgSendBody
- type WxMpTemplateMsgSendResponse
- type WxMpUserInfo
- type WxMpUserOpenIds
- type WxPayCloseOrderBody
- type WxPayCloseOrderResponse
- type WxPayCouponResponseModel
- type WxPayDownloadBillBody
- type WxPayDownloadBillResponse
- type WxPayGetHBInfoBody
- type WxPayGetHBInfoResponse
- type WxPayHBInfoModel
- type WxPayMchServiceResponseModel
- type WxPayMicropayBody
- type WxPayMicropayResponse
- type WxPayNotifyPayBody
- type WxPayPartnerResponseModel
- type WxPayPromotionMktTransfersBody
- type WxPayPromotionMktTransfersResponse
- type WxPayQueryMktTransferBody
- type WxPayQueryMktTransferResponse
- type WxPayQueryOrderBody
- type WxPayQueryOrderResponse
- type WxPayQueryRefundBody
- type WxPayQueryRefundResponse
- type WxPayQueryRefundResponseCurrentRefund
- type WxPayQueryRefundResponseTotalRefund
- type WxPayRefundBody
- type WxPayRefundResponse
- type WxPayReportJsAPIBody
- type WxPayReportMicropayBody
- type WxPayReportMicropayBodyTrade
- type WxPayReverseMicroOrderBody
- type WxPayReverseMicroOrderResponse
- type WxPaySceneInfoModel
- type WxPaySendGroupRedPackBody
- type WxPaySendGroupRedPackResponse
- type WxPaySendMiniProgramHBBody
- type WxPaySendMiniProgramHBResponse
- type WxPaySendRedPackBody
- type WxPaySendRedPackResponse
- type WxPayUnifiedOrderBody
- type WxPayUnifiedOrderResponse
- type WxResponseModel
Constants ¶
const ( //ServiceTypeNormalDomestic 服务模式-境内普通商户 ServiceTypeNormalDomestic = 1 //ServiceTypeNormalAbroad 服务模式-境外普通商户 ServiceTypeNormalAbroad = 2 //ServiceTypeFacilitatorDomestic 服务模式-境内服务商 ServiceTypeFacilitatorDomestic = 3 //ServiceTypeFacilitatorAbroad 服务模式-境外服务商 ServiceTypeFacilitatorAbroad = 4 //ServiceTypeBankServiceProvidor 服务模式-银行服务商 ServiceTypeBankServiceProvidor = 5 //TradeTypeMiniApp 支付类型-小程序支付 TradeTypeMiniApp = "JSAPI" //TradeTypeJsApi 支付类型-JSAPI支付 TradeTypeJsApi = "JSAPI" //TradeTypeApp 支付类型-APP支付 TradeTypeApp = "APP" //TradeTypeH5 支付类型-H5支付 TradeTypeH5 = "MWEB" //TradeTypeNative 支付类型-Native支付 TradeTypeNative = "NATIVE" //TradeTypeMicropay 支付类型-付款码支付 TradeTypeMicropay = "MICROPAY" //SignTypeMD5 签名方式-默认MD5 SignTypeMD5 = "MD5" //SignTypeHmacSHA256 签名方式-HMAC-SHA256 SignTypeHmacSHA256 = "HMAC-SHA256" )
Variables ¶
var FuncGenerateRandomString func(int) string = generateRandomString
FuncGenerateRandomString 生成指定位数的随机字符串
var WxMpAPIURL = "https://api.weixin.qq.com"
微信API的服务器域名,方便处理请求代理跳转的情况
var WxMpOpenURL = "https://open.weixin.qq.com"
var WxMpWeiXinURL = "https://mp.weixin.qq.com"
var WxPayAppURL = "https://payapp.weixin.qq.com"
var WxPayMchAPIURL = "https://api.mch.weixin.qq.com"
var WxPayReporMchtURL = "http://report.mch.weixin.qq.com"
var WxPaySanBoxAPIURL = "https://api.mch.weixin.qq.com/sandboxnew"
var WxQyAPIURL = "https://qyapi.weixin.qq.com"
Functions ¶
func WxJSSDKTicketSign ¶ added in v1.0.4
WxJSSDKTicketSign 生成JS-SDK权限验证的签名 https://developers.weixin.qq.com/doc/offiaccount/OA_Web_Apps/JS-SDK.html#62
func WxMpQrShowQrCodeUrl ¶
func WxMpQrShowQrCodeUrl(wxMpConfig IWxMpConfig, ticket string) (string, error)
WxMpQrShowQrCodeUrl 通过ticket换取二维码地址
func WxMpSubscribeMsgURL ¶ added in v1.0.6
func WxMpSubscribeMsgURL(body *WxMpSubscribeMsgURLBody) (string, error)
WxMpSubscribeMsgURL 构造订阅模板消息的授权URL
func WxMpWrapAuthorizeURL ¶
func WxMpWrapAuthorizeURL(wxMpConfig IWxMpConfig, redirectUri string, snsapiBase bool) (string, error)
WxMpWrapAuthorizeURL 包装网页授权的url
func WxPayAppSign ¶
func WxPayAppSign(appId, nonceStr, partnerId, prepayId, signType, timeStamp, apiKey string) (paySign string)
WxPayAppSign APP支付,统一下单获取支付参数后,再次计算APP支付所需要的的sign https://pay.weixin.qq.com/wiki/doc/api/app/app.php?chapter=8_3
func WxPayJSAPISign ¶ added in v1.0.4
WxPayJSAPISign 统一下单获取prepay_id参数后,再次计算出JSAPI需要的sign https://pay.weixin.qq.com/wiki/doc/api/jsapi.php?chapter=7_7&index=6
func WxPayMaSign ¶ added in v1.0.4
WxPayMaSign 统一下单获取prepay_id参数后,再次计算出小程序需要的sign https://pay.weixin.qq.com/wiki/doc/api/wxa/wxa_api.php?chapter=7_7&index=5
func WxPayNotifyPay ¶
func WxPayNotifyPay(wxPayConfig IWxPayConfig, requestBody []byte, handler func(wxPayNotifyPayBody WxPayNotifyPayBody) error) (rspBody string, err error)
WxPayNotifyPay 支付结果通知
Types ¶
type IWxConfig ¶
type IWxConfig interface { //Id 数据库记录的Id GetId() string //AppId 微信号的appId GetAppId() string //AccessToken 获取到AccessToken GetAccessToken() string //Secret 微信号的secret GetSecret() string }
IWxConfig 微信的基础配置
type IWxMpConfig ¶
type IWxMpConfig interface { IWxConfig //Token 获取token GetToken() string //AesKey 获取aesKey GetAesKey() string //开启oauth2.0认证,是否能够获取openId,0是关闭,1是开启 GetOauth2() bool }
IWxMpConfig 公众号的配置
type IWxPayConfig ¶
type IWxPayConfig interface { IWxConfig //证数文件路径 GetCertificateFile() string //支付的mchId GetMchId() string GetSubAppId() string // 微信分配的子商户公众账号ID GetSubMchId() string // 微信支付分配的子商户号,开发者模式下必填 //获取 API 密钥 GetAPIKey() string //支付通知回调的地址 GetNotifyUrl() string //摘要加密类型 GetSignType() string GetServiceType() int // 服务模式 IsProd() bool // 是否是生产环境 }
IWxPayConfig 公众号的配置
type ResponseBase ¶
type ResponseBase struct { ErrCode int `json:"errcode"` // 错误码 ErrMsg string `json:"errmsg"` // 错误信息 }
ResponseBase 返回结果的通信标识
func WxMaCodeGetUnlimited ¶
func WxMaCodeGetUnlimited(wxMaConfig IWxMaConfig, body *WxMaCodeGetUnlimitedBody) ([]byte, *ResponseBase, error)
WxMaCodeGetUnlimited 小程序码接口 https://developers.weixin.qq.com/miniprogram/dev/api-backend/open-api/qr-code/wxacode.getUnlimited.html
func WxMaSubscribeMessageSend ¶ added in v1.0.5
func WxMaSubscribeMessageSend(wxMaConfig IWxMaConfig, body *WxMaTemplateMsgSendBody) (*ResponseBase, error)
WxMaSubscribeMessageSend 发送订阅消息 https://developers.weixin.qq.com/miniprogram/dev/api-backend/open-api/subscribe-message/subscribeMessage.send.html
type SessionKey ¶
type SessionKey struct { OpenId string `json:"openid"` // 用户唯一标识 SessionKey string `json:"session_key"` // 会话密钥 UnionId string `json:"unionid"` // 只有在用户将公众号绑定到微信开放平台帐号后,才会出现该字段. ErrCode int `json:"errcode"` // 错误码 ErrMsg string `json:"errmsg"` // 错误信息 }
SessionKey jsCode换取用户信息,获得sessionKey
func WxMaCode2Session ¶
func WxMaCode2Session(wxMaConfig IWxMaConfig, jsCode string) (*SessionKey, error)
WxMaCode2Session 登录凭证校验.通过 wx.login 接口获得临时登录凭证 code 后传到开发者服务器调用此接口完成登录流程 https://developers.weixin.qq.com/miniprogram/dev/api-backend/open-api/login/auth.code2Session.html
type WxAccessToken ¶
type WxAccessToken struct { AccessToken string `json:"access_token"` // 获取到的凭证 ExpiresIn int `json:"expires_in"` // SessionKey超时时间(秒) RefreshToken string `json:"refresh_token"` // 用户刷新access_tokenOpenId OpenId string `json:"openid"` // 用户唯一标识 Scope string `json:"scope"` // 用户授权的作用域 ErrCode int `json:"errcode"` // 错误码 ErrMsg string `json:"errmsg"` // 错误信息 AccessTokenExpiresTime int64 //过期的时间,验证是否过期 }
WxAccessToken 微信accessToken
func GetAccessToken ¶
func GetAccessToken(wxConfig IWxConfig) (*WxAccessToken, error)
GetAccessToken 获取 access token,如果未取到或者 access token 不可用则先更新再获取
func WxMpWebAuthAccessToken ¶
func WxMpWebAuthAccessToken(wxMpConfig IWxMpConfig, code string) (*WxAccessToken, error)
WxMpWebAuthAccessToken 用code换取accessToken. 认证的accessToken 和API的accessToken不一样,暂时使用同一个struct进行接收
func WxMpWebAuthRefreshAccessToken ¶
func WxMpWebAuthRefreshAccessToken(wxMpConfig IWxMpConfig, refreshToken string) (*WxAccessToken, error)
WxMpWebAuthRefreshAccessToken 刷新认证的AccessToken.认证的accessToken 和API的accessToken不一样,暂时使用同一个struct进行接收
func (*WxAccessToken) IsAccessTokenExpired ¶
func (wxAccessToken *WxAccessToken) IsAccessTokenExpired() bool
IsAccessTokenExpired token是否过期
type WxCardTicket ¶
type WxCardTicket struct { CardTicket string `json:"ticket"` // 获取到的凭证 ExpiresIn int `json:"expires_in"` // SessionKey超时时间(秒) ErrCode int `json:"errcode"` // 错误码 ErrMsg string `json:"errmsg"` // 错误信息 CardTicketExpiresTime int64 }
WxCardTicket 微信卡券Ticket
func GetCardTicket ¶
func GetCardTicket(wxConfig IWxConfig) (*WxCardTicket, error)
GetCardTicket 获取cardTicket
func (*WxCardTicket) IsCardTicketExpired ¶
func (wxCardTicket *WxCardTicket) IsCardTicketExpired() bool
IsCardTicketExpired 微信卡券Ticket是否过期
type WxJsTicket ¶
type WxJsTicket struct { JsTicket string `json:"ticket"` // 获取到的凭证 ExpiresIn int `json:"expires_in"` // SessionKey超时时间(秒) ErrCode int `json:"errcode"` // 错误码 ErrMsg string `json:"errmsg"` // 错误信息 JsTicketExpiresTime int64 }
WxJsTicket 微信WxJsTicket
func (*WxJsTicket) IsJsTicketExpired ¶
func (wxJsTicket *WxJsTicket) IsJsTicketExpired() bool
IsJsTicketExpired WxJsTicket 是否过期
type WxMaAuthGetPaidUnionIdResponse ¶
type WxMaAuthGetPaidUnionIdResponse struct { UnionId string `json:"unionid"` // 用户唯一标识,调用成功后返回 ErrCode int `json:"errcode"` // 错误码 ErrMsg string `json:"errmsg"` // 错误信息 }
WxMaAuthGetPaidUnionIdResponse 支付后获取用户unionid
func WxMaAuthGetPaidUnionId ¶
func WxMaAuthGetPaidUnionId(wxMaConfig IWxMaConfig, openId string) (*WxMaAuthGetPaidUnionIdResponse, error)
WxMaAuthGetPaidUnionId 用户支付完成后,获取该用户的 UnionId,无需用户授权.本接口支持第三方平台代理查询
type WxMaCodeGetUnlimitedBody ¶
type WxMaCodeGetUnlimitedBody struct { Scene string `json:"scene"` // 最大32个可见字符,只支持数字,大小写英文以及部分特殊字符:!#$&'()*+,/:;=?@-._~,其它字符请自行编码为合法字符(因不支持%,中文无法使用 urlencode 处理,请使用其他编码方式) Page string `json:"page,omitempty"` // 必须是已经发布的小程序存在的页面(否则报错),例如 pages/index/index, 根路径前不要填加 /,不能携带参数(参数请放在scene字段里),如果不填写这个字段,默认跳主页面 Width int64 `json:"width,omitempty"` // 二维码的宽度,单位 px,最小 280px,最大 1280px AutoColor bool `json:"auto_color,omitempty"` // 自动配置线条颜色,如果颜色依然是黑色,则说明不建议配置主色调,默认 false LineColorR uint8 `json:"-"` // auto_color为false时生效,使用rgb设置颜色 LineColorG uint8 `json:"-"` // auto_color为false时生效,使用rgb设置颜色 LineColorB uint8 `json:"-"` // auto_color为false时生效,使用rgb设置颜色 IsHyaline bool `json:"is_hyaline,omitempty"` // 是否需要透明底色,为true时,生成透明底色的小程序 }
WxMaCodeGetUnlimitedBody 小程序码请求参数
type WxMaTemplateMsgSendBody ¶
type WxMaTemplateMsgSendBody struct { Touser string `json:"touser"` // 接收者(用户)的 openid TemplateId string `json:"template_id"` // 所需下发的模板消息的id Page string `json:"page,omitempty"` // 点击模板卡片后的跳转页面,仅限本小程序内的页面.支持带参数,(示例index?foo=bar).该字段不填则模板无跳转. //发送订阅消息的属性 MiniprogramState string `json:"miniprogram_state,omitempty"` //跳转小程序类型:developer为开发版;trial为体验版;formal为正式版;默认为正式版 Lang string `json:"lang,omitempty"` //进入小程序查看”的语言类型,支持zh_CN(简体中文)、en_US(英文)、zh_HK(繁体中文)、zh_TW(繁体中文),默认为zh_CN // contains filtered or unexported fields }
WxMaTemplateMsgSendBody 小程序模板消息的请求参数
func (*WxMaTemplateMsgSendBody) AddData ¶
func (wxMaTemplateMsg *WxMaTemplateMsgSendBody) AddData(key string, value string)
AddData 模板内容,不填则下发空模板.具体格式请参考示例.
type WxMpQrCreateResponse ¶
type WxMpQrCreateResponse struct { Ticket string `json:"ticket"` // 获取的二维码ticket,凭借此ticket可以在有效时间内换取二维码. ExpireSeconds int `json:"expire_seconds"` // 该二维码有效时间,以秒为单位. 最大不超过2592000(即30天) URL string `json:"url"` //二维码图片解析后的地址,开发者可根据该地址自行生成需要的二维码图片 }
func WxMpQrCreatePermanent ¶
func WxMpQrCreatePermanent(wxMpConfig IWxMpConfig, sceneStr string) (*WxMpQrCreateResponse, error)
WxMpQrCreatePermanent 创建永久的带参数二维码
func WxMpQrCreateTemporary ¶
func WxMpQrCreateTemporary(wxMpConfig IWxMpConfig, sceneStr string, expireSeconds int) (*WxMpQrCreateResponse, error)
WxMpQrCreateTemporary 生成带参数的临时二维码 API https://developers.weixin.qq.com/doc/offiaccount/Account_Management/Generating_a_Parametric_QR_Code.html expireSeconds:该二维码有效时间,以秒为单位. 最大不超过2592000(即30天),默认2592000 sceneStr:场景值ID(字符串形式的ID),字符串类型,长度限制为1到64.这里只使用字符串了,用途更广
type WxMpSubscribeMsgSendBody ¶ added in v1.0.6
type WxMpSubscribeMsgSendBody struct { Scene string `json:"scene"` //订阅场景值 Title string `json:"title"` // 消息标题,15字以内 // contains filtered or unexported fields }
WxMpSubscribeMsgSendBody 一次订阅消息的请求参数
type WxMpSubscribeMsgURLBody ¶ added in v1.0.6
type WxMpSubscribeMsgURLBody struct { AppId string //公众号的唯一标识 Scene string //重定向后会带上scene参数,开发者可以填0-10000的整形值,用来标识订阅场景值 TemplateId string //订阅消息模板ID,登录公众平台后台,在接口权限列表处可查看订阅模板ID RedirectURL string //授权后重定向的回调地址,请使用UrlEncode对链接进行处理。 注:要求redirect_url的域名要跟登记的业务域名一致,且业务域名不能带路径。 业务域名需登录公众号,在设置-公众号设置-功能设置里面对业务域名设置。 Reserved string //用于保持请求和回调的状态,授权请后原样带回给第三方。该参数可用于防止csrf攻击(跨站请求伪造攻击),建议第三方带上该参数,可设置为简单的随机数加session进行校验,开发者可以填写a-zA-Z0-9的参数值,最多128字节,要求做urlencode }
用于生成授权URL的实体类
type WxMpTemplateMsgSendBody ¶
type WxMpTemplateMsgSendBody struct { EmphasisKeyword string `json:"emphasis_keyword,omitempty"` // 模板需要放大的关键词,不填则默认无放大 // contains filtered or unexported fields }
WxMpTemplateMsgSendBody 模板消息的请求参数
type WxMpTemplateMsgSendResponse ¶
type WxMpTemplateMsgSendResponse struct { MsgId int64 `json:"msgid"` // 用户唯一标识,调用成功后返回 ErrCode int `json:"errcode"` // 错误码 ErrMsg string `json:"errmsg"` // 错误信息 }
WxMpTemplateMsgSendResponse 发送模板消息的返回值
func WxMpSubscribeMsgSend ¶ added in v1.0.6
func WxMpSubscribeMsgSend(wxMpConfig IWxMpConfig, body *WxMpSubscribeMsgSendBody) (*WxMpTemplateMsgSendResponse, error)
WxMpSubscribeMsgSend 发送一次订阅消息 https://developers.weixin.qq.com/doc/offiaccount/Message_Management/One-time_subscription_info.html
func WxMpTemplateMsgSend ¶
func WxMpTemplateMsgSend(wxMpConfig IWxMpConfig, body *WxMpTemplateMsgSendBody) (*WxMpTemplateMsgSendResponse, error)
WxMpTemplateMsgSend 发送模板消息
type WxMpUserInfo ¶
type WxMpUserInfo struct { OpenId string `json:"openid"` // 用户唯一标识 Nickname string `json:"nickname"` // 用户的昵称 Sex int `json:"sex"` // 用户的性别,值为1时是男性,值为2时是女性,值为0时是未知 Language string `json:"language"` // 用户的语言,简体中文为zh_CN Province string `json:"province"` // 用户所在省份 City string `json:"city"` // 用户所在城市 Country string `json:"country"` // 用户所在国家 HeadimgUrl string `json:"headimgurl"` // 用户头像,最后一个数值代表正方形头像大小(有0、46、64、96、132数值可选,0代表640*640正方形头像),用户没有头像时该项为空.若用户更换头像,原有头像URL将失效. Privilege []string `json:"privilege"` // 用户特权信息 UnionId string `json:"unionid"` // 只有在用户将公众号绑定到微信开放平台帐号后,才会出现该字段. Subscribe int `json:"subscribe"` // 用户是否订阅该公众号标识,值为0时,代表此用户没有关注该公众号,拉取不到其余信息. SubscribeTime int `json:"subscribe_time"` // 用户关注时间,为时间戳.如果用户曾多次关注,则取最后关注时间 SubscribeScene string `json:"subscribe_scene"` // 返回用户关注的渠道来源,ADD_SCENE_SEARCH 公众号搜索,ADD_SCENE_ACCOUNT_MIGRATION 公众号迁移,ADD_SCENE_PROFILE_CARD 名片分享,ADD_SCENE_QR_CODE 扫描二维码,ADD_SCENEPROFILE LINK 图文页内名称点击,ADD_SCENE_PROFILE_ITEM 图文页右上角菜单,ADD_SCENE_PAID 支付后关注,ADD_SCENE_OTHERS 其他 Remark string `json:"remark"` // 公众号运营者对粉丝的备注,公众号运营者可在微信公众平台用户管理界面对粉丝添加备注 GroupId int `json:"groupid"` // 用户所在的分组ID(兼容旧的用户分组接口) TagidList []int `json:"tagid_list"` // 用户被打上的标签ID列表 QrScene int `json:"qr_scene"` // 二维码扫码场景(开发者自定义) QrSceneStr string `json:"qr_scene_str"` // 二维码扫码场景描述(开发者自定义) ErrCode int `json:"errcode"` // 错误码 ErrMsg string `json:"errmsg"` // 错误信息 }
WxMpUserInfo 用户信息
func WxMpGetUserInfo ¶
func WxMpGetUserInfo(wxMpConfig IWxMpConfig, openId, lang string) (*WxMpUserInfo, error)
WxMpGetUserInfo 获取用户基本信息,包括UnionID机制(授权机制) https://developers.weixin.qq.com/doc/offiaccount/User_Management/Get_users_basic_information_UnionID.html
type WxMpUserOpenIds ¶ added in v1.0.6
type WxMpUserOpenIds struct { Total int `json:"total"` // 关注该公众账号的总用户数 Count int `json:"count"` // 拉取的OPENID个数,最大值为10000 Data map[string][]string `json:"data"` //列表数据,OPENID的列表 NextOpenid string `json:"next_openid"` //拉取列表的最后一个用户的OPENID ErrCode int `json:"errcode"` // 错误码 ErrMsg string `json:"errmsg"` // 错误信息 }
func WxMpGetUserOpenIds ¶ added in v1.0.6
func WxMpGetUserOpenIds(wxMpConfig IWxMpConfig, openId string) (*WxMpUserOpenIds, error)
WxMpGetUserInfos 获取用户基本信息,包括UnionID机制(授权机制) https://developers.weixin.qq.com/doc/offiaccount/User_Management/Getting_a_User_List.html
type WxPayCloseOrderBody ¶
type WxPayCloseOrderBody struct { SignType string `json:"sign_type,omitempty"` // 签名类型,目前支持HMAC-SHA256和MD5,默认为MD5 OutTradeNo string `json:"out_trade_no"` // 商户系统内部订单号,要求32个字符内,只能是数字、大小写字母_-|*且在同一个商户号下唯一.详见商户订单号 }
WxPayCloseOrderBody 关闭订单的参数
type WxPayCloseOrderResponse ¶
type WxPayCloseOrderResponse struct { WxResponseModel // 当return_code为SUCCESS时 WxPayPartnerResponseModel ResultMsg string `xml:"result_msg"` // 对业务结果的补充说明 }
WxPayCloseOrderResponse 关闭订单的返回值
func WxPayCloseOrder ¶
func WxPayCloseOrder(wxPayConfig IWxPayConfig, body *WxPayCloseOrderBody) (*WxPayCloseOrderResponse, error)
WxPayCloseOrder 关闭订单 https://pay.weixin.qq.com/wiki/doc/api/jsapi.php?chapter=9_3
type WxPayCouponResponseModel ¶
type WxPayCouponResponseModel struct { CouponId string // 代金券或立减优惠ID CouponType string // CASH-充值代金券 NO_CASH-非充值优惠券 开通免充值券功能,并且订单使用了优惠券后有返回 CouponFee int64 // 单个代金券或立减优惠支付金额 }
WxPayCouponResponseModel 返回结果中的优惠券条目信息
type WxPayDownloadBillBody ¶
type WxPayDownloadBillBody struct { SignType string `json:"sign_type,omitempty"` // 签名类型,目前支持HMAC-SHA256和MD5,默认为MD5 BillDate string `json:"bill_date"` // 下载对账单的日期,格式:20140603 BillType string `json:"bill_type,omitempty"` // ALL,返回当日所有订单信息,默认值 SUCCESS,返回当日成功支付的订单 REFUND,返回当日退款订单 RECHARGE_REFUND,返回当日充值退款订单 TarType string `json:"tar_type,omitempty"` // 非必传参数,固定值:GZIP,返回格式为.gzip的压缩包账单.不传则默认为数据流形式. }
WxPayDownloadBillBody 下载对账单的参数
type WxPayDownloadBillResponse ¶
type WxPayDownloadBillResponse struct { WxResponseModel ErrCode string `xml:"err_code"` // 失败错误码,详见错误码列表 TODO }
WxPayDownloadBillResponse 下载对账单的返回值
func WxPayDownloadBill ¶
func WxPayDownloadBill(wxPayConfig IWxPayConfig, body *WxPayDownloadBillBody) (*WxPayDownloadBillResponse, error)
WxPayDownloadBill 下载对账单 https://pay.weixin.qq.com/wiki/doc/api/jsapi.php?chapter=9_6
type WxPayGetHBInfoBody ¶ added in v1.0.7
type WxPayGetHBInfoBody struct { MchBillno string `json:"mch_billno"` //商户发放红包的商户订单号 BillType string `json:"bill_type"` //MCHT:通过商户订单号获取红包信息 }
WxPayGetHBInfoBody 查看红包记录的请求参数
type WxPayGetHBInfoResponse ¶ added in v1.0.7
type WxPayGetHBInfoResponse struct { ReturnCode string `xml:"return_code"` // SUCCESS/FAIL 此字段是通信标识,非交易标识,交易是否成功需要查看result_code来判断 ReturnMsg string `xml:"return_msg"` // 返回信息,如非空,为错误原因:签名失败/参数格式校验错误 //以下字段在return_code为SUCCESS的时候有返回 ResultCode string `xml:"result_code"` // SUCCESS/FAIL ErrCode string `xml:"err_code"` // 详细参见第6节错误列表 ErrCodeDes string `xml:"err_code_des"` // 错误返回的信息描述 //以下字段在return_code 和result_code都为SUCCESS的时候有返回 MchBillno string `xml:"mch_billno"` // 商户使用查询API填写的商户单号的原路返回 MchId string `xml:"mch_id"` // 微信支付分配的商户号 DetailId string `xml:"detail_id"` // 使用API发放现金红包时返回的红包单号 Status string `xml:"status"` // SENDING:发放中,SENT:已发放待领取,FAILED:发放失败,RECEIVED:已领取,RFUND_ING:退款中,REFUND:已退款 SendType string `xml:"send_type"` // 发送类型 API:通过API接口发放,UPLOAD:通过上传文件方式发放,ACTIVITY:通过活动方式发放 HBType string `xml:"hb_type"` // 红包类型 GROUP:裂变红包,NORMAL:普通红包 TotalNum int `json:"total_num"` // 红包个数 TotalAmount int `xml:"total_amount"` // 红包总金额(单位分) Reason string `xml:"reason"` // 发送失败原因 SendTime string `xml:"send_time"` // 红包发送时间 2015-04-21 20:00:00 RefundTime string `xml:"refund_time"` // 红包的退款时间(如果其未领取的退款) 2015-04-21 23:03:00 RefundAmount int `xml:"refund_amount"` // 红包退款金额(单位分) Wishing string `xml:"wishing"` // 红包祝福语 ActName string `xml:"act_name"` // 活动名称 Remark string `xml:"remark"` // 活动描述,低版本微信可见 Openid string `xml:"openid"` // 领取红包的openid Amount int `xml:"amount"` // 领取金额(单位分) RcvTime string `xml:"rcv_time"` // 领取红包的时间 2015-04-21 20:00:00 HBList []WxPayHBInfoModel `xml:"-"` // 裂变红包的列表 }
WxPayGetHBInfoResponse 查看红包记录的返回值
func WxPayGetHBInfo ¶ added in v1.0.7
func WxPayGetHBInfo(wxPayConfig IWxPayConfig, body *WxPayGetHBInfoBody) (*WxPayGetHBInfoResponse, error)
WxPayGetHBInfo 查看红包记录,用于商户对已发放的红包进行查询红包的具体信息,可支持普通红包和裂变包. https://pay.weixin.qq.com/wiki/doc/api/tools/cash_coupon.php?chapter=13_6&index=5
type WxPayHBInfoModel ¶ added in v1.0.7
type WxPayHBInfoModel struct { Openid string // 领取红包的openid Amount int // 领取金额(单位分) RcvTime string // 领取红包的时间 2015-04-21 20:00:00 }
WxPayHBInfoModel 返回的微信裂变红包信息
type WxPayMchServiceResponseModel ¶
type WxPayMchServiceResponseModel struct { MchAppId string `xml:"mch_appid"` // 子商户公众账号ID MchId string `xml:"mchid"` // 子商户号 NonceStr string `xml:"nonce_str"` // 随机字符串,不长于32位 Sign string `xml:"sign"` // 签名,详见签名生成算法 ResultCode string `xml:"result_code"` // SUCCESS/FAIL ErrCode string `xml:"err_code"` // 详细参见第6节错误列表 ErrCodeDes string `xml:"err_code_des"` // 错误返回的信息描述 }
WxPayMchServiceResponseModel 特殊商户接口业务返回结果的错误信息
type WxPayMicropayBody ¶
type WxPayMicropayBody struct { SignType string `json:"sign_type,omitempty"` // 签名类型,目前支持HMAC-SHA256和MD5,默认为MD5 DeviceInfo string `json:"device_info,omitempty"` // 终端设备号(商户自定义,如门店编号) Body string `json:"body"` // 商品或支付单简要描述,格式要求:门店品牌名-城市分店名-实际商品名称 Detail string `json:"detail,omitempty"` // 单品优惠功能字段,需要接入请见详细说明 Attach string `json:"attach,omitempty"` // 附加数据,在查询API和支付通知中原样返回,该字段主要用于商户携带订单的自定义数据 OutTradeNo string `json:"out_trade_no"` // 商户系统内部订单号,要求32个字符内,只能是数字、大小写字母_-|*且在同一个商户号下唯一.详见商户订单号 TotalFee int `json:"total_fee"` // 订单总金额,单位为分,只能为整数,详见支付金额 FeeType string `json:"fee_type,omitempty"` // 符合ISO 4217标准的三位字母代码,默认人民币:CNY,其他值列表详见货币类型 SpbillCreateIP string `json:"spbill_create_ip"` // 支持IPV4和IPV6两种格式的IP地址.调用微信支付API的机器IP GoodsTag string `json:"goods_tag,omitempty"` // 订单优惠标记,代金券或立减优惠功能的参数,说明详见代金券或立减优惠 LimitPay string `json:"limit_pay,omitempty"` // no_credit:指定不能使用信用卡支付 TimeStart string `json:"time_start,omitempty"` // 订单生成时间,格式为yyyyMMddHHmmss,如2009年12月25日9点10分10秒表示为20091225091010.其他详见时间规则 TimeExpire string `json:"time_expire,omitempty"` // 订单失效时间,格式为yyyyMMddHHmmss,如2009年12月27日9点10分10秒表示为20091227091010.注意:最短失效时间间隔需大于1分钟 AuthCode string `json:"auth_code"` // 扫码支付授权码,设备读取用户微信中的条码或者二维码信息 (注:用户付款码条形码规则:18位纯数字,以10、11、12、13、14、15开头) Receipt string `json:"receipt,omitempty"` // Y,传入Y时,支付成功消息和支付详情页将出现开票入口.需要在微信支付商户平台或微信公众平台开通电子发票功能,传此字段才可生效 SceneInfoStr string `json:"scene_info,omitempty"` // 该字段用于上报场景信息,目前支持上报实际门店信息.该字段为JSON对象数据,对象格式为{"store_info":{"id": "门店ID","name": "名称","area_code": "编码","address": "地址" }} ,字段详细说明请点击行前的+展开 // 用于生成SceneInfoStr SceneInfo *WxPaySceneInfoModel `json:"-"` }
WxPayMicropayBody 付款码支付的参数
type WxPayMicropayResponse ¶
type WxPayMicropayResponse struct { WxResponseModel // 当return_code为SUCCESS时 WxPayPartnerResponseModel DeviceInfo string `xml:"device_info"` // 调用接口提交的终端设备号 // 当return_code和result_code都为SUCCESS时 OpenId string `xml:"openid"` // 用户在商户appid下的唯一标识 IsSubscribe string `xml:"is_subscribe"` // 用户是否关注公众账号,仅在公众账号类型支付有效,取值范围:Y或N;Y-关注;N-未关注 SubOpenId string `xml:"sub_openid"` // (服务商模式) 子商户appid下用户唯一标识,如需返回则请求时需要传sub_appid SubIsSubscribe string `xml:"sub_is_subscribe"` // (服务商模式) 用户是否关注子公众账号,仅在公众账号类型支付有效,取值范围:Y或N;Y-关注;N-未关注 TradeType string `xml:"trade_type"` // 支付类型为MICROPAY(即扫码支付) BankType string `xml:"bank_type"` // 银行类型,采用字符串类型的银行标识,值列表详见银行类型 FeeType string `xml:"fee_type"` // 符合ISO 4217标准的三位字母代码,默认人民币:CNY,其他值列表详见货币类型 TotalFee int `xml:"total_fee"` // 订单总金额,单位为分,只能为整数,详见支付金额 CashFeeType string `xml:"cash_fee_type"` // 符合ISO 4217标准的三位字母代码,默认人民币:CNY,其他值列表详见货币类型 CashFee int `xml:"cash_fee"` // 订单现金支付金额,详见支付金额 SettlementTotalFee int `xml:"settlement_total_fee"` // 当订单使用了免充值型优惠券后返回该参数,应结订单金额=订单金额-免充值优惠券金额. CouponFee int `xml:"coupon_fee"` // "代金券"金额<=订单金额,订单金额-"代金券"金额=现金支付金额,详见支付金额 TransactionId string `xml:"transaction_id"` // 微信支付订单号 OutTradeNo string `xml:"out_trade_no"` // 商户系统内部订单号,要求32个字符内,只能是数字、大小写字母_-|*且在同一个商户号下唯一. Attach string `xml:"attach"` // 商家数据包,原样返回 TimeEnd string `xml:"time_end"` // 订单生成时间,格式为yyyyMMddHHmmss,如2009年12月25日9点10分10秒表示为20091225091010.详见时间规则 PromotionDetail string `xml:"promotion_detail"` // TODO 单品优惠详情 }
WxPayMicropayResponse 付款码支付的返回值
func WxPayMicropay ¶
func WxPayMicropay(wxPayConfig IWxPayConfig, body *WxPayMicropayBody) (*WxPayMicropayResponse, error)
WxPayMicropay 提交付款码支付 https://pay.weixin.qq.com/wiki/doc/api/micropay.php?chapter=9_10&index=1
type WxPayNotifyPayBody ¶
type WxPayNotifyPayBody struct { WxResponseModel // 当return_code为SUCCESS时 WxPayPartnerResponseModel DeviceInfo string `xml:"device_info"` // 微信支付分配的终端设备号 IsSubscribe string `xml:"is_subscribe"` // 用户是否关注公众账号(机构商户不返回) SubIsSubscribe string `xml:"sub_is_subscribe"` // (服务商模式) 用户是否关注子公众账号(机构商户不返回) OpenId string `xml:"openid"` // 用户在商户appid下的唯一标识 SubOpenId string `xml:"sub_openid"` // (服务商模式) 用户在子商户appid下的唯一标识 TradeType string `xml:"trade_type"` // 交易类型 BankType string `xml:"bank_type"` // 银行类型,采用字符串类型的银行标识,银行类型见附表 TotalFee int `xml:"total_fee"` // 订单总金额,单位为分 FeeType string `xml:"fee_type"` // 货币类型,符合ISO 4217标准的三位字母代码,默认人民币:CNY,其他值列表详见货币类型 CashFee int `xml:"cash_fee"` // 现金支付金额订单现金支付金额,详见支付金额 CashFeeType string `xml:"cash_fee_type"` // 货币类型,符合ISO 4217标准的三位字母代码,默认人民币:CNY,其他值列表详见货币类型 SettlementTotalFee int `xml:"settlement_total_fee"` // 应结订单金额=订单金额-非充值代金券金额,应结订单金额<=订单金额. CouponFee int `xml:"coupon_fee"` // 代金券或立减优惠金额<=订单总金额,订单总金额-代金券或立减优惠金额=现金支付金额,详见支付金额 CouponCount int `xml:"coupon_count"` // 代金券或立减优惠使用数量 TransactionId string `xml:"transaction_id"` // 微信支付订单号 OutTradeNo string `xml:"out_trade_no"` // 商户系统内部订单号,要求32个字符内,只能是数字、大小写字母_-|*@ ,且在同一个商户号下唯一. Attach string `xml:"attach"` // 商家数据包,原样返回 TimeEnd string `xml:"time_end"` // 支付完成时间,格式为yyyyMMddHHmmss,如2009年12月25日9点10分10秒表示为20091225091010.其他详见时间规则 // 使用coupon_count的序号生成的优惠券项 Coupons []WxPayCouponResponseModel `xml:"-"` }
WxPayNotifyPayBody 支付结果通知的参数
type WxPayPartnerResponseModel ¶ added in v1.0.3
type WxPayPartnerResponseModel struct { AppId string `xml:"appid"` // 微信分配的公众账号ID MchId string `xml:"mch_id"` // 微信支付分配的商户号 SubAppId string `xml:"sub_appid"` // (服务商模式) 微信分配的子商户公众账号ID SubMchId string `xml:"sub_mch_id"` // (服务商模式) 微信支付分配的子商户号 NonceStr string `xml:"nonce_str"` // 随机字符串,不长于32位 Sign string `xml:"sign"` // 签名,详见签名生成算法 ResultCode string `xml:"result_code"` // SUCCESS/FAIL ErrCode string `xml:"err_code"` // 详细参见第6节错误列表 ErrCodeDes string `xml:"err_code_des"` // 错误返回的信息描述 }
WxPayPartnerResponseModel 业务返回结果的错误信息
type WxPayPromotionMktTransfersBody ¶
type WxPayPromotionMktTransfersBody struct { DeviceInfo string `json:"device_info,omitempty"` // 终端设备号 PartnerTradeNo string `json:"partner_trade_no"` // 商户系统内部订单号,要求32个字符内,只能是数字、大小写字母_-|*且在同一个商户号下唯一.详见商户订单号 OpenId string `json:"openid"` // 商品或支付单简要描述,格式要求:门店品牌名-城市分店名-实际商品名称 CheckName string `json:"check_name"` // 校验用户姓名选项(见constant定义) ReUserName string `json:"re_user_name,omitempty"` // 收款用户姓名 Amount int `json:"amount"` // 企业找零金额,单位为分 Desc string `json:"desc"` // 企业付款备注 SpbillCreateIP string `json:"spbill_create_ip"` // IP可传用户端或者服务端的IP }
WxPayPromotionMktTransfersBody 企业付款,微信找零的参数
type WxPayPromotionMktTransfersResponse ¶
type WxPayPromotionMktTransfersResponse struct { WxResponseModel WxPayMchServiceResponseModel DeviceInfo string `xml:"device_info"` // 终端设备号 PartnerTradeNo string `xml:"partner_trade_no"` // 商户系统内部订单号,要求32个字符内,只能是数字、大小写字母_-|*且在同一个商户号下唯一.详见商户订单号 PaymentNo string `xml:"payment_no"` // 企业付款成功,返回的微信付款单号 PaymentTime string `xml:"payment_time"` // 企业付款成功时间 }
WxPayPromotionMktTransfersResponse 企业付款,微信找零的返回值
func WxPayPromotionMktTransfers ¶
func WxPayPromotionMktTransfers(wxPayConfig IWxPayConfig, body *WxPayPromotionMktTransfersBody) (*WxPayPromotionMktTransfersResponse, error)
WxPayPromotionMktTransfers 企业付款到零钱(前提用户必须关注公众号)
type WxPayQueryMktTransferBody ¶
type WxPayQueryMktTransferBody struct {
PartnerTradeNo string `json:"partner_trade_no"` // 商户系统内部订单号
}
WxPayQueryMktTransferBody 企业付款,微信找零查询的参数
type WxPayQueryMktTransferResponse ¶
type WxPayQueryMktTransferResponse struct { WxResponseModel WxPayMchServiceResponseModel PartnerTradeNo string `xml:"partner_trade_no"` // 商户系统内部订单号,要求32个字符内,只能是数字、大小写字母_-|*且在同一个商户号下唯一.详见商户订单号 DetailId string `xml:"detail_id"` // 调用企业付款API时,微信系统内部产生的单号 Status string `xml:"status"` // 转账状态 Reason string `xml:"reason"` // 失败原因 OpenId string `xml:"openid"` // 转账的openid TransferName string `xml:"transfer_name"` // 收款用户姓名 PaymentAmount int64 `xml:"payment_amount"` // 付款金额单位为“分” TransferTime string `xml:"transfer_time"` // 发起转账的时间 PaymentTime string `xml:"payment_time"` // 企业付款成功时间 Desc string `xml:"desc"` // 企业付款备注 }
WxPayQueryMktTransferResponse 企业付款,微信找零查询的返回值
func WxPayQueryMktTransfer ¶
func WxPayQueryMktTransfer(wxPayConfig IWxPayConfig, body *WxPayQueryMktTransferBody) (*WxPayQueryMktTransferResponse, error)
WxPayQueryMktTransfer 企业付款到零钱的查询
type WxPayQueryOrderBody ¶
type WxPayQueryOrderBody struct { SignType string `json:"sign_type,omitempty"` // 签名类型,目前支持HMAC-SHA256和MD5,默认为MD5 TransactionId string `json:"transaction_id,omitempty"` // (非必填,二选一) 微信的订单号,优先使用 OutTradeNo string `json:"out_trade_no,omitempty"` // (非必填,二选一) 商户系统内部订单号,要求32个字符内,只能是数字、大小写字母_-|*且在同一个商户号下唯一.详见商户订单号 }
WxPayQueryOrderBody 查询订单的参数
type WxPayQueryOrderResponse ¶
type WxPayQueryOrderResponse struct { WxResponseModel // 当return_code为SUCCESS时 WxPayPartnerResponseModel // 当return_code、result_code、trade_state都为SUCCESS时有返回,如trade_state不为SUCCESS,则只返回out_trade_no(必传)和attach(选传). DeviceInfo string `xml:"device_info"` // 微信支付分配的终端设备号 OpenId string `xml:"openid"` // 用户在商户appid下的唯一标识 IsSubscribe string `xml:"is_subscribe"` // 用户是否关注公众账号,Y-关注,N-未关注(机构商户不返回) SubOpenId string `xml:"sub_openid"` // (服务商模式) 子商户appid下用户唯一标识,如需返回则请求时需要传sub_appid SubIsSubscribe string `xml:"sub_is_subscribe"` // (服务商模式) 用户是否关注子公众账号,仅在公众账号类型支付有效,取值范围:Y或N;Y-关注;N-未关注 TradeType string `xml:"trade_type"` // 调用接口提交的交易类型,取值如下:JSAPI,NATIVE,APP,MICROPAY,详细说明见参数规定 TradeState string `xml:"trade_state"` // SUCCESS—支付成功 REFUND—转入退款 NOTPAY—未支付 CLOSED—已关闭 REVOKED—已撤销(刷卡支付) USERPAYING--用户支付中 PAYERROR--支付失败(其他原因,如银行返回失败) BankType string `xml:"bank_type"` // 银行类型,采用字符串类型的银行标识 Detail string `xml:"detail"` // 商品详细列表,使用Json格式,传输签名前请务必使用CDATA标签将JSON文本串保护起来.如果使用了单品优惠,会有单品优惠信息返回 TotalFee int `xml:"total_fee"` // 订单总金额,单位为分 FeeType string `xml:"fee_type"` // 货币类型,符合ISO 4217标准的三位字母代码,默认人民币:CNY,其他值列表详见货币类型 SettlementTotalFee int `xml:"settlement_total_fee"` // 当订单使用了免充值型优惠券后返回该参数,应结订单金额=订单金额-免充值优惠券金额. CashFee int `xml:"cash_fee"` // 现金支付金额订单现金支付金额,详见支付金额 CashFeeType string `xml:"cash_fee_type"` // 货币类型,符合ISO 4217标准的三位字母代码,默认人民币:CNY,其他值列表详见货币类型 CouponFee int `xml:"coupon_fee"` // "代金券或立减优惠"金额<=订单总金额,订单总金额-"代金券或立减优惠"金额=现金支付金额,详见支付金额 CouponCount int `xml:"coupon_count"` // 代金券或立减优惠使用数量 TransactionId string `xml:"transaction_id"` // 微信支付订单号 OutTradeNo string `xml:"out_trade_no"` // 商户系统内部订单号,要求32个字符内,只能是数字、大小写字母_-|*@ ,且在同一个商户号下唯一. Attach string `xml:"attach"` // 商家数据包,原样返回 TimeEnd string `xml:"time_end"` // 订单支付时间,格式为yyyyMMddHHmmss,如2009年12月25日9点10分10秒表示为20091225091010.其他详见时间规则 TradeStateDesc string `xml:"trade_state_desc"` // 对当前查询订单状态的描述和下一步操作的指引 // 使用coupon_count的序号生成的优惠券项 Coupons []WxPayCouponResponseModel `xml:"-"` }
WxPayQueryOrderResponse 查询订单的返回值
func WxPayQueryOrder ¶
func WxPayQueryOrder(wxPayConfig IWxPayConfig, body *WxPayQueryOrderBody) (*WxPayQueryOrderResponse, error)
WxPayQueryOrder 查询订单
type WxPayQueryRefundBody ¶
type WxPayQueryRefundBody struct { SignType string `json:"sign_type,omitempty"` // 签名类型,目前支持HMAC-SHA256和MD5,默认为MD5 TransactionId string `json:"transaction_id,omitempty"` // (非必填,四选一) 微信订单号 查询的优先级是: refund_id > out_refund_no > transaction_id > out_trade_no OutTradeNo string `json:"out_trade_no,omitempty"` // (非必填,四选一) 商户系统内部订单号,要求32个字符内,只能是数字、大小写字母_-|*@ ,且在同一个商户号下唯一. OutRefundNo string `json:"out_refund_no,omitempty"` // (非必填,四选一) 商户系统内部的退款单号,商户系统内部唯一,只能是数字、大小写字母_-|*@ ,同一退款单号多次请求只退一笔. RefundId string `json:"refund_id,omitempty"` // (非必填,四选一) 微信退款单号 Offset string `json:"offset,omitempty"` // (非必填) 偏移量,当部分退款次数超过10次时可使用,表示返回的查询结果从这个偏移量开始取记录 }
WxPayQueryRefundBody 查询退款的参数
type WxPayQueryRefundResponse ¶
type WxPayQueryRefundResponse struct { WxResponseModel // 当return_code为SUCCESS时 WxPayPartnerResponseModel TransactionId string `xml:"transaction_id"` // 微信订单号 OutTradeNo string `xml:"out_trade_no"` // 商户系统内部订单号,要求32个字符内,只能是数字、大小写字母_-|*@ ,且在同一个商户号下唯一. TotalFee int `xml:"total_fee"` // 订单总金额,单位为分,只能为整数,详见支付金额 SettlementTotalFee int `xml:"settlement_total_fee"` // 当订单使用了免充值型优惠券后返回该参数,应结订单金额=订单金额-免充值优惠券金额. FeeType string `xml:"fee_type"` // 订单金额货币类型,符合ISO 4217标准的三位字母代码,默认人民币:CNY,其他值列表详见货币类型 CashFee int `xml:"cash_fee"` // 现金支付金额,单位为分,只能为整数,详见支付金额 RefundCount int `xml:"refund_count"` // 当前返回退款笔数 TotalRefundCount int `xml:"total_refund_count"` // 订单总共已发生的部分退款次数,当请求参数传入offset后有返回 // 使用refund_count的序号生成的当前退款项 CurrentRefunds []WxPayQueryRefundResponseCurrentRefund `xml:"-"` // 使用total_refund_count的序号生成的总退款项 TotalRefunds []WxPayQueryRefundResponseTotalRefund `xml:"-"` }
WxPayQueryRefundResponse 查询退款的返回值
func WxPayQueryRefund ¶
func WxPayQueryRefund(wxPayConfig IWxPayConfig, body *WxPayQueryRefundBody) (*WxPayQueryRefundResponse, error)
WxPayQueryRefund 查询退款
type WxPayQueryRefundResponseCurrentRefund ¶
type WxPayQueryRefundResponseCurrentRefund struct { OutRefundNo string // 商户系统内部的退款单号,商户系统内部唯一,只能是数字、大小写字母_-|*@ ,同一退款单号多次请求只退一笔. RefundId string // 微信退款单号 RefundChannel string // ORIGINAL—原路退款 BALANCE—退回到余额 OTHER_BALANCE—原账户异常退到其他余额账户 OTHER_BANKCARD—原银行卡异常退到其他银行卡 }
WxPayQueryRefundResponseCurrentRefund 使用refund_count的序号生成的当前退款项
type WxPayQueryRefundResponseTotalRefund ¶
type WxPayQueryRefundResponseTotalRefund struct { RefundFee int64 // 退款总金额,单位为分,可以做部分退款 SettlementRefundFee int64 // 退款金额=申请退款金额-非充值代金券退款金额,退款金额<=申请退款金额 CouponRefundFee int64 // 代金券退款金额<=退款金额,退款金额-代金券或立减优惠退款金额为现金,说明详见代金券或立减优惠 CouponRefundCount int64 // 退款代金券使用数量 ,$n为下标,从0开始编号 RefundStatus string // 退款状态:SUCCESS—退款成功 REFUNDCLOSE—退款关闭 PROCESSING—退款处理中 CHANGE—退款异常,退款到银行发现用户的卡作废或者冻结了,导致原路退款银行卡失败,可前往商户平台(pay.weixin.qq.com)-交易中心,手动处理此笔退款.$n为下标,从0开始编号. RefundAccount string // REFUND_SOURCE_RECHARGE_FUNDS---可用余额退款/基本账户 REFUND_SOURCE_UNSETTLED_FUNDS---未结算资金退款 $n为下标,从0开始编号. RefundRecvAccout string // 取当前退款单的退款入账方 1)退回银行卡:{银行名称}{卡类型}{卡尾号} 2)退回支付用户零钱: 支付用户零钱 3)退还商户: 商户基本账户 商户结算银行账户 4)退回支付用户零钱通: 支付用户零钱通 RefundSuccessTime string // 退款成功时间,当退款状态为退款成功时有返回.$n为下标,从0开始编号. // 使用coupon_refund_count的序号生成的代金券项 Coupons []WxPayCouponResponseModel }
WxPayQueryRefundResponseTotalRefund 使用total_refund_count的序号生成的总退款项
type WxPayRefundBody ¶
type WxPayRefundBody struct { TransactionId string `json:"transaction_id"` // 微信支付订单号 OutTradeNo string `json:"out_trade_no"` // 商户系统内部订单号,要求32个字符内,只能是数字、大小写字母_-|*@ ,且在同一个商户号下唯一. OutRefundNo string `json:"out_refund_no"` // 商户系统内部的退款单号,商户系统内部唯一,只能是数字、大小写字母_-|*@ ,同一退款单号多次请求只退一笔. TotalFee int `json:"total_fee"` // 订单总金额,单位为分,只能为整数,详见支付金额 RefundFee int `json:"refund_fee"` // 退款总金额,单位为分,只能为整数,可部分退款.详见支付金额 RefundFeeType string `json:"refund_fee_type,omitempty"` // 退款货币类型,需与支付一致,或者不填.符合ISO 4217标准的三位字母代码,默认人民币:CNY RefundDesc string `json:"refund_desc,omitempty"` // 现退款原因 RefundAccount string `json:"refund_account,omitempty"` // 退款资金来源(见constatnt定义) NotifyUrl string `json:"notify_url,omitempty"` // 异步接收微信支付退款结果通知的回调地址 }
WxPayRefundBody 申请退款的参数
type WxPayRefundResponse ¶
type WxPayRefundResponse struct { WxResponseModel WxPayPartnerResponseModel TransactionId string `xml:"transaction_id"` OutTradeNo string `xml:"out_trade_no"` OutRefundNo string `xml:"out_refund_no"` RefundId string `xml:"refund_id"` RefundFee int `xml:"refund_fee"` SettlementRefundFee int `xml:"settlement_refund_fee"` TotalFee int `xml:"total_fee"` SettlementTotalFee int `xml:"settlement_total_fee"` FeeType string `xml:"fee_type"` CashFee int `xml:"cash_fee"` CashRefundFee int `xml:"cash_refund_fee"` CouponRefundFee int `xml:"coupon_refund_fee"` CouponRefundCount int `xml:"coupon_refund_count"` // 使用coupon_refund_count的序号生成的优惠券项 RefundCoupons []WxPayCouponResponseModel `xml:"-"` }
WxResponseModel 申请退款的返回值
func WxPayRefund ¶
func WxPayRefund(wxPayConfig IWxPayConfig, body *WxPayRefundBody) (*WxPayRefundResponse, error)
WxPayRefund 申请退款 https://pay.weixin.qq.com/wiki/doc/api/jsapi.php?chapter=9_4
type WxPayReportJsAPIBody ¶
type WxPayReportJsAPIBody struct { SignType string `json:"sign_type,omitempty"` // 签名类型,目前支持HMAC-SHA256和MD5,默认为MD5 DeviceInfo string `json:"device_info,omitempty"` // (非必填) 微信支付分配的终端设备号,商户自定义 InterfaceUrl string `json:"interface_url"` // 上报对应的接口的完整URL,类似:https://api.mch.weixin.qq.com/pay/unifiedorder 对于刷卡支付,为更好的和商户共同分析一次业务行为的整体耗时情况,对于两种接入模式,请都在门店侧对一次刷卡行为进行一次单独的整体上报,上报URL指定为:https://api.mch.weixin.qq.com/pay/micropay/total 关于两种接入模式具体可参考本文档章节:刷卡支付商户接入模式 其它接口调用仍然按照调用一次,上报一次来进行. ExecuteTime int64 `json:"execute_time"` // 接口耗时情况,单位为毫秒 ReturnCode string `json:"return_code"` // SUCCESS/FAIL 此字段是通信标识,非交易标识,交易是否成功需要查看trade_state来判断 ReturnMsg string `json:"return_msg,omitempty"` // (非必填) 返回信息,如非空,为错误原因 签名失败 参数格式校验错误 ResultCode string `json:"result_code"` // SUCCESS/FAIL ErrCode string `json:"err_code,omitempty"` // (非必填) ORDERNOTEXIST—订单不存在 SYSTEMERROR—系统错误 ErrCodeDes string `json:"err_code_des,omitempty"` // (非必填) 结果信息描述 OutTradeNo string `json:"out_trade_no,omitempty"` // (非必填) 商户系统内部的订单号,商户可以在上报时提供相关商户订单号方便微信支付更好的提高服务质量. UserIp string `json:"user_ip"` // 发起接口调用时的机器IP Time string `json:"time,omitempty"` // (非必填) 系统时间,格式为yyyyMMddHHmmss,如2009年12月27日9点10分10秒表示为20091227091010.其他详见时间规则 }
WxPayReportJsAPIBody 交易保障(JSAPI)的参数
type WxPayReportMicropayBody ¶
type WxPayReportMicropayBody struct { SignType string `json:"sign_type,omitempty"` // 签名类型,目前支持HMAC-SHA256和MD5,默认为MD5 DeviceInfo string `json:"device_info,omitempty"` // (非必填) 微信支付分配的终端设备号,商户自定义 InterfaceUrl string `json:"interface_url"` // (不需要手动填写) 上报对应的接口的完整URL,类似:https://api.mch.weixin.qq.com/pay/unifiedorder 对于刷卡支付,为更好的和商户共同分析一次业务行为的整体耗时情况,对于两种接入模式,请都在门店侧对一次刷卡行为进行一次单独的整体上报,上报URL指定为:https://api.mch.weixin.qq.com/pay/micropay/total 关于两种接入模式具体可参考本文档章节:刷卡支付商户接入模式 其它接口调用仍然按照调用一次,上报一次来进行. UserIp string `json:"user_ip"` // 发起接口调用时的机器IP TradesStr string `json:"trades"` // POS机采集的交易信息列表,使用JSON格式的数组 // 生成TradesStr Trades []WxPayReportMicropayBodyTrade `json:"-"` }
WxPayReportMicropayBody 交易保障(MICROPAY)的参数
type WxPayReportMicropayBodyTrade ¶
type WxPayReportMicropayBodyTrade struct { OutTradeNo string `json:"out_trade_no"` // 商户订单号 BeginTime string `json:"begin_time"` // 交易开始时间(扫码时间) EndTime string `json:"end_time"` // 交易完成时间 State string `json:"state"` // 交易结果,OK-成功 FAIL-失败 CANCLE-取消 ErrMsg string `json:"err_msg,omitempty"` // 自定义的错误描述信息 }
WxPayReportMicropayBodyTrade 生成TradesStr
type WxPayReverseMicroOrderBody ¶
type WxPayReverseMicroOrderBody struct { TransactionId string `json:"transaction_id,omitempty"` // 微信支付订单号 OutTradeNo string `json:"out_trade_no"` // 商户系统内部订单号,要求32个字符内,只能是数字、大小写字母_-|*@ ,且在同一个商户号下唯一. }
WxPayReverseMicroOrderBody 撤销订单的参数
type WxPayReverseMicroOrderResponse ¶
type WxPayReverseMicroOrderResponse struct { WxResponseModel WxPayPartnerResponseModel Recall string `xml:"recall"` // 是否需要继续调用撤销,Y-需要,N-不需要 }
WxPayReverseMicroOrderResponse 撤销订单的返回值
func WxPayReverseMicroOrder ¶
func WxPayReverseMicroOrder(wxPayConfig IWxPayConfig, body *WxPayReverseMicroOrderBody) (*WxPayReverseMicroOrderResponse, error)
WxPayReverseMicroOrder 撤销付款码订单 https://pay.weixin.qq.com/wiki/doc/api/micropay.php?chapter=9_11&index=3
type WxPaySceneInfoModel ¶
type WxPaySceneInfoModel struct { ID string `json:"id"` // 门店唯一标识 Name string `json:"name"` // 门店名称 AreaCode string `json:"area_code"` // 门店所在地行政区划码,详细见《最新县及县以上行政区划代码》 Address string `json:"address"` // 门店详细地址 }
WxPaySceneInfoModel 场景信息模型
type WxPaySendGroupRedPackBody ¶ added in v1.0.7
type WxPaySendGroupRedPackBody struct { WxPaySendRedPackBody AmtType string `json:"amt_type"` //红包金额设置方式 ALL_RAND—全部随机,商户指定总金额和红包发放总人数,由微信支付随机计算出各红包金额 }
WxPaySendGroupRedPackBody 微信裂变红包参数
type WxPaySendGroupRedPackResponse ¶ added in v1.0.7
type WxPaySendGroupRedPackResponse struct {
WxPaySendRedPackResponse
}
WxPaySendGroupRedPackResponse 微信裂变红包返回值
func WxPaySendGroupRedPack ¶ added in v1.0.7
func WxPaySendGroupRedPack(wxPayConfig IWxPayConfig, body *WxPaySendGroupRedPackBody) (*WxPaySendGroupRedPackResponse, error)
WxPaySendGroupRedPack 发送裂变红包 https://pay.weixin.qq.com/wiki/doc/api/tools/cash_coupon.php?chapter=13_5&index=4
type WxPaySendMiniProgramHBBody ¶ added in v1.0.7
type WxPaySendMiniProgramHBBody struct { WxPaySendRedPackBody NotifyWay string `json:"notify_way"` //通知用户形式 通过JSAPI方式领取红包,小程序红包固定传MINI_PROGRAM_JSAPI }
WxPaySendMiniProgramHBBody 微信发送小程序红包参数
type WxPaySendMiniProgramHBResponse ¶ added in v1.0.7
type WxPaySendMiniProgramHBResponse struct { WxPaySendRedPackResponse JSAPIPackage string `xml:"package"` // 返回jaspi的入参package的值 }
WxPaySendMiniProgramHBResponse 微信发送小程序红包返回值
func WxPaySendMiniProgramHB ¶ added in v1.0.7
func WxPaySendMiniProgramHB(wxPayConfig IWxPayConfig, body *WxPaySendMiniProgramHBBody) (*WxPaySendMiniProgramHBResponse, error)
WxPaySendMiniProgramHB 发送小程序红包 https://pay.weixin.qq.com/wiki/doc/api/tools/cash_coupon.php?chapter=18_2&index=3
type WxPaySendRedPackBody ¶ added in v1.0.7
type WxPaySendRedPackBody struct { MchBillno string `json:"mch_billno"` // 商户订单号(每个订单号必须唯一.取值范围:0~9,a~z,A~Z) 接口根据商户订单号支持重入,如出现超时可再调用. SendName string `json:"send_name"` // 红包发送者名称 注意:敏感词会被转义成字符* ReOpenid string `json:"re_openid"` // 接受红包的用户openid openid为用户在wxappid下的唯一标识(获取openid参见微信公众平台开发者文档:网页授权获取用户基本信息) TotalAmount int `json:"total_amount"` //付款金额,单位分 TotalNum int `json:"total_num"` //红包发放总人数 total_num=1 Wishing string `json:"wishing"` //红包祝福语 注意:敏感词会被转义成字符* ClientIp string `json:"client_ip,omitempty"` //调用接口的机器Ip地址 ActName string `json:"act_name"` //活动名称 注意:敏感词会被转义成字符* Remark string `json:"remark"` //备注信息 SceneId string `json:"scene_id,omitempty"` //发放红包使用场景,红包金额大于200或者小于1元时必传. PRODUCT_1:商品促, PRODUCT_2:抽奖, PRODUCT_3:虚拟物品兑奖, PRODUCT_4:企业内部福利, PRODUCT_5:渠道分润, PRODUCT_6:保险回馈, PRODUCT_7:彩票派奖, PRODUCT_8:税务刮奖 RiskInfo string `json:"risk_info,omitempty"` //活动信息 posttime:用户操作的时间戳 mobile:业务系统账号的手机号,国家代码-手机号.不需要+号 deviceid :mac 地址或者设备唯一标识 clientversion :用户操作的客户端版本 把值为非空的信息用key=value进行拼接,再进行urlencode urlencode(posttime=xx& mobile =xx&deviceid=xx) }
WxPaySendRedPackBody 微信发送红包参数
type WxPaySendRedPackResponse ¶ added in v1.0.7
type WxPaySendRedPackResponse struct { ReturnCode string `xml:"return_code"` // SUCCESS/FAIL 此字段是通信标识,非交易标识,交易是否成功需要查看result_code来判断 ReturnMsg string `xml:"return_msg"` // 返回信息,如非空,为错误原因:签名失败/参数格式校验错误 //以下字段在return_code为SUCCESS的时候有返回 ResultCode string `xml:"result_code"` // SUCCESS/FAIL ErrCode string `xml:"err_code"` // 详细参见第6节错误列表 ErrCodeDes string `xml:"err_code_des"` // 错误返回的信息描述 MchBillno string `xml:"mch_billno"` // 商户订单号(每个订单号必须唯一.取值范围:0~9,a~z,A~Z) 接口根据商户订单号支持重入,如出现超时可再调用. MchId string `xml:"mch_id"` // 微信支付分配的商户号 WxAppId string `xml:"wxappid"` // 微信分配的公众账号ID(企业号corpid即为此appId).在微信开放平台(open.weixin.qq.com)申请的移动应用appid无法使用该接口 ReOpenid string `xml:"re_openid"` // 接受红包的用户openid openid为用户在wxappid下的唯一标识(获取openid参见微信公众平台开发者文档:网页授权获取用户基本信息) TotalAmount int `xml:"total_amount"` // 付款金额,单位分 SendListid string `xml:"send_listid"` // 红包订单的微信单号 }
WxPaySendRedPackResponse 微信发送红包返回值
func WxPaySendRedPack ¶ added in v1.0.7
func WxPaySendRedPack(wxPayConfig IWxPayConfig, body *WxPaySendRedPackBody) (*WxPaySendRedPackResponse, error)
WxPaySendRedPack 发送红包 https://pay.weixin.qq.com/wiki/doc/api/tools/cash_coupon.php?chapter=13_4&index=3
type WxPayUnifiedOrderBody ¶
type WxPayUnifiedOrderBody struct { SignType string `json:"sign_type,omitempty"` // 签名类型,目前支持HMAC-SHA256和MD5,默认为MD5 DeviceInfo string `json:"device_info,omitempty"` // (非必填) 终端设备号(门店号或收银设备ID),注意:PC网页或JSAPI支付请传"WEB" Body string `json:"body"` // 商品描述交易字段格式根据不同的应用场景建议按照以下格式上传: (1)PC网站——传入浏览器打开的网站主页title名-实际商品名称,例如:腾讯充值中心-QQ会员充值;(2) 公众号——传入公众号名称-实际商品名称,例如:腾讯形象店- image-QQ公仔;(3) H5——应用在浏览器网页上的场景,传入浏览器打开的移动网页的主页title名-实际商品名称,例如:腾讯充值中心-QQ会员充值;(4) 线下门店——门店品牌名-城市分店名-实际商品名称,例如: image形象店-深圳腾大- QQ公仔)(5) APP——需传入应用市场上的APP名字-实际商品名称,天天爱消除-游戏充值. Detail string `json:"detail,omitempty"` // (非必填) TODO 商品详细描述,对于使用单品优惠的商户,该字段必须按照规范上传,详见"单品优惠参数说明" Attach string `json:"attach,omitempty"` // (非必填) 附加数据,在查询API和支付通知中原样返回,该字段主要用于商户携带订单的自定义数据 OutTradeNo string `json:"out_trade_no"` // 商户系统内部订单号,要求32个字符内,只能是数字、大小写字母_-|*且在同一个商户号下唯一.详见商户订单号 FeeType string `json:"fee_type,omitempty"` // (非必填) 符合ISO 4217标准的三位字母代码,默认人民币:CNY,其他值列表详见货币类型 TotalFee int `json:"total_fee"` // 订单总金额,单位为分,只能为整数,详见支付金额 SpbillCreateIP string `json:"spbill_create_ip"` // 支持IPV4和IPV6两种格式的IP地址.调用微信支付API的机器IP TimeStart string `json:"time_start,omitempty"` // (非必填) 订单生成时间,格式为yyyyMMddHHmmss,如2009年12月25日9点10分10秒表示为20091225091010.其他详见时间规则 TimeExpire string `json:"time_expire,omitempty"` // (非必填) 订单失效时间,格式为yyyyMMddHHmmss,如2009年12月27日9点10分10秒表示为20091227091010.订单失效时间是针对订单号而言的,由于在请求支付的时候有一个必传参数prepay_id只有两小时的有效期,所以在重入时间超过2小时的时候需要重新请求下单接口获取新的prepay_id.其他详见时间规则.建议:最短失效时间间隔大于1分钟 GoodsTag string `json:"goods_tag,omitempty"` // (非必填) TODO 订单优惠标记,代金券或立减优惠功能的参数,说明详见代金券或立减优惠 NotifyUrl string `json:"notify_url"` // 接收微信支付异步通知回调地址,通知url必须为直接可访问的url,不能携带参数. TradeType string `json:"trade_type"` // JSAPI-JSAPI支付 NATIVE-Native支付 APP-APP支付 说明详见参数规定 ProductId string `json:"product_id,omitempty"` // (非必填) trade_type=NATIVE时,此参数必传.此id为二维码中包含的商品ID,商户自行定义. LimitPay string `json:"limit_pay,omitempty"` // (非必填) no_credit:指定不能使用信用卡支付 OpenId string `json:"openid,omitempty"` // (非必填) trade_type=JSAPI,此参数必传,用户在主商户appid下的唯一标识.openid和sub_openid可以选传其中之一,如果选择传sub_openid,则必须传sub_appid.下单前需要调用【网页授权获取用户信息】接口获取到用户的Openid. SubOpenId string `json:"sub_openid,omitempty"` // (非必填) trade_type=JSAPI,此参数必传,用户在子商户appid下的唯一标识.openid和sub_openid可以选传其中之一,如果选择传sub_openid,则必须传sub_appid.下单前需要调用【网页授权获取用户信息】接口获取到用户的Openid. Receipt string `json:"receipt,omitempty"` // (非必填) Y,传入Y时,支付成功消息和支付详情页将出现开票入口.需要在微信支付商户平台或微信公众平台开通电子发票功能,传此字段才可生效 SceneInfo string `json:"scene_info,omitempty"` // (非必填) 该字段用于上报场景信息,目前支持上报实际门店信息.该字段为JSON对象数据,对象格式为{"store_info":{"id": "门店ID","name": "名称","area_code": "编码","address": "地址" }} ,字段详细说明请点击行前的+展开 // 用于生成SceneInfo SceneInfoModel *WxPaySceneInfoModel `json:"-"` }
WxPayUnifiedOrderBody 统一下单的参数
type WxPayUnifiedOrderResponse ¶
type WxPayUnifiedOrderResponse struct { WxResponseModel // 当return_code为SUCCESS时 WxPayPartnerResponseModel DeviceInfo string `xml:"device_info"` // 调用接口提交的终端设备号 // 当return_code 和result_code都为SUCCESS时 TradeType string `xml:"trade_type"` // JSAPI-公众号支付 NATIVE-Native支付 APP-APP支付 说明详见参数规定 PrepayId string `xml:"prepay_id"` // 微信生成的预支付回话标识,用于后续接口调用中使用,该值有效期为2小时 CodeUrl string `xml:"code_url"` // trade_type=NATIVE时有返回,此url用于生成支付二维码,然后提供给用户进行扫码支付.注意:code_url的值并非固定,使用时按照URL格式转成二维码即可 MWebUrl string `xml:"mweb_url"` // mweb_url为拉起微信支付收银台的中间页面,可通过访问该url来拉起微信客户端,完成支付,mweb_url的有效期为5分钟. }
WxPayUnifiedOrderResponse 统一下单的返回值
func WxPayUnifiedOrder ¶
func WxPayUnifiedOrder(wxPayConfig IWxPayConfig, body *WxPayUnifiedOrderBody) (*WxPayUnifiedOrderResponse, error)
WxPayUnifiedOrder 统一下单 https://pay.weixin.qq.com/wiki/doc/api/jsapi.php?chapter=9_1
type WxResponseModel ¶
type WxResponseModel struct { ReturnCode string `xml:"return_code"` // SUCCESS/FAIL 此字段是通信标识,非交易标识,交易是否成功需要查看result_code来判断 ReturnMsg string `xml:"return_msg"` // 返回信息,如非空,为错误原因:签名失败/参数格式校验错误 RetMsg string `xml:"retmsg"` // 沙盒时返回的错误信息 }
WxResponseModel 返回结果的通信标识
func WxPayReportJsApi ¶
func WxPayReportJsApi(wxPayConfig IWxPayConfig, body *WxPayReportJsAPIBody) (*WxResponseModel, error)
WxPayReportJsApi 交易保障(JSAPI) https://pay.weixin.qq.com/wiki/doc/api/jsapi.php?chapter=9_8&index=9
func WxPayReportMicropay ¶
func WxPayReportMicropay(wxPayConfig IWxPayConfig, body *WxPayReportMicropayBody) (*WxResponseModel, error)
WxPayReportMicropay 交易保障(MICROPAY) https://pay.weixin.qq.com/wiki/doc/api/micropay.php?chapter=9_14&index=8
Source Files ¶
- IWxConfig.go
- WxAccessTokenApi.go
- WxMaAuthorizationAPI.go
- WxMaQrCodeAPI.go
- WxMaSubscribeMessageSendApi.go
- WxModelStruct.go
- WxMpQrcodeApi.go
- WxMpTemplateMsgApi.go
- WxMpWebAuthorizationAPI.go
- WxPayCloseOrderAPI.go
- WxPayConfigConst.go
- WxPayDownloadBillAPI.go
- WxPayMicropayAPI.go
- WxPayMktTransfersAPI.go
- WxPayNotifyPayAPI.go
- WxPayQueryOrderAPI.go
- WxPayQueryRefundAPI.go
- WxPayRedPackAPI.go
- WxPayRefundAPI.go
- WxPayReportJsAPI.go
- WxPayReportMicropayAPI.go
- WxPayReverseMicroOrderAPI.go
- WxPayUnifiedOrderAPI.go
- wxPaySign.go
- wxUtils.go