|
|
Geplaatst op 24-11-2018 15:59:26
|
|
|
|

WeChat-tokenverificatie
Kom terug
1. De toegangsmethode van het openbare WeChat-platform bestaat uit niets meer dan 4 parameters (handtekening, tijdstempel, nonce, echostr) plus 1 token (overeenkomend met beide zijden)
2. Na het sorteren van de token-, tijdstempel- en nonce-woordenboeken, versleutel je deze volgens de string "SHA1". Levert een snaar tmpStr op (omgezet naar kleine letter)
3. Vergelijk dan of tmpStr gelijk is aan handtekening; als het gelijk is, betekent dat dat het verzoek van WeChat komt.
4. Als je ervoor zorgt dat het verzoek van WeChat komt, heb je een grote stap gezet. De overige is het werk van het verzenden van de echostr-parameter naar het openbare WeChat-platform.
Mijn handtekeningverificatie is succesvol, maar WeChat lukt nog steeds niet om token terug te sturen omdat ik een string met xml-formaat heb teruggegeven, als volgt:
Oplossing:
Hier moet worden benadrukt dat verwijzen naar PHP's echo $echoStr, WebFrom's Response.Write(echoStr), enzovoort. Na herhaaldelijk debuggen werd vastgesteld dat de acceptatiemethode van WeChat alleen zou worden geaccepteerd als "application/x-www-form-urlencoded", dus gebruikte ik HttpResponseMessage om de outputmethode te specificeren. Eindelijk was de test geslaagd!
Persoonlijk vind ik echter dat bovenstaande zin niet fout is, maar ik ben lui om te testen, en het zou oké moeten zijn om "tekst/plain" in te stellen op het bijbehorende type.
POST keert terug
Recentelijk is de WeChat-betaalfunctie gebruikt bij de ontwikkeling van WeChat mini-programma's en ASP.NET WEB API voor interfaceontwikkeling;
Nadat de betaling succesvol is, ontvangt de interface het betalingsmeldingsresultaat van de WeChat-server, verwerkt de gegevens en stuurt de gegevens terug naar de WeChat-dienst.
De WeChat-server herkent de teruggegeven gegevens niet, wat resulteert in dubbele meldingen.
De definitieve resolutiecode is als volgt:
|
Vorig:Kennisdelingscollectie van Zhihu liveVolgend:Het Volledige Werk van Qi Baishi, pdf
|