genesis_ruby 0.3.1 → 0.3.2

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 (95) hide show
  1. checksums.yaml +4 -4
  2. data/.kiro/specs/f2025112509-add_managed_recurring_api/.config.kiro +1 -0
  3. data/.kiro/specs/f2025112509-add_managed_recurring_api/design.md +332 -0
  4. data/.kiro/specs/f2025112509-add_managed_recurring_api/requirements.md +91 -0
  5. data/.kiro/specs/f2025112509-add_managed_recurring_api/tasks.md +139 -0
  6. data/.kiro/specs/f2025112603-add_reverify_endpoint_to_payee_account/.config.kiro +1 -0
  7. data/.kiro/specs/f2025112603-add_reverify_endpoint_to_payee_account/design.md +148 -0
  8. data/.kiro/specs/f2025112603-add_reverify_endpoint_to_payee_account/requirements.md +81 -0
  9. data/.kiro/specs/f2025112603-add_reverify_endpoint_to_payee_account/tasks.md +48 -0
  10. data/.kiro/specs/f2025112606-add_list_payees_trx_request/.config.kiro +1 -0
  11. data/.kiro/specs/f2025112606-add_list_payees_trx_request/design.md +112 -0
  12. data/.kiro/specs/f2025112606-add_list_payees_trx_request/requirements.md +74 -0
  13. data/.kiro/specs/f2025112606-add_list_payees_trx_request/tasks.md +38 -0
  14. data/.kiro/specs/f2025112609_update_payee_request_params/design.md +86 -0
  15. data/.kiro/specs/f2025112609_update_payee_request_params/requirements.md +86 -0
  16. data/.kiro/specs/f2025112609_update_payee_request_params/tasks.md +40 -0
  17. data/.kiro/specs/f2025112612-add_payee_owner_documents_and_verification_requests/.config.kiro +1 -0
  18. data/.kiro/specs/f2025112612-add_payee_owner_documents_and_verification_requests/design.md +246 -0
  19. data/.kiro/specs/f2025112612-add_payee_owner_documents_and_verification_requests/requirements.md +287 -0
  20. data/.kiro/specs/f2025112612-add_payee_owner_documents_and_verification_requests/tasks.md +76 -0
  21. data/.kiro/specs/f2025112614-add_money_transfer_payout_attributes_to_payout_rq/design.md +84 -0
  22. data/.kiro/specs/f2025112614-add_money_transfer_payout_attributes_to_payout_rq/requirements.md +88 -0
  23. data/.kiro/specs/f2025112614-add_money_transfer_payout_attributes_to_payout_rq/tasks.md +38 -0
  24. data/.kiro/steering/product.md +15 -0
  25. data/.kiro/steering/spec-folder-naming.md +16 -0
  26. data/.kiro/steering/structure.md +96 -0
  27. data/.kiro/steering/tech.md +66 -0
  28. data/CHANGELOG.md +23 -0
  29. data/Gemfile.lock +4 -4
  30. data/README.md +33 -0
  31. data/VERSION +1 -1
  32. data/lib/genesis_ruby/api/constants/non_financial/kyc/address_document_supported_types.rb +81 -0
  33. data/lib/genesis_ruby/api/constants/non_financial/payee/document_types.rb +57 -0
  34. data/lib/genesis_ruby/api/constants/non_financial/payee/owner_types.rb +30 -0
  35. data/lib/genesis_ruby/api/constants/transactions/parameters/money_transfer/purpose_of_payments.rb +50 -0
  36. data/lib/genesis_ruby/api/constants/transactions/parameters/money_transfer/sender_account_number_types.rb +50 -0
  37. data/lib/genesis_ruby/api/constants/transactions/parameters/money_transfer/source_of_funds.rb +44 -0
  38. data/lib/genesis_ruby/api/constants/transactions/parameters/money_transfer/types.rb +26 -0
  39. data/lib/genesis_ruby/api/constants/transactions/parameters/non_financial/billing_api/statement_response_fields.rb +37 -0
  40. data/lib/genesis_ruby/api/mixins/requests/financial/cards/mpi_attributes.rb +0 -10
  41. data/lib/genesis_ruby/api/mixins/requests/financial/money_transfer_payout_attributes.rb +131 -0
  42. data/lib/genesis_ruby/api/mixins/requests/non_financial/date_attributes.rb +87 -5
  43. data/lib/genesis_ruby/api/mixins/requests/non_financial/kyc/business_attributes.rb +42 -0
  44. data/lib/genesis_ruby/api/mixins/requests/non_financial/kyc/document_attributes.rb +8 -7
  45. data/lib/genesis_ruby/api/request.rb +15 -9
  46. data/lib/genesis_ruby/api/requests/base/non_financial/billing_api/base.rb +108 -0
  47. data/lib/genesis_ruby/api/requests/base/non_financial/payee/base.rb +54 -0
  48. data/lib/genesis_ruby/api/requests/financial/cards/authorize3d.rb +1 -3
  49. data/lib/genesis_ruby/api/requests/financial/cards/payout.rb +3 -1
  50. data/lib/genesis_ruby/api/requests/financial/cards/sale3d.rb +1 -3
  51. data/lib/genesis_ruby/api/requests/non_financial/billing_api/statement.rb +170 -0
  52. data/lib/genesis_ruby/api/requests/non_financial/billing_api/transactions.rb +20 -60
  53. data/lib/genesis_ruby/api/requests/non_financial/kyc/business/create.rb +45 -0
  54. data/lib/genesis_ruby/api/requests/non_financial/kyc/business/document.rb +60 -0
  55. data/lib/genesis_ruby/api/requests/non_financial/kyc/business/document_list.rb +59 -0
  56. data/lib/genesis_ruby/api/requests/non_financial/kyc/business/verification.rb +52 -0
  57. data/lib/genesis_ruby/api/requests/non_financial/kyc/verifications/address_by_document_proof.rb +92 -0
  58. data/lib/genesis_ruby/api/requests/non_financial/kyc/verifications/create.rb +4 -1
  59. data/lib/genesis_ruby/api/requests/non_financial/managed_recurring/cancel.rb +63 -0
  60. data/lib/genesis_ruby/api/requests/non_financial/managed_recurring/fetch.rb +63 -0
  61. data/lib/genesis_ruby/api/requests/non_financial/managed_recurring/fetch_all.rb +37 -0
  62. data/lib/genesis_ruby/api/requests/non_financial/payee/account/reverify.rb +61 -0
  63. data/lib/genesis_ruby/api/requests/non_financial/payee/associate_payee_with_owners.rb +105 -0
  64. data/lib/genesis_ruby/api/requests/non_financial/payee/create.rb +37 -7
  65. data/lib/genesis_ruby/api/requests/non_financial/payee/create_payee_document.rb +61 -0
  66. data/lib/genesis_ruby/api/requests/non_financial/payee/dissociate_payee_with_owners.rb +94 -0
  67. data/lib/genesis_ruby/api/requests/non_financial/payee/list.rb +38 -0
  68. data/lib/genesis_ruby/api/requests/non_financial/payee/list_payee_documents.rb +57 -0
  69. data/lib/genesis_ruby/api/requests/non_financial/payee/list_payee_owners.rb +70 -0
  70. data/lib/genesis_ruby/api/requests/non_financial/payee/owners/associate_owner_with_owners.rb +109 -0
  71. data/lib/genesis_ruby/api/requests/non_financial/payee/owners/create.rb +71 -0
  72. data/lib/genesis_ruby/api/requests/non_financial/payee/owners/create_owner_document.rb +63 -0
  73. data/lib/genesis_ruby/api/requests/non_financial/payee/owners/delete.rb +54 -0
  74. data/lib/genesis_ruby/api/requests/non_financial/payee/owners/dissociate_owners.rb +96 -0
  75. data/lib/genesis_ruby/api/requests/non_financial/payee/owners/list_owner_documents.rb +59 -0
  76. data/lib/genesis_ruby/api/requests/non_financial/payee/owners/list_owners.rb +46 -0
  77. data/lib/genesis_ruby/api/requests/non_financial/payee/owners/retrieve.rb +59 -0
  78. data/lib/genesis_ruby/api/requests/non_financial/payee/owners/retrieve_owner_document.rb +62 -0
  79. data/lib/genesis_ruby/api/requests/non_financial/payee/owners/update.rb +66 -0
  80. data/lib/genesis_ruby/api/requests/non_financial/payee/retrieve_payee_document.rb +60 -0
  81. data/lib/genesis_ruby/api/requests/non_financial/payee/update.rb +34 -4
  82. data/lib/genesis_ruby/api/requests/non_financial/payee/verifications/create_payee_verification.rb +58 -0
  83. data/lib/genesis_ruby/api/requests/non_financial/payee/verifications/list_payee_verifications.rb +59 -0
  84. data/lib/genesis_ruby/api/requests/non_financial/payee/verifications/retrieve_payee_verification.rb +62 -0
  85. data/lib/genesis_ruby/api/requests/non_financial/tokenization/retokenize.rb +45 -0
  86. data/lib/genesis_ruby/api/requests/wpf/create.rb +19 -0
  87. data/lib/genesis_ruby/api/response.rb +15 -0
  88. data/lib/genesis_ruby/dependencies.rb +2 -0
  89. data/lib/genesis_ruby/network/adapter/net_http_adapter.rb +31 -5
  90. data/lib/genesis_ruby/network/base_network.rb +5 -0
  91. data/lib/genesis_ruby/network/net_http.rb +16 -4
  92. data/lib/genesis_ruby/utils/options/api_config.rb +43 -32
  93. data/lib/genesis_ruby/utils/options/network_adapter_config.rb +1 -1
  94. data/lib/genesis_ruby/version.rb +1 -1
  95. metadata +72 -3
