genesis_ruby 0.2.4 → 0.2.5
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/CHANGELOG.md +38 -0
- data/Gemfile.lock +14 -14
- data/README.md +38 -0
- data/VERSION +1 -1
- data/lib/genesis_ruby/api/constants/currencies/iso4217.rb +6 -0
- data/lib/genesis_ruby/api/constants/non_financial/kyc/document_types.rb +49 -0
- data/lib/genesis_ruby/api/constants/non_financial/kyc/genders.rb +22 -0
- data/lib/genesis_ruby/api/constants/transactions/parameters/african_mobile_operators.rb +37 -0
- data/lib/genesis_ruby/api/constants/transactions/parameters/customer_identification/customer_identification_owner.rb +24 -0
- data/lib/genesis_ruby/api/constants/transactions/parameters/customer_identification/customer_identification_subtype.rb +24 -0
- data/lib/genesis_ruby/api/constants/transactions/parameters/customer_identification/customer_identification_type.rb +63 -0
- data/lib/genesis_ruby/api/constants/transactions/parameters/digital_asset_types.rb +31 -0
- data/lib/genesis_ruby/api/constants/transactions/parameters/purpose_of_payment.rb +136 -0
- data/lib/genesis_ruby/api/constants/transactions/parameters/source_of_funds.rb +34 -0
- data/lib/genesis_ruby/api/mixins/requests/digital_asset_type_attributes.rb +26 -0
- data/lib/genesis_ruby/api/mixins/requests/financial/african_mobile_attributes.rb +30 -0
- data/lib/genesis_ruby/api/mixins/requests/financial/cards/tokenization_params_attributes.rb +36 -0
- data/lib/genesis_ruby/api/mixins/requests/financial/customer_identification_attributes.rb +82 -0
- data/lib/genesis_ruby/api/mixins/requests/financial/gift_cards_attributes.rb +26 -0
- data/lib/genesis_ruby/api/mixins/requests/financial/preauthorization_attributes.rb +25 -0
- data/lib/genesis_ruby/api/mixins/requests/financial/purpose_of_payment_attributes.rb +29 -0
- data/lib/genesis_ruby/api/mixins/requests/financial/source_of_funds_attributes.rb +38 -0
- data/lib/genesis_ruby/api/mixins/requests/financial/travel_data/airline_itinerary_attributes.rb +1 -1
- data/lib/genesis_ruby/api/mixins/requests/non_financial/fx/id_attributes.rb +28 -0
- data/lib/genesis_ruby/api/mixins/requests/non_financial/fx/tier_id_attributes.rb +28 -0
- data/lib/genesis_ruby/api/mixins/requests/non_financial/kyc/customer_information_attributes.rb +62 -0
- data/lib/genesis_ruby/api/request.rb +7 -0
- data/lib/genesis_ruby/api/requests/base/financials/credit_card.rb +4 -2
- data/lib/genesis_ruby/api/requests/base/non_financial/kyc/base.rb +33 -0
- data/lib/genesis_ruby/api/requests/base/reference.rb +1 -2
- data/lib/genesis_ruby/api/requests/financial/Preauthorizations/incremental_authorize.rb +24 -0
- data/lib/genesis_ruby/api/requests/financial/cards/authorize.rb +5 -1
- data/lib/genesis_ruby/api/requests/financial/cards/authorize3d.rb +5 -1
- data/lib/genesis_ruby/api/requests/financial/cards/credit.rb +39 -0
- data/lib/genesis_ruby/api/requests/financial/cards/payout.rb +72 -0
- data/lib/genesis_ruby/api/requests/financial/cards/sale.rb +3 -1
- data/lib/genesis_ruby/api/requests/financial/cards/sale3d.rb +3 -1
- data/lib/genesis_ruby/api/requests/financial/crypto/bit_pay/payout.rb +52 -0
- data/lib/genesis_ruby/api/requests/financial/crypto/bit_pay/refund.rb +36 -0
- data/lib/genesis_ruby/api/requests/financial/crypto/bit_pay/sale.rb +55 -0
- data/lib/genesis_ruby/api/requests/financial/gift_cards/fashioncheque.rb +47 -0
- data/lib/genesis_ruby/api/requests/financial/gift_cards/intersolve.rb +46 -0
- data/lib/genesis_ruby/api/requests/financial/gift_cards/tcs.rb +47 -0
- data/lib/genesis_ruby/api/requests/financial/mobile/african_mobile_sale.rb +81 -0
- data/lib/genesis_ruby/api/requests/financial/mobile/russian_mobile_sale.rb +55 -0
- data/lib/genesis_ruby/api/requests/financial/vouchers/neosurf.rb +61 -0
- data/lib/genesis_ruby/api/requests/non_financial/fraud/chargeback/date_range.rb +82 -0
- data/lib/genesis_ruby/api/requests/non_financial/fraud/chargeback/transaction.rb +52 -0
- data/lib/genesis_ruby/api/requests/non_financial/fraud/reports/date_range.rb +108 -0
- data/lib/genesis_ruby/api/requests/non_financial/fraud/reports/transaction.rb +52 -0
- data/lib/genesis_ruby/api/requests/non_financial/fx/get_rate.rb +55 -0
- data/lib/genesis_ruby/api/requests/non_financial/fx/get_rates.rb +53 -0
- data/lib/genesis_ruby/api/requests/non_financial/fx/get_tier.rb +53 -0
- data/lib/genesis_ruby/api/requests/non_financial/fx/get_tiers.rb +35 -0
- data/lib/genesis_ruby/api/requests/non_financial/fx/search_rate.rb +61 -0
- data/lib/genesis_ruby/api/requests/non_financial/kyc/consumer_registration/create.rb +99 -0
- data/lib/genesis_ruby/api/requests/non_financial/tokenization/cryptogram.rb +5 -2
- data/lib/genesis_ruby/api/requests/wpf/create.rb +3 -1
- data/lib/genesis_ruby/configuration.rb +4 -0
- data/lib/genesis_ruby/dependencies.rb +1 -0
- data/lib/genesis_ruby/utils/country.rb +272 -0
- data/lib/genesis_ruby/utils/money/conversions/amount_to_exponent.rb +1 -4
- data/lib/genesis_ruby/version.rb +1 -1
- metadata +46 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 23c3f5ca68fa323f565fdd6c719727c8766e5c48c8c0493565b1ddb94548bbc7
|
4
|
+
data.tar.gz: c0c05e008139fb2b329d85a35abfa6208687291e8774e2be883f146cdb5fa8f4
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: a4dae27aed3ece2f4dd94a591bc4f6c3835bc778545f288df1cccf933f6ada91548c13a1792e728ff7d56fdb2a122d9c8caa90ad77406a526a49aeb0b335b531
|
7
|
+
data.tar.gz: 0141ea62ea869aa01ab8cc12d44937d3f6264c4d6e1e360c213d251a3b33a360e5e3e4f4142acbbf071cf4e858cd865eadfae0f46ee65db4c4643c3fe58567d9
|
data/CHANGELOG.md
CHANGED
@@ -1,3 +1,41 @@
|
|
1
|
+
0.2.5
|
2
|
+
-----
|
3
|
+
**Features**:
|
4
|
+
|
5
|
+
* Added Incremental Authorize transaction request support
|
6
|
+
* Added Preauthorization attributes support to Authorize and Authorize 3D transaction requests
|
7
|
+
* Added BitPay Sale, Refund and Payout transaction requests support
|
8
|
+
* Added support for the following Gift Card transaction requests:
|
9
|
+
* Fashioncheque
|
10
|
+
* Intersolve
|
11
|
+
* TCS
|
12
|
+
* Added Chargeback API support with the following endpoints:
|
13
|
+
* Single/List
|
14
|
+
* By Date Range
|
15
|
+
* Added Fraud reports API support with the following endpoints:
|
16
|
+
* Single/List SAFE/TC40
|
17
|
+
* By Date Range
|
18
|
+
* Added FX API services support with the following endpoints:
|
19
|
+
* GetRate
|
20
|
+
* GetRates
|
21
|
+
* GetTier
|
22
|
+
* GetTiers
|
23
|
+
* SearchRate
|
24
|
+
* Added KYC Create Consumer Registration API request support
|
25
|
+
* Added XCG currency support
|
26
|
+
* Updated Tokenization Cryptogram API request support with mandatory parameter - transaction_reference
|
27
|
+
* Added Digital Asset Type attribute support to the following transaction requests:
|
28
|
+
* Authorize
|
29
|
+
* Authorize 3D
|
30
|
+
* Sale
|
31
|
+
* Sale 3D
|
32
|
+
* Web Payment Form
|
33
|
+
* Added African Mobile Sale transaction request support
|
34
|
+
* Added Russian Mobile Sale transaction request support
|
35
|
+
* Added Credit transaction request support
|
36
|
+
* Added Neosurf transaction request support
|
37
|
+
* Added Payout transaction request support
|
38
|
+
|
1
39
|
0.2.4
|
2
40
|
-----
|
3
41
|
**Features**:
|
data/Gemfile.lock
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
PATH
|
2
2
|
remote: .
|
3
3
|
specs:
|
4
|
-
genesis_ruby (0.2.
|
4
|
+
genesis_ruby (0.2.5)
|
5
5
|
net-http (~> 0.3.2)
|
6
6
|
nokogiri (~> 1.14)
|
7
7
|
|
@@ -17,7 +17,7 @@ GEM
|
|
17
17
|
crack (1.0.0)
|
18
18
|
bigdecimal
|
19
19
|
rexml
|
20
|
-
csv (3.3.
|
20
|
+
csv (3.3.4)
|
21
21
|
diff-lcs (1.6.1)
|
22
22
|
faker (2.23.0)
|
23
23
|
i18n (>= 1.8.11, < 2)
|
@@ -38,7 +38,7 @@ GEM
|
|
38
38
|
multi_xml (>= 0.5.2)
|
39
39
|
i18n (1.14.7)
|
40
40
|
concurrent-ruby (~> 1.0)
|
41
|
-
json (2.
|
41
|
+
json (2.11.3)
|
42
42
|
language_server-protocol (3.17.0.4)
|
43
43
|
lint_roller (1.1.0)
|
44
44
|
mini_mime (1.1.5)
|
@@ -51,18 +51,18 @@ GEM
|
|
51
51
|
nokogiri (1.15.7)
|
52
52
|
mini_portile2 (~> 2.8.2)
|
53
53
|
racc (~> 1.4)
|
54
|
-
octokit (
|
54
|
+
octokit (10.0.0)
|
55
55
|
faraday (>= 1, < 3)
|
56
56
|
sawyer (~> 0.9)
|
57
|
-
parallel (1.
|
58
|
-
parser (3.3.
|
57
|
+
parallel (1.27.0)
|
58
|
+
parser (3.3.8.0)
|
59
59
|
ast (~> 2.4.1)
|
60
60
|
racc
|
61
61
|
prism (1.4.0)
|
62
|
-
pronto (0.11.
|
62
|
+
pronto (0.11.4)
|
63
63
|
gitlab (>= 4.4.0, < 5.0)
|
64
64
|
httparty (>= 0.13.7, < 1.0)
|
65
|
-
octokit (>= 4.7.0, <
|
65
|
+
octokit (>= 4.7.0, < 11.0)
|
66
66
|
rainbow (>= 2.2, < 4.0)
|
67
67
|
rexml (>= 3.2.5, < 4.0)
|
68
68
|
rugged (>= 0.23.0, < 2.0)
|
@@ -86,16 +86,16 @@ GEM
|
|
86
86
|
rspec-mocks (~> 3.13.0)
|
87
87
|
rspec-core (3.13.3)
|
88
88
|
rspec-support (~> 3.13.0)
|
89
|
-
rspec-expectations (3.13.
|
89
|
+
rspec-expectations (3.13.4)
|
90
90
|
diff-lcs (>= 1.2.0, < 2.0)
|
91
91
|
rspec-support (~> 3.13.0)
|
92
|
-
rspec-mocks (3.13.
|
92
|
+
rspec-mocks (3.13.3)
|
93
93
|
diff-lcs (>= 1.2.0, < 2.0)
|
94
94
|
rspec-support (~> 3.13.0)
|
95
|
-
rspec-support (3.13.
|
95
|
+
rspec-support (3.13.3)
|
96
96
|
rspec_junit_formatter (0.6.0)
|
97
97
|
rspec-core (>= 2, < 4, != 2.12.0)
|
98
|
-
rubocop (1.75.
|
98
|
+
rubocop (1.75.4)
|
99
99
|
json (~> 2.3)
|
100
100
|
language_server-protocol (~> 3.17.0.2)
|
101
101
|
lint_roller (~> 1.1.0)
|
@@ -103,10 +103,10 @@ GEM
|
|
103
103
|
parser (>= 3.3.0.2)
|
104
104
|
rainbow (>= 2.2.2, < 4.0)
|
105
105
|
regexp_parser (>= 2.9.3, < 3.0)
|
106
|
-
rubocop-ast (>= 1.
|
106
|
+
rubocop-ast (>= 1.44.0, < 2.0)
|
107
107
|
ruby-progressbar (~> 1.7)
|
108
108
|
unicode-display_width (>= 2.4.0, < 4.0)
|
109
|
-
rubocop-ast (1.44.
|
109
|
+
rubocop-ast (1.44.1)
|
110
110
|
parser (>= 3.3.7.2)
|
111
111
|
prism (~> 1.4)
|
112
112
|
rubocop-capybara (2.22.1)
|
data/README.md
CHANGED
@@ -1002,13 +1002,19 @@ GenesisRuby::Api::Requests::Financial::Cards::Cencosud
|
|
1002
1002
|
GenesisRuby::Api::Requests::Financial::Cards::Elo
|
1003
1003
|
GenesisRuby::Api::Requests::Financial::Cards::Naranja
|
1004
1004
|
GenesisRuby::Api::Requests::Financial::Cards::Nativa
|
1005
|
+
GenesisRuby::Api::Requests::Financial::Cards::Payout
|
1005
1006
|
GenesisRuby::Api::Requests::Financial::Cards::Sale
|
1006
1007
|
GenesisRuby::Api::Requests::Financial::Cards::Sale3d
|
1007
1008
|
GenesisRuby::Api::Requests::Financial::Cards::TarjetaShopping
|
1008
1009
|
|
1010
|
+
## Preauthorizations
|
1011
|
+
GenesisRuby::Api::Requests::Financial::Preauthorizations::IncrementalAuthorize
|
1012
|
+
|
1009
1013
|
## Mobile
|
1010
1014
|
GenesisRuby::Api::Requests::Financial::Mobile::ApplePay
|
1011
1015
|
GenesisRuby::Api::Requests::Financial::Mobile::GooglePay
|
1016
|
+
GenesisRuby::Api::Requests::Financial::Mobile::AfricanMobileSale
|
1017
|
+
GenesisRuby::Api::Requests::Financial::Mobile::RussianMobileSale
|
1012
1018
|
|
1013
1019
|
## Wallets
|
1014
1020
|
GenesisRuby::Api::Requests::Financial::Wallets::Alipay
|
@@ -1025,6 +1031,19 @@ GenesisRuby::Api::Requests::Financial::CashPayments::PagoFacil
|
|
1025
1031
|
GenesisRuby::Api::Requests::Financial::CashPayments::Pix
|
1026
1032
|
GenesisRuby::Api::Requests::Financial::CashPayments::Redpagos
|
1027
1033
|
|
1034
|
+
## Crypto transactions
|
1035
|
+
GenesisRuby::Api::Requests::Financial::Crypto::BitPay::Sale
|
1036
|
+
GenesisRuby::Api::Requests::Financial::Crypto::BitPay::Refund
|
1037
|
+
GenesisRuby::Api::Requests::Financial::Crypto::BitPay::Payout
|
1038
|
+
|
1039
|
+
## Gift Cards transactions
|
1040
|
+
GenesisRuby::Api::Requests::Financial::GiftCards::Intersolve
|
1041
|
+
GenesisRuby::Api::Requests::Financial::GiftCards::Fashioncheque
|
1042
|
+
GenesisRuby::Api::Requests::Financial::GiftCards::Tcs
|
1043
|
+
|
1044
|
+
## Vouchers
|
1045
|
+
GenesisRuby::Api::Requests::Financial::Vouchers::Neosurf
|
1046
|
+
|
1028
1047
|
# Web Payment Form
|
1029
1048
|
## Create
|
1030
1049
|
GenesisRuby::Api::Requests::Wpf::Create
|
@@ -1072,6 +1091,7 @@ GenesisRuby::Api::Requests::Financial::Void
|
|
1072
1091
|
GenesisRuby::Api::Requests::Financial::Refund
|
1073
1092
|
GenesisRuby::Api::Requests::Financial::Sdd::Refund
|
1074
1093
|
GenesisRuby::Api::Requests::Financial::Sdd::Recurring::RecurringSale
|
1094
|
+
GenesisRuby::Api::Requests::Financial::Cards::Credit
|
1075
1095
|
|
1076
1096
|
# Non Financial
|
1077
1097
|
## Reconcile
|
@@ -1113,6 +1133,24 @@ GenesisRuby::Api::Requests::NonFinancial::Tokenization::ValidateToken
|
|
1113
1133
|
GenesisRuby::Api::Requests::NonFinancial::Tokenization::DeleteToken
|
1114
1134
|
GenesisRuby::Api::Requests::NonFinancial::Tokenization::GetCard
|
1115
1135
|
|
1136
|
+
## KYC Know Your Customer API
|
1137
|
+
GenesisRuby::Api::Requests::NonFinancial::Kyc::ConsumerRegistration::Create
|
1138
|
+
|
1139
|
+
## Chargeback API
|
1140
|
+
GenesisRuby::Api::Requests::NonFinancial::Fraud::Chargeback::Transaction
|
1141
|
+
GenesisRuby::Api::Requests::NonFinancial::Fraud::Chargeback::DateRange
|
1142
|
+
|
1143
|
+
## SAFE/TC40 Report
|
1144
|
+
GenesisRuby::Api::Requests::NonFinancial::Fraud::Reports::Transaction
|
1145
|
+
GenesisRuby::Api::Requests::NonFinancial::Fraud::Reports::DateRange
|
1146
|
+
|
1147
|
+
## Fx API
|
1148
|
+
GenesisRuby::Api::Requests::NonFinancial::Fx::GetTiers
|
1149
|
+
GenesisRuby::Api::Requests::NonFinancial::Fx::GetTier
|
1150
|
+
GenesisRuby::Api::Requests::NonFinancial::Fx::GetRates
|
1151
|
+
GenesisRuby::Api::Requests::NonFinancial::Fx::GetRate
|
1152
|
+
GenesisRuby::Api::Requests::NonFinancial::Fx::SearchRate
|
1153
|
+
|
1116
1154
|
```
|
1117
1155
|
|
1118
1156
|
### Manual initialization
|
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
0.2.
|
1
|
+
0.2.5
|
@@ -1001,6 +1001,12 @@ module GenesisRuby
|
|
1001
1001
|
country: 'SAINT VINCENT AND THE GRENADINES',
|
1002
1002
|
exponent: '2'
|
1003
1003
|
},
|
1004
|
+
XCG: {
|
1005
|
+
name: 'Netherlands Antillean guilder',
|
1006
|
+
code: '532',
|
1007
|
+
country: 'Curaçao (CW), Sint Maarten (SX)',
|
1008
|
+
exponent: '2'
|
1009
|
+
},
|
1004
1010
|
XDR: {
|
1005
1011
|
name: 'SDR (Special Drawing Right)',
|
1006
1012
|
code: '960',
|
@@ -0,0 +1,49 @@
|
|
1
|
+
module GenesisRuby
|
2
|
+
module Api
|
3
|
+
module Constants
|
4
|
+
module NonFinancial
|
5
|
+
module Kyc
|
6
|
+
# Document Types allowed values
|
7
|
+
class DocumentTypes
|
8
|
+
|
9
|
+
extend Mixins::Constants::Common
|
10
|
+
|
11
|
+
# SSN
|
12
|
+
SSN = 0
|
13
|
+
|
14
|
+
# Passport Registry
|
15
|
+
PASSPORT_REGISTRY = 1
|
16
|
+
|
17
|
+
# Personal ID / National ID
|
18
|
+
PERSONAL_ID = 2
|
19
|
+
|
20
|
+
# Identity Card
|
21
|
+
IDENTITY_CARD = 3
|
22
|
+
|
23
|
+
# Driver License
|
24
|
+
DRIVER_LICENSE = 4
|
25
|
+
|
26
|
+
# Travel Document
|
27
|
+
TRAVEL_DOCUMENT = 8
|
28
|
+
|
29
|
+
# Residence Permit
|
30
|
+
RESIDENCE_PERMIT = 12
|
31
|
+
|
32
|
+
# Identity Certificate
|
33
|
+
IDENTITY_CERTIFICATE = 13
|
34
|
+
|
35
|
+
# Registro Federal de Contribuyentes
|
36
|
+
FEDERAL_REGISTER = 16
|
37
|
+
|
38
|
+
# Credencial de Elector
|
39
|
+
ELECTRON_CREDENTIALS = 17
|
40
|
+
|
41
|
+
# CPF
|
42
|
+
CPF = 18
|
43
|
+
|
44
|
+
end
|
45
|
+
end
|
46
|
+
end
|
47
|
+
end
|
48
|
+
end
|
49
|
+
end
|
@@ -0,0 +1,22 @@
|
|
1
|
+
module GenesisRuby
|
2
|
+
module Api
|
3
|
+
module Constants
|
4
|
+
module NonFinancial
|
5
|
+
module Kyc
|
6
|
+
# Gender allowed values
|
7
|
+
class Genders
|
8
|
+
|
9
|
+
extend Mixins::Constants::Common
|
10
|
+
|
11
|
+
# Male
|
12
|
+
MALE = 'M'.freeze
|
13
|
+
|
14
|
+
# Female
|
15
|
+
FEMALE = 'F'.freeze
|
16
|
+
|
17
|
+
end
|
18
|
+
end
|
19
|
+
end
|
20
|
+
end
|
21
|
+
end
|
22
|
+
end
|
@@ -0,0 +1,37 @@
|
|
1
|
+
module GenesisRuby
|
2
|
+
module Api
|
3
|
+
module Constants
|
4
|
+
module Transactions
|
5
|
+
module Parameters
|
6
|
+
# Names of supported African Mobile network operators
|
7
|
+
class AfricanMobileOperators
|
8
|
+
|
9
|
+
extend Mixins::Constants::Common
|
10
|
+
|
11
|
+
AIRTEL = 'AIRTEL'.freeze
|
12
|
+
|
13
|
+
MOVITEL = 'MOVITEL'.freeze
|
14
|
+
|
15
|
+
MTN = 'MTN'.freeze
|
16
|
+
|
17
|
+
SAFARICOM = 'SAFARICOM'.freeze
|
18
|
+
|
19
|
+
TIGO = 'TIGO'.freeze
|
20
|
+
|
21
|
+
VODACOM = 'VODACOM'.freeze
|
22
|
+
|
23
|
+
class << self
|
24
|
+
|
25
|
+
# Return African Mobile Sale operators
|
26
|
+
def sale
|
27
|
+
%w(VODACOM SAFARICOM AIRTEL MTN)
|
28
|
+
end
|
29
|
+
|
30
|
+
end
|
31
|
+
|
32
|
+
end
|
33
|
+
end
|
34
|
+
end
|
35
|
+
end
|
36
|
+
end
|
37
|
+
end
|
@@ -0,0 +1,24 @@
|
|
1
|
+
module GenesisRuby
|
2
|
+
module Api
|
3
|
+
module Constants
|
4
|
+
module Transactions
|
5
|
+
module Parameters
|
6
|
+
module CustomerIdentification
|
7
|
+
# Specifies if the document ID belongs to the sender or the receiver of the OCT
|
8
|
+
class CustomerIdentificationOwner
|
9
|
+
|
10
|
+
extend Api::Mixins::Constants::Common
|
11
|
+
|
12
|
+
# Document ID belongs to
|
13
|
+
SENDER = 'sender'.freeze
|
14
|
+
|
15
|
+
# Document ID belongs to
|
16
|
+
RECEIVER = 'receiver'.freeze
|
17
|
+
|
18
|
+
end
|
19
|
+
end
|
20
|
+
end
|
21
|
+
end
|
22
|
+
end
|
23
|
+
end
|
24
|
+
end
|
@@ -0,0 +1,24 @@
|
|
1
|
+
module GenesisRuby
|
2
|
+
module Api
|
3
|
+
module Constants
|
4
|
+
module Transactions
|
5
|
+
module Parameters
|
6
|
+
module CustomerIdentification
|
7
|
+
# Specifies the type of the document ID.
|
8
|
+
class CustomerIdentificationSubtype
|
9
|
+
|
10
|
+
extend Api::Mixins::Constants::Common
|
11
|
+
|
12
|
+
# Document ID type - business
|
13
|
+
BUSINESS = 'business'.freeze
|
14
|
+
|
15
|
+
# Document ID type - individual
|
16
|
+
INDIVIDUAL = 'individual'.freeze
|
17
|
+
|
18
|
+
end
|
19
|
+
end
|
20
|
+
end
|
21
|
+
end
|
22
|
+
end
|
23
|
+
end
|
24
|
+
end
|
@@ -0,0 +1,63 @@
|
|
1
|
+
module GenesisRuby
|
2
|
+
module Api
|
3
|
+
module Constants
|
4
|
+
module Transactions
|
5
|
+
module Parameters
|
6
|
+
module CustomerIdentification
|
7
|
+
# Specifies the type of the document ID.
|
8
|
+
class CustomerIdentificationType
|
9
|
+
|
10
|
+
extend Api::Mixins::Constants::Common
|
11
|
+
|
12
|
+
# Document ID type - birthdate certificate
|
13
|
+
BIRTH_DATE = 'birth_date'.freeze
|
14
|
+
|
15
|
+
# Document ID type - unspecified
|
16
|
+
UNSPECIFIED = 'unspecified'.freeze
|
17
|
+
|
18
|
+
# Document ID type - national
|
19
|
+
NATIONAL = 'national'.freeze
|
20
|
+
|
21
|
+
# Document ID type - passport number
|
22
|
+
PASSPORT_NUMBER = 'passport_number'.freeze
|
23
|
+
|
24
|
+
# Document ID type - driver license
|
25
|
+
DRIVER_LICENSE = 'driver_license'.freeze
|
26
|
+
|
27
|
+
# Document ID type - tax
|
28
|
+
TAX = 'tax'.freeze
|
29
|
+
|
30
|
+
# Document ID type - company registration number
|
31
|
+
COMPANY_REGISTRATION_NUMBER = 'company_registration_number'.freeze
|
32
|
+
|
33
|
+
# Document ID type - proxy
|
34
|
+
PROXY = 'proxy'.freeze
|
35
|
+
|
36
|
+
# Document ID type - social security number
|
37
|
+
SOCIAL_SECURITY_NUMBER = 'social_security_number'.freeze
|
38
|
+
|
39
|
+
# Document ID type - alien registration number
|
40
|
+
ALIEN_REGISTRATION_NUMBER = 'alien_registration_number'.freeze
|
41
|
+
|
42
|
+
# Document ID type - law enforcement
|
43
|
+
LAW_ENFORCEMENT = 'law_enforcement'.freeze
|
44
|
+
|
45
|
+
# Document ID type - military
|
46
|
+
MILITARY = 'military'.freeze
|
47
|
+
|
48
|
+
# Document ID type - travel
|
49
|
+
TRAVEL = 'travel'.freeze
|
50
|
+
|
51
|
+
# Document ID type - email
|
52
|
+
EMAIL = 'email'.freeze
|
53
|
+
|
54
|
+
# Document ID type - phone number
|
55
|
+
PHONE_NUMBER = 'phone_number'.freeze
|
56
|
+
|
57
|
+
end
|
58
|
+
end
|
59
|
+
end
|
60
|
+
end
|
61
|
+
end
|
62
|
+
end
|
63
|
+
end
|
@@ -0,0 +1,31 @@
|
|
1
|
+
module GenesisRuby
|
2
|
+
module Api
|
3
|
+
module Constants
|
4
|
+
module Transactions
|
5
|
+
module Parameters
|
6
|
+
# Digital Asset Types
|
7
|
+
class DigitalAssetTypes
|
8
|
+
|
9
|
+
extend Mixins::Constants::Common
|
10
|
+
|
11
|
+
# Default crypto flag
|
12
|
+
CRYPTO = 'crypto'.freeze
|
13
|
+
|
14
|
+
# Central Bank Digital Currency or tokenized deposits
|
15
|
+
CBDC = 'cbdc'.freeze
|
16
|
+
|
17
|
+
# Stablecoin (Fiat-backed)
|
18
|
+
STABLECOIN = 'stablecoin'.freeze
|
19
|
+
|
20
|
+
# Blockchain native token/coin
|
21
|
+
BLOCKCHAIN_NATIVE_TOKEN = 'blockchain_native_token'.freeze
|
22
|
+
|
23
|
+
# Non-fungible token
|
24
|
+
NFT = 'nft'.freeze
|
25
|
+
|
26
|
+
end
|
27
|
+
end
|
28
|
+
end
|
29
|
+
end
|
30
|
+
end
|
31
|
+
end
|
@@ -0,0 +1,136 @@
|
|
1
|
+
module GenesisRuby
|
2
|
+
module Api
|
3
|
+
module Constants
|
4
|
+
module Transactions
|
5
|
+
module Parameters
|
6
|
+
# Purpose of Payment
|
7
|
+
class PurposeOfPayment
|
8
|
+
|
9
|
+
extend Mixins::Constants::Common
|
10
|
+
|
11
|
+
# Interest
|
12
|
+
ISINTE = 'ISINTE'.freeze
|
13
|
+
|
14
|
+
# Income tax
|
15
|
+
ISINTX = 'ISINTX'.freeze
|
16
|
+
|
17
|
+
# Investment
|
18
|
+
ISINVS = 'ISINVS'.freeze
|
19
|
+
|
20
|
+
# Labor insurance
|
21
|
+
ISLBRI = 'ISLBRI'.freeze
|
22
|
+
|
23
|
+
# License fee
|
24
|
+
ISLICF = 'ISLICF'.freeze
|
25
|
+
|
26
|
+
# Life insurance
|
27
|
+
ISLIFI = 'ISLIFI'.freeze
|
28
|
+
|
29
|
+
# Loan
|
30
|
+
ISLOAN = 'ISLOAN'.freeze
|
31
|
+
|
32
|
+
# Medical services
|
33
|
+
ISMDCS = 'ISMDCS'.freeze
|
34
|
+
|
35
|
+
# Mobile P2B payment
|
36
|
+
ISMP2B = 'ISMP2B'.freeze
|
37
|
+
|
38
|
+
# Mobile P2P payment
|
39
|
+
ISMP2P = 'ISMP2P'.freeze
|
40
|
+
|
41
|
+
# Mobile top up
|
42
|
+
ISMTUP = 'ISMTUP'.freeze
|
43
|
+
|
44
|
+
# Not otherwise specified
|
45
|
+
ISNOWS = 'ISNOWS'.freeze
|
46
|
+
|
47
|
+
# Other
|
48
|
+
ISOTHR = 'ISOTHR'.freeze
|
49
|
+
|
50
|
+
# Transaction is related to a payment of other telecom related bill
|
51
|
+
ISOTLC = 'ISOTLC'.freeze
|
52
|
+
|
53
|
+
# Payroll
|
54
|
+
ISPAYR = 'ISPAYR'.freeze
|
55
|
+
|
56
|
+
# Contribution to pension fund
|
57
|
+
ISPEFC = 'ISPEFC'.freeze
|
58
|
+
|
59
|
+
# Pension payment
|
60
|
+
ISPENS = 'ISPENS'.freeze
|
61
|
+
|
62
|
+
# Payment of telephone bill
|
63
|
+
ISPHON = 'ISPHON'.freeze
|
64
|
+
|
65
|
+
# Property insurance
|
66
|
+
ISPPTI = 'ISPPTI'.freeze
|
67
|
+
|
68
|
+
# Transaction is for general rental/lease
|
69
|
+
ISRELG = 'ISRELG'.freeze
|
70
|
+
|
71
|
+
# The payment of rent
|
72
|
+
ISRENT = 'ISRENT'.freeze
|
73
|
+
|
74
|
+
# Payment for railway transport related business
|
75
|
+
ISRLWY = 'ISRLWY'.freeze
|
76
|
+
|
77
|
+
# Royalties
|
78
|
+
ISROYA = 'ISROYA'.freeze
|
79
|
+
|
80
|
+
# Salary payment
|
81
|
+
ISSALA = 'ISSALA'.freeze
|
82
|
+
|
83
|
+
# Payment to savings/retirement account
|
84
|
+
ISSAVG = 'ISSAVG'.freeze
|
85
|
+
|
86
|
+
# Securities
|
87
|
+
ISSECU = 'ISSECU'.freeze
|
88
|
+
|
89
|
+
# Social security benefit
|
90
|
+
ISSSBE = 'ISSSBE'.freeze
|
91
|
+
|
92
|
+
# Study
|
93
|
+
ISSTDY = 'ISSTDY'.freeze
|
94
|
+
|
95
|
+
# Subscription
|
96
|
+
ISSUBS = 'ISSUBS'.freeze
|
97
|
+
|
98
|
+
# Supplier payment
|
99
|
+
ISSUPP = 'ISSUPP'.freeze
|
100
|
+
|
101
|
+
# Refund of a tax payment or obligation
|
102
|
+
ISTAXR = 'ISTAXR'.freeze
|
103
|
+
|
104
|
+
# Tax payment
|
105
|
+
ISTAXS = 'ISTAXS'.freeze
|
106
|
+
|
107
|
+
# Transaction is related to a payment of telecommunications related bill
|
108
|
+
ISTBIL = 'ISTBIL'.freeze
|
109
|
+
|
110
|
+
# Trade services operation
|
111
|
+
ISTRAD = 'ISTRAD'.freeze
|
112
|
+
|
113
|
+
# Treasury payment
|
114
|
+
ISTREA = 'ISTREA'.freeze
|
115
|
+
|
116
|
+
# Payment for travel
|
117
|
+
ISTRPT = 'ISTRPT'.freeze
|
118
|
+
|
119
|
+
# Utility bill payment
|
120
|
+
ISUBIL = 'ISUBIL'.freeze
|
121
|
+
|
122
|
+
# Value added tax payment
|
123
|
+
ISVATX = 'ISVATX'.freeze
|
124
|
+
|
125
|
+
# With holding
|
126
|
+
ISWHLD = 'ISWHLD'.freeze
|
127
|
+
|
128
|
+
# Payment of water bill
|
129
|
+
ISWTER = 'ISWTER'.freeze
|
130
|
+
|
131
|
+
end
|
132
|
+
end
|
133
|
+
end
|
134
|
+
end
|
135
|
+
end
|
136
|
+
end
|
@@ -0,0 +1,34 @@
|
|
1
|
+
module GenesisRuby
|
2
|
+
module Api
|
3
|
+
module Constants
|
4
|
+
module Transactions
|
5
|
+
module Parameters
|
6
|
+
# Source of Funds
|
7
|
+
class SourceOfFunds
|
8
|
+
|
9
|
+
extend Mixins::Constants::Common
|
10
|
+
|
11
|
+
# Source of Funds Credit
|
12
|
+
CREDIT = 'credit'.freeze
|
13
|
+
|
14
|
+
# Source of Funds Debit
|
15
|
+
DEBIT = 'debit'.freeze
|
16
|
+
|
17
|
+
# Source of Funds Prepaid
|
18
|
+
PREPAID = 'prepaid'.freeze
|
19
|
+
|
20
|
+
# Source of Funds Cash
|
21
|
+
CASH = 'cash'.freeze
|
22
|
+
|
23
|
+
# Source of Funds Other Debit Account
|
24
|
+
OTHER_DEBIT_ACCOUNT = 'other_debit_account'.freeze
|
25
|
+
|
26
|
+
# Source of funds Other Credit Account
|
27
|
+
OTHER_CREDIT_ACCOUNT = 'other_credit_account'.freeze
|
28
|
+
|
29
|
+
end
|
30
|
+
end
|
31
|
+
end
|
32
|
+
end
|
33
|
+
end
|
34
|
+
end
|
@@ -0,0 +1,26 @@
|
|
1
|
+
require 'genesis_ruby/api/constants/transactions/parameters/digital_asset_types'
|
2
|
+
|
3
|
+
module GenesisRuby
|
4
|
+
module Api
|
5
|
+
module Mixins
|
6
|
+
module Requests
|
7
|
+
# Digital Asset Type Attributes mixin
|
8
|
+
module DigitalAssetTypeAttributes
|
9
|
+
|
10
|
+
attr_reader :digital_asset_type
|
11
|
+
|
12
|
+
# When performing crypto currency transaction with a VISA card there is an option
|
13
|
+
# to specify the digital asset type for detailed identification of the current crypto
|
14
|
+
# currency transaction
|
15
|
+
def digital_asset_type=(value)
|
16
|
+
allowed_options attribute: __method__,
|
17
|
+
allowed: GenesisRuby::Api::Constants::Transactions::Parameters::DigitalAssetTypes.all,
|
18
|
+
value: value,
|
19
|
+
allow_empty: true
|
20
|
+
end
|
21
|
+
|
22
|
+
end
|
23
|
+
end
|
24
|
+
end
|
25
|
+
end
|
26
|
+
end
|