Documentation
¶
Overview ¶
==================================
- Name:Jerry
- Tel:18017448610
- DateTime:2019/1/13 14:42
==================================
==================================
- Name:Jerry
- Tel:18017448610
- DateTime:2019/1/16 0:30
==================================
==================================
- Name:Jerry
- Tel:18017448610
- DateTime:2019/1/28 20:16
==================================
==================================
- Name:Jerry
- Tel:18017448610
- DateTime:2019/1/13 14:03
==================================
==================================
- Name:Jerry
- DateTime:2019/5/6 13:16
- Desc:
==================================
Index ¶
- Constants
- func DecryptOpenDataToStruct(encryptedData, iv, sessionKey string, beanPtr interface{}) (err error)
- func Float32ToString(floatNum float32, prec ...int) (floatStr string)
- func Float64ToString(floatNum float64, prec ...int) (floatStr string)
- func FormatDate(dateStr string) (formatDate string)
- func FormatDateTime(timeStr string) (formatTime string)
- func GetH5PaySign(appId, nonceStr, prepayId, signType, timeStamp, secretKey string) (paySign string)
- func GetMiniPaySign(appId, nonceStr, prepayId, signType, timeStamp, secretKey string) (paySign string)
- func GetRandomString(length int) string
- func HttpAgent() (agent *gorequest.SuperAgent)
- func Int2String(intNum int) (intStr string)
- func Int642String(intNum int64) (int64Str string)
- func NewAlipayClient(appId, mchId string, isProd bool, secretKey ...string) *aliPayClient
- func NewWeChatClient(appId, mchId, secretKey string, isProd bool) *weChatClient
- func PKCS7UnPadding(plainText []byte) []byte
- func ParseDateTime(timeStr string) (datetime time.Time)
- func String2Float(floatStr string) (floatNum float64)
- func String2Int(intStr string) (intNum int)
- func String2Int64(intStr string) (int64Num int64)
- type AccessToken
- type BodyMap
- type Code2SessionRsp
- type PaidUnionId
- type ReturnMessage
- type WeChatCloseOrderResponse
- type WeChatMicropayResponse
- type WeChatNotifyRequest
- type WeChatNotifyResponse
- type WeChatQueryOrderResponse
- type WeChatQueryRefundResponse
- type WeChatRefundResponse
- type WeChatReverseResponse
- type WeChatUnifiedOrderResponse
- type WeChatUserInfo
- type WeChatUserPhone
Constants ¶
View Source
const ( TimeLayout string = "2006-01-02 15:04:05" DateLayout string = "2006-01-02" //支付类型 TradeType_Mini = "JSAPI" TradeType_JsApi = "JSAPI" TradeType_App = "APP" TradeType_H5 = "MWEB" TradeType_Native = "NATIVE" //签名方式 SignType_MD5 = "MD5" SignType_HMAC_SHA256 = "HMAC-SHA256" )
View Source
const ( SUCCESS = "SUCCESS" FAIL = "FAIL" )
Variables ¶
This section is empty.
Functions ¶
func DecryptOpenDataToStruct ¶ added in v1.0.7
解密开放数据
encryptedData:包括敏感数据在内的完整用户信息的加密数据 iv:加密算法的初始向量 sessionKey:会话密钥 beanPtr:需要解析到的结构体指针
func GetH5PaySign ¶ added in v1.0.5
func GetH5PaySign(appId, nonceStr, prepayId, signType, timeStamp, secretKey string) (paySign string)
JSAPI支付,支付参数后,再次计算出微信内H5支付需要用的paySign
func GetMiniPaySign ¶
func GetMiniPaySign(appId, nonceStr, prepayId, signType, timeStamp, secretKey string) (paySign string)
JSAPI支付,支付参数后,再次计算出小程序用的paySign
func HttpAgent ¶ added in v1.0.6
func HttpAgent() (agent *gorequest.SuperAgent)
func NewAlipayClient ¶
初始化支付宝客户端
appId:应用ID MchID:商户ID isProd:是否是正式环境 secretKey:key,(当isProd为true时,此参数必传;false时,此参数为空)
func PKCS7UnPadding ¶ added in v1.0.7
解密填充模式(去除补全码) PKCS7UnPadding 解密时,需要在最后面去掉加密时添加的填充byte
Types ¶
type AccessToken ¶ added in v1.0.7
type AccessToken struct {
AccessToken string `json:"access_token"` //获取到的凭证
ExpiresIn int `json:"expires_in"` //SessionKey超时时间(秒)
Errcode int `json:"errcode"` //错误码
Errmsg string `json:"errmsg"` //错误信息
}
func GetAccessToken ¶ added in v1.0.6
func GetAccessToken(appId, appSecret string) (accessToken *AccessToken, err error)
获取小程序全局唯一后台接口调用凭据(AccessToken:157字符)
appId:APPID appSecret:AppSecret
type Code2SessionRsp ¶ added in v1.0.6
type Code2SessionRsp struct {
SessionKey string `json:"session_key"` //会话密钥
ExpiresIn int `json:"expires_in"` //SessionKey超时时间(秒)
Openid string `json:"openid"` //用户唯一标识
Unionid string `json:"unionid"` //用户在开放平台的唯一标识符
Errcode int `json:"errcode"` //错误码
Errmsg string `json:"errmsg"` //错误信息
}
func Code2Session ¶ added in v1.0.6
func Code2Session(appId, appSecret, wxCode string) (sessionRsp *Code2SessionRsp, err error)
获取微信用户的OpenId、SessionKey、UnionId
appId:APPID appSecret:AppSecret wxCode:小程序调用wx.login 获取的code
type PaidUnionId ¶ added in v1.0.7
type PaidUnionId struct {
Unionid string `json:"unionid"` //用户在开放平台的唯一标识符
Errcode int `json:"errcode"` //错误码
Errmsg string `json:"errmsg"` //错误信息
}
func GetPaidUnionId ¶ added in v1.0.6
func GetPaidUnionId(accessToken, openId, transactionId string) (unionId *PaidUnionId, err error)
用户支付完成后,获取该用户的 UnionId,无需用户授权。
accessToken:接口调用凭据 openId:用户的OpenID transactionId:微信支付订单号
type ReturnMessage ¶
type WeChatCloseOrderResponse ¶
type WeChatCloseOrderResponse struct {
ReturnCode string `xml:"return_code"`
ReturnMsg string `xml:"return_msg"`
Appid string `xml:"appid"`
MchId string `xml:"mch_id"`
DeviceInfo string `xml:"device_info"`
NonceStr string `xml:"nonce_str"`
Sign string `xml:"sign"`
ResultCode string `xml:"result_code"`
ErrCode string `xml:"err_code"`
ErrCodeDes string `xml:"err_code_des"`
}
type WeChatMicropayResponse ¶
type WeChatMicropayResponse struct {
ReturnCode string `xml:"return_code"`
ReturnMsg string `xml:"return_msg"`
Appid string `xml:"appid"`
MchId string `xml:"mch_id"`
DeviceInfo string `xml:"device_info"`
NonceStr string `xml:"nonce_str"`
Sign string `xml:"sign"`
ResultCode string `xml:"result_code"`
ErrCode string `xml:"err_code"`
ErrCodeDes string `xml:"err_code_des"`
Openid string `xml:"openid"`
IsSubscribe string `xml:"is_subscribe"`
TradeType string `xml:"trade_type"`
BankType string `xml:"bank_type"`
FeeType string `xml:"fee_type"`
TotalFee int `xml:"total_fee"`
SettlementTotalFee int `xml:"settlement_total_fee"`
CouponFee int `xml:"coupon_fee"`
CashFeeType string `xml:"cash_fee_type"`
CashFee int `xml:"cash_fee"`
TransactionId string `xml:"transaction_id"`
OutTradeNo string `xml:"out_trade_no"`
Attach string `xml:"attach"`
TimeEnd string `xml:"time_end"`
PromotionDetail string `xml:"promotion_detail"`
}
type WeChatNotifyRequest ¶
type WeChatNotifyRequest struct {
ReturnCode string `xml:"return_code"`
ReturnMsg string `xml:"return_msg"`
ResultCode string `xml:"result_code"`
ErrCode string `xml:"err_code"`
ErrCodeDes string `xml:"err_code_des"`
Appid string `xml:"appid"`
MchId string `xml:"mch_id"`
DeviceInfo string `xml:"device_info"`
NonceStr string `xml:"nonce_str"`
Sign string `xml:"sign"`
SignType string `xml:"sign_type"`
Openid string `xml:"openid"`
IsSubscribe string `xml:"is_subscribe"`
TradeType string `xml:"trade_type"`
BankType string `xml:"bank_type"`
TotalFee int `xml:"total_fee"`
SettlementTotalFee int `xml:"settlement_total_fee"`
FeeType string `xml:"fee_type"`
CashFee int `xml:"cash_fee"`
CashFeeType string `xml:"cash_fee_type"`
CouponFee int `xml:"coupon_fee"`
CouponCount int `xml:"coupon_count"`
CouponType0 string `xml:"coupon_type_0"`
CouponId0 string `xml:"coupon_id_0"`
CouponFee0 int `xml:"coupon_fee_0"`
TransactionId string `xml:"transaction_id"`
OutTradeNo string `xml:"out_trade_no"`
Attach string `xml:"attach"`
TimeEnd string `xml:"time_end"`
}
func ParseNotifyResult ¶
func ParseNotifyResult(req *http.Request) (notifyRsp *WeChatNotifyRequest, err error)
解析支付完成后的回调信息
type WeChatNotifyResponse ¶
type WeChatNotifyResponse struct {
ReturnCode string `xml:"return_code"`
ReturnMsg string `xml:"return_msg"`
}
func (*WeChatNotifyResponse) ToXmlString ¶
func (this *WeChatNotifyResponse) ToXmlString() (xmlStr string)
type WeChatQueryOrderResponse ¶
type WeChatQueryOrderResponse struct {
ReturnCode string `xml:"return_code"`
ReturnMsg string `xml:"return_msg"`
Appid string `xml:"appid"`
MchId string `xml:"mch_id"`
NonceStr string `xml:"nonce_str"`
Sign string `xml:"sign"`
ResultCode string `xml:"result_code"`
ErrCode string `xml:"err_code"`
ErrCodeDes string `xml:"err_code_des"`
DeviceInfo string `xml:"device_info"`
Openid string `xml:"openid"`
IsSubscribe string `xml:"is_subscribe"`
TradeType string `xml:"trade_type"`
TradeState string `xml:"trade_state"`
BankType string `xml:"bank_type"`
TotalFee int `xml:"total_fee"`
SettlementTotalFee int `xml:"settlement_total_fee"`
FeeType string `xml:"fee_type"`
CashFee int `xml:"cash_fee"`
CashFeeType string `xml:"cash_fee_type"`
CouponFee int `xml:"coupon_fee"`
CouponCount int `xml:"coupon_count"`
CouponType0 string `xml:"coupon_type_0"`
CouponId0 string `xml:"coupon_id_0"`
CouponFee0 int `xml:"coupon_fee_0"`
TransactionId string `xml:"transaction_id"`
OutTradeNo string `xml:"out_trade_no"`
Attach string `xml:"attach"`
TimeEnd string `xml:"time_end"`
TradeStateDesc string `xml:"trade_state_desc"`
}
type WeChatQueryRefundResponse ¶
type WeChatQueryRefundResponse struct {
ReturnCode string `xml:"return_code"`
ReturnMsg string `xml:"return_msg"`
ResultCode string `xml:"result_code"`
ErrCode string `xml:"err_code"`
ErrCodeDes string `xml:"err_code_des"`
Appid string `xml:"appid"`
MchId string `xml:"mch_id"`
NonceStr string `xml:"nonce_str"`
Sign string `xml:"sign"`
TotalRefundCount int `xml:"total_refund_count"`
TransactionId string `xml:"transaction_id"`
OutTradeNo string `xml:"out_trade_no"`
TotalFee int `xml:"total_fee"`
SettlementTotalFee int `xml:"settlement_total_fee"`
FeeType string `xml:"fee_type"`
CashFee int `xml:"cash_fee"`
RefundCount int `xml:"refund_count"`
OutRefundNo0 string `xml:"out_refund_no_0"`
RefundId0 string `xml:"refund_id_0"`
RefundChannel0 string `xml:"refund_channel_0"`
RefundFee0 int `xml:"refund_fee_0"`
SettlementRefundFee0 int `xml:"settlement_refund_fee_0"`
CouponType00 string `xml:"coupon_type_0_0"`
CouponRefundFee0 int `xml:"coupon_refund_fee_0"`
CouponRefundCount0 int `xml:"coupon_refund_count_0"`
CouponRefundId00 string `xml:"coupon_refund_id_0_0"`
CouponRefundFee00 int `xml:"coupon_refund_fee_0_0"`
RefundStatus0 string `xml:"refund_status_0"`
RefundAccount0 string `xml:"refund_account_0"`
RefundRecvAccout0 string `xml:"refund_recv_accout_0"`
RefundSuccessTime0 string `xml:"refund_success_time_0"`
}
type WeChatRefundResponse ¶
type WeChatRefundResponse struct {
ReturnCode string `xml:"return_code"`
ReturnMsg string `xml:"return_msg"`
ResultCode string `xml:"result_code"`
ErrCode string `xml:"err_code"`
ErrCodeDes string `xml:"err_code_des"`
Appid string `xml:"appid"`
MchId string `xml:"mch_id"`
NonceStr string `xml:"nonce_str"`
Sign string `xml:"sign"`
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"`
CashFeeType string `xml:"cash_fee_type"`
CashRefundFee int `xml:"cash_refund_fee"`
CouponType0 string `xml:"coupon_type_0"`
CouponRefundFee int `xml:"coupon_refund_fee"`
CouponRefundFee0 int `xml:"coupon_refund_fee_0"`
CouponRefundCount int `xml:"coupon_refund_count"`
CouponRefundId0 string `xml:"coupon_refund_id_0"`
}
type WeChatReverseResponse ¶
type WeChatReverseResponse struct {
ReturnCode string `xml:"return_code"`
ReturnMsg string `xml:"return_msg"`
Appid string `xml:"appid"`
MchId string `xml:"mch_id"`
NonceStr string `xml:"nonce_str"`
Sign string `xml:"sign"`
ResultCode string `xml:"result_code"`
ErrCode string `xml:"err_code"`
ErrCodeDes string `xml:"err_code_des"`
Recall string `xml:"recall"`
}
type WeChatUnifiedOrderResponse ¶
type WeChatUnifiedOrderResponse struct {
ReturnCode string `xml:"return_code"`
ReturnMsg string `xml:"return_msg"`
Appid string `xml:"appid"`
MchId string `xml:"mch_id"`
DeviceInfo string `xml:"device_info"`
NonceStr string `xml:"nonce_str"`
Sign string `xml:"sign"`
ResultCode string `xml:"result_code"`
ErrCode string `xml:"err_code"`
ErrCodeDes string `xml:"err_code_des"`
TradeType string `xml:"trade_type"`
PrepayId string `xml:"prepay_id"`
CodeUrl string `xml:"code_url"`
MwebUrl string `xml:"mweb_url"`
}
type WeChatUserInfo ¶ added in v1.0.7
type WeChatUserInfo struct {
Subscribe int `json:"subscribe"` //用户是否订阅该公众号标识,值为0时,代表此用户没有关注该公众号,拉取不到其余信息。
Openid string `json:"openid"` //用户唯一标识
Nickname string `json:"nickname"` //用户的昵称
Sex int `json:"sex"` //用户的性别,值为1时是男性,值为2时是女性,值为0时是未知
Language string `json:"language"` //用户的语言,简体中文为zh_CN
City string `json:"city"` //用户所在城市
Province string `json:"province"` //用户所在省份
Country string `json:"country"` //用户所在国家
Headimgurl string `json:"headimgurl"` //用户头像,最后一个数值代表正方形头像大小(有0、46、64、96、132数值可选,0代表640*640正方形头像),用户没有头像时该项为空。若用户更换头像,原有头像URL将失效。
SubscribeTime int `json:"subscribe_time"` //用户关注时间,为时间戳。如果用户曾多次关注,则取最后关注时间
Unionid string `json:"unionid"` //只有在用户将公众号绑定到微信开放平台帐号后,才会出现该字段。
Remark string `json:"remark"` //公众号运营者对粉丝的备注,公众号运营者可在微信公众平台用户管理界面对粉丝添加备注
Groupid int `json:"groupid"` //用户所在的分组ID(兼容旧的用户分组接口)
TagidList []int `json:"tagid_list"` //用户被打上的标签ID列表
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 其他
QrScene int `json:"qr_scene"` //二维码扫码场景(开发者自定义)
QrSceneStr string `json:"qr_scene_str"` //二维码扫码场景描述(开发者自定义)
Errcode int `json:"errcode"` //错误码
Errmsg string `json:"errmsg"` //错误信息
}
func GetWeChatUserInfo ¶ added in v1.0.7
func GetWeChatUserInfo(accessToken, openId string, lang ...string) (userInfo *WeChatUserInfo, err error)
获取用户基本信息(UnionID机制)
accessToken:接口调用凭据 openId:用户的OpenID lang:默认为 zh_CN ,可选填 zh_CN 简体,zh_TW 繁体,en 英语
type WeChatUserPhone ¶ added in v1.0.7
Click to show internal directories.
Click to hide internal directories.

