facturacion_electronica 0.1.0 → 0.1.1

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 20a4faca441ee0a8c92482782ce25a2c24fdfdab
4
- data.tar.gz: e58c3a98b6a0dc0cfe9ddfb4a50ac79ffab7bc49
3
+ metadata.gz: 804d9936aa2bdefae303fbdcfe557fbe23572967
4
+ data.tar.gz: ea01a3b6af91e71b9d1a136e9141d3f9362f7ce1
5
5
  SHA512:
6
- metadata.gz: 6e36cebe24b28af942eeb81369d23e2c85eb5e068c9ab9beed52dceda6abf6de9689d2c2d98e6e12dd8e6902f36826c75e0132e2003f1740ce073828476a1d05
7
- data.tar.gz: 3c2cbc62b5b11692b73c918f77b20f182b37a8f7df7369fe65ae0faffd1d53041bcfc9d6ad8acc8fcf0fa57d832bc028984f71040639ed5edbb3f8c2aa7a9c93
6
+ metadata.gz: 88a274997bcb59dd0c0d407ab02dea4a0bff60046ceee68ad6bd811f70be4ee0b7bf7db0d5608966929431979a49311b30af0e6451dd44125e63819be4e4e18a
7
+ data.tar.gz: ee4bca5d5be4b86e1ca3fd64b0a3ac23e5856a48641699cb23c6a00b97f908c663b0e490d599f943bff91778464fded340026e0d1fb11e88bb7eaabfd5b94e77
@@ -1,3 +1,8 @@
1
+ VERSION 0.1.1
2
+ =============
3
+ * Return parse response when register SAT keys
4
+ * Return parse response when cancel a CFDI
5
+
1
6
  VERSION 0.1.0
2
7
  =============
3
8
  * Manage errors responses
data/Gemfile CHANGED
@@ -4,3 +4,4 @@ source 'https://rubygems.org'
4
4
  gemspec
5
5
 
6
6
  gem 'fm_timbrado_cfdi', git: 'git@github.com:crowdint/fm_timbrado_cfdi.git'
7
+ gem 'cfdi', git: 'git@github.com:crowdint/CFDI.git'
data/README.md CHANGED
@@ -30,7 +30,7 @@ You need to send a request with:
30
30
  - bill: All the information about the bill that is requested to be
31
31
  stamped through the PAC provider.
32
32
 
33
- Request:
33
+ Request to rining a CFDI:
34
34
  ```
35
35
  { user_keys: {
36
36
  id: 'UsuarioPruebasWS',
@@ -134,6 +134,46 @@ Response:
134
134
  }
135
135
  ```
136
136
 
137
+ Request to cancel a CFDI:
138
+ ```
139
+ {
140
+ user_keys: {
141
+ id: 'UsuarioPruebasWS',
142
+ password: 'b9ec2afa3361a59af4b4d102d3f704eabdf097d4',
143
+ namespace: 'https://t2demo.facturacionmoderna.com/timbrado/soap',
144
+ endpoint: 'https://t2demo.facturacionmoderna.com/timbrado/soap',
145
+ wsdl: 'https://t2demo.facturacionmoderna.com/timbrado/wsdl',
146
+ log: false,
147
+ ssl_verify_mode: :none },
148
+ pac_provider: 'FacturacionModerna',
149
+ biller: {
150
+ rfc: 'TUMG620310R95'
151
+ },
152
+ UUID: 'ASDD-1123-BDFT'
153
+ }
154
+ ```
155
+
156
+ Request to register SAT keys(FacturacionModerna example):
157
+ ```
158
+ {
159
+ user_keys: {
160
+ id: 'UsuarioPruebasWS',
161
+ password: 'b9ec2afa3361a59af4b4d102d3f704eabdf097d4',
162
+ namespace: 'https://t2demo.facturacionmoderna.com/timbrado/soap',
163
+ endpoint: 'https://t2demo.facturacionmoderna.com/timbrado/soap',
164
+ wsdl: 'https://t2demo.facturacionmoderna.com/timbrado/wsdl',
165
+ log: false,
166
+ ssl_verify_mode: :none },
167
+ pac_provider: 'FacturacionModerna',
168
+ biller: {
169
+ rfc: 'TUMG620310R95',
170
+ certificate: CertificateFile.cer,
171
+ key: KeyFile.key.pem,
172
+ password: 'billerpass'
173
+ }
174
+ }
175
+ ```
176
+
137
177
  ## Contributing
138
178
 
139
179
  1. Fork it