@@ -0,0 +1,96 @@
1
+ # Project Structure
2
+
3
+ ```
4
+ lib/
5
+ genesis_ruby.rb # Entry point, loads core modules
6
+ genesis_ruby/
7
+ version.rb # VERSION constant
8
+ configuration.rb # SDK configuration (credentials, env, endpoint)
9
+ connection.rb # Network factory (selects HTTP adapter)
10
+ dependencies.rb # Auto-loads all mixins, base classes, and request definitions
11
+ builder.rb # Request document builder (XML/JSON)
12
+ parser.rb # Response parser
13
+ api/
14
+ request.rb # Base request class — all requests inherit from this
15
+ response.rb # Response wrapper with status helpers
16
+ notification.rb # Async notification handler
17
+ constants/ # Enums and constant modules
18
+ transactions.rb # Transaction type identifiers
19
+ transactions/parameters/ # Per-parameter constant sets (recurring, 3DS, mobile, etc.)
20
+ currencies/iso4217.rb # ISO 4217 currency definitions
21
+ environments.rb # STAGING / PRODUCTION
22
+ endpoints.rb # EMERCHANTPAY / ECOMPROCESSING
23
+ states/ # Transaction state constants
24
+ non_financial/kyc/ # KYC-specific constants
25
+ mixins/
26
+ requests/ # Reusable attribute modules included into request classes
27
+ attribute_validation.rb # Required field & value validation logic
28
+ restricted_setter.rb # Type-safe setter helpers
29
+ financial/ # Financial-specific attribute mixins (3DS, async, bank, etc.)
30
+ customer_address/ # Billing/shipping address mixins
31
+ constants/common.rb # Shared constant helpers
32
+ requests/
33
+ base/ # Abstract base request classes
34
+ financial.rb # Base for financial transactions
35
+ financials/credit_card.rb
36
+ financials/south_american_payments.rb
37
+ reference.rb # Base for reference transactions (capture, void, refund)
38
+ versioned.rb # Base for versioned API requests
39
+ consumer.rb # Base for consumer requests
40
+ graphql.rb # Base for GraphQL requests
41
+ non_financial/kyc/base.rb
42
+ financial/ # Financial transaction requests
43
+ cards/ # Card payments (sale, authorize, sale3d, etc.)
44
+ mobile/ # Apple Pay, Google Pay
45
+ online_banking_payments/
46
+ wallets/
47
+ cash_payments/
48
+ crypto/
49
+ gift_cards/
50
+ payout/
51
+ preauthorizations/
52
+ sdd/ # SEPA Direct Debit
53
+ vouchers/
54
+ capture.rb, refund.rb, void.rb
55
+ non_financial/ # Non-financial requests
56
+ billing_api/
57
+ consumers/
58
+ fraud/
59
+ fx/
60
+ installments/
61
+ kyc/
62
+ payee/
63
+ processed_transactions/
64
+ reconcile/
65
+ sca/
66
+ tokenization/
67
+ wpf/ # Web Payment Form
68
+ create.rb
69
+ reconcile.rb
70
+ builders/ # Document builder implementations (XML, JSON, Form)
71
+ errors/ # Custom error classes (all inherit GenesisRuby::Error)
72
+ network/ # HTTP adapter(s) (net_http.rb)
73
+ parsers/ # Response parser implementations
74
+ utils/ # Helpers (money format, common utilities, 3DS signature)
75
+
76
+ spec/ # RSpec test suite — mirrors lib/ structure
77
+ spec_helper.rb # WebMock setup, shared example loading
78
+ genesis_ruby/
79
+ api/ # Tests for API layer
80
+ builders/ # Tests for builders
81
+ fixtures/ # Test fixture data
82
+ network/ # Tests for network layer
83
+ parsers/ # Tests for parsers
84
+ shared_examples/ # Reusable RSpec shared example groups
85
+ stubs/ # Sinatra-based fake server for HTTP stubbing
86
+ utils/ # Tests for utilities
87
+ ```
88
+
89
+ ## Key Patterns
90
+
91
+ - **Mixin-based composition**: Request classes compose behavior by including modules from `api/mixins/requests/`. Attribute groups (billing, shipping, 3DS, async, etc.) are separate mixins.
92
+ - **Inheritance hierarchy**: `Api::Request` → `Base::Financial` → `Base::Financials::CreditCard` → concrete request (e.g., `Financial::Cards::Sale`).
93
+ - **Constants as modules**: All enums live under `Api::Constants::` and are referenced via fully-qualified names.
94
+ - **Auto-loading via glob**: `dependencies.rb` uses `Dir[].sort.each` to load all mixin attributes and request files. New files in the correct directory are picked up automatically.
95
+ - **Builder pattern**: Requests define a `tree_structure` hash that gets serialized to XML/JSON by the builder.
96
+ - **Test mirrors source**: Spec files follow the same directory structure as `lib/`. Shared examples are in `spec/genesis_ruby/shared_examples/`. HTTP is stubbed via WebMock + a Sinatra fake server in `spec/genesis_ruby/stubs/`.
@@ -0,0 +1,66 @@
1
+ # Tech Stack & Build
2
+
3
+ ## Language & Runtime
4
+ - Ruby >= 2.7
5
+ - Distributed as a RubyGem (`genesis_ruby`)
6
+
7
+ ## Runtime Dependencies
8
+ - `net-http` ~> 0.3.2 — HTTP networking
9
+ - `nokogiri` ~> 1.14 — XML building and parsing
10
+
11
+ ## Development Dependencies
12
+ - `bundler` ~> 2.1 — dependency management
13
+ - `rspec` ~> 3.0 — test framework
14
+ - `rubocop` ~> 1.21 — linter/formatter
15
+ - `rubocop-rspec` ~> 2.13 — RSpec-specific cops
16
+ - `rubocop-faker` ~> 1.1
17
+ - `faker` ~> 2.22 — test data generation
18
+ - `webmock` ~> 3.18 — HTTP request stubbing in tests
19
+ - `sinatra` ~> 3.0 — fake server for test stubs
20
+ - `pronto` ~> 0.11 / `pronto-rubocop` — CI code review
21
+ - `rake` ~> 13.0 — task runner
22
+
23
+ ## Common Commands
24
+
25
+ | Task | Command |
26
+ |---|---|
27
+ | Install dependencies | `bundle install` |
28
+ | Run all tests | `bundle exec rspec` |
29
+ | Run a single spec | `bundle exec rspec spec/path/to_spec.rb` |
30
+ | Run linter | `bundle exec rubocop` |
31
+ | Default rake (tests + rubocop) | `bundle exec rake` |
32
+ | Tests only | `bundle exec rake test` |
33
+ | Lint only | `bundle exec rake styles` |
34
+
35
+ ## Code Style Rules (from .rubocop.yml)
36
+ - Target Ruby version: 2.7
37
+ - `frozen_string_literal: true` comment required in all `.rb` files (except Gemfile, Rakefile, gemspec, bin/console)
38
+ - **ALWAYS use single quotes** for strings; double quotes ONLY when interpolation or special symbols are needed
39
+ - Max line length: 120 characters
40
+ - Hash alignment: `table` style for both rocket and colon (keys and values aligned in columns)
41
+ - No trailing commas in hash or array literals
42
+ - Empty lines around class bodies; empty lines around module bodies except namespace
43
+ - `RSpec/NotToNot` enforced style: `to_not`
44
+ - `Metrics/BlockLength` allows `describe`, `context`, `define`, `factory`
45
+ - New cops disabled by default (`NewCops: disable`)
46
+
47
+ ## Critical Code Generation Rules
48
+ - When writing or modifying Ruby files, ALWAYS use single-quoted strings (`'text'`) unless the string contains interpolation (`"#{var}"`) or escape sequences (`"\n"`)
49
+ - Hash literals must use table alignment (align values in columns):
50
+ ```ruby
51
+ # CORRECT
52
+ field_values.merge! payee_type: [PAYEE_TYPE_PERSON, PAYEE_TYPE_COMPANY],
53
+ payee_country: GenesisRuby::Utils::Country::COUNTRIES.keys
54
+
55
+ # WRONG
56
+ field_values.merge! payee_type: [PAYEE_TYPE_PERSON, PAYEE_TYPE_COMPANY],
57
+ payee_country: GenesisRuby::Utils::Country::COUNTRIES.keys
58
+ ```
59
+ - No trailing commas after the last element in hashes or arrays
60
+ - Always validate with `bundle exec rake styles` before considering code complete
61
+
62
+ ## Test Configuration (.rspec)
63
+ - Format: documentation
64
+ - Color output enabled
65
+ - Pattern: `**/*_spec.rb`
66
+ - Requires `spec_helper` automatically
data/CHANGELOG.md CHANGED
@@ -1,3 +1,26 @@
1
+ 0.3.2
2
+ -----
3
+
4
+ **Features**:
5
+
6
+ * Added scheme_tokenized parameter to Web Payment Form request
7
+ * Added additional_proof to KYC Offsite Verification parameters
8
+ * Added with_enhanced_address_verification parameter support to KYC Address Verification
9
+ * Added ReTokenize API request
10
+ * Added Business parameters to the KYC Create Verification API request
11
+ * Added KYC Create, Verification, List Document, Add Document Business API requests
12
+ * Added Payee Account Reverify API request
13
+ * Added Payee List API request
14
+ * Added Money Transfer payout parameters to Payout transaction request
15
+ * Added Billing Statements API request
16
+ * Added Managed Recurring API request
17
+ * Added payee_date, payee_notification_url, payee_registration_number, address parameters support to Create and Update Payee API request
18
+ * Added Associate Owners, Create Document, Dissociate Owner, List Document, List Owners and Retrieve Document Payee API requests
19
+ * Added Associate Owner with Owners, Create, Create Document, Delete, Dissociate, List Documents, List, Retrieve, Retrieve Documents and Update Payee Owner API requests
20
+ * Added Create, List and Retrieve Payee Verification API requests
21
+ * Updated addressable gem to version 2.9.0
22
+ * Removed directory_server_id parameter validations, which is part of the MPI parameters
23
+
1
24
  0.3.1
