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.
wt-game/sdk
zhuxianglong 1b3d551f0c 生成签名优化 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格式,以保证签名的一致性。

常见问题

  • 签名不匹配:请检查参数是否正确,秘钥是否一致,以及时间格式是否正确。

联系方式

如有任何问题,请联系开发人员或查阅相关文档。