@@ -18,8 +18,6 @@ Gem::Specification.new do |spec|
18
18
  spec.test_files = spec.files.grep(%r{^(test|spec|features)/})
19
19
  spec.require_paths = ["lib"]
20
20
 
21
- spec.add_dependency 'cfdi'
22
-
23
21
  spec.add_development_dependency "bundler", "~> 1.3"
24
22
  spec.add_development_dependency "rake"
25
23
  spec.add_development_dependency "rspec"
@@ -1,3 +1,3 @@
1
1
  module FacturacionElectronica
2
- VERSION = "0.1.0"
2
+ VERSION = "0.1.1"
3
3
  end
@@ -6,7 +6,7 @@ class PacProviderFM < PacProviderService
6
6
  def cancel user_keys, rfc, uuid
7
7
  config_client
8
8
  response = FmTimbradoCfdi.cancelar rfc, uuid
9
- response.valid? || return_error_message(Nokogiri::XML(response.error))
9
+ parse_cfdi response
10
10
  end
11
11
 
12
12
  def enable_rfc user_keys, request
@@ -14,7 +14,7 @@ class PacProviderFM < PacProviderService
14
14
  response = FmTimbradoCfdi.subir_certificado request[:rfc],
15
15
  request[:certificate], request[:key],
16
16
  request[:password]
17
- response.valid? || return_error_message(Nokogiri::XML(response.error))
17
+ parse_cfdi response
18
18
  end
19
19
 
20
20
  def rining user_keys
@@ -35,6 +35,15 @@ class PacProviderFM < PacProviderService
35
35
  }
36
36
  end
37
37
 
38
+ def parse_cfdi response
39
+ {
40
+ status: response.valid?,
41
+ xml: response.xml,
42
+ success: return_success_message(response.xml),
43
+ errors: return_error_message(response.error)
44
+ }
45
+ end
46
+
38
47
  def config_client
39
48
  FmTimbradoCfdi.configurar do |config|
40
49
  config.user_id = @user_keys[:id]
@@ -48,7 +57,17 @@ class PacProviderFM < PacProviderService
48
57
  end
49
58
 
50
59
  def return_error_message xml
51
- xml.xpath('//faultstring').text()
60
+ {
61
+ code: Nokogiri::XML(xml).xpath('//faultcode').text(),
62
+ message: Nokogiri::XML(xml).xpath('//faultstring').text()
63
+ }
64
+ end
65
+
66
+ def return_success_message xml
67
+ {
68
+ code: Nokogiri::XML(xml).xpath('//Code').text,
69
+ message: Nokogiri::XML(xml).xpath('//Message').text
70
+ }
52
71
  end
53
72
 
54
73
  end
@@ -53,8 +53,12 @@ describe FacturacionElectronica do
53
53
 
54
54
  context 'with an invalid uuid' do
55
55
  let(:error_message){ 'Formato Incorrecto de UUID.' }
56
+ before do
57
+ @response = subject.cancel_cfdi(request)
58
+ end
59
+
56
60
  it 'returns an error mesage' do
57
- expect(subject.cancel_cfdi(request)).to eql(error_message)
61
+ expect(@response[:errors][:message]).to eql(error_message)
58
62
  end
59
63
  end
60
64
  end
@@ -277,8 +281,12 @@ describe FacturacionElectronica do
277
281
  end
278
282
  let(:error_message){ 'Contrasenia de la clave privada invalida.' }
279
283
 
284
+ before do
285
+ @response = subject.register_rfc(request)
286
+ end
287
+
280
288
  it 'returns an error message' do
281
- expect(subject.register_rfc(request)).to eql(error_message)
289
+ expect(@response[:errors][:message]).to eql(error_message)
282
290
  end
283
291
  end
284
292
  end
metadata CHANGED
@@ -1,29 +1,15 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: facturacion_electronica
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.0
4
+ version: 0.1.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Ulices Barajas
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2014-01-16 00:00:00.000000000 Z
11
+ date: 2014-02-01 00:00:00.000000000 Z
12
12
  dependencies:
13
- - !ruby/object:Gem::Dependency
14
- name: cfdi
15
- requirement: !ruby/object:Gem::Requirement
16
- requirements:
17
- - - '>='
18
- - !ruby/object:Gem::Version
19
- version: '0'
20
- type: :runtime
21
- prerelease: false
22
- version_requirements: !ruby/object:Gem::Requirement
23
- requirements:
24
- - - '>='
25
- - !ruby/object:Gem::Version
26
- version: '0'
27
13
  - !ruby/object:Gem::Dependency
28
14
  name: bundler
29
15
  requirement: !ruby/object:Gem::Requirement