starkinfra 0.1.0 → 0.3.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/lib/brcodepreview/brcodepreview.rb +125 -0
- data/lib/cardmethod/cardmethod.rb +56 -0
- data/lib/creditholmes/creditholmes.rb +160 -0
- data/lib/creditnote/creditnote.rb +51 -355
- data/lib/creditnote/invoice/description.rb +51 -0
- data/lib/creditnote/invoice/discount.rb +49 -0
- data/lib/creditnote/invoice/invoice.rb +124 -0
- data/lib/creditnote/log.rb +18 -19
- data/lib/creditnote/transfer.rb +90 -0
- data/lib/creditpreview/creditnotepreview.rb +85 -0
- data/lib/creditpreview/creditpreview.rb +77 -0
- data/lib/creditsigner/creditsigner.rb +57 -0
- data/lib/dynamicbrcode/dynamicbrcode.rb +350 -0
- data/lib/event/attempt.rb +5 -4
- data/lib/event/event.rb +11 -11
- data/lib/individualdocument/individualdocument.rb +165 -0
- data/lib/individualdocument/log.rb +125 -0
- data/lib/individualidentity/individualidentity.rb +193 -0
- data/lib/individualidentity/log.rb +124 -0
- data/lib/issuingbalance/issuingbalance.rb +4 -4
- data/lib/issuingcard/issuingcard.rb +35 -33
- data/lib/issuingcard/log.rb +21 -21
- data/lib/issuingdesign/issuingdesign.rb +138 -0
- data/lib/issuingembossingkit/issuingembossingkit.rb +121 -0
- data/lib/issuingembossingrequest/issuingembossingrequest.rb +210 -0
- data/lib/issuingembossingrequest/log.rb +128 -0
- data/lib/issuingholder/issuingholder.rb +21 -15
- data/lib/issuingholder/log.rb +19 -19
- data/lib/issuinginvoice/issuinginvoice.rb +29 -14
- data/lib/issuinginvoice/log.rb +18 -18
- data/lib/{issuingbin/issuingbin.rb → issuingproduct/issuingproduct.rb} +27 -30
- data/lib/issuingpurchase/issuingpurchase.rb +111 -31
- data/lib/issuingpurchase/log.rb +16 -16
- data/lib/issuingrestock/issuingrestock.rb +162 -0
- data/lib/issuingrestock/log.rb +127 -0
- data/lib/issuingrule/issuingrule.rb +64 -18
- data/lib/issuingstock/issuingstock.rb +138 -0
- data/lib/issuingstock/log.rb +130 -0
- data/lib/issuingtransaction/issuingtransaction.rb +12 -13
- data/lib/issuingwithdrawal/issuingwithdrawal.rb +12 -11
- data/lib/merchantcategory/merchantcategory.rb +63 -0
- data/lib/merchantcountry/merchantcountry.rb +59 -0
- data/lib/pixbalance/pixbalance.rb +5 -5
- data/lib/pixchargeback/log.rb +15 -15
- data/lib/pixchargeback/pixchargeback.rb +32 -20
- data/lib/pixclaim/log.rb +21 -24
- data/lib/pixclaim/pixclaim.rb +44 -34
- data/lib/pixdirector/pixdirector.rb +9 -11
- data/lib/pixdomain/certificate.rb +1 -1
- data/lib/pixdomain/pixdomain.rb +5 -5
- data/lib/pixinfraction/log.rb +20 -20
- data/lib/pixinfraction/pixinfraction.rb +23 -15
- data/lib/pixkey/log.rb +23 -23
- data/lib/pixkey/pixkey.rb +14 -12
- data/lib/pixrequest/log.rb +24 -20
- data/lib/pixrequest/pixrequest.rb +54 -21
- data/lib/pixreversal/log.rb +3 -3
- data/lib/pixreversal/pixreversal.rb +48 -21
- data/lib/pixstatement/pixstatement.rb +13 -8
- data/lib/starkinfra.rb +40 -15
- data/lib/staticbrcode/staticbrcode.rb +170 -0
- data/lib/user/project.rb +1 -1
- data/lib/utils/api.rb +1 -0
- data/lib/utils/bacenid.rb +1 -1
- data/lib/utils/parse.rb +7 -3
- data/lib/utils/request.rb +1 -1
- data/lib/utils/resource.rb +1 -1
- data/lib/utils/sub_resource.rb +21 -22
- data/lib/webhook/webhook.rb +11 -11
- metadata +29 -4
- data/lib/issuingauthorization/issuingauthorization.rb +0 -141
@@ -1,45 +1,43 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
2
|
|
3
|
-
require_relative('../utils/resource')
|
4
3
|
require_relative('../utils/rest')
|
5
4
|
require_relative('../utils/checks')
|
5
|
+
require_relative('../utils/resource')
|
6
6
|
|
7
7
|
module StarkInfra
|
8
|
-
# #
|
8
|
+
# # IssuingProduct object
|
9
9
|
#
|
10
|
-
# The
|
11
|
-
# They represent a group of cards that begin with the same numbers (
|
10
|
+
# The IssuingProduct object displays information of registered card products to your Workspace.
|
11
|
+
# They represent a group of cards that begin with the same numbers (id) and offer the same product to end customers.
|
12
12
|
#
|
13
13
|
# ## Attributes (return-only):
|
14
|
-
# - id [string]: unique
|
14
|
+
# - id [string]: unique card product number (BIN) registered within the card network. ex: '53810200'
|
15
15
|
# - network [string]: card network flag. ex: 'mastercard'
|
16
|
-
# -
|
17
|
-
# -
|
18
|
-
# -
|
19
|
-
# - created [DateTime]: creation datetime for the
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
def initialize(id: nil, network: nil, settlement: nil, category: nil, client: nil, updated: nil, created: nil)
|
16
|
+
# - funding_type [string]: type of funding used for payment. ex: 'credit', 'debit'
|
17
|
+
# - holder_type [string]: holder type. ex: 'business', 'individual'
|
18
|
+
# - code [string]: internal code from card flag informing the product. ex: 'MRW', 'MCO', 'MWB', 'MCS'
|
19
|
+
# - created [DateTime]: creation datetime for the IssuingProduct. ex: DateTime.new(2020, 3, 10, 10, 30, 0, 0)
|
20
|
+
class IssuingProduct < StarkInfra::Utils::Resource
|
21
|
+
attr_reader :id, :network, :funding_type, :holder_type, :code, :created
|
22
|
+
def initialize(id: nil, network: nil, funding_type: nil, holder_type: nil, code: nil, created: nil)
|
24
23
|
super(id)
|
25
24
|
@network = network
|
26
|
-
@
|
27
|
-
@
|
28
|
-
@
|
29
|
-
@updated = StarkInfra::Utils::Checks.check_datetime(updated)
|
25
|
+
@funding_type = funding_type
|
26
|
+
@holder_type = holder_type
|
27
|
+
@code = code
|
30
28
|
@created = StarkInfra::Utils::Checks.check_datetime(created)
|
31
29
|
end
|
32
30
|
|
33
|
-
# # Retrieve
|
31
|
+
# # Retrieve IssuingProducts
|
34
32
|
#
|
35
|
-
# Receive a generator of
|
33
|
+
# Receive a generator of IssuingProduct objects previously registered in the Stark Infra API
|
36
34
|
#
|
37
35
|
# ## Parameters (optional):
|
38
36
|
# - limit [integer, default nil]: maximum number of objects to be retrieved. Unlimited if nil. ex: 35
|
39
37
|
# - user [Organization/Project object, default nil]: Organization or Project object. Not necessary if StarkInfra.user was set before function call
|
40
38
|
#
|
41
39
|
# ## Return:
|
42
|
-
# - generator of
|
40
|
+
# - generator of IssuingProduct objects with updated attributes
|
43
41
|
def self.query(limit: nil, user: nil)
|
44
42
|
StarkInfra::Utils::Rest.get_stream(
|
45
43
|
limit: limit,
|
@@ -48,9 +46,9 @@ module StarkInfra
|
|
48
46
|
)
|
49
47
|
end
|
50
48
|
|
51
|
-
# # Retrieve paged
|
49
|
+
# # Retrieve paged IssuingProducts
|
52
50
|
#
|
53
|
-
# Receive a list of up to 100
|
51
|
+
# Receive a list of up to 100 IssuingProduct objects previously registered to your workspace and the cursor to the next page.
|
54
52
|
#
|
55
53
|
# ## Parameters (optional):
|
56
54
|
# - cursor [string, default nil]: cursor returned on the previous page function call.
|
@@ -58,8 +56,8 @@ module StarkInfra
|
|
58
56
|
# - user [Organization/Project object, default nil]: Organization or Project object. Not necessary if StarkInfra.user was set before function call
|
59
57
|
#
|
60
58
|
# ## Return:
|
61
|
-
# - list of
|
62
|
-
# - cursor to retrieve the next page of
|
59
|
+
# - list of IssuingProduct objects with updated attributes
|
60
|
+
# - cursor to retrieve the next page of IssuingProduct objects
|
63
61
|
def self.page(cursor: nil, limit: nil, user: nil)
|
64
62
|
StarkInfra::Utils::Rest.get_page(
|
65
63
|
cursor: cursor,
|
@@ -71,15 +69,14 @@ module StarkInfra
|
|
71
69
|
|
72
70
|
def self.resource
|
73
71
|
{
|
74
|
-
resource_name: '
|
72
|
+
resource_name: 'IssuingProduct',
|
75
73
|
resource_maker: proc { |json|
|
76
|
-
|
74
|
+
IssuingProduct.new(
|
77
75
|
id: json['id'],
|
78
76
|
network: json['network'],
|
79
|
-
|
80
|
-
|
81
|
-
|
82
|
-
updated: json['updated'],
|
77
|
+
funding_type: json['funding_type'],
|
78
|
+
holder_type: json['holder_type'],
|
79
|
+
code: json['code'],
|
83
80
|
created: json['created']
|
84
81
|
)
|
85
82
|
}
|
@@ -1,8 +1,8 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
2
|
|
3
|
-
require_relative('../utils/resource')
|
4
3
|
require_relative('../utils/rest')
|
5
4
|
require_relative('../utils/checks')
|
5
|
+
require_relative('../utils/resource')
|
6
6
|
|
7
7
|
module StarkInfra
|
8
8
|
# # IssuingPurchase object
|
@@ -12,8 +12,10 @@ module StarkInfra
|
|
12
12
|
# ## Attributes (return-only):
|
13
13
|
# - id [string]: unique id returned when IssuingPurchase is created. ex: '5656565656565656'
|
14
14
|
# - holder_name [string]: card holder name. ex: 'Tony Stark'
|
15
|
+
# - product_id [string]: unique card product number (BIN) registered within the card network. ex: "53810200"
|
15
16
|
# - card_id [string]: unique id returned when IssuingCard is created. ex: '5656565656565656'
|
16
17
|
# - card_ending [string]: last 4 digits of the card number. ex: '1234'
|
18
|
+
# - purpose [string]: purchase purpose. ex: 'purchase'
|
17
19
|
# - amount [integer]: IssuingPurchase value in cents. Minimum = 0. ex: 1234 (= R$ 12.34)
|
18
20
|
# - tax [integer]: IOF amount taxed for international purchases. ex: 1234 (= R$ 12.34)
|
19
21
|
# - issuer_amount [integer]: issuer amount. ex: 1234 (= R$ 12.34)
|
@@ -29,32 +31,43 @@ module StarkInfra
|
|
29
31
|
# - merchant_name [string]: merchant name. ex: 'Google Cloud Platform'
|
30
32
|
# - merchant_fee [integer]: fee charged by the merchant to cover specific costs, such as ATM withdrawal logistics, etc. ex: 200 (= R$ 2.00)
|
31
33
|
# - wallet_id [string]: virtual wallet ID. ex: '5656565656565656'
|
32
|
-
# - method_code [string]: method code.
|
34
|
+
# - method_code [string]: method code. Options: 'chip', 'token', 'server', 'manual', 'magstripe' or 'contactless'
|
33
35
|
# - score [float]: internal score calculated for the authenticity of the purchase. nil in case of insufficient data. ex: 7.6
|
34
|
-
# -
|
35
|
-
# - end_to_end_id [string]: Unique id used to identify the transaction through all of its life cycle, even before the purchase is denied or accepted and gets its usual id. Example: endToEndId='679cd385-642b-49d0-96b7-89491e1249a5'
|
36
|
-
# - status [string]: current IssuingCard status. ex: 'approved', 'canceled', 'denied', 'confirmed', 'voided'
|
36
|
+
# - end_to_end_id [string]: Unique id used to identify the transaction through all of its life cycle, even before the purchase is denied or approved and gets its usual id. ex: '679cd385-642b-49d0-96b7-89491e1249a5'
|
37
37
|
# - tags [string]: list of strings for tagging returned by the sub-issuer during the authorization. ex: ['travel', 'food']
|
38
|
-
# -
|
38
|
+
# - zip_code [string]: zip code of the merchant location. ex: '02101234'
|
39
|
+
#
|
40
|
+
# ## Attributes (IssuingPurchase only):
|
41
|
+
# - issuing_transaction_ids [string]: ledger transaction ids linked to this Purchase
|
42
|
+
# - status [string]: current IssuingCard status. Options: 'approved', 'canceled', 'denied', 'confirmed', 'voided'
|
39
43
|
# - updated [DateTime]: latest update datetime for the IssuingPurchase. ex: DateTime.new(2020, 3, 10, 10, 30, 0, 0)
|
44
|
+
# - created [DateTime]: creation datetime for the IssuingPurchase. ex: DateTime.new(2020, 3, 10, 10, 30, 0, 0)
|
45
|
+
#
|
46
|
+
# ## Attributes (authorization request only):
|
47
|
+
# - is_partial_allowed [bool]: true if the merchant allows partial purchases. ex: False
|
48
|
+
# - card_tags [list of strings]: tags of the IssuingCard responsible for this purchase. ex: ['travel', 'food']
|
49
|
+
# - holder_tags [list of strings]: tags of the IssuingHolder responsible for this purchase. ex: ['technology', 'john snow']
|
40
50
|
class IssuingPurchase < StarkInfra::Utils::Resource
|
41
|
-
attr_reader :id, :holder_name, :card_id, :card_ending, :amount, :tax, :issuer_amount, :issuer_currency_code,
|
51
|
+
attr_reader :id, :holder_name, :product_id, :card_id, :card_ending, :purpose, :amount, :tax, :issuer_amount, :issuer_currency_code,
|
42
52
|
:issuer_currency_symbol, :merchant_amount, :merchant_currency_code, :merchant_currency_symbol,
|
43
53
|
:merchant_category_code, :merchant_country_code, :acquirer_id, :merchant_id, :merchant_name,
|
44
|
-
:merchant_fee, :wallet_id, :method_code, :score, :
|
45
|
-
:
|
54
|
+
:merchant_fee, :wallet_id, :method_code, :score, :end_to_end_id, :tags, :zip_code,
|
55
|
+
:issuing_transaction_ids, :status, :updated, :created, :is_partial_allowed, :card_tags, :holder_tags
|
46
56
|
|
47
57
|
def initialize(
|
48
|
-
id: nil, holder_name: nil, card_id: nil, card_ending: nil, amount: nil, tax: nil, issuer_amount: nil,
|
58
|
+
id: nil, holder_name: nil, product_id: nil, card_id: nil, card_ending: nil, purpose: nil, amount: nil, tax: nil, issuer_amount: nil,
|
49
59
|
issuer_currency_code: nil, issuer_currency_symbol: nil, merchant_amount: nil, merchant_currency_code: nil,
|
50
60
|
merchant_currency_symbol: nil, merchant_category_code: nil, merchant_country_code: nil, acquirer_id: nil,
|
51
61
|
merchant_id: nil, merchant_name: nil, merchant_fee: nil, wallet_id: nil, method_code: nil, score: nil,
|
52
|
-
|
62
|
+
end_to_end_id: nil, tags: nil, zip_code: nil, issuing_transaction_ids: nil, status: nil, updated: nil, created: nil,
|
63
|
+
is_partial_allowed: nil, card_tags:nil, holder_tags:nil
|
53
64
|
)
|
54
65
|
super(id)
|
55
66
|
@holder_name = holder_name
|
67
|
+
@product_id = product_id
|
56
68
|
@card_id = card_id
|
57
69
|
@card_ending = card_ending
|
70
|
+
@purpose = purpose
|
58
71
|
@amount = amount
|
59
72
|
@tax = tax
|
60
73
|
@issuer_amount = issuer_amount
|
@@ -72,12 +85,17 @@ module StarkInfra
|
|
72
85
|
@wallet_id = wallet_id
|
73
86
|
@method_code = method_code
|
74
87
|
@score = score
|
75
|
-
@issuing_transaction_ids = issuing_transaction_ids
|
76
88
|
@end_to_end_id = end_to_end_id
|
77
|
-
@status = status
|
78
89
|
@tags = tags
|
79
|
-
@
|
90
|
+
@zip_code = zip_code
|
91
|
+
@issuing_transaction_ids = issuing_transaction_ids
|
92
|
+
@status = status
|
80
93
|
@updated = StarkInfra::Utils::Checks.check_datetime(updated)
|
94
|
+
@created = StarkInfra::Utils::Checks.check_datetime(created)
|
95
|
+
@is_partial_allowed = is_partial_allowed
|
96
|
+
@card_tags = card_tags
|
97
|
+
@holder_tags = holder_tags
|
98
|
+
|
81
99
|
end
|
82
100
|
|
83
101
|
# # Retrieve a specific IssuingPurchase
|
@@ -96,19 +114,19 @@ module StarkInfra
|
|
96
114
|
StarkInfra::Utils::Rest.get_id(id: id, user: user, **resource)
|
97
115
|
end
|
98
116
|
|
99
|
-
# # Retrieve
|
117
|
+
# # Retrieve IssuingPurchases
|
100
118
|
#
|
101
119
|
# Receive a generator of IssuingPurchases objects previously created in the Stark Infra API
|
102
120
|
#
|
103
121
|
# ## Parameters (optional):
|
104
|
-
# - ids [list of strings, default nil]: purchase IDs. ex: ['5656565656565656', '4545454545454545']
|
105
122
|
# - limit [integer, default nil]: maximum number of objects to be retrieved. Unlimited if nil. ex: 35
|
106
|
-
# - after [Date or string, default nil] date filter for objects created only after specified date. ex: Date.new(2020, 3, 09)
|
107
|
-
# - before [Date or string, default nil] date filter for objects created only before specified date. ex: Date.new(2020, 3, 10)
|
108
|
-
# - end_to_end_ids [list of strings, default
|
109
|
-
# - holder_ids [list of strings, default
|
110
|
-
# - card_ids [list of strings, default
|
123
|
+
# - after [Date or string, default nil]: date filter for objects created only after specified date. ex: Date.new(2020, 3, 09)
|
124
|
+
# - before [Date or string, default nil]: date filter for objects created only before specified date. ex: Date.new(2020, 3, 10)
|
125
|
+
# - end_to_end_ids [list of strings, default nil]: central bank's unique transaction ID. ex: 'E79457883202101262140HHX553UPqeq'
|
126
|
+
# - holder_ids [list of strings, default nil]: card holder IDs. ex: ['5656565656565656', '4545454545454545']
|
127
|
+
# - card_ids [list of strings, default nil]: card IDs. ex: ['5656565656565656', '4545454545454545']
|
111
128
|
# - status [list of strings, default nil]: filter for status of retrieved objects. ex: ['approved', 'canceled', 'denied', 'confirmed', 'voided']
|
129
|
+
# - ids [list of strings, default nil]: purchase IDs. ex: ['5656565656565656', '4545454545454545']
|
112
130
|
# - user [Organization/Project object, default nil]: Organization or Project object. Not necessary if starkinfra.user was set before function call
|
113
131
|
#
|
114
132
|
# ## Return:
|
@@ -133,18 +151,19 @@ module StarkInfra
|
|
133
151
|
|
134
152
|
# # Retrieve paged IssuingPurchases
|
135
153
|
#
|
136
|
-
# Receive a list of
|
154
|
+
# Receive a list of up to 100 IssuingPurchases objects previously created in the Stark Infra API and the cursor
|
155
|
+
# to the next page. Use this function instead of query if you want to manually page your invoices.
|
137
156
|
#
|
138
157
|
# ## Parameters (optional):
|
139
158
|
# - cursor [string, default nil]: cursor returned on the previous page function call.
|
140
|
-
# - ids [list of strings, default nil]: purchase IDs. ex: ['5656565656565656', '4545454545454545']
|
141
159
|
# - limit [integer, default 100]: maximum number of objects to be retrieved. Max = 100. ex: 35
|
142
|
-
# - after [Date or string, default nil] date filter for objects created only after specified date. ex: Date.new(2020, 3, 10)
|
143
|
-
# - before [Date or string, default nil] date filter for objects created only before specified date. ex: Date.new(2020, 3, 10)
|
144
|
-
# - end_to_end_ids [list of strings, default
|
145
|
-
# - holder_ids [list of strings, default
|
146
|
-
# - card_ids [list of strings, default
|
160
|
+
# - after [Date or string, default nil]: date filter for objects created only after specified date. ex: Date.new(2020, 3, 10)
|
161
|
+
# - before [Date or string, default nil]: date filter for objects created only before specified date. ex: Date.new(2020, 3, 10)
|
162
|
+
# - end_to_end_ids [list of strings, default nil]: central bank's unique transaction ID. ex: 'E79457883202101262140HHX553UPqeq'
|
163
|
+
# - holder_ids [list of strings, default nil]: card holder IDs. ex: ['5656565656565656', '4545454545454545']
|
164
|
+
# - card_ids [list of strings, default nil]: card IDs. ex: ['5656565656565656', '4545454545454545']
|
147
165
|
# - status [list of strings, default nil]: filter for status of retrieved objects. ex: ['approved', 'canceled', 'denied', 'confirmed', 'voided']
|
166
|
+
# - ids [list of strings, default nil]: purchase IDs. ex: ['5656565656565656', '4545454545454545']
|
148
167
|
# - user [Organization/Project object, default nil]: Organization or Project object. Not necessary if starkinfra.user was set before function call
|
149
168
|
#
|
150
169
|
# ## Return:
|
@@ -169,6 +188,61 @@ module StarkInfra
|
|
169
188
|
)
|
170
189
|
end
|
171
190
|
|
191
|
+
# # Create a single verified IssuingPurchase authorization request from a content string
|
192
|
+
#
|
193
|
+
# Use this method to parse and verify the authenticity of the authorization request received at the informed endpoint.
|
194
|
+
# Authorization requests are posted to your registered endpoint whenever IssuingPurchases are received.
|
195
|
+
# They present IssuingPurchase data that must be analyzed and answered with approval or declination.
|
196
|
+
# If the provided digital signature does not check out with the StarkInfra public key, a stark.exception.InvalidSignatureException will be raised.
|
197
|
+
# If the authorization request is not answered within 2 seconds or is not answered with an HTTP status code 200 the
|
198
|
+
# IssuingPurchase will go through the pre-configured stand-in validation.
|
199
|
+
#
|
200
|
+
# ## Parameters (required):
|
201
|
+
# - content [string]: response content from request received at user endpoint (not parsed)
|
202
|
+
# - signature [string]: base-64 digital signature received at response header 'Digital-Signature'
|
203
|
+
#
|
204
|
+
# # ## Parameters (optional):
|
205
|
+
# - user [Organization/Project object, default nil]: Organization or Project object. Not necessary if starkinfra.user was set before function call
|
206
|
+
#
|
207
|
+
# ## Return:
|
208
|
+
# - Parsed IssuingPurchase object
|
209
|
+
def self.parse(content:, signature:, user: nil)
|
210
|
+
StarkInfra::Utils::Parse.parse_and_verify(
|
211
|
+
content: content,
|
212
|
+
signature: signature,
|
213
|
+
user: user,
|
214
|
+
key: nil,
|
215
|
+
**resource
|
216
|
+
)
|
217
|
+
end
|
218
|
+
|
219
|
+
# # Helps you respond IssuingPurchase request
|
220
|
+
#
|
221
|
+
# ## Parameters (required):
|
222
|
+
# - status [string]: sub-issuer response to the authorization. ex: 'approved' or 'denied'
|
223
|
+
#
|
224
|
+
# ## Parameters (conditionally required):
|
225
|
+
# - reason [string]: denial reason. Options: 'other', 'blocked', 'lostCard', 'stolenCard', 'invalidPin', 'invalidCard', 'cardExpired', 'issuerError', 'concurrency', 'standInDenial', 'subIssuerError', 'invalidPurpose', 'invalidZipCode', 'invalidWalletId', 'inconsistentCard', 'settlementFailed', 'cardRuleMismatch', 'invalidExpiration', 'prepaidInstallment', 'holderRuleMismatch', 'insufficientBalance', 'tooManyTransactions', 'invalidSecurityCode', 'invalidPaymentMethod', 'confirmationDeadline', 'withdrawalAmountLimit', 'insufficientCardLimit', 'insufficientHolderLimit'
|
226
|
+
#
|
227
|
+
# # ## Parameters (optional):
|
228
|
+
# - amount [integer, default nil]: amount in cents that was authorized. ex: 1234 (= R$ 12.34)
|
229
|
+
# - tags [list of strings, default nil]: tags to filter retrieved object. ex: ['tony', 'stark']
|
230
|
+
#
|
231
|
+
# ## Return:
|
232
|
+
# - Dumped JSON string that must be returned to us on the IssuingPurchase request
|
233
|
+
def self.response(
|
234
|
+
status:, reason:, amount:, tags:
|
235
|
+
)
|
236
|
+
params = {
|
237
|
+
'status': status,
|
238
|
+
'reason': reason,
|
239
|
+
'amount': amount,
|
240
|
+
'tags': tags
|
241
|
+
}
|
242
|
+
|
243
|
+
params.to_json
|
244
|
+
end
|
245
|
+
|
172
246
|
def self.resource
|
173
247
|
{
|
174
248
|
resource_name: 'IssuingPurchase',
|
@@ -176,8 +250,10 @@ module StarkInfra
|
|
176
250
|
IssuingPurchase.new(
|
177
251
|
id: json['id'],
|
178
252
|
holder_name: json['holder_name'],
|
253
|
+
product_id: json['product_id'],
|
179
254
|
card_id: json['card_id'],
|
180
255
|
card_ending: json['card_ending'],
|
256
|
+
purpose: json['purpose'],
|
181
257
|
amount: json['amount'],
|
182
258
|
tax: json['tax'],
|
183
259
|
issuer_amount: json['issuer_amount'],
|
@@ -195,12 +271,16 @@ module StarkInfra
|
|
195
271
|
wallet_id: json['wallet_id'],
|
196
272
|
method_code: json['method_code'],
|
197
273
|
score: json['score'],
|
198
|
-
issuing_transaction_ids: json['issuing_transaction_ids'],
|
199
274
|
end_to_end_id: json['end_to_end_id'],
|
200
|
-
status: json['status'],
|
201
275
|
tags: json['tags'],
|
276
|
+
zip_code: json['zip_code'],
|
277
|
+
issuing_transaction_ids: json['issuing_transaction_ids'],
|
278
|
+
status: json['status'],
|
202
279
|
updated: json['updated'],
|
203
|
-
created: json['created']
|
280
|
+
created: json['created'],
|
281
|
+
is_partial_allowed: json['is_partial_allowed'],
|
282
|
+
card_tags: json['card_tags'],
|
283
|
+
holder_tags: json['holder_tags']
|
204
284
|
)
|
205
285
|
}
|
206
286
|
}
|
data/lib/issuingpurchase/log.rb
CHANGED
@@ -1,9 +1,9 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
2
|
|
3
|
-
require_relative('../utils/resource')
|
4
3
|
require_relative('../utils/rest')
|
5
4
|
require_relative('../utils/checks')
|
6
5
|
require_relative('issuingpurchase')
|
6
|
+
require_relative('../utils/resource')
|
7
7
|
|
8
8
|
module StarkInfra
|
9
9
|
class IssuingPurchase
|
@@ -12,7 +12,7 @@ module StarkInfra
|
|
12
12
|
# Every time an IssuingPurchase entity is updated, a corresponding IssuingInvoice::Log is generated for the entity.
|
13
13
|
# This Log is never generated by the user, but it can be retrieved to check additional information on the IssuingPurchase.
|
14
14
|
#
|
15
|
-
# ## Attributes:
|
15
|
+
# ## Attributes (return-only):
|
16
16
|
# - id [string]: unique id returned when the log is created. ex: '5656565656565656'
|
17
17
|
# - purchase [IssuingPurchase]: IssuingPurchase entity to which the log refers to.
|
18
18
|
# - issuing_transaction_id [string]: transaction ID related to the IssuingCard.
|
@@ -30,9 +30,9 @@ module StarkInfra
|
|
30
30
|
@created = StarkInfra::Utils::Checks.check_datetime(created)
|
31
31
|
end
|
32
32
|
|
33
|
-
# # Retrieve a specific Log
|
33
|
+
# # Retrieve a specific IssuingPurchase::Log
|
34
34
|
#
|
35
|
-
# Receive a single Log object previously created by the Stark Infra API by passing its id
|
35
|
+
# Receive a single IssuingPurchase::Log object previously created by the Stark Infra API by passing its id
|
36
36
|
#
|
37
37
|
# ## Parameters (required):
|
38
38
|
# - id [string]: object unique id. ex: '5656565656565656'
|
@@ -41,26 +41,26 @@ module StarkInfra
|
|
41
41
|
# - user [Organization/Project object, default nil]: Organization or Project object. Not necessary if StarkInfra.user was set before function call
|
42
42
|
#
|
43
43
|
# ## Return:
|
44
|
-
# - Log object with updated attributes
|
44
|
+
# - IssuingPurchase::Log object with updated attributes
|
45
45
|
def self.get(id, user: nil)
|
46
46
|
StarkInfra::Utils::Rest.get_id(id: id, user: user, **resource)
|
47
47
|
end
|
48
48
|
|
49
|
-
# # Retrieve Logs
|
49
|
+
# # Retrieve IssuingPurchase::Logs
|
50
50
|
#
|
51
|
-
# Receive a generator of Log objects previously created in the Stark Infra API
|
51
|
+
# Receive a generator of IssuingPurchase::Log objects previously created in the Stark Infra API
|
52
52
|
#
|
53
53
|
# ## Parameters (optional):
|
54
|
-
# - ids [list of strings, default nil]: list of IssuingPurchase ids to filter logs. ex: ['5656565656565656', '4545454545454545']
|
55
54
|
# - limit [integer, default nil]: maximum number of objects to be retrieved. Unlimited if nil. ex: 35
|
56
|
-
# - after [Date or string, default nil] date filter for objects created only after specified date. ex: Date.new(2020, 3, 10)
|
57
|
-
# - before [Date or string, default nil] date filter for objects created only before specified date. ex: Date.new(2020, 3, 10)
|
55
|
+
# - after [Date or string, default nil]: date filter for objects created only after specified date. ex: Date.new(2020, 3, 10)
|
56
|
+
# - before [Date or string, default nil]: date filter for objects created only before specified date. ex: Date.new(2020, 3, 10)
|
58
57
|
# - types [list of strings, default nil]: filter for log event types. ex: ['approved', 'canceled', 'confirmed', 'denied', 'reversed', 'voided']
|
59
58
|
# - purchase_ids [list of strings, default nil]: list of Purchase ids to filter logs. ex: ['5656565656565656', '4545454545454545']
|
59
|
+
# - ids [list of strings, default nil]: list of IssuingPurchase ids to filter logs. ex: ['5656565656565656', '4545454545454545']
|
60
60
|
# - user [Organization/Project object, default nil]: Organization or Project object. Not necessary if starkinfra.user was set before function call
|
61
61
|
#
|
62
62
|
# ## Return:
|
63
|
-
# - generator of Log objects with updated attributes
|
63
|
+
# - generator of IssuingPurchase::Log objects with updated attributes
|
64
64
|
def self.query(ids: nil, limit: nil, after: nil, before: nil, types: nil, purchase_ids: nil, user: nil)
|
65
65
|
after = StarkInfra::Utils::Checks.check_date(after)
|
66
66
|
before = StarkInfra::Utils::Checks.check_date(before)
|
@@ -76,23 +76,23 @@ module StarkInfra
|
|
76
76
|
)
|
77
77
|
end
|
78
78
|
|
79
|
-
# # Retrieve paged Logs
|
79
|
+
# # Retrieve paged IssuingPurchase::Logs
|
80
80
|
#
|
81
81
|
# Receive a list of up to 100 Log objects previously created in the Stark Infra API and the cursor to the next page.
|
82
82
|
# Use this function instead of query if you want to manually page your purchases.
|
83
83
|
#
|
84
84
|
# ## Parameters (optional):
|
85
85
|
# - cursor [string, default nil]: cursor returned on the previous page function call
|
86
|
-
# - ids [list of strings, default nil]: list of IssuingPurchase ids to filter logs. ex: ['5656565656565656', '4545454545454545']
|
87
86
|
# - limit [integer, default 100]: maximum number of objects to be retrieved. Max = 100. ex: 35
|
88
|
-
# - after [Date or string, default nil] date filter for objects created only after specified date. ex: Date.new(2020, 3, 10)
|
89
|
-
# - before [Date or string, default nil] date filter for objects created only before specified date. ex: Date.new(2020, 3, 10)
|
87
|
+
# - after [Date or string, default nil]: date filter for objects created only after specified date. ex: Date.new(2020, 3, 10)
|
88
|
+
# - before [Date or string, default nil]: date filter for objects created only before specified date. ex: Date.new(2020, 3, 10)
|
90
89
|
# - types [list of strings, default nil]: filter for log event types. ex: ['approved', 'canceled', 'confirmed', 'denied', 'reversed', 'voided']
|
91
90
|
# - purchase_ids [list of strings, default nil]: list of Purchase ids to filter logs. ex: ['5656565656565656', '4545454545454545']
|
91
|
+
# - ids [list of strings, default nil]: list of IssuingPurchase ids to filter logs. ex: ['5656565656565656', '4545454545454545']
|
92
92
|
# - user [Organization/Project object, default nil]: Organization or Project object. Not necessary if starkinfra.user was set before function call
|
93
93
|
#
|
94
94
|
# ## Return:
|
95
|
-
# - list of Log objects with updated attributes
|
95
|
+
# - list of IssuingPurchase::Log objects with updated attributes
|
96
96
|
# - cursor to retrieve the next page of Log objects
|
97
97
|
def self.page(cursor: nil, ids: nil, limit: nil, after: nil, before: nil, types: nil, purchase_ids: nil, user: nil)
|
98
98
|
after = StarkInfra::Utils::Checks.check_date(after)
|
@@ -0,0 +1,162 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require_relative('../utils/rest')
|
4
|
+
require_relative('../utils/checks')
|
5
|
+
require_relative('../utils/resource')
|
6
|
+
|
7
|
+
module StarkInfra
|
8
|
+
# # IssuingRestock object
|
9
|
+
#
|
10
|
+
# The IssuingRestock object displays the information of the restock orders created in your Workspace.
|
11
|
+
# This resource place a restock order for a specific IssuingStock object.
|
12
|
+
#
|
13
|
+
# ## Parameters (required):
|
14
|
+
# - count [integer]: number of restocks to be restocked. ex: 100
|
15
|
+
# - stock_id [string]: IssuingStock unique id ex: "5136459887542272"
|
16
|
+
#
|
17
|
+
# ## Parameters (optional):
|
18
|
+
# - tags [list of strings, default nil]: list of strings for tagging. ex: ["card", "corporate"]
|
19
|
+
#
|
20
|
+
# ## Attributes (return-only):
|
21
|
+
# - id [string]: unique id returned when IssuingRestock is created. ex: '5656565656565656'
|
22
|
+
# - status [string]: current IssuingRestock status. ex: "created", "processing", "confirmed"
|
23
|
+
# - updated [DateTime]: latest update datetime for the IssuingRestock. ex: DateTime.new(2020, 3, 10, 10, 30, 0, 0)
|
24
|
+
# - created [DateTime]: creation datetime for the IssuingRestock. ex: DateTime.new(2020, 3, 10, 10, 30, 0, 0)
|
25
|
+
class IssuingRestock < StarkInfra::Utils::Resource
|
26
|
+
attr_reader :count, :stock_id, :tags, :id, :status, :updated, :created
|
27
|
+
def initialize(
|
28
|
+
count:, stock_id:, tags: nil, id: nil, status: nil, updated: nil, created: nil
|
29
|
+
)
|
30
|
+
super(id)
|
31
|
+
@count = count
|
32
|
+
@stock_id = stock_id
|
33
|
+
@tags = tags
|
34
|
+
@status = status
|
35
|
+
@created = StarkInfra::Utils::Checks.check_datetime(created)
|
36
|
+
@updated = StarkInfra::Utils::Checks.check_datetime(updated)
|
37
|
+
end
|
38
|
+
|
39
|
+
# # Create IssuingRestocks
|
40
|
+
#
|
41
|
+
# Send a list of IssuingRestock objects for creation in the Stark Infra API
|
42
|
+
#
|
43
|
+
# ## Parameters (required):
|
44
|
+
# - restocks [list of IssuingRestock objects]: list of IssuingRestock objects to be created in the API
|
45
|
+
#
|
46
|
+
# ## Parameters (optional):
|
47
|
+
# - user [Organization/Project object, default nil]: Organization or Project object. Not necessary if StarkInfra.user was set before function call
|
48
|
+
#
|
49
|
+
# ## Return:
|
50
|
+
# - list of IssuingRestock objects with updated attributes
|
51
|
+
def self.create(restocks:, user: nil)
|
52
|
+
StarkInfra::Utils::Rest.post(entities: restocks, user: user, **resource)
|
53
|
+
end
|
54
|
+
|
55
|
+
# # Retrieve a specific IssuingRestock
|
56
|
+
#
|
57
|
+
# Receive a single IssuingRestock object previously created in the Stark Infra API by its id
|
58
|
+
#
|
59
|
+
# ## Parameters (required):
|
60
|
+
# - id [string]: object unique id. ex: '5656565656565656'
|
61
|
+
#
|
62
|
+
# ## Parameters (optional):
|
63
|
+
# - user [Organization/Project object, default nil]: Organization or Project object. Not necessary if StarkInfra.user was set before function call
|
64
|
+
#
|
65
|
+
# ## Return:
|
66
|
+
# - IssuingRestock object with updated attributes
|
67
|
+
def self.get(id, user: nil)
|
68
|
+
StarkInfra::Utils::Rest.get_id(id: id, user: user, **resource)
|
69
|
+
end
|
70
|
+
|
71
|
+
# # Retrieve IssuingRestocks
|
72
|
+
#
|
73
|
+
# Receive a generator of IssuingRestock objects previously created in the Stark Infra API
|
74
|
+
#
|
75
|
+
# ## Parameters (optional):
|
76
|
+
# - limit [integer, default nil]: maximum number of objects to be retrieved. Unlimited if nil. ex: 35
|
77
|
+
# - after [Date or string, default nil]: date filter for objects created only after specified date. ex: Date.new(2020, 3, 10)
|
78
|
+
# - before [Date or string, default nil]: date filter for objects created only before specified date. ex: Date.new(2020, 3, 10)
|
79
|
+
# - status [list of strings, default nil]: filter for status of retrieved objects. ex: ["created", "processing", "confirmed"]
|
80
|
+
# - stock_ids [list of string, default nil]: list of stock_ids to filter retrieved objects. ex: ["5656565656565656", "4545454545454545"]
|
81
|
+
# - ids [list of strings, default nil]: list of ids to filter retrieved objects. ex: ['5656565656565656', '4545454545454545']
|
82
|
+
# - tags [list of strings, default nil]: tags to filter retrieved objects. ex: ["card", "corporate"]
|
83
|
+
# - user [Organization/Project object, default nil]: Organization or Project object. Not necessary if StarkInfra.user was set before function call
|
84
|
+
#
|
85
|
+
# ## Return:
|
86
|
+
# - generator of IssuingRestocks objects with updated attributes
|
87
|
+
def self.query(
|
88
|
+
limit: nil, after: nil, before: nil, status: nil, stock_ids: nil, ids: nil,
|
89
|
+
tags: nil, user: nil
|
90
|
+
)
|
91
|
+
after = StarkInfra::Utils::Checks.check_date(after)
|
92
|
+
before = StarkInfra::Utils::Checks.check_date(before)
|
93
|
+
StarkInfra::Utils::Rest.get_stream(
|
94
|
+
limit: limit,
|
95
|
+
after: after,
|
96
|
+
before: before,
|
97
|
+
status: status,
|
98
|
+
stock_ids: stock_ids,
|
99
|
+
ids: ids,
|
100
|
+
tags: tags,
|
101
|
+
user: user,
|
102
|
+
**resource
|
103
|
+
)
|
104
|
+
end
|
105
|
+
|
106
|
+
# # Retrieve paged IssuingRestocks
|
107
|
+
#
|
108
|
+
# Receive a list of up to 100 IssuingRestock objects previously created in the Stark Infra API and the cursor to the next page.
|
109
|
+
# Use this function instead of query if you want to manually page your requests.
|
110
|
+
#
|
111
|
+
# ## Parameters (optional):
|
112
|
+
# - cursor [string, default nil]: cursor returned on the previous page function call.
|
113
|
+
# - limit [integer, default 100]: maximum number of objects to be retrieved. Max = 100. ex: 35
|
114
|
+
# - after [Date or string, default nil]: date filter for objects created only after specified date. ex: Date.new(2020, 3, 10)
|
115
|
+
# - before [Date or string, default nil]: date filter for objects created only before specified date. ex: Date.new(2020, 3, 10)
|
116
|
+
# - status [list of strings, default nil]: filter for status of retrieved objects. ex: ["created", "processing", "confirmed"]
|
117
|
+
# - stock_ids [list of string, default nil]: list of stock_ids to filter retrieved objects. ex: ["5656565656565656", "4545454545454545"]
|
118
|
+
# - ids [list of strings, default nil]: list of ids to filter retrieved objects. ex: ['5656565656565656', '4545454545454545']
|
119
|
+
# - tags [list of strings, default nil]: tags to filter retrieved objects. ex: ["card", "corporate"]
|
120
|
+
# - user [Organization/Project object, default nil]: Organization or Project object. Not necessary if StarkInfra.user was set before function call
|
121
|
+
#
|
122
|
+
# ## Return:
|
123
|
+
# - list of IssuingRestocks objects with updated attributes
|
124
|
+
# - cursor to retrieve the next page of IssuingRestocks objects
|
125
|
+
def self.page(
|
126
|
+
cursor: nil, limit: nil, after: nil, before: nil, status: nil, stock_ids: nil,
|
127
|
+
ids: nil, tags: nil, user: nil
|
128
|
+
)
|
129
|
+
after = StarkInfra::Utils::Checks.check_date(after)
|
130
|
+
before = StarkInfra::Utils::Checks.check_date(before)
|
131
|
+
StarkInfra::Utils::Rest.get_page(
|
132
|
+
cursor: cursor,
|
133
|
+
limit: limit,
|
134
|
+
after: after,
|
135
|
+
before: before,
|
136
|
+
status: status,
|
137
|
+
stock_ids: stock_ids,
|
138
|
+
ids: ids,
|
139
|
+
tags: tags,
|
140
|
+
user: user,
|
141
|
+
**resource
|
142
|
+
)
|
143
|
+
end
|
144
|
+
|
145
|
+
def self.resource
|
146
|
+
{
|
147
|
+
resource_name: 'IssuingRestock',
|
148
|
+
resource_maker: proc { |json|
|
149
|
+
IssuingRestock.new(
|
150
|
+
count: json['count'],
|
151
|
+
stock_id: json['stock_id'],
|
152
|
+
tags: json['tags'],
|
153
|
+
id: json['id'],
|
154
|
+
status: json['status'],
|
155
|
+
updated: json['updated'],
|
156
|
+
created: json['created']
|
157
|
+
)
|
158
|
+
}
|
159
|
+
}
|
160
|
+
end
|
161
|
+
end
|
162
|
+
end
|