Верифікація токена WeChat
Повернися
1. Метод доступу публічної платформи WeChat складається не більше ніж з 4 параметрів (підпис, часова позначка, nonce, echostr) плюс 1 токен (що відповідає обом сторонам)
2. Після сортування токенів, часових позначок і nonce словників зашифруйте їх за рядком "SHA1". Дає рядок tmpStr (перетворений у малу літеру)
3. Потім порівняйте, чи tmpStr дорівнює підпису, якщо він дорівнує, це означає, що запит походить від WeChat.
4. Якщо ви переконаєтеся, що запит надходить від WeChat, ви зробили великий крок. Решта — це передача параметра echostr на публічну платформу WeChat.
Моя перевірка підпису пройшла успішно, але WeChat досі не повертає токен, бо я повернув рядок у форматі xml, а саме:
Рішення:
Тут слід підкреслити, що посилаються на echo $echoStr PHP, WebFrom Response.Write (echoStr) тощо. Після багаторазового налагодження було визначено, що метод прийняття WeChat буде прийнятий лише як "application/x-www-form-urlencoded", тому я використав HttpResponseMessage для визначення його методу виводу. Нарешті тест пройшов успішно!
Однак особисто я вважаю, що наведене вище речення не є неправильним, але мені лінь перевіряти, і має бути нормально встановити «текст/просто» відповідним типом.
POST звіти
Останнім часом функція оплати WeChat використовується при розробці міні-програм WeChat та ASP.NET WEB API для розробки інтерфейсів;
Після успішного виконання платежу інтерфейс отримує результат сповіщення про оплату від сервера WeChat, обробляє дані та повертає їх до сервісу WeChat.
Сервер WeChat не розпізнає повернені дані, що призводить до дублювання сповіщень.
Остаточний код розв'язання виглядає так:
|