Documentation
¶
Overview ¶
==================================
- Name:Jerry
- Tel:18017448610
- DateTime:2019/1/13 14:42
==================================
==================================
- Name:Jerry
- Tel:18017448610
- DateTime:2019/1/16 0:30
==================================
==================================
- Name:Jerry
- DateTime:2019/6/18 19:24
- Desc:
==================================
==================================
- 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 FormatAliPayPublicKey(publicKey string) (pKey string)
- func FormatAliPayURLParam(body BodyMap) (urlParam string)
- func FormatDate(dateStr string) (formatDate string)
- func FormatDateTime(timeStr string) (formatTime string)
- func FormatPrivateKey(privateKey string) (pKey string)
- func GetAppPaySign(appid, partnerid, noncestr, prepayid, signType, timestamp, apiKey string) (paySign string)
- func GetH5PaySign(appId, nonceStr, prepayId, signType, timeStamp, apiKey string) (paySign string)
- func GetMiniPaySign(appId, nonceStr, prepayId, signType, timeStamp, apiKey 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, privateKey string, isProd bool) (client *aliPayClient)
- func NewWeChatClient(appId, mchId, apiKey string, isProd bool) (client *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)
- func VerifyAliPayResultSign(aliPayPublicKey string, notifyRsp *AliPayNotifyRequest) (ok bool, err error)
- func VerifyPayResultSign(apiKey string, signType string, notifyRsp *WeChatNotifyRequest) (ok bool, sign string)
- type AccessToken
- type AliPayNotifyRequest
- type AliPayTradeCancelResponse
- type AliPayTradeCloseResponse
- type AliPayTradeCreateResponse
- type AliPayTradePayResponse
- type AliPayTradeQueryResponse
- type AlipayTradeResponseInfo
- type BodyMap
- type Code2SessionRsp
- type FundBillListInfo
- type PaidUnionId
- type ReturnMessage
- type VoucherDetailListInfo
- type WeChatCloseOrderResponse
- type WeChatMicropayResponse
- type WeChatNotifyRequest
- type WeChatNotifyResponse
- type WeChatQueryOrderResponse
- type WeChatQueryRefundResponse
- type WeChatRefundResponse
- type WeChatReverseResponse
- type WeChatUnifiedOrderResponse
- type WeChatUserInfo
- type WeChatUserPhone
Constants ¶
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" )
const ( SUCCESS = "SUCCESS" FAIL = "FAIL" )
Variables ¶
This section is empty.
Functions ¶
func DecryptOpenDataToStruct ¶ added in v1.0.7
解密开放数据
encryptedData:包括敏感数据在内的完整用户信息的加密数据 iv:加密算法的初始向量 sessionKey:会话密钥 beanPtr:需要解析到的结构体指针
func FormatAliPayPublicKey ¶ added in v1.1.1
格式化秘钥
func FormatAliPayURLParam ¶ added in v1.1.1
格式化请求URL参数
func FormatPrivateKey ¶ added in v1.1.1
格式化秘钥
func GetAppPaySign ¶ added in v1.1.0
func GetAppPaySign(appid, partnerid, noncestr, prepayid, signType, timestamp, apiKey string) (paySign string)
APP支付,统一下单获取支付参数后,再次计算APP支付所需要的的sign
signType:此处签名方式,务必与统一下单时用的签名方式一致
func GetH5PaySign ¶ added in v1.0.5
JSAPI支付,统一下单获取支付参数后,再次计算出微信内H5支付需要用的paySign
func GetMiniPaySign ¶
JSAPI支付,统一下单获取支付参数后,再次计算出小程序用的paySign
func HttpAgent ¶ added in v1.0.6
func HttpAgent() (agent *gorequest.SuperAgent)
func PKCS7UnPadding ¶ added in v1.0.7
解密填充模式(去除补全码) PKCS7UnPadding 解密时,需要在最后面去掉加密时添加的填充byte
func VerifyAliPayResultSign ¶ added in v1.1.2
func VerifyAliPayResultSign(aliPayPublicKey string, notifyRsp *AliPayNotifyRequest) (ok bool, err error)
支付通知的签名验证和参数签名后的Sign
aliPayPublicKey:支付宝公钥 notifyRsp:利用 gopay.ParseAliPayNotifyResult() 得到的结构体 返回参数ok:是否验证通过 返回参数err:错误信息
func VerifyPayResultSign ¶ added in v1.0.9
func VerifyPayResultSign(apiKey string, signType string, notifyRsp *WeChatNotifyRequest) (ok bool, sign string)
支付通知的签名验证和参数签名后的Sign
apiKey:API秘钥值 signType:签名类型 MD5 或 HMAC-SHA256(默认请填写 MD5) notifyRsp:利用 gopay.ParseNotifyResult() 得到的结构体 返回参数ok:是否验证通过 返回参数sign:根据参数计算的sign值,非微信返回参数中的Sign
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 AliPayNotifyRequest ¶ added in v1.1.2
type AliPayNotifyRequest struct {
NotifyTime string `json:"notify_time"`
NotifyType string `json:"notify_type"`
NotifyId string `json:"notify_id"`
AppId string `json:"app_id"`
Charset string `json:"charset"`
Version string `json:"version"`
SignType string `json:"sign_type"`
Sign string `json:"sign"`
AuthAppId string `json:"auth_app_id"`
TradeNo string `json:"trade_no"`
OutTradeNo string `json:"out_trade_no"`
OutBizNo string `json:"out_biz_no"`
BuyerId string `json:"buyer_id"`
BuyerLogonId string `json:"buyer_logon_id"`
SellerId string `json:"seller_id"`
SellerEmail string `json:"seller_email"`
TradeStatus string `json:"trade_status"`
TotalAmount string `json:"total_amount"`
ReceiptAmount string `json:"receipt_amount"`
InvoiceAmount string `json:"invoice_amount"`
BuyerPayAmount string `json:"buyer_pay_amount"`
PointAmount string `json:"point_amount"`
RefundFee string `json:"refund_fee"`
Subject string `json:"subject"`
Body string `json:"body"`
GmtCreate string `json:"gmt_create"`
GmtPayment string `json:"gmt_payment"`
GmtRefund string `json:"gmt_refund"`
GmtClose string `json:"gmt_close"`
FundBillList []FundBillListInfo `json:"fund_bill_list"`
PassbackParams string `json:"passback_params"`
VoucherDetailList []VoucherDetailListInfo `json:"voucher_detail_list"`
}
func ParseAliPayNotifyResult ¶ added in v1.1.2
func ParseAliPayNotifyResult(req *http.Request) (notifyRsp *AliPayNotifyRequest, err error)
解析支付宝支付完成后的Notify信息
type AliPayTradeCancelResponse ¶ added in v1.1.8
type AliPayTradeCancelResponse struct {
AliPayTradeCancelResponse AlipayTradeResponseInfo `json:"alipay_trade_cancel_response"`
Sign string `json:"sign"`
}
type AliPayTradeCloseResponse ¶ added in v1.1.8
type AliPayTradeCloseResponse struct {
AlipayTradeCloseResponse AlipayTradeResponseInfo `json:"alipay_trade_close_response"`
Sign string `json:"sign"`
}
type AliPayTradeCreateResponse ¶ added in v1.1.8
type AliPayTradeCreateResponse struct {
AliPayTradeCreateResponse AlipayTradeResponseInfo `json:"alipay_trade_create_response"`
Sign string `json:"sign"`
}
type AliPayTradePayResponse ¶ added in v1.1.8
type AliPayTradePayResponse struct {
AlipayTradePayResponse AlipayTradeResponseInfo `json:"alipay_trade_pay_response"`
Sign string `json:"sign"`
}
type AliPayTradeQueryResponse ¶ added in v1.1.8
type AliPayTradeQueryResponse struct {
AlipayTradeQueryResponse AlipayTradeResponseInfo `json:"alipay_trade_query_response"`
Sign string `json:"sign"`
}
type AlipayTradeResponseInfo ¶ added in v1.1.8
type AlipayTradeResponseInfo struct {
Code string `json:"code,omitempty"`
Msg string `json:"msg,omitempty"`
SubCode string `json:"sub_code,omitempty"`
SubMsg string `json:"sub_msg,omitempty"`
TradeNo string `json:"trade_no,omitempty"`
OutTradeNo string `json:"out_trade_no,omitempty"`
BuyerLogonId string `json:"buyer_logon_id,omitempty"`
TradeStatus string `json:"trade_status,omitempty"`
SettleAmount string `json:"settle_amount,omitempty"`
PayCurrency string `json:"pay_currency,omitempty"`
PayAmount string `json:"pay_amount,omitempty"`
SettleTransRate string `json:"settle_trans_rate,omitempty"`
TransPayRate string `json:"trans_pay_rate,omitempty"`
TotalAmount string `json:"total_amount,omitempty"`
TransCurrency string `json:"trans_currency,omitempty"`
SettleCurrency string `json:"settle_currency,omitempty"`
ReceiptAmount string `json:"receipt_amount,omitempty"`
BuyerPayAmount string `json:"buyer_pay_amount,omitempty"`
PointAmount string `json:"point_amount,omitempty"`
InvoiceAmount string `json:"invoice_amount,omitempty"`
SendPayDate string `json:"send_pay_date,omitempty"`
GmtPayment string `json:"gmt_payment,omitempty"`
FundBillList []FundBillListInfo `json:"fund_bill_list,omitempty"`
CardBalance string `json:"card_balance,omitempty"`
TerminalId string `json:"terminal_id,omitempty"`
StoreId string `json:"store_id,omitempty"`
StoreName string `json:"store_name,omitempty"`
BuyerUserId string `json:"buyer_user_id,omitempty"`
DiscountGoodsDetail string `json:"discount_goods_detail,omitempty"`
VoucherDetailList []VoucherDetailListInfo `json:"voucher_detail_list,omitempty"`
AdvanceAmount string `json:"advance_amount,omitempty"`
AuthTradePayMode string `json:"auth_trade_pay_mode,omitempty"`
ChargeAmount string `json:"charge_amount,omitempty"`
ChargeFlags string `json:"charge_flags,omitempty"`
SettlementId string `json:"settlement_id,omitempty"`
BusinessParams string `json:"business_params,omitempty"`
BuyerUserType string `json:"buyer_user_type,omitempty"`
MdiscountAmount string `json:"mdiscount_amount,omitempty"`
DiscountAmount string `json:"discount_amount,omitempty"`
BuyerUserName string `json:"buyer_user_name,omitempty"`
Subject string `json:"subject,omitempty"`
Body string `json:"body,omitempty"`
AlipaySubMerchantId string `json:"alipay_sub_merchant_id,omitempty"`
ExtInfos string `json:"ext_infos,omitempty"`
RetryFlag string `json:"retry_flag,omitempty"`
Action string `json:"action,omitempty"`
GmtRefundPay string `json:"gmt_refund_pay,omitempty"`
RefundSettlementId string `json:"refund_settlement_id,omitempty"`
}
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 FundBillListInfo ¶ added in v1.1.2
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 VoucherDetailListInfo ¶ added in v1.1.2
type VoucherDetailListInfo struct {
Id string `json:"id"`
Name string `json:"name"`
Type string `json:"type"`
Amount string `json:"amount"`
MerchantContribute string `json:"merchant_contribute,omitempty"`
OtherContribute string `json:"other_contribute,omitempty"`
Memo string `json:"memo,omitempty"`
TemplateId string `json:"template_id,omitempty"`
PurchaseBuyerContribute string `json:"purchase_buyer_contribute,omitempty"`
PurchaseMerchantContribute string `json:"purchase_merchant_contribute,omitempty"`
PurchaseAntContribute string `json:"purchase_ant_contribute,omitempty"`
}
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)
解析支付完成后的Notify信息
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 英语

