transbank-sdk 1.1.0 → 1.4.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (125) hide show
  1. checksums.yaml +4 -4
  2. data/.github/ISSUE_TEMPLATE/reporte-de-error.md +40 -0
  3. data/.gitignore +3 -1
  4. data/.travis.yml +3 -1
  5. data/CHANGELOG.md +38 -0
  6. data/Makefile +1 -1
  7. data/README.md +4 -7
  8. data/lib/transbank/sdk.rb +9 -5
  9. data/lib/transbank/sdk/oneclick/base.rb +64 -0
  10. data/lib/transbank/sdk/oneclick/errors/oneclick_error.rb +16 -0
  11. data/lib/transbank/sdk/oneclick/inscription/errors/mall_inscription_delete_error.rb +16 -0
  12. data/lib/transbank/sdk/oneclick/inscription/errors/mall_inscription_finish_error.rb +16 -0
  13. data/lib/transbank/sdk/oneclick/inscription/errors/mall_inscription_start_error.rb +16 -0
  14. data/lib/transbank/sdk/oneclick/inscription/errors/oneclick_mall_inscription_errors.rb +3 -0
  15. data/lib/transbank/sdk/oneclick/inscription/inscription.rb +3 -0
  16. data/lib/transbank/sdk/oneclick/inscription/responses/mall_inscription_delete_response.rb +18 -0
  17. data/lib/transbank/sdk/oneclick/inscription/responses/mall_inscription_finish_response.rb +15 -0
  18. data/lib/transbank/sdk/oneclick/inscription/responses/mall_inscription_start_response.rb +14 -0
  19. data/lib/transbank/sdk/oneclick/inscription/responses/oneclick_mall_inscription_responses.rb +3 -0
  20. data/lib/transbank/sdk/oneclick/mall/errors/mall_transaction_authorize_error.rb +16 -0
  21. data/lib/transbank/sdk/oneclick/mall/errors/mall_transaction_refund_error.rb +16 -0
  22. data/lib/transbank/sdk/oneclick/mall/errors/mall_transaction_status_error.rb +16 -0
  23. data/lib/transbank/sdk/oneclick/mall/errors/oneclick_mall_errors.rb +4 -0
  24. data/lib/transbank/sdk/oneclick/mall/mall_inscription.rb +73 -0
  25. data/lib/transbank/sdk/oneclick/mall/mall_transaction.rb +97 -0
  26. data/lib/transbank/sdk/oneclick/mall/oneclick_mall.rb +4 -0
  27. data/lib/transbank/sdk/oneclick/mall/responses/mall_transaction_authorize_response.rb +16 -0
  28. data/lib/transbank/sdk/oneclick/mall/responses/mall_transaction_refund_response.rb +16 -0
  29. data/lib/transbank/sdk/oneclick/mall/responses/mall_transaction_status_response.rb +15 -0
  30. data/lib/transbank/sdk/oneclick/mall/responses/oneclick_mall_responses.rb +4 -0
  31. data/lib/transbank/sdk/oneclick/mall_deferred/errors/mall_deferred_transaction_capture_error.rb +16 -0
  32. data/lib/transbank/sdk/oneclick/mall_deferred/mall_deferred_inscription.rb +20 -0
  33. data/lib/transbank/sdk/oneclick/mall_deferred/mall_deferred_transaction.rb +42 -0
  34. data/lib/transbank/sdk/oneclick/mall_deferred/responses/mall_deferred_transaction_capture_response.rb +16 -0
  35. data/lib/transbank/sdk/oneclick/oneclick.rb +12 -0
  36. data/lib/transbank/sdk/onepay/models/item.rb +1 -1
  37. data/lib/transbank/sdk/onepay/models/refund.rb +4 -5
  38. data/lib/transbank/sdk/onepay/models/shopping_cart.rb +1 -1
  39. data/lib/transbank/sdk/onepay/models/transaction.rb +11 -9
  40. data/lib/transbank/sdk/onepay/requests/request.rb +1 -1
  41. data/lib/transbank/sdk/onepay/responses/response.rb +1 -1
  42. data/lib/transbank/sdk/patpass/errors/integration_type_error.rb +8 -0
  43. data/lib/transbank/sdk/patpass/errors/patpass_error.rb +15 -0
  44. data/lib/transbank/sdk/patpass/patpass_by_webpay/base.rb +47 -0
  45. data/lib/transbank/sdk/patpass/patpass_by_webpay/errors/patpass_by_webpay_errors.rb +12 -0
  46. data/lib/transbank/sdk/patpass/patpass_by_webpay/errors/transaction_commit_error.rb +15 -0
  47. data/lib/transbank/sdk/patpass/patpass_by_webpay/errors/transaction_create_error.rb +15 -0
  48. data/lib/transbank/sdk/patpass/patpass_by_webpay/errors/transaction_status_error.rb +15 -0
  49. data/lib/transbank/sdk/patpass/patpass_by_webpay/options.rb +9 -0
  50. data/lib/transbank/sdk/patpass/patpass_by_webpay/patpass_by_webpay.rb +16 -0
  51. data/lib/transbank/sdk/patpass/patpass_by_webpay/responses/patpass_by_webpay_responses.rb +3 -0
  52. data/lib/transbank/sdk/patpass/patpass_by_webpay/responses/transaction_commit_response.rb +20 -0
  53. data/lib/transbank/sdk/patpass/patpass_by_webpay/responses/transaction_create_response.rb +15 -0
  54. data/lib/transbank/sdk/patpass/patpass_by_webpay/responses/transaction_status_response.rb +21 -0
  55. data/lib/transbank/sdk/patpass/patpass_by_webpay/transaction.rb +93 -0
  56. data/lib/transbank/sdk/patpass/patpass_comercio/base.rb +47 -0
  57. data/lib/transbank/sdk/patpass/patpass_comercio/errors/inscription_start_error.rb +15 -0
  58. data/lib/transbank/sdk/patpass/patpass_comercio/errors/inscription_status_error.rb +15 -0
  59. data/lib/transbank/sdk/patpass/patpass_comercio/errors/patpass_comercio_errors.rb +2 -0
  60. data/lib/transbank/sdk/patpass/patpass_comercio/inscription.rb +79 -0
  61. data/lib/transbank/sdk/patpass/patpass_comercio/options.rb +9 -0
  62. data/lib/transbank/sdk/patpass/patpass_comercio/patpass_comercio.rb +5 -0
  63. data/lib/transbank/sdk/patpass/patpass_comercio/responses/inscription_start_response.rb +13 -0
  64. data/lib/transbank/sdk/patpass/patpass_comercio/responses/inscription_status_response.rb +13 -0
  65. data/lib/transbank/sdk/patpass/patpass_comercio/responses/patpass_comercio_responses.rb +2 -0
  66. data/lib/transbank/sdk/transaccion_completa/base.rb +49 -0
  67. data/lib/transbank/sdk/transaccion_completa/errors/transaccion_completa_error.rb +16 -0
  68. data/lib/transbank/sdk/transaccion_completa/errors/transaccion_completa_errors.rb +6 -0
  69. data/lib/transbank/sdk/transaccion_completa/errors/transaction_commit_error.rb +14 -0
  70. data/lib/transbank/sdk/transaccion_completa/errors/transaction_create_error.rb +14 -0
  71. data/lib/transbank/sdk/transaccion_completa/errors/transaction_installments_error.rb +14 -0
  72. data/lib/transbank/sdk/transaccion_completa/errors/transaction_refund_error.rb +14 -0
  73. data/lib/transbank/sdk/transaccion_completa/errors/transaction_status_error.rb +14 -0
  74. data/lib/transbank/sdk/transaccion_completa/mall/mall_transaction.rb +164 -0
  75. data/lib/transbank/sdk/transaccion_completa/mall/responses/mall_transaction_commit_response.rb +14 -0
  76. data/lib/transbank/sdk/transaccion_completa/mall/responses/mall_transaction_installments_response.rb +11 -0
  77. data/lib/transbank/sdk/transaccion_completa/mall/responses/mall_transaction_responses.rb +3 -0
  78. data/lib/transbank/sdk/transaccion_completa/mall/responses/mall_transaction_status_response.rb +14 -0
  79. data/lib/transbank/sdk/transaccion_completa/options.rb +7 -0
  80. data/lib/transbank/sdk/transaccion_completa/responses/transaccion_completa_responses.rb +5 -0
  81. data/lib/transbank/sdk/transaccion_completa/responses/transaction_commit_response.rb +16 -0
  82. data/lib/transbank/sdk/transaccion_completa/responses/transaction_create_response.rb +10 -0
  83. data/lib/transbank/sdk/transaccion_completa/responses/transaction_installments_response.rb +13 -0
  84. data/lib/transbank/sdk/transaccion_completa/responses/transaction_refund_response.rb +14 -0
  85. data/lib/transbank/sdk/transaccion_completa/responses/transaction_status_response.rb +16 -0
  86. data/lib/transbank/sdk/transaccion_completa/transaccion_completa.rb +5 -0
  87. data/lib/transbank/sdk/transaccion_completa/transaction.rb +117 -0
  88. data/lib/transbank/sdk/transbank_error.rb +6 -0
  89. data/lib/transbank/sdk/utils/json_utils.rb +75 -0
  90. data/lib/transbank/sdk/utils/net_helper.rb +82 -0
  91. data/lib/transbank/sdk/{onepay/utils → utils}/request_builder.rb +0 -0
  92. data/lib/transbank/sdk/{onepay/utils → utils}/signature_utils.rb +0 -0
  93. data/lib/transbank/sdk/utils/utils.rb +9 -0
  94. data/lib/transbank/sdk/version.rb +1 -1
  95. data/lib/transbank/sdk/webpay/errors/integration_type_error.rb +8 -0
  96. data/lib/transbank/sdk/webpay/errors/webpay_error.rb +14 -0
  97. data/lib/transbank/sdk/webpay/webpay_plus/base.rb +74 -0
  98. data/lib/transbank/sdk/webpay/webpay_plus/deferred/deferred_transaction.rb +108 -0
  99. data/lib/transbank/sdk/webpay/webpay_plus/deferred/errors/transaction_capture_error.rb +16 -0
  100. data/lib/transbank/sdk/webpay/webpay_plus/deferred/errors/webpay_plus_deferred_errors.rb +1 -0
  101. data/lib/transbank/sdk/webpay/webpay_plus/deferred/responses/transaction_capture_response.rb +22 -0
  102. data/lib/transbank/sdk/webpay/webpay_plus/deferred/responses/webpay_plus_deferred_responses.rb +1 -0
  103. data/lib/transbank/sdk/webpay/webpay_plus/errors/transaction_commit_error.rb +17 -0
  104. data/lib/transbank/sdk/webpay/webpay_plus/errors/transaction_create_error.rb +16 -0
  105. data/lib/transbank/sdk/webpay/webpay_plus/errors/transaction_refund_error.rb +16 -0
  106. data/lib/transbank/sdk/webpay/webpay_plus/errors/transaction_status_error.rb +16 -0
  107. data/lib/transbank/sdk/webpay/webpay_plus/errors/webpay_plus_errors.rb +13 -0
  108. data/lib/transbank/sdk/webpay/webpay_plus/mall/mall_transaction.rb +88 -0
  109. data/lib/transbank/sdk/webpay/webpay_plus/mall/responses/mall_transaction_commit_response.rb +23 -0
  110. data/lib/transbank/sdk/webpay/webpay_plus/mall/responses/mall_transaction_status_response.rb +21 -0
  111. data/lib/transbank/sdk/webpay/webpay_plus/mall/responses/webpay_plus_mall_responses.rb +2 -0
  112. data/lib/transbank/sdk/webpay/webpay_plus/mall_deferred/mall_deferred_transaction.rb +109 -0
  113. data/lib/transbank/sdk/webpay/webpay_plus/options.rb +9 -0
  114. data/lib/transbank/sdk/webpay/webpay_plus/responses/transaction_commit_response.rb +20 -0
  115. data/lib/transbank/sdk/webpay/webpay_plus/responses/transaction_create_response.rb +15 -0
  116. data/lib/transbank/sdk/webpay/webpay_plus/responses/transaction_refund_response.rb +19 -0
  117. data/lib/transbank/sdk/webpay/webpay_plus/responses/transaction_status_response.rb +21 -0
  118. data/lib/transbank/sdk/webpay/webpay_plus/responses/webpay_plus_responses.rb +4 -0
  119. data/lib/transbank/sdk/webpay/webpay_plus/transaction.rb +89 -0
  120. data/lib/transbank/sdk/webpay/webpay_plus/webpay_plus.rb +24 -0
  121. data/transbank-sdk.gemspec +10 -8
  122. metadata +148 -31
  123. data/lib/transbank/sdk/onepay/utils/json_utils.rb +0 -77
  124. data/lib/transbank/sdk/onepay/utils/net_helper.rb +0 -38
  125. data/lib/transbank/sdk/onepay/utils/utils.rb +0 -9
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 33b621b2e0a716808e5c98f3a76188d3816c094188e8e094f6b8b097b842687f
4
- data.tar.gz: a88d80d79d4723224d988ccc258642efa8a4902c95535b2d1b3f8ead77948c2a
3
+ metadata.gz: 0ea564f34c9caf8e849fb14c9ce61f55d2bbb7735e70d8524f21cb1b6449290a
4
+ data.tar.gz: 2979766f5ed7d08b06b3e6c991f1a8482c0c6bc5c84b42ab6308629fb72b27db
5
5
  SHA512:
