Skip to main content
商户通过请求打开 Satogate 支付页面,用户将在此页面上获取链上收款地址等支付信息,并进行充值/支付操作。
因为区块链转账一般需时 1 分钟或更多,此页面不会回调通知商家是否已经完成支付。商户需要通过交易回调充值流水接口获取最终充值结果。
Satogate 可以为每个商户的用户提供一个固定的区块链收款地址。用户无需登录商户平台生成订单就可以往该收款地址转账数字货币,进而充值资产到商户平台。请求 URLhttps://pay.satogate.io/charge请求方式:GET 方法,打开新浏览器窗口/标签页

请求参数

merchantAddressId
string
required
商家用户 ID
apiKey
string
required
商户 API KEY
timestamp
string
required
请求发起的时间戳(秒)
sign
string
required
请求签名
单次请求 10 分钟内有效,过时需要重新签名并打开新支付页面。

签名方式说明

签名方式与接口签名方式大致相同,以下是不同点:
apiKey、timestamp 及 sign 放在 URL 上,而非请求头上!

签名规则

规则Method + HOST + URL + ? + QueryString QueryString 对所有请求参数按参数名的字典序(ASCII 码)升序排序,并格式化为 参数名称=参数值 的形式,然后用 & 拼接。
区别于接口签名,此签名规则将时间戳放置在请求参数当中,而非直接追加在待签名串后面。

签名示例

以订单支付页面为例:
参数名称
merchantOrderIdabc123
merchantOrderAmount10.5
merchantOrderExpireTime900
apiKey123
timestamp12345678901
签名前原字符串:
GETpay.satogate.io/order?apiKey=123&merchantOrderAmount=10.5&merchantOrderExpireTime=900&merchantOrderId=abc123&timestamp=12345678901
$apiSecret = '0CDE6743F18F3DA********49FD47C1576671FD5';
$srcStr = 'GETpay.satogate.io/order?apiKey=123&merchantOrderAmount=10.5&merchantOrderExpireTime=900&merchantOrderId=abc123&timestamp=12345678901';
$macHex = hash_hmac('sha1', $srcStr, $apiSecret, false);
$signStr = base64_encode($macHex);
echo $signStr;
最终请求 URL:
https://pay.satogate.io/order?apiKey=123&merchantOrderAmount=10.5&merchantOrderExpireTime=900&merchantOrderId=abc123&timestamp=12345678901&sign=zmmjn35mikh6pM3V7sUEuX4wyYM=
最后,可通过 JavaScript 打开新窗口(或标签页)加载此链接。