For the complete documentation index, see llms.txt. This page is also available as Markdown.

Проверка подписи

ПОДСКАЗКА (TIP)

Продавец может проверить подпись ответа или обратного вызова (колбэка), выполнив следующие шаги.

Если подпись запроса проверенного продавца верна, tokenpay включает подпись ответа в HTTP-заголовок ответа. Мы рекомендуем продавцам проверять подпись ответа.

Точно так же tokenpay включает подпись пакета колбэка в HTTP-заголовок колбэка. Продавец должен проверить подпись колбэка, чтобы убедиться, что он был отправлен tokenpay.

Объединение (Concatenate)

Во-первых, продавец получает следующую информацию из ответа.

  • Временная метка ответа в HTTP-заголовке TTPay-Timestamp.

  • Случайная строка ответа в HTTP-заголовке TTPay-Nonce.

  • Тело ответа (Response Body). Проверьте интерфейс в соответствии с порядком, возвращенным интерфейсом. Неверный порядок приведет к сбою проверки.

Строка подписи состоит из трех строк, по одному параметру на строку. Строка заканчивается на \n (перенос строки, значение кодировки ASCII равно 0x0A), и не добавляйте \n в последнюю строку. Если сам параметр заканчивается на \n, вам также нужно добавить \n.

Reply timestamp\n
Reply random string\n
Reply message body

Например, HTTP-сообщение с ответом выглядит следующим образом:

HTTP/1.1 200 OK
Server: nginx
Date: Tue, 02 Apr 2019 12:59:40 GMT
Content-Type: application/json; charset=utf-8
Content-Length: 2204
Connection: keep-alive
Keep-Alive: timeout=8
Content-Language: zh-CN
TTPay-Nonce: c5ac7061fccab6bf3e254dcf98995b8c
TTPay-Signature: CtcbzwtQjN8rnOXItEBJ5aQFSnIXESeV28Pr2YEmf9wsDQ8Nx25ytW6FXBCAFdrr0mgqngX3AD9gNzjnNHzSGTPBSsaEkIfhPF4b8YRRTpny88tNLyprXA0GU5ID3DkZHpjFkX1hAp/D0fva2GKjGRLtvYbtUk/OLYqFuzbjt3yOBzJSKQqJsvbXILffgAmX4pKql+Ln+6UPvSCeKwznvtPaEx+9nMBmKu7Wpbqm/+2ksc0XwjD+xlvlECkCxfD/OJ4gN3IurE0fpjxIkvHDiinQmk51BI7zQD8k1znU7r/spPqB+vZjc5ep6DC5wZUpFu5vJ8MoNKjCu8wnzyCFdA==
TTPay-Timestamp: 1554209980
Cache-Control: no-cache, must-revalidate

{"app_id":"xxxx"}

Тогда строка подписи будет следующей:

Ответ (Reply)

Подпись ответа tokenpay передается через HTTP-заголовок TTPay-Signature. (Примечание: это пример, так как верстка может содержать переносы строк, фактические данные должны быть в одной строке)

Оценка (Judgment)

Используйте метод AES-256-ECB для создания подписей (вы можете ссылаться на создание подписи). Сгенерированная подпись сравнивается с подписью ответа. Если они не совпадают, данные были подделаны.

Последнее обновление