6
- metadata.gz: 370f178eace68097e53e81dc271178235480213460d0ca7c81df213c4d3d6b705cfd143af4930fb8cf602069ac18a96317dd91e30400b88795689405b2ab6964
7
- data.tar.gz: 2f6bc945ee3620294d750661ad91632f19bdbbb624d2182c34290ed6bf9662ed5f2bd8bfaf42037ac2e9da828a2b95254bafd756e5f213dbc5ba5072974f3399
6
+ metadata.gz: 86d8009d2cdfd937ab5de8e5daa921c5ba291af3798baf5c9fb8d57af1b25ab6b3187e6edfb83cd0e41f20a80008941b9638bd5f2ef8d062033f195927dfd03f
7
+ data.tar.gz: 610377b81766678beb1edc38a809c57b9bb9a536ae82d81376b28e742149de8fd84665466465b5da492458c6cb594889d4f53ebfbf64eca259d66afe50336c81
@@ -0,0 +1,40 @@
1
+ ---
2
+ name: Reporte de Error
3
+ about: Crea un reporte para ayudarnos a mejorar
4
+ title: ''
5
+ labels: bug
6
+ assignees: ''
7
+
8
+ ---
9
+
10
+ **Describe el bug**
11
+
12
+ Una descripción concisa sobre el bug.
13
+
14
+ **Para reproducir**
15
+
16
+ 1. Configura '...'
17
+ 2. Crea un objeto '...'
18
+ 3. Ejecuta el método '...'
19
+ 4. Se ve el error en '...'
20
+
21
+ **Comportamiento observado**
22
+
23
+ Describe de forma concisa lo que observaste siguiendo los pasos para reproducir el error.
24
+
25
+ **Comportamiento esperado**
26
+
27
+ Una explicación concisa y clara de qué es lo que esperas que ocurra.
28
+
29
+ **Capturas de pantalla**
30
+
31
+ Si aplica, agrega aquí capturas de pantalla que ayuden a explicar tu problema.
32
+
33
+ **Versiones (por favor agrega aquí la siguiente información):**
34
+ - SDK: [e.g. 1.1.0]
35
+ - Ruby: [e.g. 2.5.2]
36
+ - Bundler: [e.g. 2.0.1]
37
+
38
+ **Contexto adicional**
39
+
40
+ Agrega cualquier otro información sobre el problema aquí.
data/.gitignore CHANGED
@@ -6,9 +6,11 @@
6
6
  /pkg/