2
25
  -----
3
26
 
data/Gemfile.lock CHANGED
@@ -1,15 +1,15 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- genesis_ruby (0.3.1)
4
+ genesis_ruby (0.3.2)
5
5
  net-http (~> 0.3.2)
6
6
  nokogiri (~> 1.14)
7
7
 
8
8
  GEM
9
9
  remote: https://rubygems.org/
10
10
  specs:
11
- addressable (2.8.7)
12
- public_suffix (>= 2.0.2, < 7.0)
11
+ addressable (2.9.0)
12
+ public_suffix (>= 2.0.2, < 8.0)
13
13
  ast (2.4.3)
14
14
  base64 (0.3.0)
15
15
  bigdecimal (3.2.2)
@@ -144,7 +144,7 @@ GEM
144
144
  unicode-display_width (3.1.4)
145
145
  unicode-emoji (~> 4.0, >= 4.0.4)
146
146
  unicode-emoji (4.0.4)
147
- uri (1.0.3)
147
+ uri (1.1.1)
148
148
  webmock (3.25.1)
149
149
  addressable (>= 2.8.0)
150
150
  crack (>= 0.3.2)
data/README.md CHANGED
@@ -1106,8 +1106,14 @@ GenesisRuby::Api::Requests::NonFinancial::Reconcile::DateRange
1106
1106
  GenesisRuby::Api::Requests::NonFinancial::Installments::Fetch
