puntopagos 0.2 → 0.2.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.
- data/README.textile +10 -0
- data/lib/puntopagos/notification.rb +7 -2
- data/lib/puntopagos/verification.rb +7 -2
- data/lib/puntopagos/version.rb +1 -1
- metadata +2 -2
data/README.textile
CHANGED
@@ -1,3 +1,5 @@
|
|
1
|
+
"!https://codeclimate.com/github/acidlabs/puntopagos-ruby.png!":https://codeclimate.com/github/acidlabs/puntopagos-ruby
|
2
|
+
|
1
3
|
h1. PuntoPagos
|
2
4
|
|
3
5
|
This development is in a very early stage, please use it at your own risk and feel free to improve it and send Pull Requests.
|
@@ -54,6 +56,14 @@ h3. Verify notification sent by PuntoPagos
|
|
54
56
|
|
55
57
|
</pre>
|
56
58
|
|
59
|
+
h3. Check status of a transaction
|
60
|
+
|
61
|
+
<pre>
|
62
|
+
status = PuntoPagos::Status.new
|
63
|
+
status.check token, trx_id, amount
|
64
|
+
status.valid? # if there's an error you can call status.error
|
65
|
+
</pre>
|
66
|
+
|
57
67
|
|
58
68
|
h2. Test Data
|
59
69
|
|
@@ -5,6 +5,7 @@ module PuntoPagos
|
|
5
5
|
@env = env
|
6
6
|
@@config ||= PuntoPagos::Config.new(@env)
|
7
7
|
@@function = "transaccion/notificacion"
|
8
|
+
@verification = nil
|
8
9
|
end
|
9
10
|
|
10
11
|
# Public: Validates the message sent by PuntoPagos in the
|
@@ -20,11 +21,15 @@ module PuntoPagos
|
|
20
21
|
message = create_message params["token"], params["trx_id"], params["monto"].to_s, timestamp
|
21
22
|
authorization = Authorization.new(@env)
|
22
23
|
signature = authorization.sign(message)
|
23
|
-
verification = PuntoPagos::Verification.new(@env)
|
24
|
-
(signature == pp_signature(headers)) and (verification.verify(params["token"], params["trx_id"], params["monto"].to_i.to_s + ".00"))
|
24
|
+
@verification = PuntoPagos::Verification.new(@env)
|
25
|
+
(signature == pp_signature(headers)) and (@verification.verify(params["token"], params["trx_id"], params["monto"].to_i.to_s + ".00"))
|
25
26
|
|
26
27
|
end
|
27
28
|
|
29
|
+
def error
|
30
|
+
@verification.error
|
31
|
+
end
|
32
|
+
|
28
33
|
private
|
29
34
|
|
30
35
|
# Internal: Creates the message to be signed which will be
|
@@ -8,6 +8,7 @@ module PuntoPagos
|
|
8
8
|
@@config ||= PuntoPagos::Config.new(env)
|
9
9
|
@@function = "transaccion/traer"
|
10
10
|
@@path = "transaccion"
|
11
|
+
@response = nil
|
11
12
|
end
|
12
13
|
|
13
14
|
# Public: Signs a string using the secret and api-key defined in puntopagos.yml
|
@@ -24,15 +25,19 @@ module PuntoPagos
|
|
24
25
|
puts "SIGNATURE: #{signature} TIMESTAMP: #{timestamp} TOKEN: #{token} TRX: #{trx_id}"
|
25
26
|
puts "MESSAGE: #{message}"
|
26
27
|
|
27
|
-
response = executioner.call_api(token, @@path, :get, signature, timestamp)
|
28
|
+
@response = executioner.call_api(token, @@path, :get, signature, timestamp)
|
28
29
|
|
29
|
-
valid?(response)
|
30
|
+
valid?(@response)
|
30
31
|
end
|
31
32
|
|
32
33
|
def valid? response
|
33
34
|
response["respuesta"] == "00"
|
34
35
|
end
|
35
36
|
|
37
|
+
def error
|
38
|
+
@response['error']
|
39
|
+
end
|
40
|
+
|
36
41
|
private
|
37
42
|
|
38
43
|
def get_timestamp
|
data/lib/puntopagos/version.rb
CHANGED
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: puntopagos
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version:
|
4
|
+
version: 0.2.1
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -10,7 +10,7 @@ authors:
|
|
10
10
|
autorequire:
|
11
11
|
bindir: bin
|
12
12
|
cert_chain: []
|
13
|
-
date:
|
13
|
+
date: 2014-03-05 00:00:00.000000000 Z
|
14
14
|
dependencies:
|
15
15
|
- !ruby/object:Gem::Dependency
|
16
16
|
name: rest-client
|