110 lines
4.4 KiB
Go
110 lines
4.4 KiB
Go
![]() |
package wechat
|
|||
|
|
|||
|
const (
|
|||
|
appId = "wx057a904618b19710"
|
|||
|
appSecret = "9972a1b287261bebbaf9276127228133"
|
|||
|
offerId = "1450125439"
|
|||
|
appKey = "pn0LmWFP9LJlC2La27h6WyAeq3Wo0ePe" // 现网 appKey = "ZBgXETlv4Nrn230EBMYksDFEw33y8fWy" // 沙箱
|
|||
|
apiEnv = 0 // 现网 apiEnv = 1 // 沙箱
|
|||
|
apiUri = "https://api.weixin.qq.com"
|
|||
|
apiCode2Session = "/sns/jscode2session"
|
|||
|
apiGetAccessToken = "/cgi-bin/token"
|
|||
|
apiGetStableAccessToken = "/cgi-bin/stable_token"
|
|||
|
apiGetBalance = "/wxa/game_1/getbalance" //获取余额
|
|||
|
apiPay = "/wxa/game_1/pay" //支付扣款
|
|||
|
apiCancelPay = "/wxa/game_1/cancelpay" //取消支付
|
|||
|
apiPresent = "/wxa/game_1/present" //赠送余额
|
|||
|
syncSignKey = "246e4fabfaeacc8f2a2faa325ba0142c"
|
|||
|
syncUri = "https://pay.77hd.com"
|
|||
|
syncAccessToken = "/api/ios/v1/receive_cp_push_minigame_accesstoken/470526540514463744/470534187137503232"
|
|||
|
)
|
|||
|
|
|||
|
func AppId() string {
|
|||
|
return appId
|
|||
|
}
|
|||
|
|
|||
|
func SyncSignKey() string {
|
|||
|
return syncSignKey
|
|||
|
}
|
|||
|
|
|||
|
type MsgWechatApiAck struct {
|
|||
|
ErrCode uint32 `json:"errcode"` // 错误码
|
|||
|
ErrMsg string `json:"errmsg"` // 错误信息
|
|||
|
}
|
|||
|
|
|||
|
type MsgCode2SessionAck struct {
|
|||
|
MsgWechatApiAck
|
|||
|
OpenId string `json:"openid"` // 用户唯一标识
|
|||
|
UnionId string `json:"unionid"` // 用户在开放平台的唯一标识符,若当前小程序已绑定到微信开放平台账号下会返回,详见 UnionID 机制说明。
|
|||
|
SessionKey string `json:"session_key"` // 会话密钥
|
|||
|
}
|
|||
|
|
|||
|
type MsgGetAccessTokenReq struct {
|
|||
|
GrantType string `json:"grant_type"`
|
|||
|
Appid string `json:"appid"`
|
|||
|
Secret string `json:"secret"`
|
|||
|
ForceRefresh bool `json:"force_refresh,omitempty"`
|
|||
|
}
|
|||
|
|
|||
|
type MsgGetAccessTokenAck struct {
|
|||
|
MsgWechatApiAck
|
|||
|
AccessToken string `json:"access_token"` // 获取到的凭证
|
|||
|
ExpiresIn int64 `json:"expires_in"` // 凭证有效时间,单位:秒。目前是7200秒之内的值。
|
|||
|
}
|
|||
|
|
|||
|
type MsgVirtualPayReq struct {
|
|||
|
OpenId string `json:"openid"` // 用户唯一标识符
|
|||
|
OfferId string `json:"offer_id"` // 支付应用ID(OfferId)
|
|||
|
Ts int64 `json:"ts"` // 当前UNIX时间戳
|
|||
|
ZoneId string `json:"zone_id"` // 已发布的分区ID
|
|||
|
Env int32 `json:"env"` // 环境配置, 0:现网环境(也叫正式环境), 1:沙箱环境
|
|||
|
UserIp string `json:"user_ip,omitempty"` // 用户外网ip
|
|||
|
}
|
|||
|
|
|||
|
type MsgGetBalanceReq struct {
|
|||
|
MsgVirtualPayReq
|
|||
|
}
|
|||
|
|
|||
|
type MsgGetBalanceAck struct {
|
|||
|
MsgWechatApiAck
|
|||
|
Balance int32 `json:"balance"` // 游戏币总余额,包括现金充值和赠送部分。
|
|||
|
PresentBalance int32 `json:"present_balance"` // 赠送账户的游戏币余额
|
|||
|
SumSave int64 `json:"sum_save"` // 累计现金充值获得的游戏币数量
|
|||
|
SumPresent int64 `json:"sum_present"` // 累计赠送的游戏币数量
|
|||
|
SumBalance int64 `json:"sum_balance"` // 累计获得的游戏币数量,包括现金充值和赠送
|
|||
|
SumCost int64 `json:"sum_cost"` // 累计总消耗(即扣除)游戏币数量
|
|||
|
FirstSave bool `json:"first_save"` // 是否满足首充活动标记
|
|||
|
}
|
|||
|
|
|||
|
type MsgPayReq struct {
|
|||
|
MsgVirtualPayReq
|
|||
|
Amount uint32 `json:"amount"` // 金额(分)
|
|||
|
BillNo string `json:"bill_no"` // 扣除游戏币订单号
|
|||
|
PayItem string `json:"payitem,omitempty"` // 道具信息
|
|||
|
Remark string `json:"remark,omitempty"` // 备注
|
|||
|
}
|
|||
|
|
|||
|
type MsgPayAck struct {
|
|||
|
MsgWechatApiAck
|
|||
|
BillNo string `json:"bill_no"` // 扣除游戏币订单号
|
|||
|
Balance int32 `json:"balance"` // 游戏币总余额,包括现金充值和赠送部分。
|
|||
|
UsedPresentAmount int32 `json:"used_present_amount"` // 赠送账户的游戏币余额(原1.0的gen_balance)
|
|||
|
}
|
|||
|
|
|||
|
type MsgCancelPayReq struct {
|
|||
|
MsgVirtualPayReq
|
|||
|
Amount uint32 `json:"amount"` // 金额(分)
|
|||
|
PayBillNo string `json:"pay_bill_no"` // 扣除游戏币订单号
|
|||
|
BillNo string `json:"bill_no"` // 扣除游戏币订单号
|
|||
|
}
|
|||
|
|
|||
|
type MsgCancelPayAck struct {
|
|||
|
MsgWechatApiAck
|
|||
|
BillNo string `json:"bill_no"` // 扣除游戏币订单号
|
|||
|
}
|
|||
|
|
|||
|
type MsgSyncAccessTokenAck struct {
|
|||
|
Code int32 `json:"code"`
|
|||
|
Msg string `json:"msg"`
|
|||
|
}
|