1107
1107
 
1108
1108
  ## Billing API
1109
+ GenesisRuby::Api::Requests::NonFinancial::BillingApi::Statements
1109
1110
  GenesisRuby::Api::Requests::NonFinancial::BillingApi::Transactions
1110
1111
 
1112
+ ## Managed Recurring API
1113
+ GenesisRuby::Api::Requests::NonFinancial::ManagedRecurring::FetchAll
1114
+ GenesisRuby::Api::Requests::NonFinancial::ManagedRecurring::Fetch
1115
+ GenesisRuby::Api::Requests::NonFinancial::ManagedRecurring::Cancel
1116
+
1111
1117
  ## Consumer API
1112
1118
  GenesisRuby::Api::Requests::NonFinancial::Consumers::Create
1113
1119
  GenesisRuby::Api::Requests::NonFinancial::Consumers::Retrieve
@@ -1130,6 +1136,7 @@ GenesisRuby::Api::Requests::NonFinancial::ProcessedTransactions::PostDateRange
1130
1136
 
1131
1137
  ## Tokenization API
1132
1138
  GenesisRuby::Api::Requests::NonFinancial::Tokenization::Tokenize
1139
+ GenesisRuby::Api::Requests::NonFinancial::Tokenization::Retokenize
1133
1140
  GenesisRuby::Api::Requests::NonFinancial::Tokenization::Detokenize
