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/wt_sdk
zhuxianglong aa73c0790c no message 2 months ago
..
README.md no message 2 months ago
login_sign.go no message 2 months ago
order_sign.go no message 2 months ago
refund_sign.go no message 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)
}

共同注意事项

  1. 密钥保管: 确保密钥安全,避免泄露。
  2. 参数格式: 确保参数格式正确,特别是时间戳和金额字段。
  3. 签名一致性: 确保签名生成的参数和顺序与对方系统一致。

附录

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进行用户身份验证、订单支付和订单退款操作。