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