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 +4 -4
- data/CHANGELOG.txt +5 -0
- data/Gemfile +1 -0
- data/README.md +41 -1
- data/facturacion_electronica.gemspec +0 -2
- data/lib/facturacion_electronica/version.rb +1 -1
- data/lib/services/pac_provider_fm.rb +22 -3
- data/spec/lib/facturacion_electronica_spec.rb +10 -2
- metadata +2 -16
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 804d9936aa2bdefae303fbdcfe557fbe23572967
|
4
|
+
data.tar.gz: ea01a3b6af91e71b9d1a136e9141d3f9362f7ce1
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 88a274997bcb59dd0c0d407ab02dea4a0bff60046ceee68ad6bd811f70be4ee0b7bf7db0d5608966929431979a49311b30af0e6451dd44125e63819be4e4e18a
|
7
|
+
data.tar.gz: ee4bca5d5be4b86e1ca3fd64b0a3ac23e5856a48641699cb23c6a00b97f908c663b0e490d599f943bff91778464fded340026e0d1fb11e88bb7eaabfd5b94e77
|
data/CHANGELOG.txt
CHANGED
data/Gemfile
CHANGED
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"
|
@@ -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
|
-
|
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
|
-
|
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
|
-
|
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(
|
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(
|
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.
|
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
|
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
|