7 jours d'essai offerts
Cet ouvrage et des milliers d'autres sont disponibles en abonnement pour 8,99€/mois

Compartir esta publicación







UNIVERSIDAD CARLOS III DE MADRID
ESCUELA POLITÉCNICA SUPERIOR



Desarrollo de un Intermediario de Pago Seguro
para la Plataforma OsCommerce





INGENIERÍA INFORMÁTICA

PROYECTO FIN DE CARRERA




Autor: Rubén Plaza Ramos
Tutor: José María Sierra Cámara
Director: Joaquín Torres Márquez
Fecha: Junio 2009








A todos los que han creído siempre en mí.


Nuestras horas son minutos
Cuando esperamos saber,
Y siglos cuando sabemos
Lo que se puede aprender.

Antonio Machado
Desarrollo de un Intermediario de Pago Seguro para la Plataforma OsCommerce

Agradecimientos

Al término de esta etapa de mi vida, quiero expresar un profundo agradecimiento a
quienes con su ayuda, apoyo y comprensión me alentaron a lograr esta hermosa
realidad.

Quiero agradecer a mi familia el esfuerzo y sacrificio que han realizado para que ahora
pueda llegar al final de este recorrido.

Quiero agradecer a mi novia que siempre haya tenido palabras de aliento cuando los
obstáculos hacían difícil ver la continuidad del camino.

Por último quiero agradecer a mi director del proyecto Joaquín Torres y a mi tutor José
María Sierra por el apoyo y dedicación que me han brindado en este proyecto.

- I - Proyecto Fin de Carrera Ingenieria Informática


- II - Desarrollo de un Intermediario de Pago Seguro para la Plataforma OsCommerce

Tabla de Contenidos

Agradecimientos ..........................................................................................................I
Tabla de Contenidos.III
Lista de Figuras........VI
Lista de tablas........VIII
Lista de Acrónimos..................................................................................................... 1
1. Introducción............ 3
1.1. Análisis situación actual..................................................................................... 3
1.2. Objetivos............ 4
2. Descripción Tecnologías......................... 7
2.1. Aspectos Teóricos del Esquema 3D Secure........................ 7
2.1.1. Introducción ................................................................................................ 7
2.1.2. Especificación del esquema......... 7
2.1.3. Especificación de los mensajes.... 8
2.1.3.1. Verification Enrollement Request......................... 9
2.1.3.2. Verification Enrollement Response..................................................... 11
2.1.3.3. Payment Authentication Request........................ 13
2.1.3.4. Payment Authentication Response...................... 16
2.1.3.5. Signature ............................................................ 19
2.1.3.6. Error................................................................... 21
2.1.3.7. Mensaje de información a los proveedores.......... 22
2.1.3.8. Supplier Payment Authentication Request........... 22
2.1.3.9. Supplier Payment Authentication Response........ 25
2.2. Tecnologías para la implementación................................................................. 26
2.2.1. PHP........................................... 26
2.2.2. XML......... 27
2.2.3. SSL........................................................................... 28
2.2.4. JavaScript.................................. 29
2.2.5. Curl........... 29
3. Análisis de Requisitos........................................................... 31
3.1. Escenario de pago............................ 31
3.2. Requisitos de Usuario....................................................... 32
3.2.1. Requisitos de Funcionalidad...................................................................... 32
3.2.1.1. Funcionalidad del sistema... 33
3.2.1.2. Capacidad........................... 37
3.2.1.3. Velocidad ................................................................ 37
3.2.2. Requisitos de Restricción........................................................................... 38
3.2.2.1. Interfaces de Comunicación 39
3.2.2.2. Interfaces Software............. 40
3.2.2.3. Interacción Hombre-Computadora...................................................... 40
3.2.2.4. Adaptabilidad ..................................................... 41
3.2.2.5. Disponibilidad.................... 42
3.2.2.6. Portabilidad........................ 42
3.2.2.7. Seguridad............................................................ 42
3.2.2.8. Protección frente a fallos..................................... 43
3.2.2.9. Estándares .......................................................... 43
3.3. Requisitos Software......................... 44
3.3.1. Requisitos Funcionales.............................................. 44

