1. 其他语言的加密签名例子
  • 开放文档介绍
  • 代收
    • 代收下单-印度
    • 代收下单-菲律宾
    • 代收下单-印尼
    • 代收下单-越南
    • 代收下单-虚拟币
    • 代收下单-中国
    • 代收下单-马来西亚
  • 代付
    • 代付下单-印度
    • 代付下单-菲律宾
    • 代付下单-印尼
    • 代付下单-越南
    • 代付下单-虚拟币
    • 代付下单-马来西亚
  • 回调通知
    • 回调说明
    • 代收回调
    • 代付回调
  • 查询接口
    • 代收查询
    • 代付查询
    • 钱包查询
  • 其他语言的加密签名例子
    • Go语言加密签名例子
    • Python加密签名例子
    • PHP加密签名例子
    • Nodejs加密签名例子
    • 环境变量和请求体json的例子
    • Java加密签名例子
  • 其它说明
    • 响应状态说明
    • 订单状态说明
    • 支付方式列表
    • 银行卡列表
    • 收银台 iframe 复制功能支持说明
  1. 其他语言的加密签名例子

Go语言加密签名例子

依赖#

使用 Go 标准库,无需额外依赖。

完整代码#

使用说明#

1.
签名生成:使用 GenerateSignature() 方法,传入 HTTP 方法、路径、时间戳、随机数和原始 JSON body
2.
请求体加密:使用 EncryptBody() 方法,传入原始 JSON、App ID 和 apiDataKey
3.
Query 字符串排序:使用 SortQueryString() 方法对查询参数排序
4.
生成 Nonce:使用 GenerateNonce() 方法生成随机字符串

注意事项#

签名中的 body 始终使用加密前的原始 JSON 字符串(即使设置了 X-Enc = aes-gcm-v1)
apiDataKey 必须是 Base64 编码的 32 字节密钥
时间戳使用 Unix 毫秒时间戳(13 位数字)
Content-Type:加密时使用 application/octet-stream,明文时使用 application/json
Go 的 cipher.NewGCM 会自动处理 authTag,Seal 方法返回 密文 + authTag
Modified at 2026-01-12 22:39:55
Previous
钱包查询
Next
Python加密签名例子
Built with