1134
1141
  GenesisRuby::Api::Requests::NonFinancial::Tokenization::UpdateToken
1135
1142
  GenesisRuby::Api::Requests::NonFinancial::Tokenization::Cryptogram
@@ -1138,8 +1145,13 @@ GenesisRuby::Api::Requests::NonFinancial::Tokenization::DeleteToken
1138
1145
  GenesisRuby::Api::Requests::NonFinancial::Tokenization::GetCard
1139
1146
 
1140
1147
  ## KYC Know Your Customer API
1148
+ GenesisRuby::Api::Requests::NonFinancial::Kyc::Business::Create
1149
+ GenesisRuby::Api::Requests::NonFinancial::Kyc::Business::DocumentList
1150
+ GenesisRuby::Api::Requests::NonFinancial::Kyc::Business::Document
1151
+ GenesisRuby::Api::Requests::NonFinancial::Kyc::Business::Verification
1141
1152
  GenesisRuby::Api::Requests::NonFinancial::Kyc::ConsumerRegistration::Create
1142
1153
  GenesisRuby::Api::Requests::NonFinancial::Kyc::ConsumerRegistration::Update
1154
+ GenesisRuby::Api::Requests::NonFinancial::Kyc::Verifications::AddressByDocumentProof
1143
1155
  GenesisRuby::Api::Requests::NonFinancial::Kyc::Verifications::Create
1144
1156
  GenesisRuby::Api::Requests::NonFinancial::Kyc::Verifications::Register
1145
1157
  GenesisRuby::Api::Requests::NonFinancial::Kyc::Verifications::RemoteIdentity
@@ -1155,12 +1167,33 @@ GenesisRuby::Api::Requests::NonFinancial::Kyc::Transaction::Create
1155
1167
 
