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.
- checksums.yaml +4 -4
- data/.github/ISSUE_TEMPLATE/reporte-de-error.md +40 -0
- data/.gitignore +3 -1
- data/.travis.yml +3 -1
- data/CHANGELOG.md +38 -0
- data/Makefile +1 -1
- data/README.md +4 -7
- data/lib/transbank/sdk.rb +9 -5
- data/lib/transbank/sdk/oneclick/base.rb +64 -0
- data/lib/transbank/sdk/oneclick/errors/oneclick_error.rb +16 -0
- data/lib/transbank/sdk/oneclick/inscription/errors/mall_inscription_delete_error.rb +16 -0
- data/lib/transbank/sdk/oneclick/inscription/errors/mall_inscription_finish_error.rb +16 -0
- data/lib/transbank/sdk/oneclick/inscription/errors/mall_inscription_start_error.rb +16 -0
- data/lib/transbank/sdk/oneclick/inscription/errors/oneclick_mall_inscription_errors.rb +3 -0
- data/lib/transbank/sdk/oneclick/inscription/inscription.rb +3 -0
- data/lib/transbank/sdk/oneclick/inscription/responses/mall_inscription_delete_response.rb +18 -0
- data/lib/transbank/sdk/oneclick/inscription/responses/mall_inscription_finish_response.rb +15 -0
- data/lib/transbank/sdk/oneclick/inscription/responses/mall_inscription_start_response.rb +14 -0
- data/lib/transbank/sdk/oneclick/inscription/responses/oneclick_mall_inscription_responses.rb +3 -0
- data/lib/transbank/sdk/oneclick/mall/errors/mall_transaction_authorize_error.rb +16 -0
- data/lib/transbank/sdk/oneclick/mall/errors/mall_transaction_refund_error.rb +16 -0
- data/lib/transbank/sdk/oneclick/mall/errors/mall_transaction_status_error.rb +16 -0
- data/lib/transbank/sdk/oneclick/mall/errors/oneclick_mall_errors.rb +4 -0
- data/lib/transbank/sdk/oneclick/mall/mall_inscription.rb +73 -0
- data/lib/transbank/sdk/oneclick/mall/mall_transaction.rb +97 -0
- data/lib/transbank/sdk/oneclick/mall/oneclick_mall.rb +4 -0
- data/lib/transbank/sdk/oneclick/mall/responses/mall_transaction_authorize_response.rb +16 -0
- data/lib/transbank/sdk/oneclick/mall/responses/mall_transaction_refund_response.rb +16 -0
- data/lib/transbank/sdk/oneclick/mall/responses/mall_transaction_status_response.rb +15 -0
- data/lib/transbank/sdk/oneclick/mall/responses/oneclick_mall_responses.rb +4 -0
- data/lib/transbank/sdk/oneclick/mall_deferred/errors/mall_deferred_transaction_capture_error.rb +16 -0
- data/lib/transbank/sdk/oneclick/mall_deferred/mall_deferred_inscription.rb +20 -0
- data/lib/transbank/sdk/oneclick/mall_deferred/mall_deferred_transaction.rb +42 -0
- data/lib/transbank/sdk/oneclick/mall_deferred/responses/mall_deferred_transaction_capture_response.rb +16 -0
- data/lib/transbank/sdk/oneclick/oneclick.rb +12 -0
- data/lib/transbank/sdk/onepay/models/item.rb +1 -1
- data/lib/transbank/sdk/onepay/models/refund.rb +4 -5
- data/lib/transbank/sdk/onepay/models/shopping_cart.rb +1 -1
- data/lib/transbank/sdk/onepay/models/transaction.rb +11 -9
- data/lib/transbank/sdk/onepay/requests/request.rb +1 -1
- data/lib/transbank/sdk/onepay/responses/response.rb +1 -1
- data/lib/transbank/sdk/patpass/errors/integration_type_error.rb +8 -0
- data/lib/transbank/sdk/patpass/errors/patpass_error.rb +15 -0
- data/lib/transbank/sdk/patpass/patpass_by_webpay/base.rb +47 -0
- data/lib/transbank/sdk/patpass/patpass_by_webpay/errors/patpass_by_webpay_errors.rb +12 -0
- data/lib/transbank/sdk/patpass/patpass_by_webpay/errors/transaction_commit_error.rb +15 -0
- data/lib/transbank/sdk/patpass/patpass_by_webpay/errors/transaction_create_error.rb +15 -0
- data/lib/transbank/sdk/patpass/patpass_by_webpay/errors/transaction_status_error.rb +15 -0
- data/lib/transbank/sdk/patpass/patpass_by_webpay/options.rb +9 -0
- data/lib/transbank/sdk/patpass/patpass_by_webpay/patpass_by_webpay.rb +16 -0
- data/lib/transbank/sdk/patpass/patpass_by_webpay/responses/patpass_by_webpay_responses.rb +3 -0
- data/lib/transbank/sdk/patpass/patpass_by_webpay/responses/transaction_commit_response.rb +20 -0
- data/lib/transbank/sdk/patpass/patpass_by_webpay/responses/transaction_create_response.rb +15 -0
- data/lib/transbank/sdk/patpass/patpass_by_webpay/responses/transaction_status_response.rb +21 -0
- data/lib/transbank/sdk/patpass/patpass_by_webpay/transaction.rb +93 -0
- data/lib/transbank/sdk/patpass/patpass_comercio/base.rb +47 -0
- data/lib/transbank/sdk/patpass/patpass_comercio/errors/inscription_start_error.rb +15 -0
- data/lib/transbank/sdk/patpass/patpass_comercio/errors/inscription_status_error.rb +15 -0
- data/lib/transbank/sdk/patpass/patpass_comercio/errors/patpass_comercio_errors.rb +2 -0
- data/lib/transbank/sdk/patpass/patpass_comercio/inscription.rb +79 -0
- data/lib/transbank/sdk/patpass/patpass_comercio/options.rb +9 -0
- data/lib/transbank/sdk/patpass/patpass_comercio/patpass_comercio.rb +5 -0
- data/lib/transbank/sdk/patpass/patpass_comercio/responses/inscription_start_response.rb +13 -0
- data/lib/transbank/sdk/patpass/patpass_comercio/responses/inscription_status_response.rb +13 -0
- data/lib/transbank/sdk/patpass/patpass_comercio/responses/patpass_comercio_responses.rb +2 -0
- data/lib/transbank/sdk/transaccion_completa/base.rb +49 -0
- data/lib/transbank/sdk/transaccion_completa/errors/transaccion_completa_error.rb +16 -0
- data/lib/transbank/sdk/transaccion_completa/errors/transaccion_completa_errors.rb +6 -0
- data/lib/transbank/sdk/transaccion_completa/errors/transaction_commit_error.rb +14 -0
- data/lib/transbank/sdk/transaccion_completa/errors/transaction_create_error.rb +14 -0
- data/lib/transbank/sdk/transaccion_completa/errors/transaction_installments_error.rb +14 -0
- data/lib/transbank/sdk/transaccion_completa/errors/transaction_refund_error.rb +14 -0
- data/lib/transbank/sdk/transaccion_completa/errors/transaction_status_error.rb +14 -0
- data/lib/transbank/sdk/transaccion_completa/mall/mall_transaction.rb +164 -0
- data/lib/transbank/sdk/transaccion_completa/mall/responses/mall_transaction_commit_response.rb +14 -0
- data/lib/transbank/sdk/transaccion_completa/mall/responses/mall_transaction_installments_response.rb +11 -0
- data/lib/transbank/sdk/transaccion_completa/mall/responses/mall_transaction_responses.rb +3 -0
- data/lib/transbank/sdk/transaccion_completa/mall/responses/mall_transaction_status_response.rb +14 -0
- data/lib/transbank/sdk/transaccion_completa/options.rb +7 -0
- data/lib/transbank/sdk/transaccion_completa/responses/transaccion_completa_responses.rb +5 -0
- data/lib/transbank/sdk/transaccion_completa/responses/transaction_commit_response.rb +16 -0
- data/lib/transbank/sdk/transaccion_completa/responses/transaction_create_response.rb +10 -0
- data/lib/transbank/sdk/transaccion_completa/responses/transaction_installments_response.rb +13 -0
- data/lib/transbank/sdk/transaccion_completa/responses/transaction_refund_response.rb +14 -0
- data/lib/transbank/sdk/transaccion_completa/responses/transaction_status_response.rb +16 -0
- data/lib/transbank/sdk/transaccion_completa/transaccion_completa.rb +5 -0
- data/lib/transbank/sdk/transaccion_completa/transaction.rb +117 -0
- data/lib/transbank/sdk/transbank_error.rb +6 -0
- data/lib/transbank/sdk/utils/json_utils.rb +75 -0
- data/lib/transbank/sdk/utils/net_helper.rb +82 -0
- data/lib/transbank/sdk/{onepay/utils → utils}/request_builder.rb +0 -0
- data/lib/transbank/sdk/{onepay/utils → utils}/signature_utils.rb +0 -0
- data/lib/transbank/sdk/utils/utils.rb +9 -0
- data/lib/transbank/sdk/version.rb +1 -1
- data/lib/transbank/sdk/webpay/errors/integration_type_error.rb +8 -0
- data/lib/transbank/sdk/webpay/errors/webpay_error.rb +14 -0
- data/lib/transbank/sdk/webpay/webpay_plus/base.rb +74 -0
- data/lib/transbank/sdk/webpay/webpay_plus/deferred/deferred_transaction.rb +108 -0
- data/lib/transbank/sdk/webpay/webpay_plus/deferred/errors/transaction_capture_error.rb +16 -0
- data/lib/transbank/sdk/webpay/webpay_plus/deferred/errors/webpay_plus_deferred_errors.rb +1 -0
- data/lib/transbank/sdk/webpay/webpay_plus/deferred/responses/transaction_capture_response.rb +22 -0
- data/lib/transbank/sdk/webpay/webpay_plus/deferred/responses/webpay_plus_deferred_responses.rb +1 -0
- data/lib/transbank/sdk/webpay/webpay_plus/errors/transaction_commit_error.rb +17 -0
- data/lib/transbank/sdk/webpay/webpay_plus/errors/transaction_create_error.rb +16 -0
- data/lib/transbank/sdk/webpay/webpay_plus/errors/transaction_refund_error.rb +16 -0
- data/lib/transbank/sdk/webpay/webpay_plus/errors/transaction_status_error.rb +16 -0
- data/lib/transbank/sdk/webpay/webpay_plus/errors/webpay_plus_errors.rb +13 -0
- data/lib/transbank/sdk/webpay/webpay_plus/mall/mall_transaction.rb +88 -0
- data/lib/transbank/sdk/webpay/webpay_plus/mall/responses/mall_transaction_commit_response.rb +23 -0
- data/lib/transbank/sdk/webpay/webpay_plus/mall/responses/mall_transaction_status_response.rb +21 -0
- data/lib/transbank/sdk/webpay/webpay_plus/mall/responses/webpay_plus_mall_responses.rb +2 -0
- data/lib/transbank/sdk/webpay/webpay_plus/mall_deferred/mall_deferred_transaction.rb +109 -0
- data/lib/transbank/sdk/webpay/webpay_plus/options.rb +9 -0
- data/lib/transbank/sdk/webpay/webpay_plus/responses/transaction_commit_response.rb +20 -0
- data/lib/transbank/sdk/webpay/webpay_plus/responses/transaction_create_response.rb +15 -0
- data/lib/transbank/sdk/webpay/webpay_plus/responses/transaction_refund_response.rb +19 -0
- data/lib/transbank/sdk/webpay/webpay_plus/responses/transaction_status_response.rb +21 -0
- data/lib/transbank/sdk/webpay/webpay_plus/responses/webpay_plus_responses.rb +4 -0
- data/lib/transbank/sdk/webpay/webpay_plus/transaction.rb +89 -0
- data/lib/transbank/sdk/webpay/webpay_plus/webpay_plus.rb +24 -0
- data/transbank-sdk.gemspec +10 -8
- metadata +148 -31
- data/lib/transbank/sdk/onepay/utils/json_utils.rb +0 -77
- data/lib/transbank/sdk/onepay/utils/net_helper.rb +0 -38
- 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:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 0ea564f34c9caf8e849fb14c9ce61f55d2bbb7735e70d8524f21cb1b6449290a
|
4
|
+
data.tar.gz: 2979766f5ed7d08b06b3e6c991f1a8482c0c6bc5c84b42ab6308629fb72b27db
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
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
data/.travis.yml
CHANGED
@@ -1,8 +1,10 @@
|
|
1
1
|
deploy:
|
2
2
|
provider: rubygems
|
3
3
|
api_key:
|
4
|
-
secure:
|
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
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
|
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
|
-
|
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/
|
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
|
-
|
21
|
-
|
22
|
-
|
23
|
-
|
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,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,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
|