Pengesahan tandatangan
Menggabungkan (Concatenate)
Pertama, pedagang mendapatkan maklumat berikut daripada respons.
Cap masa balasan dalam pengepala HTTP
TTPay-Timestamp.Rentetan rawak balasan dalam pengepala HTTP
TTPay-Nonce.Isi Respons (Response Body). Semak antara muka mengikut susunan yang dikembalikan oleh antara muka. Susunan yang tidak betul akan menyebabkan kegagalan semakan.
Rentetan tandatangan mempunyai tiga baris, satu parameter untuk setiap baris. Baris berakhir dengan \n (pemisah baris, nilai pengekodan ASCII ialah 0x0A), dan jangan tambah \n pada baris terakhir. Jika parameter itu sendiri berakhir dengan \n, anda juga perlu menambah \n.
Reply timestamp\n
Reply random string\n
Reply message bodySebagai contoh, mesej balasan HTTP adalah seperti berikut:
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"}Maka rentetan tandatangan ialah:
Balasan (Reply)
Tandatangan balasan tokenpay dihantar melalui pengepala HTTP TTPay-Signature. (Nota: Contoh kerana penetapan jenis mungkin mengandungi pemisah baris, data sebenar hendaklah berada pada satu baris)
Penghakiman (Judgment)
Gunakan kaedah AES-256-ECB untuk menjana tandatangan (Anda boleh merujuk kepada penjanaan tandatangan). Tandatangan yang dijana dibandingkan dengan tandatangan balasan. Jika tidak, data telah diganggu.
Terakhir dikemas kini