- III - Proyecto Fin de Carrera Ingenieria Informática

3.3.2. Requisitos de Rendimiento ........................................................................ 53
3.3.3. Requisitos de Interfaz................ 55
3.3.4. Requisitos Operacionales........... 58
3.3.5. Requisitos de Verificación......... 60
3.3.6. Requisitos de Seguridad ............................................................................ 62
3.3.7. Requisitos de Portabilidad......... 63
3.3.8. Requisitos de Calidad................ 64
3.3.9. Requisitos de Mantenimiento..... 64
3.3.10. Requisitos de Protección.......................................................................... 65
3.4. Matriz de Trazabilidad..................... 67
3.4.1. Requisitos Funcionales.............. 67
3.4.2. Requisitos de Rendimiento........ 68
3.4.3. Requisitos de Interfaz................................................................................ 69
3.4.4. Requisitos Operacionales........... 70
3.4.5. Requisitos de Verificación......... 70
3.4.6. Requisitos de Seguridad............ 71
3.4.7. Requisitos de Portabilidad ......................................................................... 71
3.4.8. Requisitos de Calidad................ 72
3.4.9. Requisitos de Mantenimiento..... 72
3.4.10. Requisitos de Protección frente a fallos.................................................... 73
4. Diseño ................................................................ 75
4.1. Casos de Uso.................................................................................................... 75
4.1.1. Administrador........................... 75
4.1.1.1. Definición de Actores......... 75
4.1.1.1.1. Administrador.............................................................................. 75
4.1.1.2. Definición de casos de uso.. 76
4.1.1.2.1. Administrar módulo de pago........................ 76
4.1.2. Comprador ................................................................................................ 78
4.1.2.1. Definición de Actores......... 79
4.1.2.1.1. Comprador................... 79
4.1.2.2. Definición de casos de uso.. 79
4.1.2.2.1. Introducir Datos Pago .................................................................. 79
4.1.2.2.2. Verificar Registro......... 80
4.1.2.2.3. Verificar Productos...... 81
4.1.2.2.4. Verificar Autenticación 82
4.1.2.2.5. Pago Autenticado......................................................................... 84
4.2. Diagramas de Clases........................ 86
4.2.1. Administrar módulo de pago...... 86
4.2.2. Introducir Datos Pago................ 86
4.2.3. Verificar Registro...................................................................................... 87
4.2.4. Verificar Productos.................... 89
4.2.5. Verificar Autenticación............. 90
4.2.6. Pago Autenticado...................... 92
4.3. Diagramas de Secuencia................................................................................... 93
4.3.1. Administrar módulo de pago...................................................................... 94
4.3.2. Introducir Datos Pago................ 95
4.3.3. Verificar Registro...................... 95
4.3.4. Verificar Productos.................................................................................... 96
4.3.5. Verificar Autenticación............. 98
4.3.6. Pago Autenticado...................... 99

- IV - Desarrollo de un Intermediario de Pago Seguro para la Plataforma OsCommerce

5. Implementación................................................................................................... 101
5.1. tdsecure.php............................... 101
5.2. cvvHelp.php 103
5.3. payment.php 103
5.4. class.VEReq.php ........................................................................................ 103
5.5. class.VERes.php......................... 105
5.6. class.PAReq.php 107
5.7. class.PARes.php 110
5.8. class.TDError.php ...................................................................................... 112
5.9. ACSForm.php............................ 113
5.10. class.ParallelPost.php............... 114
5.11. class.merchantData.php............................................................................ 114
5.12. tdsecure_callback.php............... 114
6. Pruebas de Validación........................ 117
6.1. Batería de testeo............................................................................................. 117
6.2. Resultado de testeo......................... 124
7. Conclusiones........................................ 127
7.1. Objetivos Logrados........................ 127
7.2. Líneas futuras................................................................. 130
8. Bibliografía.......... 133
Apéndice A. Planificación....................... 135
Apéndice B. Presupuesto ........................................................................................ 143
Apéndice C. Creación de Certificados................................... 145
Apéndice D. Manual de Usuario............ 149


