genesis_ruby 0.2.6 → 0.2.7
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 +18 -0
- data/Gemfile.lock +19 -19
- data/README.md +21 -0
- data/VERSION +1 -1
- data/lib/genesis_ruby/api/constants/currencies/iso4217.rb +4 -3
- data/lib/genesis_ruby/api/constants/date_time_formats.rb +9 -7
- data/lib/genesis_ruby/api/constants/endpoints.rb +4 -2
- data/lib/genesis_ruby/api/constants/environments.rb +4 -2
- data/lib/genesis_ruby/api/constants/i18n.rb +28 -26
- data/lib/genesis_ruby/api/constants/non_financial/kyc/address_supported_types.rb +51 -0
- data/lib/genesis_ruby/api/constants/non_financial/kyc/aml_filters.rb +49 -0
- data/lib/genesis_ruby/api/constants/non_financial/kyc/create_transaction_payment_methods.rb +23 -0
- data/lib/genesis_ruby/api/constants/non_financial/kyc/document_supported_types.rb +6 -4
- data/lib/genesis_ruby/api/constants/non_financial/kyc/document_types.rb +2 -0
- data/lib/genesis_ruby/api/constants/non_financial/kyc/genders.rb +4 -2
- data/lib/genesis_ruby/api/constants/non_financial/kyc/identity_document_methods.rb +27 -0
- data/lib/genesis_ruby/api/constants/non_financial/kyc/industry_types.rb +29 -0
- data/lib/genesis_ruby/api/constants/non_financial/kyc/languages.rb +318 -0
- data/lib/genesis_ruby/api/constants/non_financial/kyc/order_sources.rb +22 -0
- data/lib/genesis_ruby/api/constants/non_financial/kyc/profile_current_statuses.rb +2 -0
- data/lib/genesis_ruby/api/constants/non_financial/kyc/service_languages.rb +69 -0
- data/lib/genesis_ruby/api/constants/non_financial/kyc/transaction_statuses.rb +35 -0
- data/lib/genesis_ruby/api/constants/non_financial/kyc/verification_modes.rb +27 -0
- data/lib/genesis_ruby/api/constants/non_financial/kyc/verification_statuses.rb +29 -0
- data/lib/genesis_ruby/api/constants/states/state.rb +2 -0
- data/lib/genesis_ruby/api/constants/states.rb +24 -22
- data/lib/genesis_ruby/api/constants/transactions/parameters/african_mobile_operators.rb +8 -6
- data/lib/genesis_ruby/api/constants/transactions/parameters/business/payment_types.rb +4 -2
- data/lib/genesis_ruby/api/constants/transactions/parameters/cash_payments/cash_payment_types.rb +8 -6
- data/lib/genesis_ruby/api/constants/transactions/parameters/cash_payments/company_types.rb +2 -0
- data/lib/genesis_ruby/api/constants/transactions/parameters/cash_payments/genders.rb +2 -0
- data/lib/genesis_ruby/api/constants/transactions/parameters/cash_payments/marital_statuses.rb +2 -0
- data/lib/genesis_ruby/api/constants/transactions/parameters/credential_on_files.rb +5 -3
- data/lib/genesis_ruby/api/constants/transactions/parameters/customer_identification/customer_identification_owner.rb +4 -2
- data/lib/genesis_ruby/api/constants/transactions/parameters/customer_identification/customer_identification_subtype.rb +4 -2
- data/lib/genesis_ruby/api/constants/transactions/parameters/customer_identification/customer_identification_type.rb +17 -15
- data/lib/genesis_ruby/api/constants/transactions/parameters/digital_asset_types.rb +7 -5
- data/lib/genesis_ruby/api/constants/transactions/parameters/funding/business_application_identifier_types.rb +11 -9
- data/lib/genesis_ruby/api/constants/transactions/parameters/funding/identifier_types.rb +12 -10
- data/lib/genesis_ruby/api/constants/transactions/parameters/funding/receiver_account_types.rb +11 -9
- data/lib/genesis_ruby/api/constants/transactions/parameters/managed_recurring/amount_types.rb +4 -2
- data/lib/genesis_ruby/api/constants/transactions/parameters/managed_recurring/frequencies.rb +14 -12
- data/lib/genesis_ruby/api/constants/transactions/parameters/managed_recurring/intervals.rb +4 -2
- data/lib/genesis_ruby/api/constants/transactions/parameters/managed_recurring/modes.rb +4 -2
- data/lib/genesis_ruby/api/constants/transactions/parameters/managed_recurring/payment_types.rb +6 -4
- data/lib/genesis_ruby/api/constants/transactions/parameters/mobile/apple_pay/payment_subtypes.rb +5 -3
- data/lib/genesis_ruby/api/constants/transactions/parameters/mobile/google_pay/payment_subtypes.rb +5 -3
- data/lib/genesis_ruby/api/constants/transactions/parameters/mpi_protocol_sub_versions.rb +2 -0
- data/lib/genesis_ruby/api/constants/transactions/parameters/mpi_protocol_versions.rb +2 -0
- data/lib/genesis_ruby/api/constants/transactions/parameters/non_financial/billing_api/order_by_fields.rb +14 -12
- data/lib/genesis_ruby/api/constants/transactions/parameters/non_financial/billing_api/response_fields.rb +48 -46
- data/lib/genesis_ruby/api/constants/transactions/parameters/non_financial/billing_api/transaction_types.rb +29 -27
- data/lib/genesis_ruby/api/constants/transactions/parameters/non_financial/externally_processed.rb +5 -3
- data/lib/genesis_ruby/api/constants/transactions/parameters/non_financial/processing_type.rb +5 -3
- data/lib/genesis_ruby/api/constants/transactions/parameters/non_financial/sca_exemptions.rb +8 -6
- data/lib/genesis_ruby/api/constants/transactions/parameters/non_financial/sort_directions.rb +4 -2
- data/lib/genesis_ruby/api/constants/transactions/parameters/online_banking/bank_account_types.rb +6 -4
- data/lib/genesis_ruby/api/constants/transactions/parameters/online_banking/bank_code_currencies.rb +2 -0
- data/lib/genesis_ruby/api/constants/transactions/parameters/online_banking/bank_codes.rb +203 -201
- data/lib/genesis_ruby/api/constants/transactions/parameters/online_banking/iframe_targets.rb +5 -3
- data/lib/genesis_ruby/api/constants/transactions/parameters/online_banking/payment_types.rb +9 -7
- data/lib/genesis_ruby/api/constants/transactions/parameters/online_banking/payout_payment_types.rb +10 -8
- data/lib/genesis_ruby/api/constants/transactions/parameters/purpose_of_payment.rb +42 -40
- data/lib/genesis_ruby/api/constants/transactions/parameters/recurring/categories.rb +4 -2
- data/lib/genesis_ruby/api/constants/transactions/parameters/recurring/types.rb +5 -3
- data/lib/genesis_ruby/api/constants/transactions/parameters/refund/bank_account_types.rb +5 -3
- data/lib/genesis_ruby/api/constants/transactions/parameters/refund/credit_reason_indicators.rb +6 -4
- data/lib/genesis_ruby/api/constants/transactions/parameters/refund/ticket_change_indicators.rb +4 -2
- data/lib/genesis_ruby/api/constants/transactions/parameters/sca_exemptions.rb +8 -6
- data/lib/genesis_ruby/api/constants/transactions/parameters/source_of_funds.rb +8 -6
- data/lib/genesis_ruby/api/constants/transactions/parameters/threeds/version2/browser/color_depths.rb +2 -0
- data/lib/genesis_ruby/api/constants/transactions/parameters/threeds/version2/card_holder_account/password_change_indicators.rb +7 -5
- data/lib/genesis_ruby/api/constants/transactions/parameters/threeds/version2/card_holder_account/registration_indicators.rb +7 -5
- data/lib/genesis_ruby/api/constants/transactions/parameters/threeds/version2/card_holder_account/shipping_address_usage_indicators.rb +6 -4
- data/lib/genesis_ruby/api/constants/transactions/parameters/threeds/version2/card_holder_account/suspicious_activity_indicators.rb +4 -2
- data/lib/genesis_ruby/api/constants/transactions/parameters/threeds/version2/card_holder_account/update_indicators.rb +6 -4
- data/lib/genesis_ruby/api/constants/transactions/parameters/threeds/version2/control/challenge_indicators.rb +6 -4
- data/lib/genesis_ruby/api/constants/transactions/parameters/threeds/version2/control/challenge_window_sizes.rb +7 -5
- data/lib/genesis_ruby/api/constants/transactions/parameters/threeds/version2/control/device_types.rb +4 -2
- data/lib/genesis_ruby/api/constants/transactions/parameters/threeds/version2/merchant_risk/delivery_timeframes.rb +6 -4
- data/lib/genesis_ruby/api/constants/transactions/parameters/threeds/version2/merchant_risk/pre_order_purchase_indicators.rb +4 -2
- data/lib/genesis_ruby/api/constants/transactions/parameters/threeds/version2/merchant_risk/reorder_item_indicators.rb +4 -2
- data/lib/genesis_ruby/api/constants/transactions/parameters/threeds/version2/merchant_risk/shipping_indicators.rb +10 -8
- data/lib/genesis_ruby/api/constants/transactions/parameters/threeds/version2/purchase/categories.rb +9 -7
- data/lib/genesis_ruby/api/constants/transactions/parameters/threeds/version2/sdk/interfaces.rb +5 -3
- data/lib/genesis_ruby/api/constants/transactions/parameters/threeds/version2/sdk/ui_types.rb +7 -5
- data/lib/genesis_ruby/api/constants/transactions/parameters/travel_data/ancillary_charges_types.rb +25 -23
- data/lib/genesis_ruby/api/constants/transactions/parameters/wallets/pay_pal/payment_types.rb +5 -3
- data/lib/genesis_ruby/api/constants/transactions/parameters/wpf/reminder_channels.rb +4 -2
- data/lib/genesis_ruby/api/constants/transactions.rb +98 -93
- data/lib/genesis_ruby/api/mixins/constants/common.rb +2 -0
- data/lib/genesis_ruby/api/mixins/requests/address_info_attributes.rb +2 -0
- data/lib/genesis_ruby/api/mixins/requests/attribute_validation.rb +2 -0
- data/lib/genesis_ruby/api/mixins/requests/birth_date_attributes.rb +2 -0
- data/lib/genesis_ruby/api/mixins/requests/customer_address/billing_info_attributes.rb +2 -0
- data/lib/genesis_ruby/api/mixins/requests/customer_address/customer_info_attributes.rb +2 -0
- data/lib/genesis_ruby/api/mixins/requests/customer_address/shipping_info_attributes.rb +2 -0
- data/lib/genesis_ruby/api/mixins/requests/digital_asset_type_attributes.rb +2 -0
- data/lib/genesis_ruby/api/mixins/requests/document_attributes.rb +2 -0
- data/lib/genesis_ruby/api/mixins/requests/financial/african_mobile_attributes.rb +2 -0
- data/lib/genesis_ruby/api/mixins/requests/financial/async_attributes.rb +2 -0
- data/lib/genesis_ruby/api/mixins/requests/financial/bank_attributes.rb +2 -0
- data/lib/genesis_ruby/api/mixins/requests/financial/base_attributes.rb +2 -0
- data/lib/genesis_ruby/api/mixins/requests/financial/beneficiary_attributes.rb +2 -0
- data/lib/genesis_ruby/api/mixins/requests/financial/business/airlines_air_carriers_attributes.rb +2 -0
- data/lib/genesis_ruby/api/mixins/requests/financial/business/business_attributes.rb +2 -0
- data/lib/genesis_ruby/api/mixins/requests/financial/business/car_plane_and_boat_rentals_attributes.rb +2 -0
- data/lib/genesis_ruby/api/mixins/requests/financial/business/cruise_lines_attributes.rb +2 -0
- data/lib/genesis_ruby/api/mixins/requests/financial/business/event_management_attributes.rb +2 -0
- data/lib/genesis_ruby/api/mixins/requests/financial/business/furniture_attributes.rb +2 -0
- data/lib/genesis_ruby/api/mixins/requests/financial/business/hotels_and_real_estate_rentals_attributes.rb +2 -0
- data/lib/genesis_ruby/api/mixins/requests/financial/business/travel_agencies_attributes.rb +2 -0
- data/lib/genesis_ruby/api/mixins/requests/financial/cards/account_owner_attributes.rb +2 -0
- data/lib/genesis_ruby/api/mixins/requests/financial/cards/credential_on_file_attributes.rb +2 -0
- data/lib/genesis_ruby/api/mixins/requests/financial/cards/credit_card_attributes.rb +2 -0
- data/lib/genesis_ruby/api/mixins/requests/financial/cards/fx_rate_attributes.rb +2 -0
- data/lib/genesis_ruby/api/mixins/requests/financial/cards/installment_attributes.rb +2 -0
- data/lib/genesis_ruby/api/mixins/requests/financial/cards/mpi_attributes.rb +2 -0
- data/lib/genesis_ruby/api/mixins/requests/financial/cards/recurring/managed_recurring_attributes.rb +2 -0
- data/lib/genesis_ruby/api/mixins/requests/financial/cards/recurring/managed_recurring_indian_card_attributes.rb +2 -0
- data/lib/genesis_ruby/api/mixins/requests/financial/cards/recurring/recurring_category_attributes.rb +2 -0
- data/lib/genesis_ruby/api/mixins/requests/financial/cards/recurring/recurring_type_attributes.rb +2 -0
- data/lib/genesis_ruby/api/mixins/requests/financial/cards/tokenization_attributes.rb +2 -0
- data/lib/genesis_ruby/api/mixins/requests/financial/cards/tokenization_params_attributes.rb +2 -0
- data/lib/genesis_ruby/api/mixins/requests/financial/cards/ucof_attributes.rb +2 -0
- data/lib/genesis_ruby/api/mixins/requests/financial/consumer_identifier_attributes.rb +2 -0
- data/lib/genesis_ruby/api/mixins/requests/financial/crypto_attributes.rb +2 -0
- data/lib/genesis_ruby/api/mixins/requests/financial/customer_account_attributes.rb +2 -0
- data/lib/genesis_ruby/api/mixins/requests/financial/customer_identification_attributes.rb +2 -0
- data/lib/genesis_ruby/api/mixins/requests/financial/dynamic_descriptor_attributes.rb +2 -0
- data/lib/genesis_ruby/api/mixins/requests/financial/funding_attributes.rb +2 -0
- data/lib/genesis_ruby/api/mixins/requests/financial/gaming_attributes.rb +2 -0
- data/lib/genesis_ruby/api/mixins/requests/financial/gift_cards_attributes.rb +2 -0
- data/lib/genesis_ruby/api/mixins/requests/financial/mobile/apple_pay_token_attributes.rb +2 -0
- data/lib/genesis_ruby/api/mixins/requests/financial/mobile/google_pay_token_attributes.rb +2 -0
- data/lib/genesis_ruby/api/mixins/requests/financial/moto_attributes.rb +2 -0
- data/lib/genesis_ruby/api/mixins/requests/financial/notification_attributes.rb +2 -0
- data/lib/genesis_ruby/api/mixins/requests/financial/online_banking_payments/payer_attributes.rb +2 -0
- data/lib/genesis_ruby/api/mixins/requests/financial/online_banking_payments/pix_attributes.rb +2 -0
- data/lib/genesis_ruby/api/mixins/requests/financial/online_banking_payments/virtual_payment_address_attributes.rb +2 -0
- data/lib/genesis_ruby/api/mixins/requests/financial/payment_attributes.rb +2 -0
- data/lib/genesis_ruby/api/mixins/requests/financial/pending_payment_attributes.rb +2 -0
- data/lib/genesis_ruby/api/mixins/requests/financial/preauthorization_attributes.rb +2 -0
- data/lib/genesis_ruby/api/mixins/requests/financial/purpose_of_payment_attributes.rb +2 -0
- data/lib/genesis_ruby/api/mixins/requests/financial/reference_attributes.rb +2 -0
- data/lib/genesis_ruby/api/mixins/requests/financial/risk_attributes.rb +2 -0
- data/lib/genesis_ruby/api/mixins/requests/financial/sca_attributes.rb +2 -0
- data/lib/genesis_ruby/api/mixins/requests/financial/source_of_funds_attributes.rb +2 -0
- data/lib/genesis_ruby/api/mixins/requests/financial/threeds/version2/browser.rb +2 -0
- data/lib/genesis_ruby/api/mixins/requests/financial/threeds/version2/card_holder_account.rb +2 -0
- data/lib/genesis_ruby/api/mixins/requests/financial/threeds/version2/common_attributes.rb +2 -0
- data/lib/genesis_ruby/api/mixins/requests/financial/threeds/version2/control.rb +2 -0
- data/lib/genesis_ruby/api/mixins/requests/financial/threeds/version2/merchant_risk.rb +2 -0
- data/lib/genesis_ruby/api/mixins/requests/financial/threeds/version2/method.rb +2 -0
- data/lib/genesis_ruby/api/mixins/requests/financial/threeds/version2/purchase.rb +2 -0
- data/lib/genesis_ruby/api/mixins/requests/financial/threeds/version2/recurring.rb +2 -0
- data/lib/genesis_ruby/api/mixins/requests/financial/threeds/version2/sdk.rb +2 -0
- data/lib/genesis_ruby/api/mixins/requests/financial/threeds/version2/wpf_attributes.rb +2 -0
- data/lib/genesis_ruby/api/mixins/requests/financial/travel_data/airline_itinerary_attributes.rb +2 -0
- data/lib/genesis_ruby/api/mixins/requests/financial/travel_data/car_rental_attributes.rb +2 -0
- data/lib/genesis_ruby/api/mixins/requests/financial/travel_data/hotel_rental_attributes.rb +2 -0
- data/lib/genesis_ruby/api/mixins/requests/financial/travel_data/reference_ticket_attributes.rb +2 -0
- data/lib/genesis_ruby/api/mixins/requests/financial/travel_data/travel_attributes.rb +2 -0
- data/lib/genesis_ruby/api/mixins/requests/non_financial/billing_api/sort_attributes.rb +2 -0
- data/lib/genesis_ruby/api/mixins/requests/non_financial/date_attributes.rb +2 -0
- data/lib/genesis_ruby/api/mixins/requests/non_financial/fx/id_attributes.rb +2 -0
- data/lib/genesis_ruby/api/mixins/requests/non_financial/fx/tier_id_attributes.rb +2 -0
- data/lib/genesis_ruby/api/mixins/requests/non_financial/kyc/background_checks_attributes.rb +75 -0
- data/lib/genesis_ruby/api/mixins/requests/non_financial/kyc/customer_information_attributes.rb +2 -0
- data/lib/genesis_ruby/api/mixins/requests/non_financial/kyc/deposit_limits_attributes.rb +40 -0
- data/lib/genesis_ruby/api/mixins/requests/non_financial/kyc/document_attributes.rb +2 -0
- data/lib/genesis_ruby/api/mixins/requests/non_financial/kyc/face_attributes.rb +61 -0
- data/lib/genesis_ruby/api/mixins/requests/non_financial/kyc/identity_document_attributes.rb +51 -0
- data/lib/genesis_ruby/api/mixins/requests/non_financial/kyc/kyc_billing_info_attributes.rb +87 -0
- data/lib/genesis_ruby/api/mixins/requests/non_financial/kyc/kyc_shipping_info_attributes.rb +85 -0
- data/lib/genesis_ruby/api/mixins/requests/non_financial/kyc/payment_details_attributes.rb +33 -0
- data/lib/genesis_ruby/api/mixins/requests/non_financial/kyc/verification_attributes.rb +74 -0
- data/lib/genesis_ruby/api/mixins/requests/non_financial/kyc/verification_document_attributes.rb +65 -0
- data/lib/genesis_ruby/api/mixins/requests/non_financial/mode_attributes.rb +2 -0
- data/lib/genesis_ruby/api/mixins/requests/non_financial/paging_attributes.rb +2 -0
- data/lib/genesis_ruby/api/mixins/requests/non_financial/tokenization/card_data_attributes.rb +2 -0
- data/lib/genesis_ruby/api/mixins/requests/non_financial/tokenization/token_attributes.rb +2 -0
- data/lib/genesis_ruby/api/mixins/requests/non_financial/tokenization/tokenization_attributes.rb +2 -0
- data/lib/genesis_ruby/api/mixins/requests/restricted_setter.rb +2 -0
- data/lib/genesis_ruby/api/mixins/requests/wpf_reminders_attributes.rb +2 -0
- data/lib/genesis_ruby/api/notification.rb +8 -6
- data/lib/genesis_ruby/api/request.rb +8 -6
- data/lib/genesis_ruby/api/requests/base/consumer.rb +2 -0
- data/lib/genesis_ruby/api/requests/base/financial.rb +2 -0
- data/lib/genesis_ruby/api/requests/base/financials/credit_card.rb +2 -0
- data/lib/genesis_ruby/api/requests/base/financials/south_american_payments.rb +2 -0
- data/lib/genesis_ruby/api/requests/base/graphql.rb +2 -0
- data/lib/genesis_ruby/api/requests/base/non_financial/kyc/base.rb +2 -0
- data/lib/genesis_ruby/api/requests/base/reference.rb +2 -0
- data/lib/genesis_ruby/api/requests/base/versioned.rb +3 -1
- data/lib/genesis_ruby/api/requests/financial/capture.rb +2 -0
- data/lib/genesis_ruby/api/requests/financial/cards/argencard.rb +2 -0
- data/lib/genesis_ruby/api/requests/financial/cards/aura.rb +2 -0
- data/lib/genesis_ruby/api/requests/financial/cards/authorize.rb +2 -0
- data/lib/genesis_ruby/api/requests/financial/cards/authorize3d.rb +2 -0
- data/lib/genesis_ruby/api/requests/financial/cards/bancontact.rb +2 -0
- data/lib/genesis_ruby/api/requests/financial/cards/cabal.rb +2 -0
- data/lib/genesis_ruby/api/requests/financial/cards/cencosud.rb +2 -0
- data/lib/genesis_ruby/api/requests/financial/cards/credit.rb +2 -0
- data/lib/genesis_ruby/api/requests/financial/cards/elo.rb +2 -0
- data/lib/genesis_ruby/api/requests/financial/cards/naranja.rb +2 -0
- data/lib/genesis_ruby/api/requests/financial/cards/nativa.rb +2 -0
- data/lib/genesis_ruby/api/requests/financial/cards/payout.rb +2 -0
- data/lib/genesis_ruby/api/requests/financial/cards/sale.rb +2 -0
- data/lib/genesis_ruby/api/requests/financial/cards/sale3d.rb +2 -0
- data/lib/genesis_ruby/api/requests/financial/cards/tarjeta_shopping.rb +2 -0
- data/lib/genesis_ruby/api/requests/financial/cards/threeds/v2/method_continue.rb +2 -0
- data/lib/genesis_ruby/api/requests/financial/cash_payments/baloto.rb +2 -0
- data/lib/genesis_ruby/api/requests/financial/cash_payments/banco_de_occidente.rb +2 -0
- data/lib/genesis_ruby/api/requests/financial/cash_payments/boleto.rb +2 -0
- data/lib/genesis_ruby/api/requests/financial/cash_payments/cash.rb +2 -0
- data/lib/genesis_ruby/api/requests/financial/cash_payments/efecty.rb +2 -0
- data/lib/genesis_ruby/api/requests/financial/cash_payments/oxxo.rb +2 -0
- data/lib/genesis_ruby/api/requests/financial/cash_payments/pago_facil.rb +2 -0
- data/lib/genesis_ruby/api/requests/financial/cash_payments/pix.rb +2 -0
- data/lib/genesis_ruby/api/requests/financial/cash_payments/redpagos.rb +2 -0
- data/lib/genesis_ruby/api/requests/financial/crypto/bit_pay/payout.rb +2 -0
- data/lib/genesis_ruby/api/requests/financial/crypto/bit_pay/refund.rb +2 -0
- data/lib/genesis_ruby/api/requests/financial/crypto/bit_pay/sale.rb +2 -0
- data/lib/genesis_ruby/api/requests/financial/gift_cards/fashioncheque.rb +2 -0
- data/lib/genesis_ruby/api/requests/financial/gift_cards/intersolve.rb +2 -0
- data/lib/genesis_ruby/api/requests/financial/gift_cards/tcs.rb +2 -0
- data/lib/genesis_ruby/api/requests/financial/mobile/african_mobile_sale.rb +2 -0
- data/lib/genesis_ruby/api/requests/financial/mobile/apple_pay.rb +2 -0
- data/lib/genesis_ruby/api/requests/financial/mobile/google_pay.rb +2 -0
- data/lib/genesis_ruby/api/requests/financial/mobile/russian_mobile_sale.rb +2 -0
- data/lib/genesis_ruby/api/requests/financial/online_banking_payments/banco_do_brasil.rb +2 -0
- data/lib/genesis_ruby/api/requests/financial/online_banking_payments/bancomer.rb +2 -0
- data/lib/genesis_ruby/api/requests/financial/online_banking_payments/bradesco.rb +2 -0
- data/lib/genesis_ruby/api/requests/financial/online_banking_payments/davivienda.rb +2 -0
- data/lib/genesis_ruby/api/requests/financial/online_banking_payments/eps.rb +2 -0
- data/lib/genesis_ruby/api/requests/financial/online_banking_payments/idebit/pay_in.rb +2 -0
- data/lib/genesis_ruby/api/requests/financial/online_banking_payments/idebit/pay_out.rb +2 -0
- data/lib/genesis_ruby/api/requests/financial/online_banking_payments/insta_debit/pay_in.rb +2 -0
- data/lib/genesis_ruby/api/requests/financial/online_banking_payments/insta_debit/pay_out.rb +2 -0
- data/lib/genesis_ruby/api/requests/financial/online_banking_payments/itau.rb +2 -0
- data/lib/genesis_ruby/api/requests/financial/online_banking_payments/multibanco.rb +2 -0
- data/lib/genesis_ruby/api/requests/financial/online_banking_payments/my_bank.rb +2 -0
- data/lib/genesis_ruby/api/requests/financial/online_banking_payments/online_banking/pay_in.rb +2 -0
- data/lib/genesis_ruby/api/requests/financial/online_banking_payments/online_banking/pay_out.rb +2 -0
- data/lib/genesis_ruby/api/requests/financial/online_banking_payments/pay_u.rb +2 -0
- data/lib/genesis_ruby/api/requests/financial/online_banking_payments/post_finance.rb +2 -0
- data/lib/genesis_ruby/api/requests/financial/online_banking_payments/pse.rb +2 -0
- data/lib/genesis_ruby/api/requests/financial/online_banking_payments/rapi_pago.rb +2 -0
- data/lib/genesis_ruby/api/requests/financial/online_banking_payments/safety_pay.rb +2 -0
- data/lib/genesis_ruby/api/requests/financial/online_banking_payments/santander.rb +2 -0
- data/lib/genesis_ruby/api/requests/financial/online_banking_payments/sofort.rb +2 -0
- data/lib/genesis_ruby/api/requests/financial/online_banking_payments/trustly_sale.rb +2 -0
- data/lib/genesis_ruby/api/requests/financial/online_banking_payments/upi.rb +2 -0
- data/lib/genesis_ruby/api/requests/financial/online_banking_payments/webpay.rb +2 -0
- data/lib/genesis_ruby/api/requests/financial/online_banking_payments/wechat.rb +2 -0
- data/lib/genesis_ruby/api/requests/financial/payout/global_payout.rb +42 -0
- data/lib/genesis_ruby/api/requests/financial/preauthorizations/incremental_authorize.rb +2 -0
- data/lib/genesis_ruby/api/requests/financial/preauthorizations/partial_reversal.rb +2 -0
- data/lib/genesis_ruby/api/requests/financial/refund.rb +2 -0
- data/lib/genesis_ruby/api/requests/financial/sdd/recurring/init_recurring_sale.rb +2 -0
- data/lib/genesis_ruby/api/requests/financial/sdd/recurring/recurring_sale.rb +2 -0
- data/lib/genesis_ruby/api/requests/financial/sdd/refund.rb +2 -0
- data/lib/genesis_ruby/api/requests/financial/sdd/sale.rb +2 -0
- data/lib/genesis_ruby/api/requests/financial/void.rb +2 -0
- data/lib/genesis_ruby/api/requests/financial/vouchers/neosurf.rb +2 -0
- data/lib/genesis_ruby/api/requests/financial/wallets/alipay.rb +2 -0
- data/lib/genesis_ruby/api/requests/financial/wallets/pay_pal.rb +2 -0
- data/lib/genesis_ruby/api/requests/non_financial/billing_api/transactions.rb +2 -0
- data/lib/genesis_ruby/api/requests/non_financial/consumers/create.rb +2 -0
- data/lib/genesis_ruby/api/requests/non_financial/consumers/disable.rb +2 -0
- data/lib/genesis_ruby/api/requests/non_financial/consumers/enable.rb +2 -0
- data/lib/genesis_ruby/api/requests/non_financial/consumers/get_cards.rb +2 -0
- data/lib/genesis_ruby/api/requests/non_financial/consumers/retrieve.rb +2 -0
- data/lib/genesis_ruby/api/requests/non_financial/consumers/update.rb +2 -0
- data/lib/genesis_ruby/api/requests/non_financial/fraud/chargeback/date_range.rb +2 -0
- data/lib/genesis_ruby/api/requests/non_financial/fraud/chargeback/transaction.rb +2 -0
- data/lib/genesis_ruby/api/requests/non_financial/fraud/reports/date_range.rb +2 -0
- data/lib/genesis_ruby/api/requests/non_financial/fraud/reports/transaction.rb +2 -0
- data/lib/genesis_ruby/api/requests/non_financial/fraud/retrieval/date_range.rb +2 -0
- data/lib/genesis_ruby/api/requests/non_financial/fraud/retrieval/transaction.rb +2 -0
- data/lib/genesis_ruby/api/requests/non_financial/fx/get_rate.rb +6 -3
- data/lib/genesis_ruby/api/requests/non_financial/fx/get_rates.rb +7 -2
- data/lib/genesis_ruby/api/requests/non_financial/fx/get_tier.rb +7 -2
- data/lib/genesis_ruby/api/requests/non_financial/fx/get_tiers.rb +2 -0
- data/lib/genesis_ruby/api/requests/non_financial/fx/search_rate.rb +7 -2
- data/lib/genesis_ruby/api/requests/non_financial/installments/fetch.rb +2 -0
- data/lib/genesis_ruby/api/requests/non_financial/installments/show.rb +7 -2
- data/lib/genesis_ruby/api/requests/non_financial/kyc/call/create.rb +90 -0
- data/lib/genesis_ruby/api/requests/non_financial/kyc/call/update.rb +60 -0
- data/lib/genesis_ruby/api/requests/non_financial/kyc/cnpj/check.rb +52 -0
- data/lib/genesis_ruby/api/requests/non_financial/kyc/consumer_registration/create.rb +2 -0
- data/lib/genesis_ruby/api/requests/non_financial/kyc/consumer_registration/update.rb +2 -0
- data/lib/genesis_ruby/api/requests/non_financial/kyc/cpf/check.rb +52 -0
- data/lib/genesis_ruby/api/requests/non_financial/kyc/identity_document/download.rb +43 -0
- data/lib/genesis_ruby/api/requests/non_financial/kyc/identity_document/upload.rb +67 -0
- data/lib/genesis_ruby/api/requests/non_financial/kyc/transaction/create.rb +190 -0
- data/lib/genesis_ruby/api/requests/non_financial/kyc/transaction/update.rb +63 -0
- data/lib/genesis_ruby/api/requests/non_financial/kyc/verifications/create.rb +90 -0
- data/lib/genesis_ruby/api/requests/non_financial/kyc/verifications/register.rb +44 -0
- data/lib/genesis_ruby/api/requests/non_financial/kyc/verifications/remote_identity.rb +2 -43
- data/lib/genesis_ruby/api/requests/non_financial/kyc/verifications/status.rb +44 -0
- data/lib/genesis_ruby/api/requests/non_financial/payee/account/create.rb +73 -0
- data/lib/genesis_ruby/api/requests/non_financial/payee/account/list.rb +74 -0
- data/lib/genesis_ruby/api/requests/non_financial/payee/account/retrieve.rb +61 -0
- data/lib/genesis_ruby/api/requests/non_financial/payee/create.rb +60 -0
- data/lib/genesis_ruby/api/requests/non_financial/payee/retrieve.rb +57 -0
- data/lib/genesis_ruby/api/requests/non_financial/processed_transactions/date_range.rb +2 -0
- data/lib/genesis_ruby/api/requests/non_financial/processed_transactions/post_date_range.rb +2 -0
- data/lib/genesis_ruby/api/requests/non_financial/processed_transactions/transaction.rb +2 -0
- data/lib/genesis_ruby/api/requests/non_financial/reconcile/date_range.rb +2 -0
- data/lib/genesis_ruby/api/requests/non_financial/reconcile/transaction.rb +2 -0
- data/lib/genesis_ruby/api/requests/non_financial/sca/checker.rb +2 -0
- data/lib/genesis_ruby/api/requests/non_financial/tokenization/cryptogram.rb +2 -0
- data/lib/genesis_ruby/api/requests/non_financial/tokenization/delete_token.rb +2 -0
- data/lib/genesis_ruby/api/requests/non_financial/tokenization/detokenize.rb +2 -0
- data/lib/genesis_ruby/api/requests/non_financial/tokenization/get_card.rb +2 -0
- data/lib/genesis_ruby/api/requests/non_financial/tokenization/tokenize.rb +2 -0
- data/lib/genesis_ruby/api/requests/non_financial/tokenization/update_token.rb +2 -0
- data/lib/genesis_ruby/api/requests/non_financial/tokenization/validate_token.rb +2 -0
- data/lib/genesis_ruby/api/requests/wpf/create.rb +2 -0
- data/lib/genesis_ruby/api/requests/wpf/reconcile.rb +2 -0
- data/lib/genesis_ruby/api/response.rb +2 -0
- data/lib/genesis_ruby/builder.rb +6 -4
- data/lib/genesis_ruby/builders/base.rb +2 -0
- data/lib/genesis_ruby/builders/form.rb +2 -0
- data/lib/genesis_ruby/builders/graphql.rb +2 -0
- data/lib/genesis_ruby/builders/json.rb +2 -0
- data/lib/genesis_ruby/builders/xml.rb +2 -0
- data/lib/genesis_ruby/configuration.rb +3 -1
- data/lib/genesis_ruby/connection.rb +2 -0
- data/lib/genesis_ruby/dependencies.rb +2 -0
- data/lib/genesis_ruby/errors/builder_error.rb +2 -0
- data/lib/genesis_ruby/errors/endpoint_not_set_error.rb +2 -0
- data/lib/genesis_ruby/errors/error.rb +2 -0
- data/lib/genesis_ruby/errors/invalid_argument_error.rb +2 -0
- data/lib/genesis_ruby/errors/network_error.rb +2 -0
- data/lib/genesis_ruby/errors/object_formatter_error.rb +2 -0
- data/lib/genesis_ruby/errors/parameter_error.rb +2 -0
- data/lib/genesis_ruby/errors/parser_error.rb +2 -0
- data/lib/genesis_ruby/errors/request_error.rb +2 -0
- data/lib/genesis_ruby/errors/response_error.rb +2 -0
- data/lib/genesis_ruby/network/adapter/base_adapter.rb +2 -0
- data/lib/genesis_ruby/network/adapter/net_http_adapter.rb +4 -0
- data/lib/genesis_ruby/network/base_network.rb +5 -3
- data/lib/genesis_ruby/network/net_http.rb +2 -0
- data/lib/genesis_ruby/parser.rb +4 -2
- data/lib/genesis_ruby/parsers/base.rb +2 -0
- data/lib/genesis_ruby/parsers/json.rb +2 -0
- data/lib/genesis_ruby/parsers/xml.rb +2 -0
- data/lib/genesis_ruby/utils/common.rb +2 -0
- data/lib/genesis_ruby/utils/country.rb +2 -0
- data/lib/genesis_ruby/utils/formatters/base.rb +2 -0
- data/lib/genesis_ruby/utils/formatters/response/definitions.rb +2 -0
- data/lib/genesis_ruby/utils/formatters/response/formats/amount.rb +2 -0
- data/lib/genesis_ruby/utils/formatters/response/formats/timestamp.rb +2 -0
- data/lib/genesis_ruby/utils/formatters/response/loader.rb +2 -0
- data/lib/genesis_ruby/utils/money/base/strategy.rb +2 -0
- data/lib/genesis_ruby/utils/money/conversions/amount_to_exponent.rb +2 -0
- data/lib/genesis_ruby/utils/money/conversions/exponent_to_amount.rb +2 -0
- data/lib/genesis_ruby/utils/money/format.rb +2 -0
- data/lib/genesis_ruby/utils/money_format.rb +2 -0
- data/lib/genesis_ruby/utils/object_formatter.rb +2 -0
- data/lib/genesis_ruby/utils/options/api_config.rb +2 -0
- data/lib/genesis_ruby/utils/options/base.rb +2 -0
- data/lib/genesis_ruby/utils/options/network_adapter_config.rb +2 -0
- data/lib/genesis_ruby/utils/options/reminder.rb +2 -0
- data/lib/genesis_ruby/utils/threeds/v2.rb +2 -0
- data/lib/genesis_ruby/utils/transactions/financial_types.rb +2 -0
- data/lib/genesis_ruby/utils/transactions/references/capturable_types.rb +2 -0
- data/lib/genesis_ruby/utils/transactions/references/refundable_types.rb +2 -0
- data/lib/genesis_ruby/utils/transactions/references/voidable_types.rb +2 -0
- data/lib/genesis_ruby/utils/transactions/travel_data/airline_itinerary/base.rb +2 -0
- data/lib/genesis_ruby/utils/transactions/travel_data/airline_itinerary/leg.rb +2 -0
- data/lib/genesis_ruby/utils/transactions/travel_data/airline_itinerary/tax.rb +2 -0
- data/lib/genesis_ruby/utils/transactions/wpf_types.rb +2 -0
- data/lib/genesis_ruby/version.rb +3 -1
- data/lib/genesis_ruby.rb +2 -0
- metadata +39 -2
@@ -0,0 +1,87 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module GenesisRuby
|
4
|
+
module Api
|
5
|
+
module Mixins
|
6
|
+
module Requests
|
7
|
+
module NonFinancial
|
8
|
+
module Kyc
|
9
|
+
# Mixin KycBillingInfoAttributes for KYC Non-Financial API services
|
10
|
+
module KycBillingInfoAttributes
|
11
|
+
|
12
|
+
attr_accessor :billing_first_name, :billing_last_name, :billing_address1, :billing_address2,
|
13
|
+
:billing_city, :billing_province, :billing_zip_code, :billing_birth_date
|
14
|
+
attr_reader :billing_customer_email, :billing_country, :billing_gender, :billing_phone1
|
15
|
+
|
16
|
+
# Sets the billing_customer_email attribute
|
17
|
+
def billing_customer_email=(value)
|
18
|
+
error_message = format(
|
19
|
+
'Invalid value given for %{attribute}',
|
20
|
+
attribute: __method__
|
21
|
+
)
|
22
|
+
|
23
|
+
raise GenesisRuby::InvalidArgumentError, error_message unless value.nil? || value =~ /\A.+@.+\..+\Z/
|
24
|
+
|
25
|
+
@billing_customer_email = value
|
26
|
+
end
|
27
|
+
|
28
|
+
# Sets the billing_country attribute
|
29
|
+
def billing_country=(value)
|
30
|
+
allowed_options(
|
31
|
+
attribute: __method__,
|
32
|
+
allowed: GenesisRuby::Utils::Country::COUNTRIES.keys,
|
33
|
+
value: value,
|
34
|
+
error_message: 'Invalid country code for Create Transaction billing country',
|
35
|
+
allow_empty: true
|
36
|
+
)
|
37
|
+
end
|
38
|
+
|
39
|
+
# Sets the billing_gender attribute
|
40
|
+
def billing_gender=(value)
|
41
|
+
allowed_options(
|
42
|
+
attribute: __method__,
|
43
|
+
allowed: Api::Constants::NonFinancial::Kyc::Genders.all,
|
44
|
+
value: value,
|
45
|
+
error_message: 'Invalid gender for Create Transaction billing gender',
|
46
|
+
allow_empty: true
|
47
|
+
)
|
48
|
+
end
|
49
|
+
|
50
|
+
# Sets the billing_phone1 attribute
|
51
|
+
def billing_phone1=(value)
|
52
|
+
error_message = format(
|
53
|
+
'Invalid value given for %{attribute}',
|
54
|
+
attribute: __method__
|
55
|
+
)
|
56
|
+
raise GenesisRuby::InvalidArgumentError, error_message unless value.nil? || value =~ /^\d+$/
|
57
|
+
|
58
|
+
@billing_phone1 = value
|
59
|
+
end
|
60
|
+
|
61
|
+
protected
|
62
|
+
|
63
|
+
# Returns KYC billing information structure
|
64
|
+
def kyc_billing_info_structure # rubocop:disable Metrics/MethodLength
|
65
|
+
{
|
66
|
+
first_name: billing_first_name,
|
67
|
+
last_name: billing_last_name,
|
68
|
+
customer_email: billing_customer_email,
|
69
|
+
address1: billing_address1,
|
70
|
+
address2: billing_address2,
|
71
|
+
city: billing_city,
|
72
|
+
province: billing_province,
|
73
|
+
zip_code: billing_zip_code,
|
74
|
+
country: billing_country,
|
75
|
+
phone1: billing_phone1,
|
76
|
+
birth_date: billing_birth_date,
|
77
|
+
gender: billing_gender
|
78
|
+
}
|
79
|
+
end
|
80
|
+
|
81
|
+
end
|
82
|
+
end
|
83
|
+
end
|
84
|
+
end
|
85
|
+
end
|
86
|
+
end
|
87
|
+
end
|
@@ -0,0 +1,85 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module GenesisRuby
|
4
|
+
module Api
|
5
|
+
module Mixins
|
6
|
+
module Requests
|
7
|
+
module NonFinancial
|
8
|
+
module Kyc
|
9
|
+
# Mixin KycShippingInfoAttributes for KYC Non-Financial API services
|
10
|
+
module KycShippingInfoAttributes
|
11
|
+
|
12
|
+
attr_accessor :shipping_first_name, :shipping_last_name, :shipping_address1, :shipping_address2,
|
13
|
+
:shipping_city, :shipping_province, :shipping_zip_code
|
14
|
+
attr_reader :shipping_customer_email, :shipping_country, :shipping_phone1
|
15
|
+
|
16
|
+
# Sets the shipping customer email
|
17
|
+
def shipping_customer_email=(value)
|
18
|
+
error_message = format(
|
19
|
+
'Invalid value given for %{attribute}',
|
20
|
+
attribute: __method__
|
21
|
+
)
|
22
|
+
|
23
|
+
raise GenesisRuby::InvalidArgumentError, error_message unless value.nil? || value =~ /\A.+@.+\..+\Z/
|
24
|
+
|
25
|
+
@shipping_customer_email = value
|
26
|
+
end
|
27
|
+
|
28
|
+
# Sets the shipping country attribute
|
29
|
+
def shipping_country=(value)
|
30
|
+
allowed_options(
|
31
|
+
attribute: __method__,
|
32
|
+
allowed: GenesisRuby::Utils::Country::COUNTRIES.keys,
|
33
|
+
value: value,
|
34
|
+
error_message: 'Invalid country code for Create Transaction shipping country',
|
35
|
+
allow_empty: true
|
36
|
+
)
|
37
|
+
end
|
38
|
+
|
39
|
+
# Sets the shipping_gender attribute
|
40
|
+
def shipping_gender=(value)
|
41
|
+
allowed_options(
|
42
|
+
attribute: __method__,
|
43
|
+
allowed: Api::Constants::NonFinancial::Kyc::Genders.all,
|
44
|
+
value: value,
|
45
|
+
error_message: 'Invalid gender for Create Transaction shipping gender',
|
46
|
+
allow_empty: true
|
47
|
+
)
|
48
|
+
end
|
49
|
+
|
50
|
+
# Sets the shipping_phone1 attribute
|
51
|
+
def shipping_phone1=(value)
|
52
|
+
error_message = format(
|
53
|
+
'Invalid value given for %{attribute}',
|
54
|
+
attribute: __method__
|
55
|
+
)
|
56
|
+
raise GenesisRuby::InvalidArgumentError, error_message unless value.nil? || value =~ /^\d+$/
|
57
|
+
|
58
|
+
@shipping_phone1 = value
|
59
|
+
end
|
60
|
+
|
61
|
+
protected
|
62
|
+
|
63
|
+
# Returns KYC Shipping Information structure
|
64
|
+
def kyc_shipping_info_structure # rubocop:disable Metrics/MethodLength
|
65
|
+
{
|
66
|
+
first_name: shipping_first_name,
|
67
|
+
last_name: shipping_last_name,
|
68
|
+
customer_email: shipping_customer_email,
|
69
|
+
address1: shipping_address1,
|
70
|
+
address2: shipping_address2,
|
71
|
+
city: shipping_city,
|
72
|
+
province: shipping_province,
|
73
|
+
zip_code: shipping_zip_code,
|
74
|
+
country: shipping_country,
|
75
|
+
phone1: shipping_phone1
|
76
|
+
}
|
77
|
+
end
|
78
|
+
|
79
|
+
end
|
80
|
+
end
|
81
|
+
end
|
82
|
+
end
|
83
|
+
end
|
84
|
+
end
|
85
|
+
end
|
@@ -0,0 +1,33 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module GenesisRuby
|
4
|
+
module Api
|
5
|
+
module Mixins
|
6
|
+
module Requests
|
7
|
+
module NonFinancial
|
8
|
+
module Kyc
|
9
|
+
# Payment Details Attributes mixin for KYC Non-Financial API services
|
10
|
+
module PaymentDetailsAttributes
|
11
|
+
|
12
|
+
attr_accessor :bin, :tail, :cvv_present, :hashed_pan, :routing, :account, :ewallet_id
|
13
|
+
|
14
|
+
# Returns the payment details structure
|
15
|
+
def payment_details_structure
|
16
|
+
{
|
17
|
+
bin: bin,
|
18
|
+
tail: tail,
|
19
|
+
cvv_present: cvv_present,
|
20
|
+
hashed_pan: hashed_pan,
|
21
|
+
routing: routing,
|
22
|
+
account: account,
|
23
|
+
ewallet_id: ewallet_id
|
24
|
+
}
|
25
|
+
end
|
26
|
+
|
27
|
+
end
|
28
|
+
end
|
29
|
+
end
|
30
|
+
end
|
31
|
+
end
|
32
|
+
end
|
33
|
+
end
|
@@ -0,0 +1,74 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require 'genesis_ruby/api/constants/non_financial/kyc/document_supported_types'
|
4
|
+
require 'genesis_ruby/utils/country'
|
5
|
+
|
6
|
+
module GenesisRuby
|
7
|
+
module Api
|
8
|
+
module Mixins
|
9
|
+
module Requests
|
10
|
+
module NonFinancial
|
11
|
+
module Kyc
|
12
|
+
# Common Verification Attributes mixin
|
13
|
+
module VerificationAttributes
|
14
|
+
|
15
|
+
attr_accessor :reference_id
|
16
|
+
attr_reader :email, :backside_proof_required, :country
|
17
|
+
|
18
|
+
# User's email
|
19
|
+
def email=(value)
|
20
|
+
raise InvalidArgumentError unless value =~ /\A.+@.+\..+\Z/
|
21
|
+
|
22
|
+
@email = value
|
23
|
+
end
|
24
|
+
|
25
|
+
# Signifies that both sides of the document are required to verify the identity
|
26
|
+
def backside_proof_required=(value)
|
27
|
+
allowed_options attribute: __method__,
|
28
|
+
allowed: [true, false],
|
29
|
+
value: value,
|
30
|
+
allow_empty: true,
|
31
|
+
error_message: 'Accepts only boolean values'
|
32
|
+
end
|
33
|
+
|
34
|
+
# Document's expiry date
|
35
|
+
def expiry_date
|
36
|
+
@expiry_date&.strftime(
|
37
|
+
Api::Constants::DateTimeFormats::YYYY_MM_DD_ISO_8601
|
38
|
+
)
|
39
|
+
end
|
40
|
+
|
41
|
+
# Document's expiry date
|
42
|
+
def expiry_date=(value)
|
43
|
+
parse_date attribute: __method__, value: value, allow_empty: true
|
44
|
+
end
|
45
|
+
|
46
|
+
# Supported types of document that can be verified
|
47
|
+
def document_supported_types=(value)
|
48
|
+
parse_array_of_strings attribute: __method__,
|
49
|
+
value: value,
|
50
|
+
allowed: Api::Constants::NonFinancial::Kyc::DocumentSupportedTypes.all,
|
51
|
+
allow_empty: true
|
52
|
+
end
|
53
|
+
|
54
|
+
# Supported types of document that can be verified
|
55
|
+
def document_supported_types
|
56
|
+
@document_supported_types || []
|
57
|
+
end
|
58
|
+
|
59
|
+
# Country code
|
60
|
+
def country=(value)
|
61
|
+
allowed_options attribute: __method__,
|
62
|
+
allowed: GenesisRuby::Utils::Country::COUNTRIES.keys,
|
63
|
+
value: value,
|
64
|
+
error_message: 'Invalid country code',
|
65
|
+
allow_empty: true
|
66
|
+
end
|
67
|
+
|
68
|
+
end
|
69
|
+
end
|
70
|
+
end
|
71
|
+
end
|
72
|
+
end
|
73
|
+
end
|
74
|
+
end
|
data/lib/genesis_ruby/api/mixins/requests/non_financial/kyc/verification_document_attributes.rb
ADDED
@@ -0,0 +1,65 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module GenesisRuby
|
4
|
+
module Api
|
5
|
+
module Mixins
|
6
|
+
module Requests
|
7
|
+
module NonFinancial
|
8
|
+
module Kyc
|
9
|
+
# Data used by the document verification service to check
|
10
|
+
# the authenticity of identity documents submitted by customers
|
11
|
+
module VerificationDocumentAttributes
|
12
|
+
|
13
|
+
attr_accessor :document_first_name, :document_last_name
|
14
|
+
attr_reader :document_allow_offline, :document_allow_online
|
15
|
+
|
16
|
+
# Customer's date of birth
|
17
|
+
def document_date_of_birth
|
18
|
+
@document_date_of_birth&.strftime(
|
19
|
+
GenesisRuby::Api::Constants::DateTimeFormats::YYYY_MM_DD_ISO_8601
|
20
|
+
)
|
21
|
+
end
|
22
|
+
|
23
|
+
# Customer's date of birth
|
24
|
+
def document_date_of_birth=(value)
|
25
|
+
parse_date attribute: __method__, value: value, allow_empty: true
|
26
|
+
end
|
27
|
+
|
28
|
+
# Whether uploading of previously taken picture is allowed for verification of document
|
29
|
+
def document_allow_offline=(value)
|
30
|
+
allowed_options attribute: __method__,
|
31
|
+
allowed: [true, false],
|
32
|
+
value: value,
|
33
|
+
allow_empty: true,
|
34
|
+
error_message: 'Accepts only boolean values'
|
35
|
+
end
|
36
|
+
|
37
|
+
# Whether the realtime usage of device camera is allowed for verification of document
|
38
|
+
def document_allow_online=(value)
|
39
|
+
allowed_options attribute: __method__,
|
40
|
+
allowed: [true, false],
|
41
|
+
value: value,
|
42
|
+
allow_empty: true,
|
43
|
+
error_message: 'Accepts only boolean values'
|
44
|
+
end
|
45
|
+
|
46
|
+
protected
|
47
|
+
|
48
|
+
# Defines the structure of the document attributes
|
49
|
+
def verification_document_attributes_structure
|
50
|
+
{
|
51
|
+
first_name: document_first_name,
|
52
|
+
last_name: document_last_name,
|
53
|
+
date_of_birth: document_date_of_birth,
|
54
|
+
allow_offline: document_allow_offline,
|
55
|
+
allow_online: document_allow_online
|
56
|
+
}
|
57
|
+
end
|
58
|
+
|
59
|
+
end
|
60
|
+
end
|
61
|
+
end
|
62
|
+
end
|
63
|
+
end
|
64
|
+
end
|
65
|
+
end
|
@@ -1,3 +1,5 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
1
3
|
require 'cgi'
|
2
4
|
require 'digest'
|
3
5
|
|
@@ -9,14 +11,14 @@ module GenesisRuby
|
|
9
11
|
attr_reader :unique_id, :notification, :reconciliation
|
10
12
|
|
11
13
|
# Signature algorithms
|
12
|
-
SHA1_SIGNATURE_TYPE = 'SHA1'
|
13
|
-
SHA256_SIGNATURE_TYPE = 'SHA256'
|
14
|
-
SHA512_SIGNATURE_TYPE = 'SHA512'
|
14
|
+
SHA1_SIGNATURE_TYPE = 'SHA1'
|
15
|
+
SHA256_SIGNATURE_TYPE = 'SHA256'
|
16
|
+
SHA512_SIGNATURE_TYPE = 'SHA512'
|
15
17
|
|
16
18
|
# Possible request/response identifier fields
|
17
|
-
API_UNIQUE_FIELD = 'unique_id'
|
18
|
-
WPF_UNIQUE_FIELD = 'wpf_unique_id'
|
19
|
-
KYC_UNIQUE_FIELD = 'reference_id'
|
19
|
+
API_UNIQUE_FIELD = 'unique_id'
|
20
|
+
WPF_UNIQUE_FIELD = 'wpf_unique_id'
|
21
|
+
KYC_UNIQUE_FIELD = 'reference_id'
|
20
22
|
|
21
23
|
# Class constructor
|
22
24
|
def initialize(configuration, data)
|
@@ -1,3 +1,5 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
1
3
|
require 'genesis_ruby/utils/options/api_config'
|
2
4
|
require 'genesis_ruby/errors/endpoint_not_set_error'
|
3
5
|
require 'genesis_ruby/builder'
|
@@ -12,15 +14,15 @@ module GenesisRuby
|
|
12
14
|
include Mixins::Requests::RestrictedSetter
|
13
15
|
include Mixins::Requests::AttributeValidation
|
14
16
|
|
15
|
-
PROTOCOL_HTTPS = 'https'
|
17
|
+
PROTOCOL_HTTPS = 'https'
|
16
18
|
PORT_HTTPS = 443
|
17
19
|
|
18
|
-
METHOD_POST = 'POST'
|
19
|
-
METHOD_GET = 'GET'
|
20
|
-
METHOD_PUT = 'PUT'
|
20
|
+
METHOD_POST = 'POST'
|
21
|
+
METHOD_GET = 'GET'
|
22
|
+
METHOD_PUT = 'PUT'
|
21
23
|
|
22
|
-
AUTH_TYPE_BASIC = 'basic'
|
23
|
-
AUTH_TYPE_TOKEN = 'bearer'
|
24
|
+
AUTH_TYPE_BASIC = 'basic'
|
25
|
+
AUTH_TYPE_TOKEN = 'bearer'
|
24
26
|
|
25
27
|
attr_reader :api_config
|
26
28
|
|
@@ -1,3 +1,5 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
1
3
|
module GenesisRuby
|
2
4
|
module Api
|
3
5
|
module Requests
|
@@ -5,7 +7,7 @@ module GenesisRuby
|
|
5
7
|
# Base Versioned Request class used for Non Financial JSON API services
|
6
8
|
class Versioned < Request
|
7
9
|
|
8
|
-
DEFAULT_VERSION = 'v1'
|
10
|
+
DEFAULT_VERSION = 'v1'
|
9
11
|
private_constant :DEFAULT_VERSION
|
10
12
|
|
11
13
|
attr_reader :version, :allowed_versions
|