starkinfra 0.0.3 → 0.2.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 +121 -0
- data/lib/cardmethod/cardmethod.rb +56 -0
- data/lib/creditnote/creditnote.rb +58 -341
- data/lib/creditnote/invoice/description.rb +51 -0
- data/lib/creditnote/invoice/discount.rb +49 -0
- data/lib/creditnote/invoice/invoice.rb +123 -0
- data/lib/creditnote/log.rb +2 -2
- data/lib/creditnote/transfer.rb +90 -0
- data/lib/creditpreview/creditnotepreview.rb +85 -0
- data/lib/creditpreview/creditpreview.rb +83 -0
- data/lib/creditsigner/creditsigner.rb +57 -0
- data/lib/dynamicbrcode/dynamicbrcode.rb +350 -0
- data/lib/event/attempt.rb +4 -3
- data/lib/event/event.rb +10 -10
- data/lib/issuingbalance/issuingbalance.rb +4 -4
- data/lib/issuingcard/issuingcard.rb +40 -36
- data/lib/issuingcard/log.rb +3 -3
- data/lib/issuingholder/issuingholder.rb +14 -9
- data/lib/issuingholder/log.rb +3 -3
- data/lib/issuinginvoice/issuinginvoice.rb +24 -10
- data/lib/issuinginvoice/log.rb +3 -3
- data/lib/issuingproduct/issuingproduct.rb +86 -0
- data/lib/issuingpurchase/issuingpurchase.rb +100 -24
- data/lib/issuingpurchase/log.rb +2 -2
- data/lib/issuingrule/issuingrule.rb +74 -30
- data/lib/issuingtransaction/issuingtransaction.rb +6 -8
- data/lib/issuingwithdrawal/issuingwithdrawal.rb +11 -7
- 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 +3 -3
- data/lib/pixchargeback/pixchargeback.rb +32 -20
- data/lib/pixclaim/log.rb +8 -11
- data/lib/pixclaim/pixclaim.rb +43 -32
- data/lib/pixdirector/pixdirector.rb +9 -11
- data/lib/pixdomain/certificate.rb +1 -1
- data/lib/pixdomain/pixdomain.rb +4 -4
- data/lib/pixinfraction/log.rb +2 -2
- data/lib/pixinfraction/pixinfraction.rb +21 -13
- data/lib/pixkey/log.rb +5 -5
- data/lib/pixkey/pixkey.rb +12 -10
- data/lib/pixrequest/log.rb +2 -2
- data/lib/pixrequest/pixrequest.rb +51 -21
- data/lib/pixreversal/log.rb +2 -2
- data/lib/pixreversal/pixreversal.rb +48 -20
- data/lib/pixstatement/pixstatement.rb +12 -7
- data/lib/starkinfra.rb +27 -15
- data/lib/staticbrcode/staticbrcode.rb +164 -0
- data/lib/user/project.rb +1 -1
- data/lib/utils/api.rb +1 -0
- data/lib/utils/parse.rb +7 -3
- data/lib/utils/request.rb +1 -1
- data/lib/utils/resource.rb +1 -1
- data/lib/utils/rest.rb +1 -2
- data/lib/utils/sub_resource.rb +21 -22
- data/lib/webhook/webhook.rb +3 -3
- metadata +16 -4
- data/lib/issuingauthorization/issuingauthorization.rb +0 -141
- data/lib/issuingbin/issuingbin.rb +0 -89
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 407cfd041d62916d22344d376a24ff392b4ef1fcf38cf3ae1c6ab38f01916e3a
|
4
|
+
data.tar.gz: 29d6b4e29af482ce49862a6e77eb72c570bad1844e66fcf1171f6148497179ec
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: d4a549b1f028df0b976c790587c5f7c3989a5290f356e93816aa6051537241f6a490617c5cd19fabf6755ec31ec9a085b1049907d2b6df35d342def6e0b065b8
|
7
|
+
data.tar.gz: 22556e362fb270328d57d12875797961ecb06bf87f2e19a15fa6a37b598c4d37fe76209f0a9be93289ce68c0e6c82f63fc6156745b93eb662403bb73671f618a
|
@@ -0,0 +1,121 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require_relative('../utils/rest')
|
4
|
+
require_relative('../utils/parse')
|
5
|
+
require_relative('../utils/checks')
|
6
|
+
require_relative('../utils/resource')
|
7
|
+
|
8
|
+
module StarkInfra
|
9
|
+
# # BrcodePreview object
|
10
|
+
#
|
11
|
+
# A BrcodePreview is used to get information from a BR Code you received to check the information before paying it.
|
12
|
+
#
|
13
|
+
# When you initialize a BrcodePreview, the entity will not be automatically
|
14
|
+
# created in the Stark Infra API. The 'create' function sends the objects
|
15
|
+
# to the Stark Infra API and returns the list of created objects.
|
16
|
+
#
|
17
|
+
# ## Parameters (required):
|
18
|
+
# - id [string]: BR Code string for the Pix payment. This is also de information directly encoded in a QR Code. ex: '00020126580014br.gov.bcb.pix0136a629532e-7693-4846-852d-1bbff817b5a8520400005303986540510.005802BR5908T'Challa6009Sao Paulo62090505123456304B14A'
|
19
|
+
#
|
20
|
+
# Attributes (return-only):
|
21
|
+
# - account_number [string]: Payment receiver account number. ex: '1234567'
|
22
|
+
# - account_type [string]: Payment receiver account type. ex: 'checking'
|
23
|
+
# - amount [integer]: Value in cents that this payment is expecting to receive. If 0, any value is accepted. ex: 123 (= R$1,23)
|
24
|
+
# - amount_type [string]: amount type of the BR Code. If the amount type is 'custom' the BR Code's amount can be changed by the sender at the moment of payment. Options: 'fixed' or 'custom'
|
25
|
+
# - bank_code [string]: Payment receiver bank code. ex: '20018183'
|
26
|
+
# - branch_code [string]: Payment receiver branch code. ex: '0001'
|
27
|
+
# - cash_amount [integer]: Amount to be withdrawn from the cashier in cents. ex: 1000 (= R$ 10.00)
|
28
|
+
# - cashier_bank_code [string]: Cashier's bank code. ex: '20018183'
|
29
|
+
# - cashier_type [string]: Cashier's type. Options: 'merchant', 'participant' and 'other'
|
30
|
+
# - discount_amount [integer]: Discount value calculated over nominal_amount. ex: 3000
|
31
|
+
# - fine_amount [integer]: Fine value calculated over nominal_amount. ex: 20000
|
32
|
+
# - key_id [string]: Receiver's PixKey id. ex: '+5511989898989'
|
33
|
+
# - interest_amount [integer]: Interest value calculated over nominal_amount. ex: 10000
|
34
|
+
# - name [string]: Payment receiver name. ex: 'Tony Stark'
|
35
|
+
# - nominal_amount [integer]: BR Code emission amount, without fines, fees and discounts. ex: 1234 (= R$ 12.34)
|
36
|
+
# - reconciliation_id [string]: Reconciliation ID linked to this payment. If the BR Code is dynamic, the reconciliation_id will have from 26 to 35 alphanumeric characters, ex: 'cd65c78aeb6543eaaa0170f68bd741ee'. If the brcode is static, the reconciliation_id will have up to 25 alphanumeric characters 'ah27s53agj6493hjds6836v49'
|
37
|
+
# - reduction_amount [integer]: Reduction value to discount from nominal_amount. ex: 1000
|
38
|
+
# - scheduled [DateTime]: date of payment execution. ex: DateTime.new(2020, 3, 10, 10, 30, 0, 0).
|
39
|
+
# - status [string]: Payment status. ex: 'active', 'paid', 'canceled' or 'unknown'
|
40
|
+
# - tax_id [string]: Payment receiver tax ID. ex: '012.345.678-90'
|
41
|
+
class BrcodePreview < StarkInfra::Utils::Resource
|
42
|
+
attr_reader :id, :account_number, :account_type, :amount, :amount_type, :bank_code, :branch_code, :cash_amount,
|
43
|
+
:cashier_bank_code, :cashier_type, :discount_amount, :fine_amount, :key_id, :interest_amount, :name,
|
44
|
+
:nominal_amount, :reconciliation_id, :reduction_amount, :scheduled, :status, :tax_id
|
45
|
+
def initialize(
|
46
|
+
id:, account_number: nil, account_type: nil, amount: nil, amount_type: nil, bank_code: nil,
|
47
|
+
branch_code: nil, cash_amount: nil, cashier_bank_code:nil, cashier_type:nil, discount_amount: nil,
|
48
|
+
fine_amount: nil, key_id: nil, interest_amount: nil, name: nil, nominal_amount: nil,
|
49
|
+
reconciliation_id: nil, reduction_amount: nil, scheduled: nil, status: nil, tax_id: nil
|
50
|
+
)
|
51
|
+
super(id)
|
52
|
+
@account_number = account_number
|
53
|
+
@account_type = account_type
|
54
|
+
@amount = amount
|
55
|
+
@amount_type = amount_type
|
56
|
+
@bank_code = bank_code
|
57
|
+
@branch_code = branch_code
|
58
|
+
@cash_amount = cash_amount
|
59
|
+
@cashier_bank_code = cashier_bank_code
|
60
|
+
@cashier_type = cashier_type
|
61
|
+
@discount_amount = discount_amount
|
62
|
+
@fine_amount = fine_amount
|
63
|
+
@key_id = key_id
|
64
|
+
@interest_amount = interest_amount
|
65
|
+
@name = name
|
66
|
+
@nominal_amount = nominal_amount
|
67
|
+
@reconciliation_id = reconciliation_id
|
68
|
+
@reduction_amount = reduction_amount
|
69
|
+
@scheduled = scheduled
|
70
|
+
@status = status
|
71
|
+
@tax_id = tax_id
|
72
|
+
end
|
73
|
+
|
74
|
+
# # Retrieve BrcodePreviews
|
75
|
+
#
|
76
|
+
# Process BR Codes before paying them.
|
77
|
+
#
|
78
|
+
# ## Parameters (required):
|
79
|
+
# - previews [list of BrcodePreview objects]: List of BrcodePreview objects to preview. ex: [starkinfra.BrcodePreview('00020126580014br.gov.bcb.pix0136a629532e-7693-4846-852d-1bbff817b5a8520400005303986540510.005802BR5908T'Challa6009Sao Paulo62090505123456304B14A')]
|
80
|
+
#
|
81
|
+
# ## Parameters (optional):
|
82
|
+
# - user [Organization/Project object, default nil]: Organization or Project object. Not necessary if starkinfra.user was set before function call
|
83
|
+
#
|
84
|
+
# ## Return:
|
85
|
+
# - list of BrcodePreview objects with updated attributes
|
86
|
+
def self.create(previews, user: nil)
|
87
|
+
StarkInfra::Utils::Rest.post(entities: previews, user: user, **resource)
|
88
|
+
end
|
89
|
+
|
90
|
+
def self.resource
|
91
|
+
{
|
92
|
+
resource_name: 'BrcodePreview',
|
93
|
+
resource_maker: proc { |json|
|
94
|
+
BrcodePreview.new(
|
95
|
+
id: json['id'],
|
96
|
+
account_number: json['account_number'],
|
97
|
+
account_type: json['account_type'],
|
98
|
+
amount: json['amount'],
|
99
|
+
amount_type: json['amount_type'],
|
100
|
+
bank_code: json['bank_code'],
|
101
|
+
branch_code: json['branch_code'],
|
102
|
+
cash_amount: json['cash_amount'],
|
103
|
+
cashier_bank_code: json['cashier_bank_code'],
|
104
|
+
cashier_type: json['cashier_type'],
|
105
|
+
discount_amount: json['discount_amount'],
|
106
|
+
fine_amount: json['fine_amount'],
|
107
|
+
key_id: json['key_id'],
|
108
|
+
interest_amount: json['interest_amount'],
|
109
|
+
name: json['name'],
|
110
|
+
nominal_amount: json['nominal_amount'],
|
111
|
+
reconciliation_id: json['reconciliation_id'],
|
112
|
+
reduction_amount: json['reduction_amount'],
|
113
|
+
scheduled: json['scheduled'],
|
114
|
+
status: json['status'],
|
115
|
+
tax_id: json['tax_id']
|
116
|
+
)
|
117
|
+
}
|
118
|
+
}
|
119
|
+
end
|
120
|
+
end
|
121
|
+
end
|
@@ -0,0 +1,56 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require_relative('../utils/rest')
|
4
|
+
require_relative('../utils/sub_resource')
|
5
|
+
|
6
|
+
module StarkInfra
|
7
|
+
# # CardMethod object
|
8
|
+
#
|
9
|
+
# CardMethod's codes are used to define method filters in IssuingRules.
|
10
|
+
#
|
11
|
+
# ## Parameters (required):
|
12
|
+
# - code [string]: method's code. Options: 'chip', 'token', 'server', 'manual', 'magstripe', 'contactless'
|
13
|
+
#
|
14
|
+
# Attributes (return-only):
|
15
|
+
# - name [string]: method's name. ex: 'token'
|
16
|
+
# - number [string]: method's number. ex: '81'
|
17
|
+
class CardMethod < StarkInfra::Utils::SubResource
|
18
|
+
attr_reader :code, :name, :number
|
19
|
+
def initialize(code:, name: nil, number: nil)
|
20
|
+
@code = code
|
21
|
+
@name = name
|
22
|
+
@number = number
|
23
|
+
end
|
24
|
+
|
25
|
+
# # Retrieve CardMethods
|
26
|
+
#
|
27
|
+
# Receive a generator of CardMethod objects available in the Stark Infra API
|
28
|
+
#
|
29
|
+
# ## Parameters (optional):
|
30
|
+
# - search [string, default nil]: keyword to search for code, name, number or short_code. ex: 'token'
|
31
|
+
# - user [Organization/Project object, default nil]: Organization or Project object. Not necessary if starkinfra.user was set before function call
|
32
|
+
#
|
33
|
+
# ## Return:
|
34
|
+
# - generator of CardMethod objects with updated attributes
|
35
|
+
def self.query(search: nil, user: nil)
|
36
|
+
StarkInfra::Utils::Rest.get_stream(
|
37
|
+
search: search,
|
38
|
+
user: user,
|
39
|
+
**resource
|
40
|
+
)
|
41
|
+
end
|
42
|
+
|
43
|
+
def self.resource
|
44
|
+
{
|
45
|
+
resource_name: 'CardMethod',
|
46
|
+
resource_maker: proc { |json|
|
47
|
+
CardMethod.new(
|
48
|
+
code: json['code'],
|
49
|
+
name: json['name'],
|
50
|
+
number: json['number']
|
51
|
+
)
|
52
|
+
}
|
53
|
+
}
|
54
|
+
end
|
55
|
+
end
|
56
|
+
end
|