facturacion_electronica 0.1.0 → 0.1.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
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