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 | |
order_sign.go | 2 months ago | |
refund_sign.go | 2 months ago |
README.md
SDK 使用操作文档
概述
该 SDK 提供了订单支付和订单退款的签名生成功能。通过传入相应的订单信息和密钥,可以生成用于验证的签名。
目录
订单支付 SDK
初始化 SDK
使用 NewOrderPayment
函数初始化订单支付 SDK 实例。该函数采用单例模式,确保同一密钥对应的 SDK 实例唯一。
// 导入 SDK 包
import "gitea.weitiangame.com/sdk/wt-game/sdk"
// 初始化 SDK 实例
sdkInstance := sdk.NewOrderPayment("your_secret_key")
生成签名
创建 Order
结构体实例并设置相关字段,然后调用 SignParam
方法生成签名。
// 创建 Order 实例
order := &sdk.Order{
Uid: "12345",
BsTradeNo: "TRADE20231010001",
Role: "Player",
RoleId: "67890",
ServerId: "1",
GoodsName: "Diamond",
OutTradeNo: "OUT20231010001",
Body: "Purchase Diamond",
CpExtraInfo: "extra_info",
TradeState: "SUCCESS",
TotalFee: "100",
PayFee: "95",
PayTime: "20231010120000",
}
// 生成签名
sign, err := sdkInstance.SignParam(order)
if err != nil {
// 处理错误
}
示例代码
package main
import (
"fmt"
"gitea.weitiangame.com/sdk/wt-game/sdk"
)
func main() {
// 初始化 SDK 实例
sdkInstance := sdk.NewOrderPayment("your_secret_key")
// 创建 Order 实例
order := &sdk.Order{
Uid: "12345",
BsTradeNo: "TRADE20231010001",
Role: "Player",
RoleId: "67890",
ServerId: "1",
GoodsName: "Diamond",
OutTradeNo: "OUT20231010001",
Body: "Purchase Diamond",
CpExtraInfo: "extra_info",
TradeState: "SUCCESS",
TotalFee: "100",
PayFee: "95",
PayTime: "20231010120000",
}
// 生成签名
sign, err := sdkInstance.SignParam(order)
if err != nil {
fmt.Println("生成签名失败:", err)
return
}
fmt.Println("签名:", sign)
}
订单退款 SDK
初始化 SDK
使用 NewRefundSDK
函数初始化订单退款 SDK 实例。该函数采用单例模式,确保同一密钥对应的 SDK 实例唯一。
// 导入 SDK 包
import "gitea.weitiangame.com/sdk/wt-game/sdk"
// 初始化 SDK 实例
refundSdkInstance := sdk.NewRefundSDK("your_secret_key")
生成签名
创建 OrderRefund
结构体实例并设置相关字段,然后调用 SignParam
方法生成签名。
// 创建 OrderRefund 实例
orderRefund := &sdk.OrderRefund{
OutTradeNo: "OUT20231010001",
RoleId: "67890",
Status: "SUCCESS",
RefundFee: "10",
Timestamp: "20231010120000",
}
// 生成签名
sign := refundSdkInstance.SignParam(orderRefund)
示例代码
package main
import (
"fmt"
"gitea.weitiangame.com/sdk/wt-game/sdk"
)
func main() {
// 初始化 SDK 实例
refundSdkInstance := sdk.NewRefundSDK("your_secret_key")
// 创建 OrderRefund 实例
orderRefund := &sdk.OrderRefund{
OutTradeNo: "OUT20231010001",
RoleId: "67890",
Status: "SUCCESS",
RefundFee: "10",
Timestamp: "20231010120000",
}
// 生成签名
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 | 时间戳 |