WeChat-tokenin vahvistus
Painu takaisin
1. WeChatin julkisen alustan käyttötapa on enintään 4 parametria (allekirjoitus, aikaleima, nonce, kaiku) sekä yksi token (vastaa molempia osapuolia)
2. Kun olet lajitellut tokenin, aikaleiman ja nonce-sanakirjat, salaa ne merkkijonon "SHA1" mukaan. Tuottaa merkkijonon tmpStr (muunnettu pienaakkoisiksi)
3. Sitten vertaa, onko tmpStr yhtä kuin allekirjoitus, jos se on yhtä suurta, se tarkoittaa, että pyyntö tulee WeChatista.
4. Jos varmistat, että pyyntö tulee WeChatista, olet suorittanut suuren askeleen. Loput ovat echostr-parametrin lähettäminen WeChatin julkiselle alustalle.
Allekirjoitukseni vahvistus onnistui, mutta WeChat ei silti palauta tokenia, koska palautin merkkijonon, jossa on xml-muoto, seuraavasti:
Ratkaisu:
Tässä on syytä korostaa, että viitataan PHP:n echo $echoStr:ään, WebFromin Response.Write(echoStr) -ohjelmaan jne. Virheenkorjauksen jälkeen todettiin, että WeChatin hyväksymismenetelmä hyväksyttäisiin vain muodossa "application/x-www-form-urlencoded", joten käytin HttpResponseMessagea määrittääkseni sen tulostavan. Lopulta testi onnistui!
Kuitenkin henkilökohtaisesti koen, että yllä oleva lause ei ole väärä, mutta olen laiska testaamaan, ja pitäisi olla ok asettaa "teksti/selvä" vastaavaan tyyppiin.
POST-palautukset
Viime aikoina WeChat-maksutoimintoa on käytetty WeChat-miniohjelmien kehityksessä sekä ASP.NET WEB API:ta rajapintakehityksessä;
Maksun onnistumisen jälkeen käyttöliittymä vastaanottaa maksuilmoituksen tuloksen WeChat-palvelimelta, käsittelee tiedot ja palauttaa tiedot WeChat-palveluun.
WeChat-palvelin ei tunnista palautettuja tietoja, mikä johtaa päällekkäisiin ilmoituksiin.
Lopullinen resoluutiokoodi on seuraava:
|