You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
|
2 months ago | |
---|---|---|
.. | ||
README.md | 2 months ago | |
login_sign.go | 2 months ago | |
order_sign.go | 2 months ago | |
refund_sign.go | 2 months ago |
README.md
概述
欢迎使用 WT-Game 。本文档将介绍如何安装、初始化和使用登录SDK、订单支付SDK以及订单退款SDK。这些SDK提供了用户登录验证、订单支付签名生成和订单退款签名生成的功能。
安装
通过Go模块管理工具go get
安装SDK:
go get gitea.weitiangame.com/sdk/wt-game
登录SDK
初始化
import (
"gitea.weitiangame.com/sdk/wt-game/wt_sdk"
)
// 初始化SDK,传入密钥secretKey
loginSdk := sdk.NewLogin("your_secret_key")
使用方法
验证Token
err := loginSdk.VerifyToken(accessKey, uid)
if err != nil {
// 处理错误
return
}
// 验证通过,进行后续操作
错误码
ACCESS_TOKEN_ERROR
: 访问令牌错误INVALID_TIMESTAMP
: 无效的时间戳TIMESTAMP_ERROR
: 时间戳错误
示例代码
package main
import (
"fmt"
"gitea.weitiangame.com/sdk/wt-game/wt_sdk"
)
func main() {
loginSdk := wt_sdk.NewLogin("your_secret_key")
accessKey := "keyPart.timestamp.md5Part"
uid := "user_unique_id"
err := loginSdk.VerifyToken(accessKey, uid)
if err != nil {
fmt.Println("验证失败,错误码:", err.Error())
return
}
fmt.Println("验证通过,用户身份合法")
}
订单支付SDK
初始化
// 初始化SDK实例
sdkInstance := wt_sdk.NewOrderPayment("your_secret_key")
生成签名
order := &wt_sdk.Order{
Uid: "12345",
BsTradeNo: "TRADE20231010001",
// 设置其他字段
}
sign, err := sdkInstance.SignParam(order)
if err != nil {
// 处理错误
}
示例代码
package main
import (
"fmt"
"gitea.weitiangame.com/sdk/wt-game/wt_sdk"
)
func main() {
sdkInstance := wt_sdk.NewOrderPayment("your_secret_key")
order := &sdk.Order{
Uid: "12345",
BsTradeNo: "TRADE20231010001",
// 设置其他字段
}
sign, err := sdkInstance.SignParam(order)
if err != nil {
fmt.Println("生成签名失败:", err)
return
}
fmt.Println("签名:", sign)
}
订单退款SDK
初始化
refundSdkInstance := wt_sdk.NewRefundSDK("your_secret_key")
生成签名
orderRefund := &wt_sdk.OrderRefund{
OutTradeNo: "OUT20231010001",
// 设置其他字段
}
sign := refundSdkInstance.SignParam(orderRefund)
示例代码
package main
import (
"fmt"
"gitea.weitiangame.com/sdk/wt-game/wt_sdk"
)
func main() {
refundSdkInstance := wt_sdk.NewRefundSDK("your_secret_key")
orderRefund := &wt_sdk.OrderRefund{
OutTradeNo: "OUT20231010001",
// 设置其他字段
}
sign := refundSdkInstance.SignParam(orderRefund)
fmt.Println("签名:", sign)
}
共同注意事项
- 密钥保管: 确保密钥安全,避免泄露。
- 参数格式: 确保参数格式正确,特别是时间戳和金额字段。
- 签名一致性: 确保签名生成的参数和顺序与对方系统一致。
附录
Order 结构体字段说明
字段名 | 说明 |
---|---|
Uid | 用户ID |
BsTradeNo | 交易编号 |
Role | 用户角色 |
RoleId | 角色ID |
ServerId | 服务器ID |
GoodsName | 商品名称 |
OutTradeNo | 外部交易编号 |
Body | 商品描述 |
CpExtraInfo | 扩展信息 |
TradeState | 交易状态 |
TotalFee | 总费用 |
PayFee | 支付费用 |
PayTime | 支付时间 |
OrderRefund 结构体字段说明
字段名 | 说明 |
---|---|
OutTradeNo | 订单号 |
RoleId | 角色ID |
Status | 订单状态 |
RefundFee | 退款金额 |
Timestamp | 时间戳 |
通过以上步骤,您可顺利使用WT-Game SDK进行用户身份验证、订单支付和订单退款操作。