1156
1168
  ## Payee API
1157
1169
  GenesisRuby::Api::Requests::NonFinancial::Payee::Create
1170
+ GenesisRuby::Api::Requests::NonFinancial::Payee::List
1158
1171
  GenesisRuby::Api::Requests::NonFinancial::Payee::Retrieve
1159
1172
  GenesisRuby::Api::Requests::NonFinancial::Payee::Update
1160
1173
  GenesisRuby::Api::Requests::NonFinancial::Payee::Account::Create
1161
1174
  GenesisRuby::Api::Requests::NonFinancial::Payee::Account::Retrieve
1162
1175
  GenesisRuby::Api::Requests::NonFinancial::Payee::Account::List
1163
1176
  GenesisRuby::Api::Requests::NonFinancial::Payee::Account::Update
1177
+ GenesisRuby::Api::Requests::NonFinancial::Payee::Account::Reverify
1178
+ GenesisRuby::Api::Requests::NonFinancial::Payee::ListPayeeOwners
1179
+ GenesisRuby::Api::Requests::NonFinancial::Payee::AssociatePayeeWithOwners
1180
+ GenesisRuby::Api::Requests::NonFinancial::Payee::DissociatePayeeWithOwners
1181
+ GenesisRuby::Api::Requests::NonFinancial::Payee::CreatePayeeDocument
1182
+ GenesisRuby::Api::Requests::NonFinancial::Payee::RetrievePayeeDocument
1183
+ GenesisRuby::Api::Requests::NonFinancial::Payee::ListPayeeDocuments
1184
+ GenesisRuby::Api::Requests::NonFinancial::Payee::Verifications::CreatePayeeVerification
1185
+ GenesisRuby::Api::Requests::NonFinancial::Payee::Verifications::RetrievePayeeVerification
1186
+ GenesisRuby::Api::Requests::NonFinancial::Payee::Verifications::ListPayeeVerifications
1187
+ GenesisRuby::Api::Requests::NonFinancial::Payee::Owners::Create
1188
+ GenesisRuby::Api::Requests::NonFinancial::Payee::Owners::Retrieve
1189
+ GenesisRuby::Api::Requests::NonFinancial::Payee::Owners::Update
1190
+ GenesisRuby::Api::Requests::NonFinancial::Payee::Owners::Delete
1191
+ GenesisRuby::Api::Requests::NonFinancial::Payee::Owners::ListOwners
1192
+ GenesisRuby::Api::Requests::NonFinancial::Payee::Owners::AssociateOwnerWithOwners
1193
+ GenesisRuby::Api::Requests::NonFinancial::Payee::Owners::DissociateOwners
1194
+ GenesisRuby::Api::Requests::NonFinancial::Payee::Owners::CreateOwnerDocument
1195
+ GenesisRuby::Api::Requests::NonFinancial::Payee::Owners::RetrieveOwnerDocument
1196
+ GenesisRuby::Api::Requests::NonFinancial::Payee::Owners::ListOwnerDocuments
1164
1197
 
1165
1198
  ## Chargeback API
1166
1199
  GenesisRuby::Api::Requests::NonFinancial::Fraud::Chargeback::Transaction
