cobro_digital 1.0.0 → 1.1.0
Sign up to get free protection for your applications and to get access to all the features.
- data/README.md +23 -5
- data/lib/cobro_digital/operador.rb +16 -0
- data/lib/cobro_digital/transaccion.rb +9 -0
- data/lib/cobro_digital/version.rb +1 -1
- metadata +3 -3
data/README.md
CHANGED
@@ -159,7 +159,6 @@ Obtener el string de los códigos de barras. Serán tantos como vencimientos e i
|
|
159
159
|
Para la obtención de los códigos de barra es necesario comunicar:
|
160
160
|
* numero de boleta (obtenida en la generación)
|
161
161
|
|
162
|
-
|
163
162
|
```ruby
|
164
163
|
comercio_id = 'HA765587' #Brindado por cobrodigital para realizar pruebas
|
165
164
|
comercio_sid = 'wsZ0ya68K791phuu76gQ5L662J6F2Y4j7zqE2Jxa3Mvd22TWNn4iip6L9yq' #Brindado por cobrodigital para realizar pruebas
|
@@ -199,6 +198,8 @@ filtro = { CobroDigital.Transaccion::FILTRO_TIPO => CobroDigital.Transa
|
|
199
198
|
CobroDigital.Transaccion::FILTRO_IDENTIFICADOR => "Algun identificar" }
|
200
199
|
```
|
201
200
|
|
201
|
+
En el siguiente ejemplo se consultan todas las transacciones de ingreso.
|
202
|
+
|
202
203
|
```ruby
|
203
204
|
comercio_id = 'HA765587' #Brindado por cobrodigital para realizar pruebas
|
204
205
|
comercio_sid = 'wsZ0ya68K791phuu76gQ5L662J6F2Y4j7zqE2Jxa3Mvd22TWNn4iip6L9yq' #Brindado por cobrodigital para realizar pruebas
|
@@ -209,13 +210,30 @@ transacciones.call(comercio_id, comercio_sid)
|
|
209
210
|
transacciones.response # Obtengo el resultado.
|
210
211
|
```
|
211
212
|
|
212
|
-
##
|
213
|
+
## Respuesta y Parser de Respuesta
|
214
|
+
La response proveniente del WS de CobroDigital siempre consiste en un JSON, donde los datos relevantes son:
|
215
|
+
* resultado: Si fue correcta la consulta realizada.
|
216
|
+
* log: En caso de no ser exitosa la consulta, mostrara los errores de la misma.
|
217
|
+
* datos: Resultado obtenido de la consulta (Es opcional, depende de la consulta)
|
218
|
+
|
219
|
+
El metodo _call_ guarda el resultado de la comunicación en el atributo **response** del objeto, por lo que siempres sera posible consultar la **Response**.
|
220
|
+
|
221
|
+
A traves del metodo **parse_response** es posible obenter la respuesta parseada en formato hash. Este metodo debe llamarse luego de haberse ejecutado el _call_,
|
222
|
+
|
223
|
+
```ruby
|
224
|
+
comercio_id = 'HA765587' #Brindado por cobrodigital para realizar pruebas
|
225
|
+
comercio_sid = 'wsZ0ya68K791phuu76gQ5L662J6F2Y4j7zqE2Jxa3Mvd22TWNn4iip6L9yq' #Brindado por cobrodigital para realizar pruebas
|
226
|
+
numero_boleta = 123
|
227
|
+
boleta = CobroDigital.Boleta.obtener_codigo_de_barras(numero_boleta)
|
228
|
+
boleta.call(comercio_id, comercio_sid)
|
229
|
+
boleta.parse_response
|
213
230
|
|
214
|
-
|
231
|
+
{ :resultado => true, :log => ["Codigos de barra de la boleta encontrados correctamente."], :datos => ["73852040502403101111600000002"] }
|
232
|
+
```
|
215
233
|
|
216
|
-
|
234
|
+
## SOAP vs HTTPS
|
217
235
|
|
218
|
-
|
236
|
+
En construcción.
|
219
237
|
|
220
238
|
## Contributing
|
221
239
|
|
@@ -18,5 +18,21 @@ module CobroDigital
|
|
18
18
|
@response = client.call(request)
|
19
19
|
end
|
20
20
|
|
21
|
+
def parse_response
|
22
|
+
parsed_response = JSON.parse(response.body[:webservice_cobrodigital_response][:output])
|
23
|
+
|
24
|
+
datos = []
|
25
|
+
|
26
|
+
if parsed_response['datos'].present?
|
27
|
+
parsed_response['datos'].each do |data|
|
28
|
+
_data = data.split("\"")
|
29
|
+
_data.delete("")
|
30
|
+
datos << _data
|
31
|
+
end
|
32
|
+
end
|
33
|
+
|
34
|
+
{ status: (parsed_response['ejecucion_correcta'] == '1'), log: parsed_response['log'], datos: datos.flatten }
|
35
|
+
end
|
36
|
+
|
21
37
|
end
|
22
38
|
end
|
@@ -24,5 +24,14 @@ module CobroDigital
|
|
24
24
|
:filtros => filtros } )
|
25
25
|
end
|
26
26
|
|
27
|
+
def parse_response
|
28
|
+
output = response.body[:webservice_cobrodigital_response][:output]
|
29
|
+
parsed_response = JSON.parse(output)
|
30
|
+
|
31
|
+
datos = parsed_response['datos'].present? ? (JSON.parse(JSON.parse(output)['datos'].first) rescue []) : []
|
32
|
+
|
33
|
+
{ status: (parsed_response['ejecucion_correcta'] == '1'), log: parsed_response['log'], datos: datos }
|
34
|
+
end
|
35
|
+
|
27
36
|
end
|
28
37
|
end
|
metadata
CHANGED
@@ -1,13 +1,13 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: cobro_digital
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
hash:
|
4
|
+
hash: 19
|
5
5
|
prerelease:
|
6
6
|
segments:
|
7
7
|
- 1
|
8
|
+
- 1
|
8
9
|
- 0
|
9
|
-
|
10
|
-
version: 1.0.0
|
10
|
+
version: 1.1.0
|
11
11
|
platform: ruby
|
12
12
|
authors:
|
13
13
|
- g.edera
|