openpay 1.0.8 → 1.0.10

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: d8cfd4d49f413b73d5f5c77e26a4995dae8a8339
4
- data.tar.gz: 363d55d0a4083f4dc36f0c4358f99c5ec4d75ea1
3
+ metadata.gz: fa1c244bcfa5cfa4349bbf0e9248f55109e1f289
4
+ data.tar.gz: bce6bbec4c2a95dbde57f507d5d50ee14ff79561
5
5
  SHA512:
6
- metadata.gz: a9a65051121acd910a0bbaee6c585fd4790f75433207366bcb82c6523dfd97054bafc139efb74af75ca48e834aa4536923c501801da84ac0cce8c4641fa69e18
7
- data.tar.gz: a34b5f4fdc74625d5152dac4eca9a3ac99748122fa5374fa5827cdde5bfd0cb3551657d9840f80fdd6855c7ec6cd00a87c41d48a8806475c378b4ebb07963213
6
+ metadata.gz: 00feb5e106cf0953189167c11d5be3d4b67a6dd062e3a3ac46c98aaae92213605499d1b13887b7c04b1bf2fba3634a678741a5b6d1810fd79391bbad470aff52
7
+ data.tar.gz: a9be87c49657dd84ca42395b62da0555187d95a2e8bd60ff20f2cc9e44241f29e2ff94efc0ab0181aeff37c20f4af7e46a0e279471bc9771c01a79d4fa6a9667
data/.gitignore CHANGED
@@ -16,3 +16,4 @@ spec/reports
16
16
  test/tmp
17
17
  test/version_tmp
18
18
  tmp
19
+ .project
data/README.md CHANGED
@@ -6,7 +6,7 @@
6
6
 
7
7
  ##Description
8
8
 
9
- ruby client for *Openpay api* services (version 1.0.8)
9
+ ruby client for *Openpay api* services (version 1.0.10)
10
10
 
11
11
  This is a ruby client implementing the payment services for *Openpay* at openpay.mx
12
12
 
data/Rakefile CHANGED
@@ -5,7 +5,7 @@
5
5
 
6
6
  desc 'run specifications'
7
7
  RSpec::Core::RakeTask.new do |t|
8
- t.pattern = 'test/spec*'
8
+ t.pattern = 'test/spec/*'
9
9
  end
10
10
 
11
11
 
@@ -69,6 +69,7 @@ class OpenPayResource
69
69
  :url => url(args, terminated),
70
70
  :user => @private_key,
71
71
  :timeout => @timeout,
