├── .gitmodules
├── LICENSE
├── include
├── dvim_brix_crypto-js-develop_VB.asp
├── dvim_brix_crypto-js-master_VB.asp
├── dvim_json_douglascrockford_JSON-js_JS.asp
├── dvim_apiRedsysWs_VB.asp
└── dvim_apiRedsys_VB.asp
├── InotificacionSIS.wsdl
├── ejemploRecepcionaPet.asp
├── ejemploGeneraPet.asp
├── .gitignore
├── ejemploSOAP.asp
└── README.md
/.gitmodules:
--------------------------------------------------------------------------------
1 | [submodule "include/douglascrockford_JSON-js"]
2 | path = include/douglascrockford_JSON-js
3 | url = https://github.com/douglascrockford/JSON-js
4 | [submodule "include/brix_crypto-js-master-3.1.6"]
5 | path = include/brix_crypto-js-master-3.1.6
6 | url = https://github.com/brix/crypto-js
7 | [submodule "include/brix_crypto-js-develop-3.1.6"]
8 | path = include/brix_crypto-js-develop-3.1.6
9 | url = https://github.com/brix/crypto-js
10 |
--------------------------------------------------------------------------------
/LICENSE:
--------------------------------------------------------------------------------
1 | Copyright (c) 2016, DE VEGA ICT MANAGEMENT
2 | All rights reserved.
3 |
4 | Redistribution and use in source and binary forms, with or without
5 | modification, are permitted provided that the following conditions are met:
6 |
7 | * Redistributions of source code must retain the above copyright notice, this
8 | list of conditions and the following disclaimer.
9 |
10 | * Redistributions in binary form must reproduce the above copyright notice,
11 | this list of conditions and the following disclaimer in the documentation
12 | and/or other materials provided with the distribution.
13 |
14 | * Neither the name of redsysHMAC256_API_ASP nor the names of its
15 | contributors may be used to endorse or promote products derived from
16 | this software without specific prior written permission.
17 |
18 | THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
19 | AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
20 | IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
21 | DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
22 | FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
23 | DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
24 | SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
25 | CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
26 | OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
27 | OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
28 |
--------------------------------------------------------------------------------
/include/dvim_brix_crypto-js-develop_VB.asp:
--------------------------------------------------------------------------------
1 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
26 |
--------------------------------------------------------------------------------
/include/dvim_brix_crypto-js-master_VB.asp:
--------------------------------------------------------------------------------
1 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
19 |
29 |
--------------------------------------------------------------------------------
/include/dvim_json_douglascrockford_JSON-js_JS.asp:
--------------------------------------------------------------------------------
1 |
6 |
7 |
8 |
48 |
--------------------------------------------------------------------------------
/InotificacionSIS.wsdl:
--------------------------------------------------------------------------------
1 |
2 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
21 |
22 |
24 |
25 |
29 |
30 |
31 |
32 |
33 |
34 |
35 |
36 |
--------------------------------------------------------------------------------
/ejemploRecepcionaPet.asp:
--------------------------------------------------------------------------------
1 | <%@ language="vbscript" codepage="65001"%>
2 |
7 |
8 |
9 |
10 |
11 |
12 |
13 | Ejemplo de Recepción de Respuesta a Petición (URL OK, KO)
14 |
15 |
16 | <%
17 | Response.CharSet = "utf-8"
18 |
19 | ' Se crea Objeto
20 | Dim miObj
21 | Set miObj = new RedsysAPI
22 |
23 | If (Request.Form.Count>0 or Request.QueryString.Count>0) Then'//URL DE RESP. ONLINE
24 | Dim version, datos, signatureRecibida
25 | version = Request("Ds_SignatureVersion")
26 | datos = Request("Ds_MerchantParameters")
27 | signatureRecibida = Request("Ds_Signature")
28 |
29 | Dim kc, firma
30 | kc = "Mk9m98IfEblmPfrpsawt7BmxObt98Jev" 'Clave recuperada de CANALES
31 | firma = miObj.createMerchantSignatureNotif(kc,datos)
32 |
33 | If (firma = signatureRecibida) Then
34 | Response.Write "FIRMA OK "
35 | Else
36 | Response.Write "FIRMA KO "
37 | End If
38 | Response.Write "Ds_Date=" & miObj.getParameter("Ds_Date") & " "
39 | Response.Write "Ds_Hour=" & miObj.getParameter("Ds_Hour") & " "
40 | Response.Write "Ds_Order=" & miObj.getParameter("Ds_Order") & " "
41 | Response.Write "Ds_SecurePayment=" & miObj.getParameter("Ds_SecurePayment") & " "
42 | Response.Write "Ds_Amount=" & miObj.getParameter("Ds_Amount") & " "
43 | Response.Write "Ds_Currency=" & miObj.getParameter("Ds_Currency") & " "
44 | Response.Write "Ds_MerchantCode=" & miObj.getParameter("Ds_MerchantCode") & " "
45 | Response.Write "Ds_Terminal=" & miObj.getParameter("Ds_Terminal") & " "
46 | Response.Write "Ds_Response=" & miObj.getParameter("Ds_Response") & " "
47 | Response.Write "Ds_TransactionType=" & miObj.getParameter("Ds_TransactionType") & " "
48 | Response.Write "Ds_MerchantData=" & miObj.getParameter("Ds_MerchantData") & " "
49 | Response.Write "Ds_AuthorisationCode=" & miObj.getParameter("Ds_AuthorisationCode") & " "
50 | Response.Write "Ds_ConsumerLanguage=" & miObj.getParameter("Ds_ConsumerLanguage") & " "
51 |
52 | End If
53 |
54 | %>
55 |
56 |
--------------------------------------------------------------------------------
/ejemploGeneraPet.asp:
--------------------------------------------------------------------------------
1 | <%@ language="vbscript" codepage="65001"%>
2 |
7 |
8 |
9 |
10 |
11 |
12 |
13 | Ejemplo de Generación de Petición
14 |
15 |
16 | <%
17 | Response.CharSet = "utf-8"
18 |
19 | ' Se crea Objeto
20 | Dim miObj
21 | Set miObj = new RedsysAPI
22 |
23 | ' Valores de entrada
24 | Dim fuc,terminal,moneda,trans,url,urlOKKO,id,amount
25 | fuc="999008881"
26 | terminal="871"
27 | moneda="978"
28 | trans="0"
29 | amount="145"
30 | id="ped" & time() 'no acepta +,&,€,"
31 | url="" 'Colocar la URL completa de ejemploSOAP.asp (debe ser accesible desde RedSys, por tanto no puede ser localhost)
32 | urlOKKO="" 'Colocar la URL completa de ejemploRecepcionaPet.asp (puede ser localhost para pruebas)
33 |
34 | ' Se Rellenan los campos
35 | call miObj.setParameter("DS_MERCHANT_AMOUNT",amount)
36 | call miObj.setParameter("DS_MERCHANT_ORDER",CStr(id))
37 | call miObj.setParameter("DS_MERCHANT_MERCHANTCODE",fuc)
38 | call miObj.setParameter("DS_MERCHANT_CURRENCY",moneda)
39 | call miObj.setParameter("DS_MERCHANT_TRANSACTIONTYPE",trans)
40 | call miObj.setParameter("DS_MERCHANT_TERMINAL",terminal)
41 | call miObj.setParameter("DS_MERCHANT_MERCHANTURL",url)
42 | call miObj.setParameter("DS_MERCHANT_URLOK",urlOKKO)
43 | call miObj.setParameter("DS_MERCHANT_URLKO",urlOKKO)
44 |
45 | ' Datos de configuración
46 | Dim version
47 | version="HMAC_SHA256_V1"
48 | kc = "Mk9m98IfEblmPfrpsawt7BmxObt98Jev" 'Clave recuperada de CANALES
49 | ' Se generan los parámetros de la petición
50 | Dim params,signature
51 | params = miObj.createMerchantParameters()
52 | signature = miObj.createMerchantSignature(kc)
53 |
54 | Dim postURL
55 | postURL = "https://sis-d.redsys.es/sis/realizarPago" 'URL DE DESARROLLO CON HTTPS
56 | 'postURL = "http://sis-d.redsys.es/sis/realizarPago" 'URL DE DESARROLLO
57 | 'postURL = "https://sis-t.redsys.es:25443/sis/realizarPago" 'URL DE PRUEBAS, USAR CON LOS DATOS DE VUESTRO COMERCIO
58 | 'postURL = "https://sis.redsys.es/sis/realizarPago" 'URL DE PRODUCCION, USAR CON LOS DATOS DE VUESTRO COMERCIO
59 |
60 |
61 | %>
62 |
68 |
69 |
70 |
71 |
--------------------------------------------------------------------------------
/.gitignore:
--------------------------------------------------------------------------------
1 | ## Ignore Visual Studio temporary files, build results, and
2 | ## files generated by popular Visual Studio add-ons.
3 |
4 | # User-specific files
5 | *.suo
6 | *.user
7 | *.userosscache
8 | *.sln.docstates
9 |
10 | # User-specific files (MonoDevelop/Xamarin Studio)
11 | *.userprefs
12 |
13 | # Build results
14 | [Dd]ebug/
15 | [Dd]ebugPublic/
16 | [Rr]elease/
17 | [Rr]eleases/
18 | x64/
19 | x86/
20 | bld/
21 | [Bb]in/
22 | [Oo]bj/
23 |
24 | # Visual Studio 2015 cache/options directory
25 | .vs/
26 | # Uncomment if you have tasks that create the project's static files in wwwroot
27 | #wwwroot/
28 |
29 | # MSTest test Results
30 | [Tt]est[Rr]esult*/
31 | [Bb]uild[Ll]og.*
32 |
33 | # NUNIT
34 | *.VisualState.xml
35 | TestResult.xml
36 |
37 | # Build Results of an ATL Project
38 | [Dd]ebugPS/
39 | [Rr]eleasePS/
40 | dlldata.c
41 |
42 | # DNX
43 | project.lock.json
44 | artifacts/
45 |
46 | *_i.c
47 | *_p.c
48 | *_i.h
49 | *.ilk
50 | *.meta
51 | *.obj
52 | *.pch
53 | *.pdb
54 | *.pgc
55 | *.pgd
56 | *.rsp
57 | *.sbr
58 | *.tlb
59 | *.tli
60 | *.tlh
61 | *.tmp
62 | *.tmp_proj
63 | *.log
64 | *.vspscc
65 | *.vssscc
66 | .builds
67 | *.pidb
68 | *.svclog
69 | *.scc
70 |
71 | # Chutzpah Test files
72 | _Chutzpah*
73 |
74 | # Visual C++ cache files
75 | ipch/
76 | *.aps
77 | *.ncb
78 | *.opendb
79 | *.opensdf
80 | *.sdf
81 | *.cachefile
82 |
83 | # Visual Studio profiler
84 | *.psess
85 | *.vsp
86 | *.vspx
87 | *.sap
88 |
89 | # TFS 2012 Local Workspace
90 | $tf/
91 |
92 | # Guidance Automation Toolkit
93 | *.gpState
94 |
95 | # ReSharper is a .NET coding add-in
96 | _ReSharper*/
97 | *.[Rr]e[Ss]harper
98 | *.DotSettings.user
99 |
100 | # JustCode is a .NET coding add-in
101 | .JustCode
102 |
103 | # TeamCity is a build add-in
104 | _TeamCity*
105 |
106 | # DotCover is a Code Coverage Tool
107 | *.dotCover
108 |
109 | # NCrunch
110 | _NCrunch_*
111 | .*crunch*.local.xml
112 | nCrunchTemp_*
113 |
114 | # MightyMoose
115 | *.mm.*
116 | AutoTest.Net/
117 |
118 | # Web workbench (sass)
119 | .sass-cache/
120 |
121 | # Installshield output folder
122 | [Ee]xpress/
123 |
124 | # DocProject is a documentation generator add-in
125 | DocProject/buildhelp/
126 | DocProject/Help/*.HxT
127 | DocProject/Help/*.HxC
128 | DocProject/Help/*.hhc
129 | DocProject/Help/*.hhk
130 | DocProject/Help/*.hhp
131 | DocProject/Help/Html2
132 | DocProject/Help/html
133 |
134 | # Click-Once directory
135 | publish/
136 |
137 | # Publish Web Output
138 | *.[Pp]ublish.xml
139 | *.azurePubxml
140 | # TODO: Comment the next line if you want to checkin your web deploy settings
141 | # but database connection strings (with potential passwords) will be unencrypted
142 | *.pubxml
143 | *.publishproj
144 |
145 | # NuGet Packages
146 | *.nupkg
147 | # The packages folder can be ignored because of Package Restore
148 | **/packages/*
149 | # except build/, which is used as an MSBuild target.
150 | !**/packages/build/
151 | # Uncomment if necessary however generally it will be regenerated when needed
152 | #!**/packages/repositories.config
153 | # NuGet v3's project.json files produces more ignoreable files
154 | *.nuget.props
155 | *.nuget.targets
156 |
157 | # Microsoft Azure Build Output
158 | csx/
159 | *.build.csdef
160 |
161 | # Microsoft Azure Emulator
162 | ecf/
163 | rcf/
164 |
165 | # Microsoft Azure ApplicationInsights config file
166 | ApplicationInsights.config
167 |
168 | # Windows Store app package directory
169 | AppPackages/
170 | BundleArtifacts/
171 |
172 | # Visual Studio cache files
173 | # files ending in .cache can be ignored
174 | *.[Cc]ache
175 | # but keep track of directories ending in .cache
176 | !*.[Cc]ache/
177 |
178 | # Others
179 | ClientBin/
180 | ~$*
181 | *~
182 | *.dbmdl
183 | *.dbproj.schemaview
184 | *.pfx
185 | *.publishsettings
186 | node_modules/
187 | orleans.codegen.cs
188 |
189 | # RIA/Silverlight projects
190 | Generated_Code/
191 |
192 | # Backup & report files from converting an old project file
193 | # to a newer Visual Studio version. Backup files are not needed,
194 | # because we have git ;-)
195 | _UpgradeReport_Files/
196 | Backup*/
197 | UpgradeLog*.XML
198 | UpgradeLog*.htm
199 |
200 | # SQL Server files
201 | *.mdf
202 | *.ldf
203 |
204 | # Business Intelligence projects
205 | *.rdl.data
206 | *.bim.layout
207 | *.bim_*.settings
208 |
209 | # Microsoft Fakes
210 | FakesAssemblies/
211 |
212 | # GhostDoc plugin setting file
213 | *.GhostDoc.xml
214 |
215 | # Node.js Tools for Visual Studio
216 | .ntvs_analysis.dat
217 |
218 | # Visual Studio 6 build log
219 | *.plg
220 |
221 | # Visual Studio 6 workspace options file
222 | *.opt
223 |
224 | # Visual Studio LightSwitch build output
225 | **/*.HTMLClient/GeneratedArtifacts
226 | **/*.DesktopClient/GeneratedArtifacts
227 | **/*.DesktopClient/ModelManifest.xml
228 | **/*.Server/GeneratedArtifacts
229 | **/*.Server/ModelManifest.xml
230 | _Pvt_Extensions
231 |
232 | # Paket dependency manager
233 | .paket/paket.exe
234 |
235 | # FAKE - F# Make
236 | .fake/
237 | /.project
238 |
--------------------------------------------------------------------------------
/ejemploSOAP.asp:
--------------------------------------------------------------------------------
1 | <%@ language="vbscript" codepage="65001"%>
2 |
7 |
8 |
9 |
10 |
11 | <%
12 | Response.CharSet = "utf-8"
13 | Response.ContentType = "text/xml"
14 |
15 | If (Request("wsdl").Count>0) Then
16 | Server.Transfer "InotificacionSIS.wsdl"
17 | Response.End
18 | End If
19 |
20 | Dim reqSize, content
21 | reqSize=Request.TotalBytes
22 | content = Request.BinaryRead(reqSize)
23 |
24 | Dim sSOAPOut
25 | sSOAPOut = procesaNotificacionSIS(content)
26 | Response.Write sSOAPOut
27 |
28 | ' notificacionSIS_request es Byte() con el NotificacionSIS SOAP Request
29 | ' devuelve strNotificacionSIS_response (utf8)String'
30 | Function procesaNotificacionSIS(ByVal notificacionSIS)
31 | ' Se crea Objeto
32 | Dim miObj
33 | Set miObj = new RedsysAPI
34 | ' Obtenemos el String UTF8 del notificacionSIS
35 | Dim strInput
36 | strInput = miObj.ConvertToUtf8String(notificacionSIS)
37 | If (Len(strInput)>0) Then
38 | ' Extraemos el SOAP envelope
39 | Dim xmlMessage
40 | xmlMessage = extractSOAPEnvelope(strInput)
41 | Dim signatureRecibida
42 | signatureRecibida = miObj.getSignatureNotifSOAP(xmlMessage)
43 | Dim kc, firma
44 | kc = "Mk9m98IfEblmPfrpsawt7BmxObt98Jev" 'Clave recuperada de CANALES
45 | firma = miObj.createMerchantSignatureNotifSOAPRequest(kc,xmlMessage) 'TODO: encodedMessage o de xmlMessage ?'
46 | Dim res
47 | res = "KO"
48 | If (firma = signatureRecibida) Then
49 | 'Aquí deberíais verificar los parámetros recibidos, pe
50 | 'Ds_Card_Country -> miObj.getParameter("Card_Country"),
51 | 'Ds_Response -> miObj.getParameter("Response"),
52 | 'Ds_AuthorisationCode -> miObj.getParameter("AuthorisationCode"), etc.
53 | res = "OK"
54 | End If
55 | Dim numPedido
56 | numPedido = miObj.getParameter("Order") 'Ds_Order
57 | Dim xmlResp
58 | xmlResp = "" & res & ""
59 | Dim xmlSign
60 | xmlSign = "" & miObj.createMerchantSignatureNotifSOAPResponse(kc,xmlResp,numPedido) & ""
61 | Dim xmlMessageResponse
62 | xmlMessageResponse = "" & xmlResp & xmlSign & ""
63 | procesaNotificacionSIS=generateSOAPEnvelope(xmlMessageResponse)
64 | Else
65 | 'TODO: generar el SOAP error correspondiente
66 | procesaNotificacionSIS=generateSOAPEnvelope("")
67 | End If
68 | End Function
69 |
70 | 'Función básica para generar el envoltorio SOAP al mensaje de respuesta
71 | Function generateSOAPEnvelope(xmlMessageResponse)
72 | Dim encodedMessage
73 | encodedMessage = XML1_encode (xmlMessageResponse)
74 | generateSOAPEnvelope = "" & _
75 | "" & _
76 | "" & _
77 | "" & _
78 | "" & _
79 | "" & encodedMessage & "" & _
80 | "" & _
81 | "" & _
82 | ""
83 | End Function
84 |
85 | 'Función básica para eliminar el envoltorio SOAP al mensaje de solicitud
86 | Function extractSOAPEnvelope(strSOAPRequest)
87 | Dim posXMLIni, posXMLFin, posXMLIniEnd, encodedXMLContent
88 | posXMLIni = InStr(strSOAPRequest, "")
90 | encodedXMLContent = Mid(strSOAPRequest,posXMLIni,posXMLFin-posXMLIni)
91 | posXMLIniEnd = InStr(encodedXMLContent, ">")
92 | encodedXMLContent = Mid(encodedXMLContent, posXMLIniEnd+1)
93 | extractSOAPEnvelope = XML1_decode(encodedXMLContent)
94 | End Function
95 |
96 | Function XML1_decode(encodedXML)
97 | Dim decodedXML
98 | decodedXML=encodedXML
99 | 'Tabla corresponsdiente a PHP get_html_translation_table(HTML_ENTITIES, ENT_QUOTES | ENT_XML1)
100 | decodedXML=Replace(decodedXML,""","""")
101 | decodedXML=Replace(decodedXML,"'","'")
102 | decodedXML=Replace(decodedXML,"<","<")
103 | decodedXML=Replace(decodedXML,">",">")
104 | decodedXML=Replace(decodedXML,"&","&")
105 | XML1_decode = decodedXML
106 | End Function
107 | Function XML1_encode(decodedXML)
108 | Dim encodedXML
109 | encodedXML=decodedXML
110 | 'Tabla corresponsdiente a PHP get_html_translation_table(HTML_ENTITIES, ENT_QUOTES | ENT_XML1)
111 | encodedXML=Replace(encodedXML,"&","&")
112 | encodedXML=Replace(encodedXML,"""",""")
113 | encodedXML=Replace(encodedXML,"'","'")
114 | encodedXML=Replace(encodedXML,"<","<")
115 | encodedXML=Replace(encodedXML,">",">")
116 | XML1_encode = encodedXML
117 | End Function
118 |
119 | %>
120 |
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 | # redsysHMAC256_API_ASP 
2 |
3 | Librerías de Ayuda (APIs) para integrar la pasarela de pago (TPV Virtual) Redsys en tiendas web virtuales que hayan sido desarrolladas bajo ASP Clásico, teniendo en cuenta el cambio del uso del algoritmo SHA1 por 3DES y HMAC-SHA256, que son más robustos (Ver https://canales.redsys.es/canales/ayuda/migracionSHA256.html)
4 |
5 |
6 | Este API es un portado de las clases `RedSys` y `RedSysWs` implementadas en las API PHP que proporciona RedSys en su página http://www.redsys.es/wps/portal/redsys/publica/areadeserviciosweb/descargaDeDocumentacionYEjecutables. Por favor leer detenidamente las condiciones de uso de RedSys que podéis encontar en el enlace anterior, clicando en "Ver condiciones de uso" (no hay enlace directo).
7 |
8 | ## Dependencias
9 |
10 | Para la implementación de las funciones HMAC-SHA256, 3DES y el manejo de los encoding Utf8, Base64 y Hex hemos utilizado la librería javascript https://github.com/brix/crypto-js de Evan Vosberg y Jeff Mott (@brix), para la que hemos creado librerías ASP que facilitan el acceso desde ASP Clásico en lenguaje VBScript ([dvim_brix_crypto-js-master_VB.asp](dvim_brix_crypto-js-master_VB.asp) o [dvim_brix_crypto-js-develop_VB.asp](dvim_brix_crypto-js-develop_VB.asp) según se utilize el branch [master](https://github.com/brix/crypto-js/tree/master) o [develop](https://github.com/brix/crypto-js/tree/develop) de https://github.com/brix/crypto-js. Esta librería está bajo licencia [MIT](http://opensource.org/licenses/MIT).
11 |
12 | Para la implementación de JSON hemos utilizado la librería javascript https://github.com/douglascrockford/JSON-js de Douglas Crockford (@douglascrockford), en particular los ficheros [json2.js](https://github.com/douglascrockford/JSON-js/blob/master/json2.js) y [json_parse.js](https://github.com/douglascrockford/JSON-js/blob/master/json_parse.js), éste ultimo para usar una implementación de `parse` que no utilice `eval`. Hemos creado una librería ASP que facilita el acceso desde ASP Clásico en lenguaje VBScript, que además fuerza el uso de la implementación de `parse` de [json_parse.js](https://github.com/douglascrockford/JSON-js/blob/master/json_parse.js), y que implementa los métodos `replacer` y `reviver` (para gestionar el caso en que el `value` es un Dictionary). Esta librería es de Dominio Público, como se puede observar en el encabezado de cada fichero.
13 |
14 | ## Documentación
15 | Para la utilización de estas APIs podéis seguir las indicaciones dadas por ResSys en su página https://canales.redsys.es/canales/ayuda/migracionSHA256.html, y en particular para el caso de PHP.
16 | ###Conexion Redirección
17 | Para la migración de comercios existentes, descargar la [Guia de migración a HMAC SHA256 - conexion por redirección](https://canales.redsys.es/canales/ayuda/documentacion/Guia%20migracion%20a%20HMAC%20SHA256%20-%20conexion%20por%20redireccion.pdf).
18 | Para el caso de nuevos comercios, descargar el [Manual integración para conexión por Redirección](https://canales.redsys.es/canales/ayuda/documentacion/Manual%20integracion%20para%20conexion%20por%20Redireccion.pdf)
19 | ###Conexion WebService
20 | Para la migración de comercios existentes, descargar la [Guia de migración a HMAC SHA256 - conexión por Web Service](https://canales.redsys.es/canales/ayuda/documentacion/Guia%20migracion%20a%20HMAC%20SHA256%20-%20conexion%20por%20Web%20Service.pdf).
21 | Para el caso de nuevos comercios, descargar el [Manual de integración para conexión por Web Service](https://canales.redsys.es/canales/ayuda/documentacion/Manual%20integracion%20para%20conexion%20por%20Web%20Service.pdf)
22 |
23 | ## Ficheros incluídos
24 | * [include/dvim_apiRedsys_VB.asp](include/dvim_apiRedsys_VB.asp): Portado de `apiRedsys.php`, más algunas funciones de ayuda.
25 | * [include/dvim_apiRedsysWs_VB.asp](include/dvim_apiRedsysWs_VB.asp): Portado de `apiRedsysWs.php`.
26 | * [include/dvim_brix_crypto-js-develop_VB.asp](include/dvim_brix_crypto-js-develop_VB.asp): Para facilitar el acceso desde ASP Clásico en lenguaje VBScript a la librería https://github.com/brix/crypto-js en caso de utilizar el branch [develop](https://github.com/brix/crypto-js/tree/develop).
27 | * [include/dvim_brix_crypto-js-master_VB.asp](include/dvim_brix_crypto-js-master_VB.asp): Para facilitar el acceso desde ASP Clásico en lenguaje VBScript a la librería https://github.com/brix/crypto-js en caso de utilizar el branch [master](https://github.com/brix/crypto-js/tree/master).
28 | * [include/dvim_json_douglascrockford_JSON-js_JS.asp](include/dvim_json_douglascrockford_JSON-js_JS.asp): Para facilitar el acceso desde ASP Clásico en lenguaje VBScript a la librería https://github.com/douglascrockford/JSON-js.
29 | * [include/brix_crypto-js-develop-3.1.6/](include/brix_crypto-js-develop-3.1.6): Carpeta donde colocar el branch [develop](https://github.com/brix/crypto-js/tree/develop), del que sólo son necesarios el fichero [LICENSE](https://github.com/brix/crypto-js/blob/develop/LICENSE) y la carpeta [src](https://github.com/brix/crypto-js/tree/develop/src).
30 | * [include/brix_crypto-js-master-3.1.6/](include/brix_crypto-js-master-3.1.6): Carpeta donde colocar el branch [develop](https://github.com/brix/crypto-js/tree/develop), del que sólo son necesarios los ficheros [LICENSE](https://github.com/brix/crypto-js/blob/master/LICENSE) y los ficheros `.js` de la raíz.
31 | * [include/douglascrockford_JSON-js/](include/douglascrockford_JSON-js): Carpeta donde colocar los ficheros [json2.js](https://github.com/douglascrockford/JSON-js/blob/master/json2.js) y [json_parse.js](https://github.com/douglascrockford/JSON-js/blob/master/json_parse.js).
32 | * [ejemploGeneraPet.asp](ejemploGeneraPet.asp): Ejemplo de generación de petición con redirección a RedSys.
33 | * [ejemploRecepcionaPet.asp](ejemploRecepcionaPet.asp): Ejemplo de recepción de notificación desde RedSys.
34 | * [ejemploSOAP.asp](ejemploSOAP.asp): Ejemplo básico de recepción de notificación SOAP desde RedSys. Para la implementación de SOAP se sugiere el uso de librerías que implementen la validación WSDL y que generen y validen los encabezados SOAP.
35 |
36 | ## Licencia de uso
37 | `New BSD` también llamada `BSD 3-clause`, ver [LICENSE](LICENSE).
38 |
39 | ## Soporte y contacto
40 | Si necesitáis soporte en la migración de vuestra tienda en ASP Clásico, no dudad en contactarnos en el +34931767617 o enviando un email a migracionSHA256@ictmanagement.es.
41 |
42 |
--------------------------------------------------------------------------------
/include/dvim_apiRedsysWs_VB.asp:
--------------------------------------------------------------------------------
1 |
6 |
7 |
8 |
9 |
10 |
11 |
--------------------------------------------------------------------------------
/include/dvim_apiRedsys_VB.asp:
--------------------------------------------------------------------------------
1 |
6 |
7 |
8 |
9 |
10 |
11 |
--------------------------------------------------------------------------------