starkbank 0.0.3 → 0.1.0
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/lib/boleto/boleto.rb +18 -9
- data/lib/boleto/log.rb +13 -5
- data/lib/ledger/transaction.rb +12 -12
- data/lib/payment/boleto/boleto.rb +18 -8
- data/lib/payment/boleto/log.rb +13 -5
- data/lib/payment/utility/log.rb +13 -5
- data/lib/payment/utility/utility.rb +18 -9
- data/lib/transfer/log.rb +13 -5
- data/lib/transfer/transfer.rb +27 -17
- data/lib/user/project.rb +6 -6
- data/lib/utils/request.rb +1 -1
- data/lib/webhook/event.rb +19 -7
- data/lib/webhook/webhook.rb +8 -8
- metadata +1 -1
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 7aa5336a1427970ca71e3d9ca7a68f7aa3402be6936ee27a701d0a6fba183ce2
|
4
|
+
data.tar.gz: 8c7d657462bbcb6d86e5771d6eb0dd0be71bee6be53eae6fc4c55dbc2d7c1557
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 80882aa5140ad914f1be8a0f069b07ef50806b7e0517fee3cf61f8cac63dce37de0c7f1ecb84d34fea25c862a38505b43ccfe7699a1d9c92ae3af1ac23795c1a
|
7
|
+
data.tar.gz: 8a47d333f417739b7b7ea59aa8a575b3539042809d99b84a8127e91eb6f453722b91b9d122f464c85d33e0e2ffdafd1d1b8f8c1c7f83475ed42a2939572f9f8d
|
data/lib/boleto/boleto.rb
CHANGED
@@ -79,7 +79,7 @@ module StarkBank
|
|
79
79
|
#
|
80
80
|
# ## Return:
|
81
81
|
# - list of Boleto objects with updated attributes
|
82
|
-
def self.create(boletos
|
82
|
+
def self.create(boletos, user: nil)
|
83
83
|
StarkBank::Utils::Rest.post(entities: boletos, user: user, **resource)
|
84
84
|
end
|
85
85
|
|
@@ -95,7 +95,7 @@ module StarkBank
|
|
95
95
|
#
|
96
96
|
# ## Return:
|
97
97
|
# - Boleto object with updated attributes
|
98
|
-
def self.get(id
|
98
|
+
def self.get(id, user: nil)
|
99
99
|
StarkBank::Utils::Rest.get_id(id: id, user: user, **resource)
|
100
100
|
end
|
101
101
|
|
@@ -111,7 +111,7 @@ module StarkBank
|
|
111
111
|
#
|
112
112
|
# ## Return:
|
113
113
|
# - Boleto pdf file
|
114
|
-
def self.pdf(id
|
114
|
+
def self.pdf(id, user: nil)
|
115
115
|
StarkBank::Utils::Rest.get_pdf(id: id, user: user, **resource)
|
116
116
|
end
|
117
117
|
|
@@ -121,19 +121,28 @@ module StarkBank
|
|
121
121
|
#
|
122
122
|
# ## Parameters (optional):
|
123
123
|
# - limit [integer, default nil]: maximum number of objects to be retrieved. Unlimited if nil. ex: 35
|
124
|
-
# - status [string, default nil]: filter for status of retrieved objects. ex: "paid" or "registered"
|
125
|
-
# - tags [list of strings, default nil]: tags to filter retrieved objects. ex: ["tony", "stark"]
|
126
|
-
# - ids [list of strings, default nil]: list of ids to filter retrieved objects. ex: ["5656565656565656", "4545454545454545"]
|
127
124
|
# - after [Date, default nil] date filter for objects created only after specified date. ex: Date.new(2020, 3, 10)
|
128
125
|
# - before [Date, default nil] date filter for objects only before specified date. ex: Date.new(2020, 3, 10)
|
126
|
+
# - status [string, default nil]: filter for status of retrieved objects. ex: 'paid' or 'registered'
|
127
|
+
# - tags [list of strings, default nil]: tags to filter retrieved objects. ex: ['tony', 'stark']
|
128
|
+
# - ids [list of strings, default nil]: list of ids to filter retrieved objects. ex: ['5656565656565656', '4545454545454545']
|
129
129
|
# - user [Project object, default nil]: Project object. Not necessary if StarkBank.user was set before function call
|
130
130
|
#
|
131
131
|
# ## Return:
|
132
132
|
# - generator of Boleto objects with updated attributes
|
133
|
-
def self.query(limit: nil,
|
133
|
+
def self.query(limit: nil, after: nil, before: nil, status: nil, tags: nil, ids: nil, user: nil)
|
134
134
|
after = StarkBank::Utils::Checks.check_date(after)
|
135
135
|
before = StarkBank::Utils::Checks.check_date(before)
|
136
|
-
StarkBank::Utils::Rest.get_list(
|
136
|
+
StarkBank::Utils::Rest.get_list(
|
137
|
+
limit: limit,
|
138
|
+
after: after,
|
139
|
+
before: before,
|
140
|
+
status: status,
|
141
|
+
tags: tags,
|
142
|
+
ids: ids,
|
143
|
+
user: user,
|
144
|
+
**resource
|
145
|
+
)
|
137
146
|
end
|
138
147
|
|
139
148
|
# # Delete a Boleto entity
|
@@ -148,7 +157,7 @@ module StarkBank
|
|
148
157
|
#
|
149
158
|
# ## Return:
|
150
159
|
# - deleted Boleto with updated attributes
|
151
|
-
def self.delete(id
|
160
|
+
def self.delete(id, user: nil)
|
152
161
|
StarkBank::Utils::Rest.delete_id(id: id, user: user, **resource)
|
153
162
|
end
|
154
163
|
|
data/lib/boleto/log.rb
CHANGED
@@ -42,7 +42,7 @@ module StarkBank
|
|
42
42
|
#
|
43
43
|
# ## Return:
|
44
44
|
# - Log object with updated attributes
|
45
|
-
def self.get(id
|
45
|
+
def self.get(id, user: nil)
|
46
46
|
StarkBank::Utils::Rest.get_id(id: id, user: user, **resource)
|
47
47
|
end
|
48
48
|
|
@@ -52,18 +52,26 @@ module StarkBank
|
|
52
52
|
#
|
53
53
|
# ## Parameters (optional):
|
54
54
|
# - limit [integer, default nil]: maximum number of objects to be retrieved. Unlimited if nil. ex: 35
|
55
|
-
# - boleto_ids [list of strings, default nil]: list of Boleto ids to filter logs. ex: ["5656565656565656", "4545454545454545"]
|
56
|
-
# - types [list of strings, default nil]: filter for log event types. ex: "paid" or "registered"
|
57
55
|
# - after [Date, default nil] date filter for objects created only after specified date. ex: Date.new(2020, 3, 10)
|
58
56
|
# - before [Date, default nil] date filter for objects only before specified date. ex: Date.new(2020, 3, 10)
|
57
|
+
# - types [list of strings, default nil]: filter for log event types. ex: 'paid' or 'registered'
|
58
|
+
# - boleto_ids [list of strings, default nil]: list of Boleto ids to filter logs. ex: ['5656565656565656', '4545454545454545']
|
59
59
|
# - user [Project object, default nil]: Project object. Not necessary if StarkBank.user was set before function call
|
60
60
|
#
|
61
61
|
# ## Return:
|
62
62
|
# - list of Log objects with updated attributes
|
63
|
-
def self.query(limit: nil,
|
63
|
+
def self.query(limit: nil, after: nil, before: nil, types: nil, boleto_ids: nil, user: nil)
|
64
64
|
after = StarkBank::Utils::Checks.check_date(after)
|
65
65
|
before = StarkBank::Utils::Checks.check_date(before)
|
66
|
-
StarkBank::Utils::Rest.get_list(
|
66
|
+
StarkBank::Utils::Rest.get_list(
|
67
|
+
limit: limit,
|
68
|
+
after: after,
|
69
|
+
before: before,
|
70
|
+
types: types,
|
71
|
+
boleto_ids: boleto_ids,
|
72
|
+
user: user,
|
73
|
+
**resource
|
74
|
+
)
|
67
75
|
end
|
68
76
|
|
69
77
|
def self.resource
|
data/lib/ledger/transaction.rb
CHANGED
@@ -17,17 +17,17 @@ module StarkBank
|
|
17
17
|
#
|
18
18
|
# ## Parameters (required):
|
19
19
|
# - amount [integer]: amount in cents to be transferred. ex: 1234 (= R$ 12.34)
|
20
|
-
# - description [string]: text to be displayed in the receiver and the sender statements (Min. 10 characters). ex:
|
21
|
-
# - external_id [string]: unique id, generated by user, to avoid duplicated transactions. ex:
|
22
|
-
# - received_id [string]: unique id of the receiving workspace. ex:
|
20
|
+
# - description [string]: text to be displayed in the receiver and the sender statements (Min. 10 characters). ex: 'funds redistribution'
|
21
|
+
# - external_id [string]: unique id, generated by user, to avoid duplicated transactions. ex: 'transaction ABC 2020-03-30'
|
22
|
+
# - received_id [string]: unique id of the receiving workspace. ex: '5656565656565656'
|
23
23
|
#
|
24
24
|
# ## Parameters (optional):
|
25
|
-
# - tags [list of strings]: list of strings for reference when searching transactions (may be empty). ex: [
|
25
|
+
# - tags [list of strings]: list of strings for reference when searching transactions (may be empty). ex: ['abc', 'test']
|
26
26
|
#
|
27
27
|
# ## Attributes (return-only):
|
28
|
-
# - sender_id [string]: unique id of the sending workspace. ex:
|
29
|
-
# - source [string, default nil]: locator of the entity that generated the transaction. ex:
|
30
|
-
# - id [string, default nil]: unique id returned when Transaction is created. ex:
|
28
|
+
# - sender_id [string]: unique id of the sending workspace. ex: '5656565656565656'
|
29
|
+
# - source [string, default nil]: locator of the entity that generated the transaction. ex: 'charge/1827351876292', 'transfer/92873912873/chargeback'
|
30
|
+
# - id [string, default nil]: unique id returned when Transaction is created. ex: '7656565656565656'
|
31
31
|
# - fee [integer, default nil]: fee charged when transfer is created. ex: 200 (= R$ 2.00)
|
32
32
|
# - created [DateTime, default nil]: creation datetime for the boleto. ex: DateTime.new(2020, 3, 10, 10, 30, 0, 0)
|
33
33
|
class Transaction < StarkBank::Utils::Resource
|
@@ -57,7 +57,7 @@ module StarkBank
|
|
57
57
|
#
|
58
58
|
# ## Return:
|
59
59
|
# - list of Transaction objects with updated attributes
|
60
|
-
def self.create(transactions
|
60
|
+
def self.create(transactions, user: nil)
|
61
61
|
StarkBank::Utils::Rest.post(entities: transactions, user: user, **resource)
|
62
62
|
end
|
63
63
|
|
@@ -73,7 +73,7 @@ module StarkBank
|
|
73
73
|
#
|
74
74
|
# ## Return:
|
75
75
|
# - Transaction object with updated attributes
|
76
|
-
def self.get(id
|
76
|
+
def self.get(id, user: nil)
|
77
77
|
StarkBank::Utils::Rest.get_id(id: id, user: user, **resource)
|
78
78
|
end
|
79
79
|
|
@@ -83,17 +83,17 @@ module StarkBank
|
|
83
83
|
#
|
84
84
|
# ## Parameters (optional):
|
85
85
|
# - limit [integer, default nil]: maximum number of objects to be retrieved. Unlimited if nil. ex: 35
|
86
|
-
# - external_ids [list of strings, default nil]: list of external ids to filter retrieved objects. ex: ["5656565656565656", "4545454545454545"]
|
87
86
|
# - after [Date, default nil] date filter for objects created only after specified date. ex: Date.new(2020, 3, 10)
|
88
87
|
# - before [Date, default nil] date filter for objects created only before specified date. ex: Date.new(2020, 3, 10)
|
88
|
+
# - external_ids [list of strings, default nil]: list of external ids to filter retrieved objects. ex: ['5656565656565656', '4545454545454545']
|
89
89
|
# - user [Project object, default nil]: Project object. Not necessary if StarkBank.user was set before function call
|
90
90
|
#
|
91
91
|
# ## Return:
|
92
92
|
# - generator of Transaction objects with updated attributes
|
93
|
-
def self.query(limit: nil,
|
93
|
+
def self.query(limit: nil, after: nil, before: nil, external_ids: nil, user: nil)
|
94
94
|
after = StarkBank::Utils::Checks.check_date(after)
|
95
95
|
before = StarkBank::Utils::Checks.check_date(before)
|
96
|
-
StarkBank::Utils::Rest.get_list(user: user, limit: limit,
|
96
|
+
StarkBank::Utils::Rest.get_list(user: user, limit: limit, after: after, before: before, external_ids: external_ids, **resource)
|
97
97
|
end
|
98
98
|
|
99
99
|
def self.resource
|
@@ -57,7 +57,7 @@ module StarkBank
|
|
57
57
|
#
|
58
58
|
# ## Return:
|
59
59
|
# - list of BoletoPayment objects with updated attributes
|
60
|
-
def self.create(payments
|
60
|
+
def self.create(payments, user: nil)
|
61
61
|
StarkBank::Utils::Rest.post(entities: payments, user: user, **resource)
|
62
62
|
end
|
63
63
|
|
@@ -73,7 +73,7 @@ module StarkBank
|
|
73
73
|
#
|
74
74
|
# ## Return:
|
75
75
|
# - BoletoPayment object with updated attributes
|
76
|
-
def self.get(id
|
76
|
+
def self.get(id, user: nil)
|
77
77
|
StarkBank::Utils::Rest.get_id(id: id, user: user, **resource)
|
78
78
|
end
|
79
79
|
|
@@ -90,7 +90,7 @@ module StarkBank
|
|
90
90
|
#
|
91
91
|
# ## Return:
|
92
92
|
# - BoletoPayment pdf file
|
93
|
-
def self.pdf(id
|
93
|
+
def self.pdf(id, user: nil)
|
94
94
|
StarkBank::Utils::Rest.get_pdf(id: id, user: user, **resource)
|
95
95
|
end
|
96
96
|
|
@@ -100,18 +100,28 @@ module StarkBank
|
|
100
100
|
#
|
101
101
|
# ## Parameters (optional):
|
102
102
|
# - limit [integer, default nil]: maximum number of objects to be retrieved. Unlimited if nil. ex: 35
|
103
|
-
# - status [string, default nil]: filter for status of retrieved objects. ex: "paid"
|
104
|
-
# - tags [list of strings, default nil]: tags to filter retrieved objects. ex: ["tony", "stark"]
|
105
103
|
# - after [Date, default nil] date filter for objects created only after specified date. ex: Date.new(2020, 3, 10)
|
106
104
|
# - before [Date, default nil] date filter for objects only before specified date. ex: Date.new(2020, 3, 10)
|
105
|
+
# - tags [list of strings, default nil]: tags to filter retrieved objects. ex: ['tony', 'stark']
|
106
|
+
# - ids [list of strings, default nil]: list of strings to get specific entities by ids. ex: ['12376517623', '1928367198236']
|
107
|
+
# - status [string, default nil]: filter for status of retrieved objects. ex: 'paid'
|
107
108
|
# - user [Project object, default nil]: Project object. Not necessary if StarkBank.user was set before function call
|
108
109
|
#
|
109
110
|
# ## Return:
|
110
111
|
# - generator of BoletoPayment objects with updated attributes
|
111
|
-
def self.query(limit: nil,
|
112
|
+
def self.query(limit: nil, after: nil, before: nil, tags: nil, ids: nil, status: nil, user: nil)
|
112
113
|
after = StarkBank::Utils::Checks.check_date(after)
|
113
114
|
before = StarkBank::Utils::Checks.check_date(before)
|
114
|
-
StarkBank::Utils::Rest.get_list(
|
115
|
+
StarkBank::Utils::Rest.get_list(
|
116
|
+
user: user,
|
117
|
+
limit: limit,
|
118
|
+
after: after,
|
119
|
+
before: before,
|
120
|
+
tags: tags,
|
121
|
+
ids: ids,
|
122
|
+
status: status,
|
123
|
+
**resource
|
124
|
+
)
|
115
125
|
end
|
116
126
|
|
117
127
|
# # Delete a BoletoPayment entity
|
@@ -124,7 +134,7 @@ module StarkBank
|
|
124
134
|
# - user [Project object]: Project object. Not necessary if StarkBank.user was set before function call
|
125
135
|
# Return:
|
126
136
|
# - deleted BoletoPayment with updated attributes
|
127
|
-
def self.delete(id
|
137
|
+
def self.delete(id, user: nil)
|
128
138
|
StarkBank::Utils::Rest.delete_id(id: id, user: user, **resource)
|
129
139
|
end
|
130
140
|
|
data/lib/payment/boleto/log.rb
CHANGED
@@ -42,7 +42,7 @@ module StarkBank
|
|
42
42
|
#
|
43
43
|
# ## Return:
|
44
44
|
# - Log object with updated attributes
|
45
|
-
def self.get(id
|
45
|
+
def self.get(id, user: nil)
|
46
46
|
StarkBank::Utils::Rest.get_id(id: id, user: user, **resource)
|
47
47
|
end
|
48
48
|
|
@@ -54,16 +54,24 @@ module StarkBank
|
|
54
54
|
# - limit [integer, default nil]: maximum number of objects to be retrieved. Unlimited if nil. ex: 35
|
55
55
|
# - after [Date, default nil] date filter for objects created only after specified date. ex: Date.new(2020, 3, 10)
|
56
56
|
# - before [Date, default nil] date filter for objects only before specified date. ex: Date.new(2020, 3, 10)
|
57
|
-
# -
|
58
|
-
# -
|
57
|
+
# - types [list of strings, default nil]: filter retrieved objects by event types. ex: 'paid' or 'registered'
|
58
|
+
# - payment_ids [list of strings, default nil]: list of BoletoPayment ids to filter retrieved objects. ex: ['5656565656565656', '4545454545454545']
|
59
59
|
# - user [Project object, default nil]: Project object. Not necessary if StarkBank.user was set before function call
|
60
60
|
#
|
61
61
|
# ## Return:
|
62
62
|
# - list of Log objects with updated attributes
|
63
|
-
def self.query(limit: nil, after: nil, before: nil,
|
63
|
+
def self.query(limit: nil, after: nil, before: nil, types: nil, payment_ids: nil, user: nil)
|
64
64
|
after = StarkBank::Utils::Checks.check_date(after)
|
65
65
|
before = StarkBank::Utils::Checks.check_date(before)
|
66
|
-
StarkBank::Utils::Rest.get_list(
|
66
|
+
StarkBank::Utils::Rest.get_list(
|
67
|
+
limit: limit,
|
68
|
+
after: after,
|
69
|
+
before: before,
|
70
|
+
types: types,
|
71
|
+
payment_ids: payment_ids,
|
72
|
+
user: user,
|
73
|
+
**resource
|
74
|
+
)
|
67
75
|
end
|
68
76
|
|
69
77
|
def self.resource
|
data/lib/payment/utility/log.rb
CHANGED
@@ -41,7 +41,7 @@ module StarkBank
|
|
41
41
|
#
|
42
42
|
# ## Return:
|
43
43
|
# - Log object with updated attributes
|
44
|
-
def self.get(id
|
44
|
+
def self.get(id, user: nil)
|
45
45
|
StarkBank::Utils::Rest.get_id(id: id, user: user, **resource)
|
46
46
|
end
|
47
47
|
|
@@ -53,16 +53,24 @@ module StarkBank
|
|
53
53
|
# - limit [integer, default nil]: maximum number of objects to be retrieved. Unlimited if nil. ex: 35
|
54
54
|
# - after [Date, default nil] date filter for objects created only after specified date. ex: Date.new(2020, 3, 10)
|
55
55
|
# - before [Date, default nil] date filter for objects only before specified date. ex: Date.new(2020, 3, 10)
|
56
|
-
# -
|
57
|
-
# -
|
56
|
+
# - types [list of strings, default nil]: filter retrieved objects by event types. ex: 'paid' or 'registered'
|
57
|
+
# - payment_ids [list of strings, default nil]: list of UtilityPayment ids to filter retrieved objects. ex: ['5656565656565656', '4545454545454545']
|
58
58
|
# - user [Project object, default nil]: Project object. Not necessary if StarkBank.user was set before function call
|
59
59
|
#
|
60
60
|
# ## Return:
|
61
61
|
# - list of Log objects with updated attributes
|
62
|
-
def self.query(limit: nil, after: nil, before: nil,
|
62
|
+
def self.query(limit: nil, after: nil, before: nil, types: nil, payment_ids: nil, user: nil)
|
63
63
|
after = StarkBank::Utils::Checks.check_date(after)
|
64
64
|
before = StarkBank::Utils::Checks.check_date(before)
|
65
|
-
StarkBank::Utils::Rest.get_list(
|
65
|
+
StarkBank::Utils::Rest.get_list(
|
66
|
+
user: user,
|
67
|
+
limit: limit,
|
68
|
+
after: after,
|
69
|
+
before: before,
|
70
|
+
types: types,
|
71
|
+
payment_ids: payment_ids,
|
72
|
+
**resource
|
73
|
+
)
|
66
74
|
end
|
67
75
|
|
68
76
|
def self.resource
|
@@ -55,7 +55,7 @@ module StarkBank
|
|
55
55
|
#
|
56
56
|
# ## Return:
|
57
57
|
# - list of UtilityPayment objects with updated attributes
|
58
|
-
def self.create(payments
|
58
|
+
def self.create(payments, user: nil)
|
59
59
|
StarkBank::Utils::Rest.post(entities: payments, user: user, **resource)
|
60
60
|
end
|
61
61
|
|
@@ -71,7 +71,7 @@ module StarkBank
|
|
71
71
|
#
|
72
72
|
# ## Return:
|
73
73
|
# - UtilityPayment object with updated attributes
|
74
|
-
def self.get(id
|
74
|
+
def self.get(id, user: nil)
|
75
75
|
StarkBank::Utils::Rest.get_id(id: id, user: user, **resource)
|
76
76
|
end
|
77
77
|
|
@@ -88,7 +88,7 @@ module StarkBank
|
|
88
88
|
#
|
89
89
|
# ## Return:
|
90
90
|
# - UtilityPayment pdf file
|
91
|
-
def self.pdf(id
|
91
|
+
def self.pdf(id, user: nil)
|
92
92
|
StarkBank::Utils::Rest.get_pdf(id: id, user: user, **resource)
|
93
93
|
end
|
94
94
|
|
@@ -98,19 +98,28 @@ module StarkBank
|
|
98
98
|
#
|
99
99
|
# ## Parameters (optional):
|
100
100
|
# - limit [integer, default nil]: maximum number of objects to be retrieved. Unlimited if nil. ex: 35
|
101
|
-
# - status [string, default nil]: filter for status of retrieved objects. ex: "paid"
|
102
|
-
# - tags [list of strings, default nil]: tags to filter retrieved objects. ex: ["tony", "stark"]
|
103
|
-
# - ids [list of strings, default nil]: list of ids to filter retrieved objects. ex: ["5656565656565656", "4545454545454545"]
|
104
101
|
# - after [Date, default nil] date filter for objects created only after specified date. ex: Date.new(2020, 3, 10)
|
105
102
|
# - before [Date, default nil] date filter for objects only before specified date. ex: Date.new(2020, 3, 10)
|
103
|
+
# - tags [list of strings, default nil]: tags to filter retrieved objects. ex: ['tony', 'stark']
|
104
|
+
# - ids [list of strings, default nil]: list of ids to filter retrieved objects. ex: ['5656565656565656', '4545454545454545']
|
105
|
+
# - status [string, default nil]: filter for status of retrieved objects. ex: 'paid'
|
106
106
|
# - user [Project object, default nil]: Project object. Not necessary if StarkBank.user was set before function call
|
107
107
|
#
|
108
108
|
# ## Return:
|
109
109
|
# - generator of UtilityPayment objects with updated attributes
|
110
|
-
def self.query(limit: nil,
|
110
|
+
def self.query(limit: nil, after: nil, before: nil, tags: nil, ids: nil, status: nil, user: nil)
|
111
111
|
after = StarkBank::Utils::Checks.check_date(after)
|
112
112
|
before = StarkBank::Utils::Checks.check_date(before)
|
113
|
-
StarkBank::Utils::Rest.get_list(
|
113
|
+
StarkBank::Utils::Rest.get_list(
|
114
|
+
user: user,
|
115
|
+
limit: limit,
|
116
|
+
after: after,
|
117
|
+
before: before,
|
118
|
+
tags: tags,
|
119
|
+
ids: ids,
|
120
|
+
status: status,
|
121
|
+
**resource
|
122
|
+
)
|
114
123
|
end
|
115
124
|
|
116
125
|
# # Delete a UtilityPayment entity
|
@@ -125,7 +134,7 @@ module StarkBank
|
|
125
134
|
#
|
126
135
|
# ## Return:
|
127
136
|
# - deleted UtilityPayment with updated attributes
|
128
|
-
def self.delete(id
|
137
|
+
def self.delete(id, user: nil)
|
129
138
|
StarkBank::Utils::Rest.delete_id(id: id, user: user, **resource)
|
130
139
|
end
|
131
140
|
|
data/lib/transfer/log.rb
CHANGED
@@ -41,7 +41,7 @@ module StarkBank
|
|
41
41
|
#
|
42
42
|
# ## Return:
|
43
43
|
# - Log object with updated attributes
|
44
|
-
def self.get(id
|
44
|
+
def self.get(id, user: nil)
|
45
45
|
StarkBank::Utils::Rest.get_id(id: id, user: user, **resource)
|
46
46
|
end
|
47
47
|
|
@@ -51,18 +51,26 @@ module StarkBank
|
|
51
51
|
#
|
52
52
|
# ## Parameters (optional):
|
53
53
|
# - limit [integer, default nil]: maximum number of objects to be retrieved. Unlimited if nil. ex: 35
|
54
|
-
# - transfer_ids [list of strings, default nil]: list of Transfer ids to filter retrieved objects. ex: ["5656565656565656", "4545454545454545"]
|
55
|
-
# - types [list of strings, default nil]: filter retrieved objects by types. ex: "success" or "failed"
|
56
54
|
# - after [Date, default nil] date filter for objects created only after specified date. ex: Date.new(2020, 3, 10)
|
57
55
|
# - before [Date, default nil] date filter for objects only before specified date. ex: Date.new(2020, 3, 10)
|
56
|
+
# - types [list of strings, default nil]: filter retrieved objects by types. ex: 'success' or 'failed'
|
57
|
+
# - transfer_ids [list of strings, default nil]: list of Transfer ids to filter retrieved objects. ex: ['5656565656565656', '4545454545454545']
|
58
58
|
# - user [Project object, default nil]: Project object. Not necessary if StarkBank.user was set before function call
|
59
59
|
#
|
60
60
|
# ## Return:
|
61
61
|
# - list of Log objects with updated attributes
|
62
|
-
def self.query(limit: nil,
|
62
|
+
def self.query(limit: nil, after: nil, before: nil, types: nil, transfer_ids: nil, user: nil)
|
63
63
|
after = StarkBank::Utils::Checks.check_date(after)
|
64
64
|
before = StarkBank::Utils::Checks.check_date(before)
|
65
|
-
StarkBank::Utils::Rest.get_list(
|
65
|
+
StarkBank::Utils::Rest.get_list(
|
66
|
+
limit: limit,
|
67
|
+
after: after,
|
68
|
+
before: before,
|
69
|
+
types: types,
|
70
|
+
transfer_ids: transfer_ids,
|
71
|
+
user: user,
|
72
|
+
**resource
|
73
|
+
)
|
66
74
|
end
|
67
75
|
|
68
76
|
def self.resource
|
data/lib/transfer/transfer.rb
CHANGED
@@ -13,20 +13,20 @@ module StarkBank
|
|
13
13
|
#
|
14
14
|
# ## Parameters (required):
|
15
15
|
# - amount [integer]: amount in cents to be transferred. ex: 1234 (= R$ 12.34)
|
16
|
-
# - name [string]: receiver full name. ex:
|
17
|
-
# - tax_id [string]: receiver tax ID (CPF or CNPJ) with or without formatting. ex:
|
18
|
-
# - bank_code [string]: receiver 1 to 3 digits of the bank institution in Brazil. ex:
|
19
|
-
# - branch_code [string]: receiver bank account branch. Use '-' in case there is a verifier digit. ex:
|
20
|
-
# - account_number [string]: Receiver Bank Account number. Use '-' before the verifier digit. ex:
|
16
|
+
# - name [string]: receiver full name. ex: 'Anthony Edward Stark'
|
17
|
+
# - tax_id [string]: receiver tax ID (CPF or CNPJ) with or without formatting. ex: '01234567890' or '20.018.183/0001-80'
|
18
|
+
# - bank_code [string]: receiver 1 to 3 digits of the bank institution in Brazil. ex: '200' or '341'
|
19
|
+
# - branch_code [string]: receiver bank account branch. Use '-' in case there is a verifier digit. ex: '1357-9'
|
20
|
+
# - account_number [string]: Receiver Bank Account number. Use '-' before the verifier digit. ex: '876543-2'
|
21
21
|
#
|
22
22
|
# ## Parameters (optional):
|
23
|
-
# - tags [list of strings]: list of strings for reference when searching for transfers. ex: [
|
23
|
+
# - tags [list of strings]: list of strings for reference when searching for transfers. ex: ['employees', 'monthly']
|
24
24
|
#
|
25
25
|
# ## Attributes (return-only):
|
26
|
-
# - id [string, default nil]: unique id returned when Transfer is created. ex:
|
26
|
+
# - id [string, default nil]: unique id returned when Transfer is created. ex: '5656565656565656'
|
27
27
|
# - fee [integer, default nil]: fee charged when transfer is created. ex: 200 (= R$ 2.00)
|
28
|
-
# - status [string, default nil]: current boleto status. ex:
|
29
|
-
# - transaction_ids [list of strings, default nil]: ledger transaction ids linked to this transfer (if there are two, second is the chargeback). ex: [
|
28
|
+
# - status [string, default nil]: current boleto status. ex: 'registered' or 'paid'
|
29
|
+
# - transaction_ids [list of strings, default nil]: ledger transaction ids linked to this transfer (if there are two, second is the chargeback). ex: ['19827356981273']
|
30
30
|
# - created [DateTime, default nil]: creation datetime for the transfer. ex: DateTime.new(2020, 3, 10, 10, 30, 0, 0)
|
31
31
|
# - updated [DateTime, default nil]: latest update datetime for the transfer. ex: DateTime.new(2020, 3, 10, 10, 30, 0, 0)
|
32
32
|
class Transfer < StarkBank::Utils::Resource
|
@@ -59,7 +59,7 @@ module StarkBank
|
|
59
59
|
#
|
60
60
|
# ## Return:
|
61
61
|
# - list of Transfer objects with updated attributes
|
62
|
-
def self.create(transfers
|
62
|
+
def self.create(transfers, user: nil)
|
63
63
|
StarkBank::Utils::Rest.post(entities: transfers, user: user, **resource)
|
64
64
|
end
|
65
65
|
|
@@ -75,7 +75,7 @@ module StarkBank
|
|
75
75
|
#
|
76
76
|
# ## Return:
|
77
77
|
# - Transfer object with updated attributes
|
78
|
-
def self.get(id
|
78
|
+
def self.get(id, user: nil)
|
79
79
|
StarkBank::Utils::Rest.get_id(id: id, user: user, **resource)
|
80
80
|
end
|
81
81
|
|
@@ -92,7 +92,7 @@ module StarkBank
|
|
92
92
|
#
|
93
93
|
# ## Return:
|
94
94
|
# - Transfer pdf file
|
95
|
-
def self.pdf(id
|
95
|
+
def self.pdf(id, user: nil)
|
96
96
|
StarkBank::Utils::Rest.get_pdf(id: id, user: user, **resource)
|
97
97
|
end
|
98
98
|
|
@@ -102,19 +102,29 @@ module StarkBank
|
|
102
102
|
#
|
103
103
|
# ## Parameters (optional):
|
104
104
|
# - limit [integer, default nil]: maximum number of objects to be retrieved. Unlimited if nil. ex: 35
|
105
|
-
# - status [string, default nil]: filter for status of retrieved objects. ex: "paid" or "registered"
|
106
|
-
# - tags [list of strings, default nil]: tags to filter retrieved objects. ex: ["tony", "stark"]
|
107
|
-
# - ids [list of strings, default nil]: list of ids to filter retrieved objects. ex: ["5656565656565656", "4545454545454545"]
|
108
105
|
# - after [Date, default nil] date filter for objects created only after specified date. ex: Date.new(2020, 3, 10)
|
109
106
|
# - before [Date, default nil] date filter for objects only before specified date. ex: Date.new(2020, 3, 10)
|
107
|
+
# - transactionIds [list of strings, default nil]: list of ids to filter retrieved objects. ex: ['5656565656565656', '4545454545454545']
|
108
|
+
# - status [string, default nil]: filter for status of retrieved objects. ex: 'paid' or 'registered'
|
109
|
+
# - tags [list of strings, default nil]: tags to filter retrieved objects. ex: ['tony', 'stark']
|
110
110
|
# - user [Project object, default nil]: Project object. Not necessary if StarkBank.user was set before function call
|
111
111
|
#
|
112
112
|
# ## Return:
|
113
113
|
# - generator of Transfer objects with updated attributes
|
114
|
-
def self.query(limit: nil,
|
114
|
+
def self.query(limit: nil, after: nil, before: nil, transaction_ids: nil, status: nil, sort: nil, tags: nil, user: nil)
|
115
115
|
after = StarkBank::Utils::Checks.check_date(after)
|
116
116
|
before = StarkBank::Utils::Checks.check_date(before)
|
117
|
-
StarkBank::Utils::Rest.get_list(
|
117
|
+
StarkBank::Utils::Rest.get_list(
|
118
|
+
limit: limit,
|
119
|
+
after: after,
|
120
|
+
before: before,
|
121
|
+
transaction_ids: transaction_ids,
|
122
|
+
status: status,
|
123
|
+
sort: sort,
|
124
|
+
tags: tags,
|
125
|
+
user: user,
|
126
|
+
**resource
|
127
|
+
)
|
118
128
|
end
|
119
129
|
|
120
130
|
def self.resource
|
data/lib/user/project.rb
CHANGED
@@ -13,14 +13,14 @@ module StarkBank
|
|
13
13
|
# each request or may be defined as the default user at the start (See README).
|
14
14
|
#
|
15
15
|
# ## Parameters (required):
|
16
|
-
# - id [string]: unique id required to identify project. ex:
|
17
|
-
# - private_key [EllipticCurve.Project()]: PEM string of the private key linked to the project. ex:
|
18
|
-
# - environment [string]: environment where the project is being used. ex:
|
16
|
+
# - id [string]: unique id required to identify project. ex: '5656565656565656'
|
17
|
+
# - private_key [EllipticCurve.Project()]: PEM string of the private key linked to the project. ex: '-----BEGIN PUBLIC KEY-----\nMFYwEAYHKoZIzj0CAQYFK4EEAAoDQgAEyTIHK6jYuik6ktM9FIF3yCEYzpLjO5X/\ntqDioGM+R2RyW0QEo+1DG8BrUf4UXHSvCjtQ0yLppygz23z0yPZYfw==\n-----END PUBLIC KEY-----'
|
18
|
+
# - environment [string]: environment where the project is being used. ex: 'sandbox' or 'production'
|
19
19
|
#
|
20
20
|
# ## Attributes (return-only):
|
21
|
-
# - name [string, default
|
22
|
-
# - allowed_ips [list of strings]: list containing the strings of the ips allowed to make requests on behalf of this project. ex: [
|
23
|
-
# - pem [string]: private key in pem format. ex:
|
21
|
+
# - name [string, default ']: project name. ex: 'MyProject'
|
22
|
+
# - allowed_ips [list of strings]: list containing the strings of the ips allowed to make requests on behalf of this project. ex: ['190.190.0.50']
|
23
|
+
# - pem [string]: private key in pem format. ex: '-----BEGIN PUBLIC KEY-----\nMFYwEAYHKoZIzj0CAQYFK4EEAAoDQgAEyTIHK6jYuik6ktM9FIF3yCEYzpLjO5X/\ntqDioGM+R2RyW0QEo+1DG8BrUf4UXHSvCjtQ0yLppygz23z0yPZYfw==\n-----END PUBLIC KEY-----'
|
24
24
|
class Project < StarkBank::User
|
25
25
|
attr_reader :name, :allowed_ips
|
26
26
|
def initialize(environment:, id:, private_key:, name: '', allowed_ips: nil)
|
data/lib/utils/request.rb
CHANGED
@@ -60,7 +60,7 @@ module StarkBank
|
|
60
60
|
req['Access-Time'] = access_time
|
61
61
|
req['Access-Signature'] = signature
|
62
62
|
req['Content-Type'] = 'application/json'
|
63
|
-
req['User-Agent'] = "Ruby-#{RUBY_VERSION}-SDK-0.0
|
63
|
+
req['User-Agent'] = "Ruby-#{RUBY_VERSION}-SDK-0.1.0"
|
64
64
|
|
65
65
|
request = Net::HTTP.start(uri.hostname, use_ssl: true) { |http| http.request(req) }
|
66
66
|
|
data/lib/webhook/event.rb
CHANGED
@@ -55,7 +55,7 @@ module StarkBank
|
|
55
55
|
#
|
56
56
|
# ## Return:
|
57
57
|
# - Event object with updated attributes
|
58
|
-
def self.get(id
|
58
|
+
def self.get(id, user: nil)
|
59
59
|
StarkBank::Utils::Rest.get_id(id: id, user: user, **resource)
|
60
60
|
end
|
61
61
|
|
@@ -65,17 +65,24 @@ module StarkBank
|
|
65
65
|
#
|
66
66
|
# ## Parameters (optional):
|
67
67
|
# - limit [integer, default nil]: maximum number of objects to be retrieved. Unlimited if nil. ex: 35
|
68
|
-
# - is_delivered [bool, default nil]: bool to filter successfully delivered events. ex: True or False
|
69
68
|
# - after [Date, default nil]: date filter for objects created only after specified date. ex: Date.new(2020, 3, 10)
|
70
69
|
# - before [Date, default nil]: date filter for objects only before specified date. ex: Date.new(2020, 3, 10)
|
70
|
+
# - is_delivered [bool, default nil]: bool to filter successfully delivered events. ex: True or False
|
71
71
|
# - user [Project object, default nil]: Project object. Not necessary if StarkBank.user was set before function call
|
72
72
|
#
|
73
73
|
# ## Return:
|
74
74
|
# - generator of Event objects with updated attributes
|
75
|
-
def self.query(limit: nil,
|
75
|
+
def self.query(limit: nil, after: nil, before: nil, is_delivered: nil, user: nil)
|
76
76
|
after = StarkBank::Utils::Checks.check_date(after)
|
77
77
|
before = StarkBank::Utils::Checks.check_date(before)
|
78
|
-
StarkBank::Utils::Rest.get_list(
|
78
|
+
StarkBank::Utils::Rest.get_list(
|
79
|
+
user: user,
|
80
|
+
limit: limit,
|
81
|
+
after: after,
|
82
|
+
before: before,
|
83
|
+
is_delivered: is_delivered,
|
84
|
+
**resource
|
85
|
+
)
|
79
86
|
end
|
80
87
|
|
81
88
|
# # Delete a notification Event
|
@@ -90,7 +97,7 @@ module StarkBank
|
|
90
97
|
#
|
91
98
|
# ## Return:
|
92
99
|
# - deleted Event with updated attributes
|
93
|
-
def self.delete(id
|
100
|
+
def self.delete(id, user: nil)
|
94
101
|
StarkBank::Utils::Rest.delete_id(id: id, user: user, **resource)
|
95
102
|
end
|
96
103
|
|
@@ -108,7 +115,7 @@ module StarkBank
|
|
108
115
|
#
|
109
116
|
# ## Return:
|
110
117
|
# - target Event with updated attributes
|
111
|
-
def self.update(id
|
118
|
+
def self.update(id, is_delivered:, user: nil)
|
112
119
|
StarkBank::Utils::Rest.patch_id(id: id, user: user, is_delivered: is_delivered, **resource)
|
113
120
|
end
|
114
121
|
|
@@ -130,6 +137,12 @@ module StarkBank
|
|
130
137
|
def self.parse(content:, signature:, user: nil)
|
131
138
|
event = StarkBank::Utils::API.from_api_json(resource[:resource_maker], JSON.parse(content)['event'])
|
132
139
|
|
140
|
+
begin
|
141
|
+
signature = EllipticCurve::Signature.fromBase64(signature)
|
142
|
+
rescue
|
143
|
+
raise(StarkBank::Error::InvalidSignatureError, 'The provided signature is not valid')
|
144
|
+
end
|
145
|
+
|
133
146
|
return event if verify_signature(content: content, signature: signature, user: user)
|
134
147
|
|
135
148
|
return event if verify_signature(content: content, signature: signature, user: user, refresh: true)
|
@@ -141,7 +154,6 @@ module StarkBank
|
|
141
154
|
private
|
142
155
|
|
143
156
|
def verify_signature(content:, signature:, user:, refresh: false)
|
144
|
-
signature = EllipticCurve::Signature.fromBase64(signature)
|
145
157
|
public_key = StarkBank::Utils::Cache.starkbank_public_key
|
146
158
|
if public_key.nil? || refresh
|
147
159
|
pem = get_public_key_pem(user)
|
data/lib/webhook/webhook.rb
CHANGED
@@ -13,10 +13,10 @@ module StarkBank
|
|
13
13
|
#
|
14
14
|
# ## Parameters (required):
|
15
15
|
# - url [string]: Url that will be notified when an event occurs.
|
16
|
-
# - subscriptions [list of strings]: list of any non-empty combination of the available services. ex: [
|
16
|
+
# - subscriptions [list of strings]: list of any non-empty combination of the available services. ex: ['transfer', 'boleto-payment']
|
17
17
|
#
|
18
18
|
# ## Attributes:
|
19
|
-
# - id [string, default nil]: unique id returned when the log is created. ex:
|
19
|
+
# - id [string, default nil]: unique id returned when the log is created. ex: '5656565656565656'
|
20
20
|
class Webhook < StarkBank::Utils::Resource
|
21
21
|
attr_reader :url, :subscriptions, :id
|
22
22
|
def initialize(url:, subscriptions:, id: nil)
|
@@ -30,8 +30,8 @@ module StarkBank
|
|
30
30
|
# Send a single Webhook subscription for creation in the Stark Bank API
|
31
31
|
#
|
32
32
|
# ## Parameters (required):
|
33
|
-
# - url [string]: url to which notification events will be sent to. ex:
|
34
|
-
# - subscriptions [list of strings]: list of any non-empty combination of the available services. ex: [
|
33
|
+
# - url [string]: url to which notification events will be sent to. ex: 'https://webhook.site/60e9c18e-4b5c-4369-bda1-ab5fcd8e1b29'
|
34
|
+
# - subscriptions [list of strings]: list of any non-empty combination of the available services. ex: ['transfer', 'boleto-payment']
|
35
35
|
#
|
36
36
|
# ## Parameters (optional):
|
37
37
|
# - user [Project object]: Project object. Not necessary if StarkBank.user was set before function call
|
@@ -47,14 +47,14 @@ module StarkBank
|
|
47
47
|
# Receive a single Webhook subscription object previously created in the Stark Bank API by passing its id
|
48
48
|
#
|
49
49
|
# ## Parameters (required):
|
50
|
-
# - id [string]: object unique id. ex:
|
50
|
+
# - id [string]: object unique id. ex: '5656565656565656'
|
51
51
|
#
|
52
52
|
# ## Parameters (optional):
|
53
53
|
# - user [Project object]: Project object. Not necessary if StarkBank.user was set before function call
|
54
54
|
#
|
55
55
|
# ## Return:
|
56
56
|
# - Webhook object with updated attributes
|
57
|
-
def self.get(id
|
57
|
+
def self.get(id, user: nil)
|
58
58
|
StarkBank::Utils::Rest.get_id(id: id, user: user, **resource)
|
59
59
|
end
|
60
60
|
|
@@ -77,14 +77,14 @@ module StarkBank
|
|
77
77
|
# Delete a Webhook entity previously created in the Stark Bank API
|
78
78
|
#
|
79
79
|
# ## Parameters (required):
|
80
|
-
# - id [string]: Webhook unique id. ex:
|
80
|
+
# - id [string]: Webhook unique id. ex: '5656565656565656'
|
81
81
|
#
|
82
82
|
# ## Parameters (optional):
|
83
83
|
# - user [Project object]: Project object. Not necessary if StarkBank.user was set before function call
|
84
84
|
#
|
85
85
|
# ## Return:
|
86
86
|
# - deleted Webhook with updated attributes
|
87
|
-
def self.delete(id
|
87
|
+
def self.delete(id, user: nil)
|
88
88
|
StarkBank::Utils::Rest.delete_id(id: id, user: user, **resource)
|
89
89
|
end
|
90
90
|
|