- V - Proyecto Fin de Carrera Ingenieria Informática

Lista de Figuras
Figura 1. Especificación esquema 3D Secure con Intermediario.................................... 7
Figura 2. Esquema mensaje ThreeDSecure ................................... 9
Figura 3. Esquema mensaje VEReq............ 10
Figura 4. Esquema mensaje VERes............................................. 12
Figura 5. Esquema mensaje PAReq................................ 14
Figura 6. Esquema mensaje PARes............. 18
Figura 7. Esquema mensaje Signature......... 20
Figura 8. Esquema mensaje Error................................................ 21
Figura 9. Esquema mensaje Información a proveedores.............. 22
Figura 10. Esquema mensaje Supplier Payment Authentication Request ..................... 23
Figura 11. Esquema del mensaje Supplier Payment Autorization Response................. 25
Figura 12. Diagrama de Casos de uso del Actor Administrador................................... 75
Figura 13. Actor Administrador .................................................. 76
Figura 14. Caso de uso Administrar módulo de pago................................................... 76
Figura 15. Diagrama de Actividad de la Instalación del módulo de pago..................... 77
Figura 16. Diagrama de Actividad de la Modificación del módulo de pago................. 77
Figura 17. Diagrama de Actividad de la Eliminación del módulo de pago................... 78
Figura 18. Diagrama de Casos de uso del Actor Comprador........................................ 78
Figura 19. Actor Comprador ....................................................... 79
Figura 20. Caso de uso Introducir datos pago.............................................................. 79
Figura 21. Diagrama de Actividad de Introducir datos pago........ 80
Figura 22. Caso de uso Introducir datos pago 80
Figura 23. Diagrama de Actividad de Verificar Registro............................................. 81
Figura 24. Caso de uso Verificar Productos................................................................. 82
Figura 25. Diagrama de Actividad de Verificar Productos........... 82
Figura 26. Caso de uso Verificar Autenticación.......................... 83
Figura 27. Diagrama de Actividad de Verificar Autenticación..... 84
Figura 28. Caso de uso Verificar Autenticación ................................ 85
Figura 29. Diagrama de Actividad de Pago Autenticado.............. 85
Figura 30. Diagrama de clases del caso de uso Administrar módulo de pago............... 86
Figura 31. Diagrama de clases del caso de uso Introducir datos pago .......................... 87
Figura 32. Diagrama de clases del caso de uso Verificar Registro ............................... 88
Figura 33. Diagrama de clases del caso de uso Verificar Productos............................. 89
Figura 34. Diagrama de clases del caso de uso Verificar Autenticación parte 1 ........... 90
Figura 35. Diagrama de clases del caso de uso Verificar Autenticación parte 2 91
Figura 36. Diagrama de clases del caso de uso Pago Autenticado................................ 93
Figura 37. Diagrama de Secuencia del caso de uso Administrar módulo de pago ........ 94
Figura 38. Diagrama de Secuencia del caso de uso Introducir datos pago.................... 95
Figura 39. Diagrama de Secuencia del caso de uso Verificar Registro......................... 96
Figura 40. Diagrama de Secuencia del caso de uso Verificar Productos....................... 97
Figura 41. Diagrama de Secuencia del caso de uso Verificar Autenticación ................ 98
Figura 42. Diagrama de Secuencia del caso de uso Pago Autenticado ......................... 99
Figura 43. Diagrama de Clases.................................................................................. 101
Figura 44. Clase tdsecure.php................... 102
Figura 45. Clase cvvHelp.php 103
Figura 46. Clase payment.php 103
Figura 47. Clase class.VEReq.php ............................................................................ 104
Figura 48. Clase class.VERes.php............. 106

- VI -