Preverjanje WeChat žetonov
Nazaj
1. Način dostopa do javne platforme WeChat je nič več kot 4 parametri (podpis, časovni žig, nonce, echostr) plus 1 žeton (ustreza obema stranema)
2. Po razvrščanju žetonov, časovnih žigov in nonce slovarjev jih šifrirajte glede na niz "SHA1". Daje niz tmpStr (pretvorjen v male črke)
3. Nato primerjaj, ali je tmpStr enak podpisu, če je enak, pomeni, da je zahteva iz WeChata.
4. Če poskrbite, da zahteva prihaja iz WeChata, ste naredili velik korak. Preostali je delo prenosa parametra echostr na javno platformo WeChat.
Moja verifikacija podpisa je uspešna, vendar WeChat še vedno ne vrne žetona, ker sem vrnil niz v xml formatu, kot sledi:
Rešitev:
Tukaj je treba poudariti, da se nanašajo na PHP-jev echo $echoStr, WebFromov Response.Write(echoStr) itd. Po večkratnem odpravljanju napak so ugotovili, da bo WeChatova metoda sprejemanja sprejeta le kot "application/x-www-form-urlencoded", zato sem uporabil HttpResponseMessage za določitev njegove metode izhoda. Končno je bil test uspešen!
Vendar osebno menim, da zgornji stavek ni napačen, vendar sem len za testiranje in bi moralo biti v redu, če nastavim "text/plain" na ustrezno vrsto.
POST se vrača
V zadnjem času se funkcija plačil v WeChatu uporablja pri razvoju mini programov WeChat, ASP.NET pa WEB API za razvoj vmesnikov;
Ko je plačilo uspešno, vmesnik prejme rezultat obvestila o plačilu s strežnika WeChat, obdela podatke in jih vrne storitvi WeChat.
Strežnik WeChat ne prepozna vrnjenih podatkov, kar povzroči podvojena obvestila.
Končna ločljivostna koda je naslednja:
|