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.
Files changed (65) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +38 -0
  3. data/Gemfile.lock +14 -14
  4. data/README.md +38 -0
  5. data/VERSION +1 -1
  6. data/lib/genesis_ruby/api/constants/currencies/iso4217.rb +6 -0
  7. data/lib/genesis_ruby/api/constants/non_financial/kyc/document_types.rb +49 -0
  8. data/lib/genesis_ruby/api/constants/non_financial/kyc/genders.rb +22 -0
  9. data/lib/genesis_ruby/api/constants/transactions/parameters/african_mobile_operators.rb +37 -0
  10. data/lib/genesis_ruby/api/constants/transactions/parameters/customer_identification/customer_identification_owner.rb +24 -0
  11. data/lib/genesis_ruby/api/constants/transactions/parameters/customer_identification/customer_identification_subtype.rb +24 -0
  12. data/lib/genesis_ruby/api/constants/transactions/parameters/customer_identification/customer_identification_type.rb +63 -0
  13. data/lib/genesis_ruby/api/constants/transactions/parameters/digital_asset_types.rb +31 -0
  14. data/lib/genesis_ruby/api/constants/transactions/parameters/purpose_of_payment.rb +136 -0
  15. data/lib/genesis_ruby/api/constants/transactions/parameters/source_of_funds.rb +34 -0
  16. data/lib/genesis_ruby/api/mixins/requests/digital_asset_type_attributes.rb +26 -0
  17. data/lib/genesis_ruby/api/mixins/requests/financial/african_mobile_attributes.rb +30 -0
  18. data/lib/genesis_ruby/api/mixins/requests/financial/cards/tokenization_params_attributes.rb +36 -0
  19. data/lib/genesis_ruby/api/mixins/requests/financial/customer_identification_attributes.rb +82 -0
  20. data/lib/genesis_ruby/api/mixins/requests/financial/gift_cards_attributes.rb +26 -0
  21. data/lib/genesis_ruby/api/mixins/requests/financial/preauthorization_attributes.rb +25 -0
  22. data/lib/genesis_ruby/api/mixins/requests/financial/purpose_of_payment_attributes.rb +29 -0
  23. data/lib/genesis_ruby/api/mixins/requests/financial/source_of_funds_attributes.rb +38 -0
  24. data/lib/genesis_ruby/api/mixins/requests/financial/travel_data/airline_itinerary_attributes.rb +1 -1
  25. data/lib/genesis_ruby/api/mixins/requests/non_financial/fx/id_attributes.rb +28 -0
  26. data/lib/genesis_ruby/api/mixins/requests/non_financial/fx/tier_id_attributes.rb +28 -0
  27. data/lib/genesis_ruby/api/mixins/requests/non_financial/kyc/customer_information_attributes.rb +62 -0
  28. data/lib/genesis_ruby/api/request.rb +7 -0
  29. data/lib/genesis_ruby/api/requests/base/financials/credit_card.rb +4 -2
  30. data/lib/genesis_ruby/api/requests/base/non_financial/kyc/base.rb +33 -0
  31. data/lib/genesis_ruby/api/requests/base/reference.rb +1 -2
  32. data/lib/genesis_ruby/api/requests/financial/Preauthorizations/incremental_authorize.rb +24 -0
  33. data/lib/genesis_ruby/api/requests/financial/cards/authorize.rb +5 -1
  34. data/lib/genesis_ruby/api/requests/financial/cards/authorize3d.rb +5 -1
  35. data/lib/genesis_ruby/api/requests/financial/cards/credit.rb +39 -0
  36. data/lib/genesis_ruby/api/requests/financial/cards/payout.rb +72 -0
  37. data/lib/genesis_ruby/api/requests/financial/cards/sale.rb +3 -1
  38. data/lib/genesis_ruby/api/requests/financial/cards/sale3d.rb +3 -1
  39. data/lib/genesis_ruby/api/requests/financial/crypto/bit_pay/payout.rb +52 -0
  40. data/lib/genesis_ruby/api/requests/financial/crypto/bit_pay/refund.rb +36 -0
  41. data/lib/genesis_ruby/api/requests/financial/crypto/bit_pay/sale.rb +55 -0
  42. data/lib/genesis_ruby/api/requests/financial/gift_cards/fashioncheque.rb +47 -0
  43. data/lib/genesis_ruby/api/requests/financial/gift_cards/intersolve.rb +46 -0
  44. data/lib/genesis_ruby/api/requests/financial/gift_cards/tcs.rb +47 -0
  45. data/lib/genesis_ruby/api/requests/financial/mobile/african_mobile_sale.rb +81 -0
  46. data/lib/genesis_ruby/api/requests/financial/mobile/russian_mobile_sale.rb +55 -0
  47. data/lib/genesis_ruby/api/requests/financial/vouchers/neosurf.rb +61 -0
  48. data/lib/genesis_ruby/api/requests/non_financial/fraud/chargeback/date_range.rb +82 -0
  49. data/lib/genesis_ruby/api/requests/non_financial/fraud/chargeback/transaction.rb +52 -0
  50. data/lib/genesis_ruby/api/requests/non_financial/fraud/reports/date_range.rb +108 -0
  51. data/lib/genesis_ruby/api/requests/non_financial/fraud/reports/transaction.rb +52 -0
  52. data/lib/genesis_ruby/api/requests/non_financial/fx/get_rate.rb +55 -0
  53. data/lib/genesis_ruby/api/requests/non_financial/fx/get_rates.rb +53 -0
  54. data/lib/genesis_ruby/api/requests/non_financial/fx/get_tier.rb +53 -0
  55. data/lib/genesis_ruby/api/requests/non_financial/fx/get_tiers.rb +35 -0
  56. data/lib/genesis_ruby/api/requests/non_financial/fx/search_rate.rb +61 -0
  57. data/lib/genesis_ruby/api/requests/non_financial/kyc/consumer_registration/create.rb +99 -0
  58. data/lib/genesis_ruby/api/requests/non_financial/tokenization/cryptogram.rb +5 -2
  59. data/lib/genesis_ruby/api/requests/wpf/create.rb +3 -1
  60. data/lib/genesis_ruby/configuration.rb +4 -0
  61. data/lib/genesis_ruby/dependencies.rb +1 -0
  62. data/lib/genesis_ruby/utils/country.rb +272 -0
  63. data/lib/genesis_ruby/utils/money/conversions/amount_to_exponent.rb +1 -4
  64. data/lib/genesis_ruby/version.rb +1 -1
  65. metadata +46 -2
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 9072aff1c90817e3c33b33fb2edb13dd233eb1215a431ea48929f04097f0bb0b
4
- data.tar.gz: 3799ea143d2abddaf7c8afded420e332a60ceeef1218c839483575428c735eda
3
+ metadata.gz: 23c3f5ca68fa323f565fdd6c719727c8766e5c48c8c0493565b1ddb94548bbc7
4
+ data.tar.gz: c0c05e008139fb2b329d85a35abfa6208687291e8774e2be883f146cdb5fa8f4
5
5
  SHA512:
6
- metadata.gz: ed1030a2956b575dc61ff111e07bc89f45b78a61c33c2d8ae5b0278c350313c1308fec9c046e2bcb59a33e4b258b765ca49761f052fa10ce95d5514f40d6379e
7
- data.tar.gz: 6efa9c63b505b4c5ab09518e12db4e68131e93e203c964bf20b57263c2569d67ef5fb72acf0c742fbe9027783bae64d891a43cd58d79de4af25bae71a738814b
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)
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.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.10.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 (9.2.0)
54
+ octokit (10.0.0)
55
55
  faraday (>= 1, < 3)
56
56
  sawyer (~> 0.9)
57
- parallel (1.26.3)
58
- parser (3.3.7.4)
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.3)
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, < 10.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.3)
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.2)
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.2)
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.1)
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.43.0, < 2.0)
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.0)
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.4
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