7
7
  /spec/reports/
8
8
  /tmp/
9
+ /.DS_Store/
9
10
  .idea
10
11
  *.gem
11
12
  Gemfile.lock
12
13
  .built
13
14
  .bundled
14
-
15
+ .rakeTasks
16
+ .DS_Store
data/.travis.yml CHANGED
@@ -1,8 +1,10 @@
1
1
  deploy:
2
2
  provider: rubygems
3
3
  api_key:
4
- secure: DrUEm8pAjKtSekGBZz9/dMK92CSj2J+Zi1KOMLdDMckD4UCifusmbyqsp+RWAYBX1fWREyjMW0VvaPgj2eYOEaQrr6+TmygQMel1sFKSC6pOMVHQ3NMPwacVG5rGlNlK5+1PuNyR/ZGwtIdWkHe8+g9CvlvliNdY5KYtVs0pnwGUOMeQAwuIgM/w7uSm67zL7M3pYqEArU73EoX9puUS+k6aQ+KtxBckpqi7GtA5+42F8kTvEg+Y0h385qOvnQhjwepYh6YvfTeyzxc5fqFiBlO4TZp4rCoCpEeY1XO1VBCip+aGe5FVoWJrWkYONWdKV4GGzQd0Kd2Jmis4ieBDoi1julUK+uudy3CcjT3pSvSl6NyEpkUDJrJLZ9vn5P5SRJrUsWPDpkun5TptOnc1W1lgyJRypM47BbJ/qRzSr279iQmbvkEMci132Vp3v1Q17zDzBAyI13jirxNN4aw/PB0UCG7XRxqfEhnN391p1QVjB5u24G8r+gxABrJQA0WroKvQACstHd160wFWHxb57kSTaD32j3dzIbT+IdylF0ENmGQCohhUjwZt9ldv5cdQOyq0Jhsu9j8T/VzSRc52n1by1JQgl4nu4b7pmmNbfsEL6P13+m93TyKQiK0tr4CgdzF2XrY/bBJxoMvUTd2To4X77IRMayjkoZWEOT2RzrA=
4
+ secure: Y3z7qW8UhuDi0AqMr9T6ti46w3jLuLDRLuHUBTff80lYAZhBwCNj7U9UvlgELTiOC/nLREtboGW5ZUf3XIIiRr2oIqCSSWYVR6OCuPGTHS/hvGBi0T5jEL30/YuIEbIuz3xkXqN15WlOouKVgfPsNcL8mfLZBZMHQ9QwB6P0E2rg2GZj1QVqAUjnn/JGet0d2EJb48YyndN4nGVhaXXUQhcyyy1+XWEkC3nCo6v1dwE5pS8QK4kcRevRvL9G8mebxX74IuIbgW2bXBHPLNUbuUOHuNNUrrNIJDFUf8xXouLDT5QN4CsoldcgSIGuBvcJlmoubQFfju4iuGt/xnL8BtsKDy3iZ+xnIji6h7MGNAOpiZ7e2LavGvO5luYVEpuv2iG9V/FpJY5DJcBZ8779LnA97NAV7bz383tjihCfR9kzUh5rs2To42FV0IQj0btWuGesVmPefWjwV/EzjmbN0+PhNmxDwQAJS49cHycZKTeestaR4MgHigXZ2CGRAJSKYr3Tj7/r8KZW6MGY6KgXiwjpu+d3+UidAwI1viiRrCGuWBALkAAaxGR0H8qamMsJr/DQtjAgXDITRlAScpWzicgvEEHyXTos45EIrsJZV72O/jj8Zvbw83rEMv8It3yCS43deLsyw+5a4i9y9HFKuGQPa8w7yR1xEOnh6G3AiWY=
5
5
  gem: transbank-sdk