data/VERSION CHANGED
@@ -1 +1 @@
1
- 0.3.1
1
+ 0.3.2
@@ -0,0 +1,81 @@
1
+ # frozen_string_literal: true
2
+
3
+ module GenesisRuby
4
+ module Api
5
+ module Constants
6
+ module NonFinancial
7
+ module Kyc
8
+ # Supported document types for address verification by document proof
9
+ class AddressDocumentSupportedTypes
10
+
11
+ extend Mixins::Constants::Common
12
+
13
+ # ID Card
14
+ ID_CARD = 'id_card'
15
+
16
+ # Passport
17
+ PASSPORT = 'passport'
18
+
19
+ # Driving license
20
+ DRIVING_LICENSE = 'driving_license'
21
+
22
+ # Utility bill
23
+ UTILITY_BILL = 'utility_bill'
24
+
25
+ # Bank statement
26
+ BANK_STATEMENT = 'bank_statement'
27
+
28
+ # Rent agreement
29
+ RENT_AGREEMENT = 'rent_agreement'
30
+
31
+ # Employer letter
32
+ EMPLOYER_LETTER = 'employer_letter'
33
+
34
+ # Insurance agreement
35
+ INSURANCE_AGREEMENT = 'insurance_agreement'
36
+
37
+ # Tax bill
38
+ TAX_BILL = 'tax_bill'
39
+
40
+ # Envelope
41
+ ENVELOPE = 'envelope'
42
+
43
+ # CPR Smart card reader copy
44
+ CPR_SMART_CARD_READER_COPY = 'cpr_smart_card_reader_copy'
45
+
46
+ # Property tax
47
+ PROPERTY_TAX = 'property_tax'
48
+
49
+ # Lease agreement
50
+ LEASE_AGREEMENT = 'lease_agreement'
51
+
52
+ # Insurance card
53
+ INSURANCE_CARD = 'insurance_card'
54
+
55
+ # Permanent residence permit
56
+ PERMANENT_RESIDENCE_PERMIT = 'permanent_residence_permit'
57
+
58
+ # Credit card statement
59
+ CREDIT_CARD_STATEMENT = 'credit_card_statement'
60
+
61
+ # Insurance policy
62
+ INSURANCE_POLICY = 'insurance_policy'
63
+
64
+ # E-commerce receipt
65
+ E_COMMERCE_RECEIPT = 'e_commerce_receipt'
66
+
67
+ # Bank letter receipt
68
+ BANK_LETTER_RECEIPT = 'bank_letter_receipt'
69
+
70
+ # Birth certificate
71
+ BIRTH_CERTIFICATE = 'birth_certificate'
72
+
73
+ # Salary slip
74
+ SALARY_SLIP = 'salary_slip'
75
+
76
+ end
77
+ end
78
+ end
79
+ end
80
+ end
81
+ end
@@ -0,0 +1,57 @@
1
+ # frozen_string_literal: true
2
+
3
+ module GenesisRuby
4
+ module Api
5
+ module Constants
6
+ module NonFinancial
7
+ module Payee
8
+ # Document Types allowed values
9
+ class DocumentTypes
10
+
11
+ extend Mixins::Constants::Common
12
+
13
+ # Proof of Identity
14
+ POI = 'poi'
15
+
16
+ # Passport
17
+ PASSPORT = 'passport'
18
+
19
+ # ID Card
20
+ ID_CARD = 'id_card'
21
+
22
+ # Driving License
23
+ DRIVING_LICENSE = 'driving_license'
24
+
25
+ # Proof of Address
26
+ POA = 'poa'
27
+
28
+ # Utility Bill
29
+ UTILITY_BILL = 'utility_bill'
30
+
31
+ # Bank Statement
32
+ BANK_STATEMENT = 'bank_statement'
33
+
34
+ # Company Registration
35
+ COMPANY_REGISTRATION = 'company_registration'
36
+
37
+ # Tax Return
38
+ TAX_RETURN = 'tax_return'
39
+
40
+ # Memorandum of Association
41
+ MEMORANDUM_OF_ASSOCIATION = 'memorandum_of_association'
42
+
43
+ # Shareholder Register
44
+ SHAREHOLDER_REGISTER = 'shareholder_register'
45
+
46
+ # Board Resolution
47
+ BOARD_RESOLUTION = 'board_resolution'
48
+
49
+ # Proof of Address
50
+ PROOF_OF_ADDRESS = 'proof_of_address'
51
+
52
+ end
53
+ end
54
+ end
55
+ end
56
+ end
57
+ end
@@ -0,0 +1,30 @@
1
+ # frozen_string_literal: true
2
+
3
+ module GenesisRuby
4
+ module Api
5
+ module Constants
6
+ module NonFinancial
7
+ module Payee
8
+ # Owner Types allowed values
9
+ class OwnerTypes
10
+
11
+ extend Mixins::Constants::Common
12
+
13
+ # Company
14
+ COMPANY = 'company'
15
+
16
+ # Person
17
+ PERSON = 'person'
18
+
19
+ # Director
20
+ DIRECTOR = 'director'
21
+
22
+ # Ultimate Beneficial Owner
23
+ ULTIMATE_BENEFICIAL_OWNER = 'ultimate_beneficial_owner'
24
+
25
+ end
26
+ end
27
+ end
28
+ end
29
+ end
30
+ end
@@ -0,0 +1,50 @@
1
+ # frozen_string_literal: true
2
+
3
+ module GenesisRuby
4
+ module Api
5
+ module Constants
6
+ module Transactions
7
+ module Parameters
8
+ module MoneyTransfer
9
+ # Money Transfer Purpose of Payments
10
+ class PurposeOfPayments
11
+
12
+ extend Mixins::Constants::Common
13
+
14
+ # Family support
15
+ FAMILY_SUPPORT = 'family_support'
16
+
17
+ # Education
18
+ EDUCATION = 'education'
19
+
20
+ # Gift and donation
21
+ GIFT_AND_DONATION = 'gift_and_donation'
22
+
23
+ # Medical treatment
24
+ MEDICAL_TREATMENT = 'medical_treatment'
25
+
26
+ # Maintenance expenses
27
+ MAINTENANCE = 'maintenance'
28
+
29
+ # Travel
30
+ TRAVEL = 'travel'
31
+
32
+ # Small value remittance
33
+ SMALL_VALUE = 'small_value'
34
+
35
+ # Liberalized remittance
36
+ LIBERALIZED = 'liberalized'
37
+
38
+ # Savings/Investments
39
+ SAVINGS_INVESTMENTS = 'savings_investments'
40
+
41
+ # Other
42
+ OTHER = 'other'
43
+
44
+ end
45
+ end
46
+ end
47
+ end
48
+ end
49
+ end
50
+ end
@@ -0,0 +1,50 @@
1
+ # frozen_string_literal: true
2
+
3
+ module GenesisRuby
4
+ module Api
5
+ module Constants
6
+ module Transactions
7
+ module Parameters
8
+ module MoneyTransfer
9
+ # Money Transfer Sender Account Number Types
10
+ class SenderAccountNumberTypes
11
+
12
+ extend Mixins::Constants::Common
13
+
14
+ # International Bank Account Number
15
+ IBAN = 'iban'
16
+
17
+ # Credit/Debit card account number
18
+ CREDIT_DEBIT_CARD = 'credit_debit_card'
19
+
20
+ # Savings/Checking/Investment account number
21
+ SAVINGS_CHECKING_INVESTMENT = 'savings_checking_investment'
22
+
23
+ # Social Networking ID
24
+ SOCIAL_NETWORKING_ID = 'social_networking_id'
25
+
26
+ # Phone number
27
+ PHONE_NUMBER = 'phone_number'
28
+
29
+ # Bank account number and Bank Identification Code
30
+ BANK_ACCOUNT_NUMBER_AND_BIC = 'bank_account_number_and_bic'
31
+
32
+ # Wallet ID
33
+ WALLET_ID = 'wallet_id'
34
+
35
+ # Unique transaction reference
36
+ UNIQUE_TRANSACTION_REFERENCE = 'unique_transaction_reference'
37
+
38
+ # National ID
39
+ NATIONAL_ID = 'national_id'
40
+
41
+ # Other
42
+ OTHER = 'other'
43
+
44
+ end
45
+ end
46
+ end
47
+ end
48
+ end
49
+ end
50
+ end
@@ -0,0 +1,44 @@
1
+ # frozen_string_literal: true
2
+
3
+ module GenesisRuby
4
+ module Api
5
+ module Constants
6
+ module Transactions
7
+ module Parameters
8
+ module MoneyTransfer
9
+ # Money Transfer Source of Funds
10
+ class SourceOfFunds
11
+
12
+ extend Mixins::Constants::Common
13
+
14
+ # Current account
15
+ CURRENT_ACCOUNT = 'current_account'
16
+
17
+ # Credit card
18
+ CREDIT_CARD = 'credit_card'
19
+
20
+ # Savings account
21
+ SAVINGS_ACCOUNT = 'savings_account'
22
+
23
+ # Deposit account
24
+ DEPOSIT_ACCOUNT = 'deposit_account'
25
+
26
+ # Cash
27
+ CASH = 'cash'
28
+
29
+ # Prepaid
30
+ PREPAID = 'prepaid'
31
+
32
+ # Other debit account
33
+ OTHER_DEBIT_ACCOUNT = 'other_debit_account'
34
+
35
+ # Other credit account
36
+ OTHER_CREDIT_ACCOUNT = 'other_credit_account'
37
+
38
+ end
39
+ end
40
+ end
41
+ end
42
+ end
43
+ end
44
+ end
@@ -0,0 +1,26 @@
1
+ # frozen_string_literal: true
2
+
3
+ module GenesisRuby
4
+ module Api
5
+ module Constants
6
+ module Transactions
7
+ module Parameters
8
+ module MoneyTransfer
9
+ # Money Transfer Types
10
+ class Types
11
+
12
+ extend Mixins::Constants::Common
13
+
14
+ # Visa money transfer type
15
+ VISA = 'visa'
16
+
17
+ # Mastercard money transfer type
18
+ MASTERCARD = 'mastercard'
19
+
20
+ end
21
+ end
22
+ end
23
+ end
24
+ end
25
+ end
26
+ end
@@ -0,0 +1,37 @@
1
+ # frozen_string_literal: true
2
+
3
+ module GenesisRuby
4
+ module Api
5
+ module Constants
6
+ module Transactions
7
+ module Parameters
8
+ module NonFinancial
9
+ module BillingApi
10
+ # Billing API Statement Response Fields allowed values
11
+ class StatementResponseFields
12
+
13
+ extend Mixins::Constants::Common
14
+
15
+ ID = 'id'
16
+ BILLING_STATEMENT = 'billingStatement'
17
+ STATUS = 'status'
18
+ COMPANY = 'company'
19
+ MASTER_ACCOUNT_NAME = 'masterAccountName'
20
+ MASTER_ACCOUNT_CURRENCY = 'masterAccountCurrency'
21
+ VALUE_DATE = 'valueDate'
22
+ CREATION_DATE = 'creationDate'
23
+ CURRENCY = 'currency'
24
+ PAYMENT_METHOD = 'paymentMethod'
25
+ START_DATE = 'startDate'
26
+ END_DATE = 'endDate'
27
+ SUMMARY = 'summary'
28
+ DETAILS = 'details'
29
+
30
+ end
31
+ end
32
+ end
33
+ end
34
+ end
35
+ end
36
+ end
37
+ end