openpay 1.0.3 → 1.0.4
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +13 -5
- data/.gitignore +1 -0
- data/.idea/.rakeTasks +2 -2
- data/.idea/OpenPay.iml +30 -20
- data/.idea/runConfigurations/Run_spec__bankaccounts_spec___OpenPay.xml +1 -0
- data/.idea/runConfigurations/Run_spec__cards_spec___OpenPay.xml +1 -0
- data/.idea/runConfigurations/Run_spec__charges_spec___OpenPay.xml +1 -0
- data/.idea/runConfigurations/Run_spec__customers_spec___OpenPay.xml +1 -0
- data/.idea/runConfigurations/Run_spec__exceptions_spec___OpenPay.xml +1 -0
- data/.idea/runConfigurations/Run_spec__fees_spec___OpenPay.xml +1 -0
- data/.idea/runConfigurations/Run_spec__payouts_spec___OpenPay.xml +1 -0
- data/.idea/runConfigurations/Run_spec__plans_spec___OpenPay.xml +1 -0
- data/.idea/runConfigurations/Run_spec__subscriptions_spec___OpenPay.xml +1 -0
- data/.idea/runConfigurations/Run_spec__transfers_spec___OpenPay.xml +1 -0
- data/.idea/runConfigurations/all_specs.xml +1 -0
- data/.idea/workspace.xml +484 -268
- data/Gemfile +0 -6
- data/README.md +111 -29
- data/lib/openpay.rb +7 -3
- data/lib/openpay/bankaccounts.rb +10 -11
- data/lib/openpay/cards.rb +12 -14
- data/lib/openpay/charges.rb +38 -14
- data/lib/openpay/customers.rb +73 -67
- data/lib/openpay/errors/openpay_exception_factory.rb +14 -26
- data/lib/openpay/fees.rb +1 -1
- data/lib/openpay/open_pay_resource.rb +77 -77
- data/lib/openpay/open_pay_resource_factory.rb +1 -1
- data/lib/openpay/openpay_api.rb +6 -16
- data/lib/openpay/payouts.rb +13 -17
- data/lib/openpay/plans.rb +1 -7
- data/lib/openpay/subscriptions.rb +21 -29
- data/lib/openpay/transfers.rb +14 -18
- data/lib/openpay/utils/search_params.rb +20 -0
- data/lib/version.rb +1 -2
- data/openpay.gemspec +0 -8
- data/test/Factories.rb +80 -126
- data/test/spec/bankaccounts_spec.rb +55 -61
- data/test/spec/cards_spec.rb +56 -76
- data/test/spec/charges_spec.rb +89 -84
- data/test/spec/customers_spec.rb +37 -47
- data/test/spec/exceptions_spec.rb +4 -21
- data/test/spec/fees_spec.rb +51 -7
- data/test/spec/payouts_spec.rb +102 -65
- data/test/spec/plans_spec.rb +27 -50
- data/test/spec/subscriptions_spec.rb +87 -24
- data/test/spec/transfers_spec.rb +42 -44
- data/test/spec/utils/search_params_spec.rb +36 -0
- data/test/spec_helper.rb +1 -5
- metadata +15 -55
- data/lib/OpenPay/Cards.rb +0 -75
- data/lib/OpenPay/Charges.rb +0 -77
- data/lib/OpenPay/Customers.rb +0 -194
- data/lib/OpenPay/Fees.rb +0 -5
- data/lib/OpenPay/Payouts.rb +0 -59
- data/lib/OpenPay/Plans.rb +0 -23
- data/lib/OpenPay/Subscriptions.rb +0 -58
- data/lib/OpenPay/Transfers.rb +0 -43
- data/lib/OpenPay/bankaccounts.rb +0 -59
- data/lib/OpenPay/errors/openpay_connection_exception.rb +0 -3
- data/lib/OpenPay/errors/openpay_exception.rb +0 -29
- data/lib/OpenPay/errors/openpay_exception_factory.rb +0 -60
- data/lib/OpenPay/errors/openpay_transaction_exception.rb +0 -5
- data/lib/OpenPay/open_pay_resource.rb +0 -242
- data/lib/OpenPay/open_pay_resource_factory.rb +0 -10
- data/lib/OpenPay/openpay_api.rb +0 -58
@@ -3,7 +3,7 @@ class OpenPayResourceFactory
|
|
3
3
|
begin
|
4
4
|
Object.const_get(resource.capitalize).new(merchant_id,private_key,production)
|
5
5
|
rescue NameError
|
6
|
-
|
6
|
+
raise OpenpayException.new("Invalid resource name:#{resource}",false)
|
7
7
|
end
|
8
8
|
end
|
9
9
|
end
|
data/lib/openpay/openpay_api.rb
CHANGED
@@ -9,31 +9,26 @@ require 'errors/openpay_exception'
|
|
9
9
|
LOG= Logger.new(STDOUT)
|
10
10
|
#change to Logger::DEBUG if need trace information
|
11
11
|
#due the nature of the information, we recommend to never use a log file when in debug
|
12
|
-
LOG.level=Logger::
|
12
|
+
LOG.level=Logger::FATAL
|
13
13
|
|
14
14
|
class OpenpayApi
|
15
15
|
#API Endpoints
|
16
16
|
API_DEV='https://sandbox-api.openpay.mx/v1/'
|
17
17
|
API_PROD='https://api.openpay.mx/v1/'
|
18
18
|
|
19
|
-
#by default
|
20
|
-
def initialize(merchant_id, private_key,production=false)
|
19
|
+
#by default testing environment is used
|
20
|
+
def initialize(merchant_id, private_key, production=false)
|
21
21
|
@merchant_id=merchant_id
|
22
22
|
@private_key=private_key
|
23
23
|
@production=production
|
24
24
|
end
|
25
25
|
|
26
|
-
|
27
|
-
# @return [nil]
|
28
26
|
def create(resource)
|
29
|
-
klass=OpenPayResourceFactory::create(resource, @merchant_id
|
30
|
-
#attach api hook to be able to refere to same API instance from created resources
|
31
|
-
#TODO we may move it to the initialize method
|
27
|
+
klass=OpenPayResourceFactory::create(resource, @merchant_id, @private_key, @production)
|
32
28
|
klass.api_hook=self
|
33
29
|
klass
|
34
30
|
end
|
35
31
|
|
36
|
-
|
37
32
|
def OpenpayApi::base_url(production)
|
38
33
|
if production
|
39
34
|
API_PROD
|
@@ -42,8 +37,7 @@ class OpenpayApi
|
|
42
37
|
end
|
43
38
|
end
|
44
39
|
|
45
|
-
|
46
|
-
def env
|
40
|
+
def env
|
47
41
|
if @production
|
48
42
|
:production
|
49
43
|
else
|
@@ -51,8 +45,4 @@ class OpenpayApi
|
|
51
45
|
end
|
52
46
|
end
|
53
47
|
|
54
|
-
|
55
|
-
|
56
|
-
|
57
|
-
|
58
|
-
end
|
48
|
+
end
|
data/lib/openpay/payouts.rb
CHANGED
@@ -1,19 +1,13 @@
|
|
1
1
|
require 'open_pay_resource'
|
2
2
|
|
3
|
-
|
4
|
-
|
5
3
|
class Payouts < OpenPayResource
|
6
4
|
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
|
11
5
|
def all(customer_id=nil)
|
12
6
|
if customer_id
|
13
7
|
customers=@api_hook.create(:customers)
|
14
8
|
customers.all_payouts(customer_id)
|
15
9
|
else
|
16
|
-
super
|
10
|
+
super ''
|
17
11
|
end
|
18
12
|
end
|
19
13
|
|
@@ -26,24 +20,19 @@ class Payouts < OpenPayResource
|
|
26
20
|
end
|
27
21
|
end
|
28
22
|
|
29
|
-
|
30
23
|
def each(customer_id=nil)
|
31
24
|
if customer_id
|
32
25
|
customers=@api_hook.create(:customers)
|
33
26
|
customers.each_payout(customer_id) do |cust|
|
34
|
-
|
27
|
+
yield cust
|
35
28
|
end
|
36
29
|
else
|
37
30
|
all.each do |cust|
|
38
31
|
yield cust
|
39
|
-
|
40
|
-
|
41
|
-
|
32
|
+
end
|
33
|
+
end
|
42
34
|
end
|
43
35
|
|
44
|
-
|
45
|
-
|
46
|
-
|
47
36
|
def create(payout, customer_id=nil)
|
48
37
|
if customer_id
|
49
38
|
customers=@api_hook.create(:customers)
|
@@ -53,7 +42,14 @@ class Payouts < OpenPayResource
|
|
53
42
|
end
|
54
43
|
end
|
55
44
|
|
45
|
+
def list(search_params, customer_id=nil)
|
46
|
+
if customer_id
|
47
|
+
customers=@api_hook.create(:customers)
|
48
|
+
customers.list_payouts(customer_id, search_params)
|
49
|
+
else
|
50
|
+
super search_params
|
51
|
+
end
|
52
|
+
end
|
56
53
|
|
57
54
|
|
58
|
-
|
59
|
-
end
|
55
|
+
end
|
data/lib/openpay/plans.rb
CHANGED
@@ -1,37 +1,27 @@
|
|
1
1
|
require 'open_pay_resource'
|
2
2
|
|
3
|
-
class Subscriptions
|
3
|
+
class Subscriptions < OpenPayResource
|
4
4
|
|
5
|
-
|
6
|
-
|
7
|
-
def create(subscription,plan_id)
|
5
|
+
def create(subscription, customer_id)
|
8
6
|
customers=@api_hook.create(:customers)
|
9
|
-
customers.create_subscription(subscription,
|
7
|
+
customers.create_subscription(subscription, customer_id)
|
10
8
|
end
|
11
9
|
|
10
|
+
def delete(subscription_id, customer_id)
|
11
|
+
customers=@api_hook.create(:customers)
|
12
|
+
customers.delete_subscription(customer_id, subscription_id)
|
13
|
+
end
|
12
14
|
|
13
|
-
def
|
14
|
-
customers=@api_hook.create(:customers)
|
15
|
-
customers.delete_subscription(customer_id, subscription_id)
|
16
|
-
end
|
17
|
-
|
18
|
-
|
19
|
-
def get(subscription_id,customer_id)
|
20
|
-
|
15
|
+
def get(subscription_id, customer_id)
|
21
16
|
customers=@api_hook.create(:customers)
|
22
17
|
customers.get_subscription(customer_id, subscription_id)
|
23
|
-
|
24
18
|
end
|
25
19
|
|
26
|
-
|
27
20
|
def all(customer_id)
|
28
|
-
|
29
21
|
customers=@api_hook.create(:customers)
|
30
22
|
customers.all_subscriptions(customer_id)
|
31
|
-
|
32
23
|
end
|
33
24
|
|
34
|
-
|
35
25
|
def each(customer_id)
|
36
26
|
customers=@api_hook.create(:customers)
|
37
27
|
customers.each_subscription(customer_id) do |c|
|
@@ -39,20 +29,22 @@ end
|
|
39
29
|
end
|
40
30
|
end
|
41
31
|
|
32
|
+
def list(search_params,customer_id=nil)
|
33
|
+
if customer_id
|
34
|
+
customers=@api_hook.create(:customers)
|
35
|
+
customers.list_subscriptions(customer_id,search_params)
|
36
|
+
else
|
37
|
+
super search_params
|
38
|
+
end
|
39
|
+
end
|
40
|
+
|
41
|
+
def update(subscription_id,customer_id,params)
|
42
|
+
customers=@api_hook.create(:customers)
|
43
|
+
customers.update_subscription(subscription_id,customer_id,params)
|
44
|
+
end
|
42
45
|
|
43
46
|
def delete_all(customer_id)
|
44
47
|
customers=@api_hook.create(:customers)
|
45
48
|
customers.delete_all_subscriptions(customer_id)
|
46
|
-
|
47
49
|
end
|
48
|
-
|
49
|
-
|
50
|
-
|
51
|
-
|
52
|
-
|
53
|
-
|
54
|
-
|
55
|
-
|
56
|
-
|
57
|
-
|
58
50
|
end
|
data/lib/openpay/transfers.rb
CHANGED
@@ -1,13 +1,10 @@
|
|
1
1
|
require 'open_pay_resource'
|
2
2
|
|
3
|
-
class
|
4
|
-
|
5
|
-
|
6
|
-
def create(transfer,customer_id)
|
7
|
-
|
8
|
-
customers=@api_hook.create(:customers)
|
9
|
-
customers.create_transfer(customer_id,transfer)
|
3
|
+
class Transfers < OpenPayResource
|
10
4
|
|
5
|
+
def create(transfer, customer_id)
|
6
|
+
customers=@api_hook.create(:customers)
|
7
|
+
customers.create_transfer(customer_id, transfer)
|
11
8
|
end
|
12
9
|
|
13
10
|
def all(customer_id)
|
@@ -15,27 +12,26 @@ class Transfers < OpenPayResource
|
|
15
12
|
customers.all_transfers(customer_id)
|
16
13
|
end
|
17
14
|
|
18
|
-
|
19
|
-
|
20
|
-
def get(transfer,customer_id)
|
21
|
-
|
15
|
+
def get(transfer, customer_id)
|
22
16
|
customers=@api_hook.create(:customers)
|
23
|
-
customers.get_transfer(customer_id,transfer)
|
24
|
-
|
17
|
+
customers.get_transfer(customer_id, transfer)
|
25
18
|
end
|
26
19
|
|
27
|
-
|
28
20
|
def each(customer_id)
|
29
21
|
customers=@api_hook.create(:customers)
|
30
22
|
customers.each_transfer(customer_id) do |tran|
|
31
23
|
yield tran
|
32
24
|
end
|
33
|
-
|
34
25
|
end
|
35
26
|
|
36
|
-
|
37
|
-
|
38
|
-
|
27
|
+
def list(search_params, customer_id=nil)
|
28
|
+
if customer_id
|
29
|
+
customers=@api_hook.create(:customers)
|
30
|
+
customers.list_transfers(customer_id, search_params)
|
31
|
+
else
|
32
|
+
super search_params
|
33
|
+
end
|
34
|
+
end
|
39
35
|
|
40
36
|
end
|
41
37
|
|
@@ -0,0 +1,20 @@
|
|
1
|
+
module OpenpayUtils
|
2
|
+
|
3
|
+
class SearchParams < OpenStruct
|
4
|
+
|
5
|
+
#"?creation[gte]=2013-11-01&limit=2&amount[lte]=100"
|
6
|
+
def to_str
|
7
|
+
filter = '?'
|
8
|
+
self.marshal_dump.each do |attribute, value|
|
9
|
+
if attribute =~ /(\w+)_(gte|lte)/
|
10
|
+
attribute = "#{$1}[#{$2}]"
|
11
|
+
end
|
12
|
+
filter << "#{attribute}=#{value}&"
|
13
|
+
end
|
14
|
+
filter.sub(/\&$/, '')
|
15
|
+
end
|
16
|
+
|
17
|
+
alias :to_s :to_str
|
18
|
+
|
19
|
+
end
|
20
|
+
end
|
data/lib/version.rb
CHANGED
data/openpay.gemspec
CHANGED
@@ -4,7 +4,6 @@ $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
|
|
4
4
|
|
5
5
|
require 'version'
|
6
6
|
|
7
|
-
|
8
7
|
Gem::Specification.new do |spec|
|
9
8
|
spec.name = "openpay"
|
10
9
|
spec.version = Openpay::VERSION
|
@@ -23,16 +22,9 @@ Gem::Specification.new do |spec|
|
|
23
22
|
spec.add_runtime_dependency 'rest-client' , '~>1.6.7'
|
24
23
|
spec.add_runtime_dependency 'json'
|
25
24
|
|
26
|
-
|
27
|
-
|
28
25
|
spec.add_development_dependency 'bundler', '~> 1.3'
|
29
26
|
spec.add_development_dependency 'rake'
|
30
27
|
spec.add_development_dependency 'json_spec'
|
31
|
-
spec.add_development_dependency 'rspec'
|
32
|
-
spec.add_development_dependency 'factory_girl' , '4.2.0'
|
33
28
|
spec.post_install_message = 'Thanks for installing openpay. Enjoy !'
|
34
29
|
|
35
|
-
|
36
|
-
|
37
|
-
|
38
30
|
end
|
data/test/Factories.rb
CHANGED
@@ -3,12 +3,12 @@ require 'factory_girl'
|
|
3
3
|
|
4
4
|
FactoryGirl.define do
|
5
5
|
|
6
|
-
factory :customer, class:Hash do
|
6
|
+
factory :customer, class: Hash do
|
7
7
|
name 'Ronnie'
|
8
8
|
last_name 'Bermejo'
|
9
9
|
email 'ronnie.bermejo.mx@gmail.com'
|
10
10
|
phone_number '0180012345'
|
11
|
-
address {{
|
11
|
+
address { {
|
12
12
|
postal_code: '76190',
|
13
13
|
state: 'QRO',
|
14
14
|
line1: 'LINE1',
|
@@ -16,48 +16,45 @@ FactoryGirl.define do
|
|
16
16
|
line3: 'LINE3',
|
17
17
|
country_code: 'MX',
|
18
18
|
city: 'Queretaro',
|
19
|
-
|
19
|
+
} }
|
20
20
|
|
21
21
|
initialize_with { attributes }
|
22
22
|
|
23
23
|
end
|
24
24
|
|
25
|
+
factory :valid_card, class: Hash do
|
25
26
|
|
26
|
-
|
27
|
-
|
28
|
-
|
29
|
-
|
30
|
-
|
31
|
-
|
32
|
-
|
33
|
-
|
34
|
-
|
35
|
-
|
36
|
-
|
37
|
-
|
38
|
-
|
39
|
-
|
40
|
-
|
41
|
-
|
42
|
-
country_code: 'MX',
|
43
|
-
city: 'Queretaro',
|
44
|
-
}}
|
27
|
+
bank_name 'visa'
|
28
|
+
holder_name 'Vicente Olmos'
|
29
|
+
expiration_month '09'
|
30
|
+
card_number '4111111111111111'
|
31
|
+
expiration_year '14'
|
32
|
+
bank_code 'bmx'
|
33
|
+
cvv2 '111'
|
34
|
+
address { {
|
35
|
+
postal_code: '76190',
|
36
|
+
state: 'QRO',
|
37
|
+
line1: 'LINE1',
|
38
|
+
line2: 'LINE2',
|
39
|
+
line3: 'LINE3',
|
40
|
+
country_code: 'MX',
|
41
|
+
city: 'Queretaro',
|
42
|
+
} }
|
45
43
|
|
46
44
|
initialize_with { attributes }
|
47
45
|
|
48
46
|
end
|
49
47
|
|
48
|
+
factory :valid_card2, class: Hash do
|
50
49
|
|
51
|
-
|
52
|
-
|
53
|
-
bank_name 'visa'
|
50
|
+
bank_name 'visa'
|
54
51
|
holder_name 'Alma Olmos'
|
55
52
|
expiration_month '09'
|
56
53
|
card_number '4242424242424242'
|
57
54
|
expiration_year '14'
|
58
55
|
bank_code 'bmx'
|
59
|
-
cvv2
|
60
|
-
address {{
|
56
|
+
cvv2 '111'
|
57
|
+
address { {
|
61
58
|
postal_code: '76190',
|
62
59
|
state: 'QRO',
|
63
60
|
line1: 'LINE1',
|
@@ -65,24 +62,22 @@ FactoryGirl.define do
|
|
65
62
|
line3: 'LINE3',
|
66
63
|
country_code: 'MX',
|
67
64
|
city: 'Queretaro',
|
68
|
-
}}
|
65
|
+
} }
|
69
66
|
|
70
67
|
initialize_with { attributes }
|
71
68
|
|
72
69
|
end
|
73
70
|
|
71
|
+
factory :only_deposit, class: Hash do
|
74
72
|
|
75
|
-
|
76
|
-
factory :only_deposit, class:Hash do
|
77
|
-
|
78
|
-
bank_name 'visa'
|
73
|
+
bank_name 'visa'
|
79
74
|
holder_name 'Alma Olmos'
|
80
75
|
expiration_month '09'
|
81
76
|
card_number '4444444444444448'
|
82
77
|
expiration_year '14'
|
83
78
|
bank_code 'bmx'
|
84
|
-
cvv2
|
85
|
-
address {{
|
79
|
+
cvv2 '111'
|
80
|
+
address { {
|
86
81
|
postal_code: '76190',
|
87
82
|
state: 'QRO',
|
88
83
|
line1: 'LINE1',
|
@@ -90,23 +85,22 @@ FactoryGirl.define do
|
|
90
85
|
line3: 'LINE3',
|
91
86
|
country_code: 'MX',
|
92
87
|
city: 'Queretaro',
|
93
|
-
}}
|
88
|
+
} }
|
94
89
|
|
95
90
|
initialize_with { attributes }
|
96
91
|
|
97
92
|
end
|
98
93
|
|
94
|
+
factory :expired_card, class: Hash do
|
99
95
|
|
100
|
-
|
101
|
-
|
102
|
-
bank_name 'visa'
|
96
|
+
bank_name 'visa'
|
103
97
|
holder_name 'Vicente Olmos'
|
104
98
|
expiration_month '09'
|
105
99
|
card_number '4000000000000069'
|
106
100
|
expiration_year '14'
|
107
101
|
bank_code 'bmx'
|
108
|
-
cvv2
|
109
|
-
address {{
|
102
|
+
cvv2 '111'
|
103
|
+
address { {
|
110
104
|
postal_code: '76190',
|
111
105
|
state: 'QRO',
|
112
106
|
line1: 'LINE1',
|
@@ -114,145 +108,105 @@ FactoryGirl.define do
|
|
114
108
|
line3: 'LINE3',
|
115
109
|
country_code: 'MX',
|
116
110
|
city: 'Queretaro',
|
117
|
-
}}
|
111
|
+
} }
|
118
112
|
|
119
113
|
initialize_with { attributes }
|
120
114
|
|
121
115
|
end
|
122
116
|
|
117
|
+
factory :bank_account, class: Hash do
|
123
118
|
|
119
|
+
holder_name 'Juan Perez'
|
120
|
+
self.alias 'Cuenta principal'
|
121
|
+
clabe '032180000118359719'
|
124
122
|
|
125
|
-
|
126
|
-
|
127
|
-
holder_name 'Juan Perez'
|
128
|
-
self.alias 'Cuenta principal'
|
129
|
-
clabe '032180000118359719'
|
130
|
-
|
131
|
-
initialize_with { attributes }
|
123
|
+
initialize_with { attributes }
|
132
124
|
|
133
125
|
end
|
134
126
|
|
127
|
+
factory :card_charge, class: Hash do
|
135
128
|
|
129
|
+
amount "1000"
|
130
|
+
description "Cargo inicial a tarjeta"
|
131
|
+
source_id "string"
|
132
|
+
method "card"
|
133
|
+
order_id 'required'
|
136
134
|
|
137
|
-
|
138
|
-
|
139
|
-
|
140
|
-
amount "1000"
|
141
|
-
description "Cargo inicial a tarjeta"
|
142
|
-
source_id "string"
|
143
|
-
method "card"
|
144
|
-
order_id 'required'
|
145
|
-
|
146
|
-
initialize_with { attributes }
|
147
|
-
|
135
|
+
initialize_with { attributes }
|
148
136
|
|
149
137
|
end
|
150
138
|
|
151
|
-
factory :bank_charge, class:Hash do
|
139
|
+
factory :bank_charge, class: Hash do
|
152
140
|
|
153
|
-
amount
|
141
|
+
amount "10000"
|
154
142
|
description "Cargo con banco"
|
155
|
-
source_id "string"
|
156
143
|
order_id 'required'
|
157
|
-
method
|
158
|
-
|
144
|
+
method "bank_account"
|
159
145
|
|
160
146
|
initialize_with { attributes }
|
161
147
|
|
162
|
-
|
163
148
|
end
|
164
149
|
|
165
|
-
|
166
|
-
|
167
|
-
factory :refund_description, class:Hash do
|
150
|
+
factory :refund_description, class: Hash do
|
168
151
|
description 'A peticion del cliente'
|
169
152
|
initialize_with { attributes }
|
170
153
|
|
171
154
|
end
|
172
155
|
|
173
|
-
|
174
|
-
|
175
|
-
|
176
|
-
|
177
|
-
|
178
|
-
initialize_with { attributes }
|
179
|
-
|
156
|
+
factory :fee, class: Hash do
|
157
|
+
customer_id 'dvocf97jd20es3tw5laz'
|
158
|
+
amount '12.50'
|
159
|
+
description 'Cobro de Comision'
|
160
|
+
initialize_with { attributes }
|
180
161
|
end
|
181
162
|
|
163
|
+
factory :payout_card, class: Hash do
|
182
164
|
|
165
|
+
method 'card'
|
166
|
+
destination_id '4444444444444448'
|
167
|
+
amount '2'
|
168
|
+
description 'Retiro de saldo semanal'
|
183
169
|
|
184
|
-
|
185
|
-
|
186
|
-
method 'card'
|
187
|
-
destination_id '4444444444444448'
|
188
|
-
amount '2'
|
189
|
-
description 'Retiro de saldo semanal'
|
190
|
-
|
191
|
-
initialize_with { attributes }
|
192
|
-
|
170
|
+
initialize_with { attributes }
|
193
171
|
|
194
172
|
end
|
195
173
|
|
174
|
+
factory :payout_bank_account, class: Hash do
|
196
175
|
|
197
|
-
|
198
|
-
|
199
|
-
method 'bank_account'
|
176
|
+
method 'bank_account'
|
200
177
|
amount '1000'
|
201
178
|
destination_id 'required'
|
202
179
|
description 'Retiro de saldo semanal'
|
203
180
|
|
204
181
|
initialize_with { attributes }
|
205
182
|
|
206
|
-
|
207
183
|
end
|
208
184
|
|
185
|
+
factory :plan, class: Hash do
|
209
186
|
|
210
|
-
|
211
|
-
|
212
|
-
|
213
|
-
|
214
|
-
|
215
|
-
|
216
|
-
|
217
|
-
|
218
|
-
repeat_unit 'week'
|
219
|
-
trial_days 30
|
220
|
-
repeat_every 1
|
221
|
-
initialize_with { attributes }
|
222
|
-
|
187
|
+
amount '150.00'
|
188
|
+
status_after_retry 'cancelled'
|
189
|
+
retry_times 2
|
190
|
+
name 'Curso de ingles'
|
191
|
+
repeat_unit 'week'
|
192
|
+
trial_days 30
|
193
|
+
repeat_every 1
|
194
|
+
initialize_with { attributes }
|
223
195
|
|
224
196
|
end
|
225
197
|
|
226
|
-
|
227
|
-
|
228
|
-
|
229
|
-
|
230
|
-
|
231
|
-
amount 12.50
|
232
|
-
description 'Transferencia entre cuentas'
|
233
|
-
initialize_with { attributes }
|
234
|
-
|
235
|
-
|
198
|
+
factory :transfer, class: Hash do
|
199
|
+
customer_id 'required'
|
200
|
+
amount 12.50
|
201
|
+
description 'Transferencia entre cuentas'
|
202
|
+
initialize_with { attributes }
|
236
203
|
end
|
237
204
|
|
238
|
-
|
239
|
-
|
240
|
-
|
241
|
-
trial_days 30
|
205
|
+
factory :subscription, class: Hash do
|
206
|
+
trial_days 30
|
242
207
|
card_id 'required'
|
243
208
|
plan_id 'required'
|
244
209
|
initialize_with { attributes }
|
245
|
-
|
246
|
-
|
247
|
-
|
248
|
-
|
249
|
-
|
250
|
-
|
251
210
|
end
|
252
211
|
|
253
|
-
|
254
|
-
|
255
|
-
|
256
|
-
|
257
|
-
|
258
212
|
end
|