6
6
  on:
7
7
  tags: true
8
8
  repo: TransbankDevelopers/transbank-sdk-ruby
9
+ rvm:
10
+ - 2.4.1
data/CHANGELOG.md CHANGED
@@ -4,6 +4,44 @@ Todos los cambios notables a este proyecto serán documentados en este archivo.
4
4
  El formato está basado en [Keep a Changelog](http://keepachangelog.com/en/1.0.0/)
5
5
  y este proyecto adhiere a [Semantic Versioning](http://semver.org/spec/v2.0.0.html).
6
6
 
7
+ ## [1.4.1] - 2021-03-30
8
+ ### Fixed
9
+ - Se agrega parámetro de estado faltante en respuesta de Commit y Status en Webpay Plus
10
+ - Se agrega dependencia JSON (~> 2.0) para evitar problemas al recibir respuesta de Commit
11
+ - Se arregla endpoint de captura en Webpay Plus
12
+
13
+ ## [1.4.0] - 2020-12-03
14
+ ### Added
15
+ - Se agregan métodos de configuración para integración a Webpay Plus en sus modalidades diferidas y mall diferida.
16
+ - Se agregan métodos de configuración para integración a Webpay Oneclick en su modalidad mall diferida.
17
+
18
+ ### Fixed
19
+ - Se arregla forma en que se lee configuración del SDK, estaba tomando valores de una constante en vez de la variable de clase correspondiente. Este arreglo es para todos los productos con la excepción de Onepay
20
+
21
+ ## [1.3.1] - 2020-10-29
22
+ ### Fixed
23
+ - Se revierte commit que elimina requires necesarios para productos REST
24
+
25
+ ## [1.3.0] - 2020-10-26
26
+
27
+ ### Added
28
+
29
+ - Se agrega soporte para:
30
+ - Webpay Plus Rest
31
+ - modalidad normal
32
+ - modalidad captura diferida
33
+ - modalidad mall
34
+ - modalidad mall captura diferida
35
+ - Patpass by Webpay Rest
36
+ - Patpass Comercio Rest
37
+ - Transacción completa Rest
38
+ - modalidad mall
39
+ - Oneclick Mall Captura diferida
40
+
41
+ ## [1.2.0] - 2019-12-26
42
+ ### Added
43
+ - Se agrega soporte para Oneclick Mall y Transacción Completa en sus versiones REST.
44
+
7
45
  ## [1.1.0] - 2018-04-08
8
46
  ### Added
9
47
  - Se agregaron los parámetros `qr_width_height` y `commerce_logo_url` a Options, para definir el tamaño del QR generado para la transacción, y especificar la ubicación del logo de comercio para ser mostrado en la aplicación móvil de Onepay. Puedes configurar estos parámetros globalmente o por transacción.
data/Makefile CHANGED
@@ -12,7 +12,7 @@ build: .built .bundled
12
12
  touch .built
13
13
 
14
14
  .bundled: Gemfile
15
- docker-compose run --rm web bundle install
15
+ docker-compose run web bundle install
16
16
  touch .bundled
17
17
 
18
18
  logs:
data/README.md CHANGED
@@ -75,16 +75,13 @@ make
75
75
  ```
76
76
 
77
77
  ### Deploy de una nueva versión.
78
- Para generar una nueva versión, se debe crear un PR (con un título "Prepare release X.Y.Z" con los valores que correspondan para X, Y y Z). Se debe seguir el estándar semver para determinar si se incrementa el valor de X (si hay cambios no retrocompatibles), Y (para mejoras retrocompatibles) o Z (si sólo hubo correcciones a bugs).
78
+ Para generar una nueva versión, se debe crear un PR (con un título "Prepare release X.Y.Z" con los valores que correspondan para `X`, `Y` y `Z`). Se debe seguir el estándar semver para determinar si se incrementa el valor de `X` (si hay cambios no retrocompatibles), `Y` (para mejoras retrocompatibles) o `Z` (si sólo hubo correcciones a bugs).
79
79
 
80
80
  En ese PR deben incluirse los siguientes cambios:
81
81
 
82
- Modificar el archivo CHANGELOG.md para incluir una nueva entrada (al comienzo) para X.Y.Z que explique en español los cambios de cara al usuario del SDK.
82
+ 1. Modificar el archivo `CHANGELOG.md` para incluir una nueva entrada (al comienzo) para `X.Y.Z` que explique en español los cambios **de cara al usuario del SDK**.
83
+ 2. Modificar [version.rb](./lib/transbank/sdk/version.rb) para poner la nueva versión que corresponde.
83
84
 
84
- Modificar este README.md para que los ejemplos usen la nueva versión X.Y.Z
85
-
86
- Modificar [version.rb](./lib/transbank/sdk/version.rb) para poner la nueva versión que corresponde
87
-
88
- Luego de obtener aprobación del pull request, debe mezclarse a master e inmediatamente generar un release en GitHub con el tag vX.Y.Z. En la descripción del release debes poner lo mismo que agregaste al changelog.
85
+ Luego de obtener aprobación del pull request, debe mezclarse a master e inmediatamente generar un release en GitHub con el tag `vX.Y.Z`. En la descripción del release debes poner lo mismo que agregaste al changelog.
89
86
 
90
87
  Con eso Travis CI generará automáticamente una nueva versión de la librería y la publicará en RubyGems.
data/lib/transbank/sdk.rb CHANGED
@@ -7,9 +7,10 @@ require 'base64'
7
7
 
8
8
  require "transbank/sdk/version"
9
9
 
10
+ require 'transbank/sdk/transbank_error'
10
11
  require 'transbank/sdk/onepay/errors/errors'
11
12
 
12
- require 'transbank/sdk/onepay/utils/utils'
13
+ require 'transbank/sdk/utils/utils'
13
14
 
14
15
  require 'transbank/sdk/onepay/requests/requests'
15
16
  require 'transbank/sdk/onepay/responses/responses'
@@ -17,7 +18,10 @@ require 'transbank/sdk/onepay/responses/responses'
17
18
  require 'transbank/sdk/onepay/models/models'
18
19
  require 'transbank/sdk/onepay/base'
19
20
 
20
- module Transbank
21
- module Onepay
22
- end
23
- end
21
+ require 'transbank/sdk/webpay/webpay_plus/webpay_plus'
22
+
23
+ require 'transbank/sdk/oneclick/oneclick'
24
+ require 'transbank/sdk/patpass/patpass_by_webpay/patpass_by_webpay'
25
+ require 'transbank/sdk/patpass/patpass_comercio/patpass_comercio'
26
+
27
+ require 'transbank/sdk/transaccion_completa/transaccion_completa'
@@ -0,0 +1,64 @@
1
+ module Transbank
2
+ module Webpay
3
+ module Oneclick
4
+ class Base
5
+ DEFAULT_API_KEY = '579B532A7440BB0C9079DED94D31EA1615BACEB56610332264630D42D0A36B1C'.freeze
6
+
7
+ DEFAULT_ONECLICK_MALL_COMMERCE_CODE = '597055555541'.freeze
8
+ DEFAULT_ONECLICK_MALL_CHILD_COMMERCE_CODES = [
9
+ '597055555542'.freeze,
10
+ '597055555543'.freeze
11
+ ].freeze
12
+
13
+ DEFAULT_ONECLICK_MALL_DEFERRED_COMMERCE_CODE = '597055555547'.freeze
14
+ DEFAULT_ONECLICK_MALL_DEFERRED_CHILD_COMMERCE_CODES = [
15
+ '597055555548'.freeze,
16
+ '597055555549'.freeze
17
+ ].freeze
18
+
19
+ @api_key = DEFAULT_API_KEY
20
+ @commerce_code = DEFAULT_ONECLICK_MALL_COMMERCE_CODE
21
+ @integration_type = :TEST
22
+ @integration_types = {
23
+ LIVE: "https://webpay3g.transbank.cl/",
24
+ TEST: "https://webpay3gint.transbank.cl/"
25
+ }
26
+
27
+ class << self
28
+ attr_reader :integration_types
29
+ attr_accessor :api_key, :integration_type, :commerce_code
30
+
31
+ def integration_type_url(integration_type)
32
+ type = integration_type.upcase.to_sym
33
+ return @integration_types[type] unless @integration_types[type].nil?
34
+ valid_values = @integration_types.keys.join(', ')
35
+ raise Transbank::Webpay::Errors::IntegrationTypeError, "Invalid integration type, valid values are #{valid_values}"
36
+ end
37
+
38
+ def current_integration_type_url
39
+ @integration_types[@integration_type]
40
+ end
41
+
42
+ def integration_type=(integration_type)
43
+ type = integration_type.upcase.to_sym
44
+ return @integration_type = type unless @integration_types[type].nil?
45
+ valid_values = @integration_types.keys.join(', ')
46
+ raise Transbank::Webpay::Errors::IntegrationTypeError, "Invalid integration type, valid values are #{valid_values}"
47
+ end
48
+
49
+ def configure_mall_for_testing
50
+ @api_key = DEFAULT_API_KEY
51
+ @commerce_code = DEFAULT_ONECLICK_MALL_COMMERCE_CODE
52
+ self.integration_type = :TEST
53
+ end
54
+
55
+ def configure_mall_deferred_for_testing
56
+ @api_key = DEFAULT_API_KEY
57
+ @commerce_code = DEFAULT_ONECLICK_MALL_DEFERRED_COMMERCE_CODE
58
+ self.integration_type = :TEST
59
+ end
60
+ end
61
+ end
62
+ end
63
+ end
64
+ end
@@ -0,0 +1,16 @@
1
+ module Transbank
2
+ module Webpay
3
+ module Oneclick
4
+ module Errors
5
+ class OneclickError < StandardError
6
+ attr_accessor :code, :message
7
+ def initialize(message, code)
8
+ @code = code
9
+ @message = message
10
+ super(message)
11
+ end
12
+ end
13
+ end
14
+ end
15
+ end
16
+ end
@@ -0,0 +1,16 @@
1
+ module Transbank
2
+ module Webpay
3
+ module Oneclick
4
+ module Errors
5
+ class MallInscriptionDeleteError < OneclickError
6
+ attr_accessor :code, :message
7
+ def initialize(message, code)
8
+ @code = code
9
+ @message = message
10
+ super(message, code)
11
+ end
12
+ end
13
+ end
14
+ end
15
+ end
16
+ end
@@ -0,0 +1,16 @@
1
+ module Transbank
2
+ module Webpay
3
+ module Oneclick
4
+ module Errors
5
+ class MallInscriptionFinishError < OneclickError
6
+ attr_accessor :code, :message
7
+ def initialize(message, code)
8
+ @code = code
9
+ @message = message
10
+ super(message, code)
11
+ end
12
+ end
13
+ end
14
+ end
15
+ end
16
+ end
@@ -0,0 +1,16 @@
1
+ module Transbank
2
+ module Webpay
3
+ module Oneclick
4
+ module Errors
5
+ class MallInscriptionStartError < OneclickError
6
+ attr_accessor :code, :message
7
+ def initialize(message, code)
8
+ @code = code
9
+ @message = message
10
+ super(message, code)
11
+ end
12
+ end
13
+ end
14
+ end
15
+ end
16
+ end
@@ -0,0 +1,3 @@
1
+ require 'transbank/sdk/oneclick/inscription/errors/mall_inscription_delete_error'
2
+ require 'transbank/sdk/oneclick/inscription/errors/mall_inscription_start_error'
3
+ require 'transbank/sdk/oneclick/inscription/errors/mall_inscription_finish_error'
@@ -0,0 +1,3 @@
1
+ require 'transbank/sdk/oneclick/errors/oneclick_error'
2
+ require 'transbank/sdk/oneclick/inscription/errors/oneclick_mall_inscription_errors'
3
+ require 'transbank/sdk/oneclick/inscription/responses/oneclick_mall_inscription_responses'
@@ -0,0 +1,18 @@
1
+ module Transbank
2
+ module Webpay
3
+ module Oneclick
4
+ class MallInscriptionDeleteResponse
5
+ attr_accessor :status, :code
6
+ def initialize(code)
7
+ code = code.to_i
8
+ @code = code
9
+ if code == 204
10
+ @status = 'OK'
11
+ elsif code == 404
12
+ @status = 'Not found'
13
+ end
14
+ end
15
+ end
16
+ end
17
+ end
18
+ end
@@ -0,0 +1,15 @@
1
+ module Transbank
2
+ module Webpay
3
+ module Oneclick
4
+ class MallInscriptionFinishResponse
5
+ FIELDS = [:response_code, :tbk_user, :authorization_code,
6
+ :card_type, :card_number]
7
+ attr_accessor *FIELDS
8
+ def initialize(json)
9
+ FIELDS.each {|field| send("#{field}=", json["#{field}"]) }
10
+ end
11
+ end
12
+ end
13
+ end
14
+ end
15
+
@@ -0,0 +1,14 @@
1
+ module Transbank
2
+ module Webpay
3
+ module Oneclick
4
+ class MallInscriptionStartResponse
5
+ attr_accessor :token, :url_webpay
6
+
7
+ def initialize(json)
8
+ @token = json['token']
9
+ @url_webpay = json['url_webpay']
10
+ end
11
+ end
12
+ end
13
+ end
14
+ end
@@ -0,0 +1,3 @@
1
+ require 'transbank/sdk/oneclick/inscription/responses/mall_inscription_delete_response'
2
+ require 'transbank/sdk/oneclick/inscription/responses/mall_inscription_start_response'
3
+ require 'transbank/sdk/oneclick/inscription/responses/mall_inscription_finish_response'
@@ -0,0 +1,16 @@
1
+ module Transbank
2
+ module Webpay
3
+ module Oneclick
4
+ module Errors
5
+ class MallTransactionAuthorizeError < OneclickError
6
+ attr_accessor :code, :message
7
+ def initialize(message, code)
8
+ @code = code
9
+ @message = message
10
+ super(message, code)
11
+ end
12
+ end
13
+ end
14
+ end
15
+ end
16
+ end
@@ -0,0 +1,16 @@
1
+ module Transbank
2
+ module Webpay
3
+ module Oneclick
4
+ module Errors
5
+ class MallTransactionRefundError < OneclickError
6
+ attr_accessor :code, :message
7
+ def initialize(message, code)
8
+ @code = code
9
+ @message = message
10
+ super(message, code)
11
+ end
12
+ end
13
+ end
14
+ end
15
+ end
16
+ end
@@ -0,0 +1,16 @@
1
+ module Transbank
2
+ module Webpay
3
+ module Oneclick
4
+ module Errors
5
+ class MallTransactionStatusError < OneclickError
6
+ attr_accessor :code, :message
7
+ def initialize(message, code)
8
+ @code = code
9
+ @message = message
10
+ super(message, code)
11
+ end
12
+ end
13
+ end
14
+ end
15
+ end
16
+ end