72
+ :ssl_version => :TLSv1_2,
72
73
  :headers => {:accept => :json,
73
74
  :content_type => :json,
74
75
  :user_agent => 'Openpay/v1 Ruby-API',
@@ -101,6 +102,7 @@ class OpenPayResource
101
102
  :url => url(args),
102
103
  :user => @private_key,
103
104
  :timeout => @timeout,
105
+ :ssl_version => :TLSv1_2,
104
106
  :headers => {:accept => :json,
105
107
  :content_type => :json,
106
108
  :user_agent => 'Openpay/v1 Ruby-API',
@@ -143,6 +145,7 @@ class OpenPayResource
143
145
  :url => url(args),
144
146
  :user => @private_key,
145
147
  :timeout => @timeout,
148
+ :ssl_version => :TLSv1_2,
146
149
  :payload => json,
147
150
  :headers => {:accept => :json,
148
151
  :content_type => :json,
@@ -187,6 +190,7 @@ class OpenPayResource
187
190
  :url => url(args),
188
191
  :user => @private_key,
189
192
  :timeout => @timeout,
193
+ :ssl_version => :TLSv1_2,
190
194
  :payload => json,
191
195
  :headers => {:accept => :json,
192
196
  :content_type => :json,
@@ -0,0 +1,9 @@
1
+ require 'open_pay_resource'
2
+
3
+ class Webhooks < OpenPayResource
4
+
5
+ def verify(webhook_id, code)
6
+ post('', "#{webhook_id}/verify/#{code}")
7
+ end
8
+
9
+ end
@@ -1,3 +1,3 @@
1
1
  module Openpay
2
- VERSION = '1.0.8'
2
+ VERSION = '1.0.10'
3
3
  end
@@ -9,7 +9,7 @@ Gem::Specification.new do |spec|
9
9
  spec.version = Openpay::VERSION
10
10
  spec.authors = ["ronnie_bermejo"]
11
11
  spec.email = ["ronnie.bermejo.mx@gmail.com"]
12
- spec.description = %q{ruby client for Openpay API services (version 1.0.400)}
12
+ spec.description = %q{ruby client for Openpay API services (version 1.0.409)}
13
13
  spec.summary = %q{ruby api for openpay resources}
14
14
  spec.homepage = "http://openpay.mx/"
15
15
  spec.license = "Apache"
@@ -28,7 +28,7 @@ FactoryGirl.define do
28
28
  holder_name 'Vicente Olmos'
29
29
  expiration_month '09'
30
30
  card_number '4111111111111111'
31
- expiration_year '14'
31
+ expiration_year '20'
32
32
  bank_code 'bmx'
33
33
  cvv2 '111'
34
34
  address { {
@@ -51,7 +51,7 @@ FactoryGirl.define do
51
51
  holder_name 'Alma Olmos'
52
52
  expiration_month '09'
53
53
  card_number '4242424242424242'
54
- expiration_year '14'
54
+ expiration_year '20'
55
55
  bank_code 'bmx'
56
56
  cvv2 '111'
57
57
  address { {
@@ -74,7 +74,7 @@ FactoryGirl.define do
74
74
  holder_name 'Alma Olmos'
75
75
  expiration_month '09'
76
76
  card_number '4444444444444448'
77
- expiration_year '14'
77
+ expiration_year '20'
78
78
  bank_code 'bmx'
79
79
  cvv2 '111'
80
80
  address { {
@@ -97,7 +97,7 @@ FactoryGirl.define do
97
97
  holder_name 'Vicente Olmos'
98
98
  expiration_month '09'
99
99
  card_number '4000000000000069'
100
- expiration_year '14'
100
+ expiration_year '20'
101
101
  bank_code 'bmx'
102
102
  cvv2 '111'
103
103
  address { {
@@ -212,13 +212,13 @@ FactoryGirl.define do
212
212
 
213
213
 
214
214
  factory :webhook1, class: Hash do
215
- url 'http://requestb.in/190netg1'
215
+ url 'http://requestb.in/qozy7dqp'
216
216
  event_types ['charge.succeeded','charge.created','charge.cancelled','charge.failed']
217
217
  initialize_with { attributes }
218
218
  end
219
219
 
220
220
  factory :webhook2, class: Hash do
221
- url 'http://requestb.in/vubjb4vu'
221
+ url 'http://requestb.in/10avuvw1'
222
222
  event_types ['charge.succeeded','charge.created','charge.cancelled','charge.failed']
223
223
  initialize_with { attributes }
224
224
  end
@@ -10,6 +10,8 @@ describe Bankaccounts do
10
10
  @merchant_id='mywvupjjs9xdnryxtplq'
11
11
  @private_key='sk_92b25d3baec149e6b428d81abfe37006'
12
12
 
13
+ #LOG.level=Logger::DEBUG
14
+
13
15
  @openpay=OpenpayApi.new(@merchant_id, @private_key)
14
16
  @bank_accounts=@openpay.create(:bankaccounts)
15
17
  @customers=@openpay.create(:customers)
@@ -10,6 +10,8 @@ describe Cards do
10
10
 
11
11
  @merchant_id='mywvupjjs9xdnryxtplq'
12
12
  @private_key='sk_92b25d3baec149e6b428d81abfe37006'
13
+
14
+ #LOG.level=Logger::DEBUG
13
15
 
14
16
  @openpay=OpenpayApi.new(@merchant_id, @private_key)
15
17
  @cards=@openpay.create(:cards)
@@ -140,7 +142,7 @@ describe Cards do
140
142
 
141
143
  it 'iterates over all existing merchant cards' do
142
144
  @cards.each do |card|
143
- expect(card['expiration_year']).to match '14'
145
+ expect(card['expiration_year']).to match '20'
144
146
  end
145
147
  end
146
148
 
@@ -157,7 +159,7 @@ describe Cards do
157
159
  expect(card).to be_a(Hash)
158
160
 
159
161
  @cards.each(customer['id']) do |c|
160
- expect(c['expiration_year']).to match '14'
162
+ expect(c['expiration_year']).to match '20'
161
163
  end
162
164
 
163
165
  #cleanup
@@ -9,6 +9,8 @@ describe Charges do
9
9
 
10
10
  @openpay=OpenpayApi.new(@merchant_id,@private_key)
11
11
  @customers=@openpay.create(:customers)
12
+
13
+ #LOG.level=Logger::DEBUG
12
14
 
13
15
  @charges=@openpay.create(:charges)
14
16
  @cards=@openpay.create(:cards)
@@ -6,6 +6,8 @@ describe Customers do
6
6
 
7
7
  @merchant_id='mywvupjjs9xdnryxtplq'
8
8
  @private_key='sk_92b25d3baec149e6b428d81abfe37006'
9
+
10
+ #LOG.level=Logger::DEBUG
9
11
 
10
12
  @openpay=OpenpayApi.new(@merchant_id, @private_key)
11
13
  @customers=@openpay.create(:customers)
@@ -69,7 +71,7 @@ describe Customers do
69
71
  @customers.create(customer_hash)
70
72
  rescue OpenpayTransactionException => e
71
73
  expect(e.http_code).to be 400
72
- expect(e.description).to match /email no es una direcci.n de correo bien formada/
74
+ expect(e.description).to match /\"{value}\" is not a valid email address/
73
75
  end
74
76
 
75
77
  expect(@customers.errors?).to eq true
@@ -6,6 +6,8 @@ describe 'Openpay Exceptions' do
6
6
 
7
7
  @merchant_id='mywvupjjs9xdnryxtplq'
8
8
  @private_key='sk_92b25d3baec149e6b428d81abfe37006'
9
+
10
+ #LOG.level=Logger::DEBUG
9
11
 
10
12
  @openpay=OpenpayApi.new(@merchant_id, @private_key)
11
13
  @customers=@openpay.create(:customers)
@@ -6,6 +6,8 @@ describe Fees do
6
6
 
7
7
  @merchant_id='mywvupjjs9xdnryxtplq'
8
8
  @private_key='sk_92b25d3baec149e6b428d81abfe37006'
9
+
10
+ #LOG.level=Logger::DEBUG
9
11
 
10
12
  @openpay=OpenpayApi.new(@merchant_id, @private_key)
11
13
  @customers=@openpay.create(:customers)
@@ -10,6 +10,8 @@ describe 'OpenPayResource' do
10
10
 
11
11
  @merchant_id='mywvupjjs9xdnryxtplq'
12
12
  @private_key='sk_92b25d3baec149e6b428d81abfe37006'
13
+
14
+ #LOG.level=Logger::DEBUG
13
15
 
14
16
  @openpay=OpenpayApi.new(@merchant_id,@private_key)
15
17
  @cards=@openpay.create(:cards)
@@ -6,6 +6,8 @@ describe Payouts do
6
6
 
7
7
  @merchant_id='mywvupjjs9xdnryxtplq'
8
8
  @private_key='sk_92b25d3baec149e6b428d81abfe37006'
9
+
10
+ #LOG.level=Logger::DEBUG
9
11
 
10
12
  @openpay=OpenpayApi.new(@merchant_id, @private_key)
11
13
  @payouts=@openpay.create(:payouts)
@@ -6,6 +6,8 @@ describe Plans do
6
6
 
7
7
  @merchant_id='mywvupjjs9xdnryxtplq'
8
8
  @private_key='sk_92b25d3baec149e6b428d81abfe37006'
9
+
10
+ #LOG.level=Logger::DEBUG
9
11
 
10
12
  @openpay=OpenpayApi.new(@merchant_id, @private_key)
11
13
  @customers=@openpay.create(:customers)
@@ -7,6 +7,8 @@ describe 'Request timeout exception' do
7
7
 
8
8
  @merchant_id='mywvupjjs9xdnryxtplq'
9
9
  @private_key='sk_92b25d3baec149e6b428d81abfe37006'
10
+
11
+ #LOG.level=Logger::DEBUG
10
12
 
11
13
  @openpay=OpenpayApi.new(@merchant_id, @private_key, false, 0)
12
14
  @charges=@openpay.create(:charges)
@@ -6,6 +6,8 @@ describe Subscriptions do
6
6
 
7
7
  @merchant_id='mywvupjjs9xdnryxtplq'
8
8
  @private_key='sk_92b25d3baec149e6b428d81abfe37006'
9
+
10
+ #LOG.level=Logger::DEBUG
9
11
 
10
12
  @openpay=OpenpayApi.new(@merchant_id, @private_key)
11
13
  @customers=@openpay.create(:customers)
@@ -7,6 +7,8 @@ describe Transfers do
7
7
 
8
8
  @merchant_id='mywvupjjs9xdnryxtplq'
9
9
  @private_key='sk_92b25d3baec149e6b428d81abfe37006'
10
+
11
+ #LOG.level=Logger::DEBUG
10
12
 
11
13
  @openpay=OpenpayApi.new(@merchant_id, @private_key)
12
14
  @customers=@openpay.create(:customers)
@@ -0,0 +1,104 @@
1
+ require_relative '../spec_helper'
2
+
3
+ describe Webhooks do
4
+
5
+ before(:all) do
6
+ @merchant_id='mywvupjjs9xdnryxtplq'
7
+ @private_key='sk_92b25d3baec149e6b428d81abfe37006'
8
+
9
+ #LOG.level=Logger::DEBUG
10
+
11
+ @openpay=OpenpayApi.new(@merchant_id, @private_key)
12
+ @webhooks=@openpay.create(:webhooks)
13
+ end
14
+
15
+ after(:all) do
16
+ @webhooks.delete_all
17
+ end
18
+
19
+ it 'has all required methods' do
20
+ %w(all each create get list delete).each do |meth|
21
+ expect(@webhooks).to respond_to(meth)
22
+ end
23
+ end
24
+
25
+ describe '.create' do
26
+ it 'creates a webhook' do
27
+ webhook_hash= FactoryGirl.build(:webhook1)
28
+ webhook=@webhooks.create(webhook_hash)
29
+ #validates
30
+ expect(@webhooks.get(webhook['id'])['url']).to eq('http://requestb.in/qozy7dqp')
31
+ #clean
32
+ @webhooks.delete(webhook['id'])
33
+ end
34
+ end
35
+
36
+ describe '.get' do
37
+ it 'fails to get a non existing customer plan' do
38
+ #validates
39
+ expect { @webhooks.get('111111') }.to raise_exception OpenpayTransactionException
40
+ begin
41
+ @webhooks.get('111111')
42
+ rescue OpenpayTransactionException => e
43
+ expect(e.description).to match 'The merchant with id \'mywvupjjs9xdnryxtplq\' or the webhook with id \'111111\' does not exists.'
44
+ end
45
+ end
46
+ end
47
+
48
+ describe '.all' do
49
+ it 'list all webhooks given the filter' do
50
+ #creates a webhook
51
+ webhook_hash1= FactoryGirl.build(:webhook1)
52
+ webhook_hash2= FactoryGirl.build(:webhook2)
53
+ webhook1=@webhooks.create(webhook_hash1)
54
+ webhook2=@webhooks.create(webhook_hash2)
55
+ expect(@webhooks.all().size).to eq 2
56
+ #clean
57
+ @webhooks.delete(webhook1['id'])
58
+ @webhooks.delete(webhook2['id'])
59
+ end
60
+ end
61
+
62
+ describe '.each' do
63
+ it 'iterates over all webhooks' do
64
+ #creates a webhook
65
+ webhook_hash1= FactoryGirl.build(:webhook1)
66
+ webhook_hash2= FactoryGirl.build(:webhook2)
67
+ webhook1=@webhooks.create(webhook_hash1)
68
+ webhook2=@webhooks.create(webhook_hash2)
69
+
70
+ expect(@webhooks.all.size).to be_a Integer
71
+ @webhooks.each do |webhook|
72
+ expect(webhook['event_types']).to eq(['charge.succeeded','charge.created','charge.cancelled','charge.failed'])
73
+ @webhooks.delete(webhook['id'])
74
+ end
75
+ expect(@webhooks.all.size).to be_a Integer
76
+ end
77
+ end
78
+
79
+
80
+ describe '.verify' do
81
+ it 'verify webhook and activate' do
82
+ webhook_hash1= FactoryGirl.build(:webhook1)
83
+ webhook1=@webhooks.create(webhook_hash1)
84
+
85
+ puts webhook_hash1[:url] + '?inspect'
86
+ res=RestClient::Request.new(
87
+ :method => :post,
88
+ :url => webhook_hash1[:url] + '?inspect',
89
+ :timeout => @timeout,
90
+ :headers => {:accept => :json,
91
+ :content_type => :json,
92
+ :user_agent => 'Openpay/v1 Ruby-API',
93
+ }
94
+ ).execute
95
+
96
+ expect(@webhooks.get(webhook1['id'])['status']).to eq('unverified')
97
+ verification_code = res[res.index('verification_code') + 28 , 8]
98
+ request_hash=@webhooks.verify(webhook1['id'], verification_code)
99
+ expect(@webhooks.get(webhook1['id'])['status']).to eq('verified')
100
+
101
+ end
102
+ end
103
+
104
+ end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: openpay
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.8
4
+ version: 1.0.10
5
5
  platform: ruby
6
6
  authors:
7
7
  - ronnie_bermejo
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2014-11-28 00:00:00.000000000 Z
11
+ date: 2014-12-02 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rest-client
@@ -80,7 +80,7 @@ dependencies:
80
80
  - - '>='
81
81
  - !ruby/object:Gem::Version
82
82
  version: '0'
83
- description: ruby client for Openpay API services (version 1.0.400)
83
+ description: ruby client for Openpay API services (version 1.0.409)
84
84
  email:
85
85
  - ronnie.bermejo.mx@gmail.com
86
86
  executables: []
@@ -134,6 +134,7 @@ files:
134
134
  - lib/openpay/subscriptions.rb
135
135
  - lib/openpay/transfers.rb
136
136
  - lib/openpay/utils/search_params.rb
137
+ - lib/openpay/webhooks.rb
137
138
  - lib/version.rb
138
139
  - openpay.gemspec
139
140
  - test/Factories.rb
@@ -150,6 +151,7 @@ files:
150
151
  - test/spec/subscriptions_spec.rb
151
152
  - test/spec/transfers_spec.rb
152
153
  - test/spec/utils/search_params_spec.rb
154
+ - test/spec/webhook_spec.rb
153
155
  - test/spec_helper.rb
154
156
  homepage: http://openpay.mx/
155
157
  licenses:
@@ -193,4 +195,5 @@ test_files:
193
195
  - test/spec/subscriptions_spec.rb
194
196
  - test/spec/transfers_spec.rb
195
197
  - test/spec/utils/search_params_spec.rb
198
+ - test/spec/webhook_spec.rb
196
199
  - test/spec_helper.rb