Visa ett inlägg
Oläst 2006-03-13, 22:00 #6
Lindahl Lindahl är inte uppkopplad
Mycket flitig postare
 
Reg.datum: Dec 2004
Inlägg: 854
Lindahl Lindahl är inte uppkopplad
Mycket flitig postare
 
Reg.datum: Dec 2004
Inlägg: 854
För att göra koden funktionell med "nya" Paynova:
Justera strPostData enligt tabell 5.1 i manualen.
Efter http_post-anropet ser det lite annorlunda ut. Du får tillbaka en xml-fil, den måste du parsa. Jag är ingen expert på att göra sånt men jag har löst det såhär:

Kod:
set xmldoc = server.Createobject("Microsoft.XMLDOM")
xmldoc.async=false
xmldoc.loadXML(http_response)
set status = xmldoc.selectNodes("//responsemessage")(0)
paynova_status = status.selectSingleNode("paynova_status").text
paynova_substatus = status.selectSingleNode("paynova_substatus").text
paynova_session = status.selectSingleNode("paynova_session").text
set xmldoc = nothing
Sen är det bara att hantera det man fick ut från xml-datan:
Kod:
if paynova_status=1 then 
 * *' fixa iframe eller popup, använd parametern paynova_session till url:en
elseif paynova_status = -1 then 
 * *if paynova_substatus = 0 then
 * * * *' Stängt pga driftunderhåll
 * *elseif .... then 
 * * * *' ....
 * *end if 
else
 * *' fel... 
end if
Sen har du notify-sidan:
Kod:
<!--#include file="include/md5.asp"-->

paynova_status = Request.Form("paynova_status")
paynova_statusmessage = Request.Form("paynova_statusmessage")
merchant_orderid = Request.Form("merchant_orderid")
paynova_transid = Request.Form("paynova_transid")
strChecksumRec = Request.Form("checksum")

checksum = MD5(paynova_status&paynova_statusmessage&merchant_orderid&paynova_transid&secretkey)

if checksum = strChecksumRec then
 * *if paynova_status = "1" then
 * * * *'betalning genomförd
 * *else
 * * * *'betalning avbruten
 * *end if
 * *'Skriv ut resultat: *
 * *'<?xml version="1.0" encoding="utf-8" ?>
 * *'<responsemessage>
 * *' * *<status>1</status>
 * *' * *<statusmessage>OK</statusmessage>
 * *' * *<neworderid></neworderid>
 * *' * *<batchid></batchid>
 * *' * *<checksum><%=MD5("1OK"&merchant_orderid&secretkey)%></checksum>
 * *'</responsemessage>
else 'fel checksum
 * *'Motsvarande xml-reslutat här som ovan, fast med annan statuskod
end if
Ja, du får förstås ta och fixa så att det blir riktiga utskrifter av det jag satte som kommentar
Lindahl är inte uppkopplad   Svara med citatSvara med citat