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 | |
sign.go | 2 months ago |
README.md
SDK 使用文档
概述
本SDK 提供了生成签名的功能,主要用于订单相关操作的签名验证。
安装
在Go项目中导入本SDK:
go get "gitea.weitiangame.com/sdk/wt-game"
请将 "gitea.weitiangame.com/sdk/wt-game"
替换为实际的导入路径。
初始化
通过 New
函数创建SDK实例,并传入秘钥:
import (
"fmt"
"gitea.weitiangame.com/sdk/wt-game/sdk"
)
func main() {
secretKey := "your_secret_key"
sdk := sdk.New(secretKey)
// 继续使用SDK
}
生成签名
创建一个 Order
对象并填充相关字段,然后调用 SignParam
方法生成签名:
order := &sdk.Order{
Uid: "12345",
BsTradeNo: "TRADE001",
Role: "Player",
RoleId: "ROLE001",
ServerId: "SERVER01",
GoodsName: "Game Coin",
OutTradeNo: "OUT001",
Body: "Purchase Game Coin",
CpExtraInfo: "extra_info",
TradeState: "SUCCESS",
TotalFee: "100",
PayFee: "95",
PayTime: "2023-10-05 14:30:00",
}
sign, err := sdk.SignParam(order)
if err != nil {
fmt.Println("生成签名失败:", err)
return
}
fmt.Println("签名:", sign)
示例代码
完整的示例代码如下:
package main
import (
"fmt"
"gitea.weitiangame.com/sdk/wt-game/sdk"
)
func main() {
secretKey := "your_secret_key"
sdk := sdk.New(secretKey)
order := &sdk.Order{
Uid: "12345",
BsTradeNo: "TRADE001",
Role: "Player",
RoleId: "ROLE001",
ServerId: "SERVER01",
GoodsName: "Game Coin",
OutTradeNo: "OUT001",
Body: "Purchase Game Coin",
CpExtraInfo: "extra_info",
TradeState: "SUCCESS",
TotalFee: "100",
PayFee: "95",
PayTime: "2023-10-05 14:30:00",
}
sign, err := sdk.SignParam(order)
if err != nil {
fmt.Println("生成签名失败:", err)
return
}
fmt.Println("签名:", sign)
}
注意事项
- 秘钥安全:秘钥是生成签名的重要参数,务必妥善保管,防止泄露。
- 签名生成:签名生成过程中,参数按字典序排序,并且排除
sign
和-
字段。 - 时间格式:
PayTime
字段请使用YYYY-MM-DD HH:MM:SS
格式,以保证签名的一致性。
常见问题
- 签名不匹配:请检查参数是否正确,秘钥是否一致,以及时间格式是否正确。
联系方式
如有任何问题,请联系开发人员或查阅相关文档。