簽名規則:
下單簽名與回調驗簽使用同一套規則,均以商戶的 secretkey 作為金鑰
secretkey
計算步驟
sign
ksort
k=v
&
sign = md5( k1=v1&k2=v2&...&kn=vn + secretkey )
以下參數按 key 升序拼接(注意:apikey 在 URL 中,不參與簽名):
apikey
amount=100.00&chain_id=56&ip=203.0.113.10&merchant_id=10000&merchant_order=T202611010001¬ify_url=https://example.com/pay/notify¶meters=order-123&pay_mode=1&product_name=TestProduct&return_url=https://example.com/pay/return&token_type=1
追加示例金鑰 demo_secret_123456 後計算 MD5:
demo_secret_123456
adde550dac98c94e47d0754aa18b245d
100
100.00
http_build_query
URLSearchParams
hash_equals
hmac.compare_digest
<?php function tokenpay_sign(array $params, string $secretKey): string { unset($params['sign']); ksort($params); $signStr = ''; foreach ($params as $k => $v) { $signStr .= ($signStr === '' ? '' : '&') . $k . '=' . $v; } return md5($signStr . $secretKey); }