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.
- checksums.yaml +4 -4
- data/.kiro/specs/f2025112509-add_managed_recurring_api/.config.kiro +1 -0
- data/.kiro/specs/f2025112509-add_managed_recurring_api/design.md +332 -0
- data/.kiro/specs/f2025112509-add_managed_recurring_api/requirements.md +91 -0
- data/.kiro/specs/f2025112509-add_managed_recurring_api/tasks.md +139 -0
- data/.kiro/specs/f2025112603-add_reverify_endpoint_to_payee_account/.config.kiro +1 -0
- data/.kiro/specs/f2025112603-add_reverify_endpoint_to_payee_account/design.md +148 -0
- data/.kiro/specs/f2025112603-add_reverify_endpoint_to_payee_account/requirements.md +81 -0
- data/.kiro/specs/f2025112603-add_reverify_endpoint_to_payee_account/tasks.md +48 -0
- data/.kiro/specs/f2025112606-add_list_payees_trx_request/.config.kiro +1 -0
- data/.kiro/specs/f2025112606-add_list_payees_trx_request/design.md +112 -0
- data/.kiro/specs/f2025112606-add_list_payees_trx_request/requirements.md +74 -0
- data/.kiro/specs/f2025112606-add_list_payees_trx_request/tasks.md +38 -0
- data/.kiro/specs/f2025112609_update_payee_request_params/design.md +86 -0
- data/.kiro/specs/f2025112609_update_payee_request_params/requirements.md +86 -0
- data/.kiro/specs/f2025112609_update_payee_request_params/tasks.md +40 -0
- data/.kiro/specs/f2025112612-add_payee_owner_documents_and_verification_requests/.config.kiro +1 -0
- data/.kiro/specs/f2025112612-add_payee_owner_documents_and_verification_requests/design.md +246 -0
- data/.kiro/specs/f2025112612-add_payee_owner_documents_and_verification_requests/requirements.md +287 -0
- data/.kiro/specs/f2025112612-add_payee_owner_documents_and_verification_requests/tasks.md +76 -0
- data/.kiro/specs/f2025112614-add_money_transfer_payout_attributes_to_payout_rq/design.md +84 -0
- data/.kiro/specs/f2025112614-add_money_transfer_payout_attributes_to_payout_rq/requirements.md +88 -0
- data/.kiro/specs/f2025112614-add_money_transfer_payout_attributes_to_payout_rq/tasks.md +38 -0
- data/.kiro/steering/product.md +15 -0
- data/.kiro/steering/spec-folder-naming.md +16 -0
- data/.kiro/steering/structure.md +96 -0
- data/.kiro/steering/tech.md +66 -0
- data/CHANGELOG.md +23 -0
- data/Gemfile.lock +4 -4
- data/README.md +33 -0
- data/VERSION +1 -1
- data/lib/genesis_ruby/api/constants/non_financial/kyc/address_document_supported_types.rb +81 -0
- data/lib/genesis_ruby/api/constants/non_financial/payee/document_types.rb +57 -0
- data/lib/genesis_ruby/api/constants/non_financial/payee/owner_types.rb +30 -0
- data/lib/genesis_ruby/api/constants/transactions/parameters/money_transfer/purpose_of_payments.rb +50 -0
- data/lib/genesis_ruby/api/constants/transactions/parameters/money_transfer/sender_account_number_types.rb +50 -0
- data/lib/genesis_ruby/api/constants/transactions/parameters/money_transfer/source_of_funds.rb +44 -0
- data/lib/genesis_ruby/api/constants/transactions/parameters/money_transfer/types.rb +26 -0
- data/lib/genesis_ruby/api/constants/transactions/parameters/non_financial/billing_api/statement_response_fields.rb +37 -0
- data/lib/genesis_ruby/api/mixins/requests/financial/cards/mpi_attributes.rb +0 -10
- data/lib/genesis_ruby/api/mixins/requests/financial/money_transfer_payout_attributes.rb +131 -0
- data/lib/genesis_ruby/api/mixins/requests/non_financial/date_attributes.rb +87 -5
- data/lib/genesis_ruby/api/mixins/requests/non_financial/kyc/business_attributes.rb +42 -0
- data/lib/genesis_ruby/api/mixins/requests/non_financial/kyc/document_attributes.rb +8 -7
- data/lib/genesis_ruby/api/request.rb +15 -9
- data/lib/genesis_ruby/api/requests/base/non_financial/billing_api/base.rb +108 -0
- data/lib/genesis_ruby/api/requests/base/non_financial/payee/base.rb +54 -0
- data/lib/genesis_ruby/api/requests/financial/cards/authorize3d.rb +1 -3
- data/lib/genesis_ruby/api/requests/financial/cards/payout.rb +3 -1
- data/lib/genesis_ruby/api/requests/financial/cards/sale3d.rb +1 -3
- data/lib/genesis_ruby/api/requests/non_financial/billing_api/statement.rb +170 -0
- data/lib/genesis_ruby/api/requests/non_financial/billing_api/transactions.rb +20 -60
- data/lib/genesis_ruby/api/requests/non_financial/kyc/business/create.rb +45 -0
- data/lib/genesis_ruby/api/requests/non_financial/kyc/business/document.rb +60 -0
- data/lib/genesis_ruby/api/requests/non_financial/kyc/business/document_list.rb +59 -0
- data/lib/genesis_ruby/api/requests/non_financial/kyc/business/verification.rb +52 -0
- data/lib/genesis_ruby/api/requests/non_financial/kyc/verifications/address_by_document_proof.rb +92 -0
- data/lib/genesis_ruby/api/requests/non_financial/kyc/verifications/create.rb +4 -1
- data/lib/genesis_ruby/api/requests/non_financial/managed_recurring/cancel.rb +63 -0
- data/lib/genesis_ruby/api/requests/non_financial/managed_recurring/fetch.rb +63 -0
- data/lib/genesis_ruby/api/requests/non_financial/managed_recurring/fetch_all.rb +37 -0
- data/lib/genesis_ruby/api/requests/non_financial/payee/account/reverify.rb +61 -0
- data/lib/genesis_ruby/api/requests/non_financial/payee/associate_payee_with_owners.rb +105 -0
- data/lib/genesis_ruby/api/requests/non_financial/payee/create.rb +37 -7
- data/lib/genesis_ruby/api/requests/non_financial/payee/create_payee_document.rb +61 -0
- data/lib/genesis_ruby/api/requests/non_financial/payee/dissociate_payee_with_owners.rb +94 -0
- data/lib/genesis_ruby/api/requests/non_financial/payee/list.rb +38 -0
- data/lib/genesis_ruby/api/requests/non_financial/payee/list_payee_documents.rb +57 -0
- data/lib/genesis_ruby/api/requests/non_financial/payee/list_payee_owners.rb +70 -0
- data/lib/genesis_ruby/api/requests/non_financial/payee/owners/associate_owner_with_owners.rb +109 -0
- data/lib/genesis_ruby/api/requests/non_financial/payee/owners/create.rb +71 -0
- data/lib/genesis_ruby/api/requests/non_financial/payee/owners/create_owner_document.rb +63 -0
- data/lib/genesis_ruby/api/requests/non_financial/payee/owners/delete.rb +54 -0
- data/lib/genesis_ruby/api/requests/non_financial/payee/owners/dissociate_owners.rb +96 -0
- data/lib/genesis_ruby/api/requests/non_financial/payee/owners/list_owner_documents.rb +59 -0
- data/lib/genesis_ruby/api/requests/non_financial/payee/owners/list_owners.rb +46 -0
- data/lib/genesis_ruby/api/requests/non_financial/payee/owners/retrieve.rb +59 -0
- data/lib/genesis_ruby/api/requests/non_financial/payee/owners/retrieve_owner_document.rb +62 -0
- data/lib/genesis_ruby/api/requests/non_financial/payee/owners/update.rb +66 -0
- data/lib/genesis_ruby/api/requests/non_financial/payee/retrieve_payee_document.rb +60 -0
- data/lib/genesis_ruby/api/requests/non_financial/payee/update.rb +34 -4
- data/lib/genesis_ruby/api/requests/non_financial/payee/verifications/create_payee_verification.rb +58 -0
- data/lib/genesis_ruby/api/requests/non_financial/payee/verifications/list_payee_verifications.rb +59 -0
- data/lib/genesis_ruby/api/requests/non_financial/payee/verifications/retrieve_payee_verification.rb +62 -0
- data/lib/genesis_ruby/api/requests/non_financial/tokenization/retokenize.rb +45 -0
- data/lib/genesis_ruby/api/requests/wpf/create.rb +19 -0
- data/lib/genesis_ruby/api/response.rb +15 -0
- data/lib/genesis_ruby/dependencies.rb +2 -0
- data/lib/genesis_ruby/network/adapter/net_http_adapter.rb +31 -5
- data/lib/genesis_ruby/network/base_network.rb +5 -0
- data/lib/genesis_ruby/network/net_http.rb +16 -4
- data/lib/genesis_ruby/utils/options/api_config.rb +43 -32
- data/lib/genesis_ruby/utils/options/network_adapter_config.rb +1 -1
- data/lib/genesis_ruby/version.rb +1 -1
- 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.
|
|
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.
|
|
12
|
-
public_suffix (>= 2.0.2, <
|
|
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.
|
|
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
|
+
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
|
data/lib/genesis_ruby/api/constants/transactions/parameters/money_transfer/purpose_of_payments.rb
ADDED
|
@@ -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
|