genesis_ruby 0.2.6 → 0.2.8
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 +27 -0
- data/Gemfile.lock +19 -19
- data/README.md +23 -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 +3 -3
- 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 +72 -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 +3 -8
- data/lib/genesis_ruby/api/mixins/requests/restricted_setter.rb +12 -0
- data/lib/genesis_ruby/api/mixins/requests/smart_router_attributes.rb +37 -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 +14 -6
- data/lib/genesis_ruby/api/requests/base/consumer.rb +2 -0
- data/lib/genesis_ruby/api/requests/base/financial.rb +3 -21
- 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/account/update.rb +59 -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/payee/update.rb +58 -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 +10 -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 +11 -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/patch.rb +32 -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 +5 -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 +13 -0
- data/lib/genesis_ruby/utils/options/base.rb +2 -0
- data/lib/genesis_ruby/utils/options/network_adapter_config.rb +4 -1
- 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 +43 -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,72 @@
|
|
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
|
+
parse_email attribute: __method__, value: value
|
21
|
+
end
|
22
|
+
|
23
|
+
# Signifies that both sides of the document are required to verify the identity
|
24
|
+
def backside_proof_required=(value)
|
25
|
+
allowed_options attribute: __method__,
|
26
|
+
allowed: [true, false],
|
27
|
+
value: value,
|
28
|
+
allow_empty: true,
|
29
|
+
error_message: 'Accepts only boolean values'
|
30
|
+
end
|
31
|
+
|
32
|
+
# Document's expiry date
|
33
|
+
def expiry_date
|
34
|
+
@expiry_date&.strftime(
|
35
|
+
Api::Constants::DateTimeFormats::YYYY_MM_DD_ISO_8601
|
36
|
+
)
|
37
|
+
end
|
38
|
+
|
39
|
+
# Document's expiry date
|
40
|
+
def expiry_date=(value)
|
41
|
+
parse_date attribute: __method__, value: value, allow_empty: true
|
42
|
+
end
|
43
|
+
|
44
|
+
# Supported types of document that can be verified
|
45
|
+
def document_supported_types=(value)
|
46
|
+
parse_array_of_strings attribute: __method__,
|
47
|
+
value: value,
|
48
|
+
allowed: Api::Constants::NonFinancial::Kyc::DocumentSupportedTypes.all,
|
49
|
+
allow_empty: true
|
50
|
+
end
|
51
|
+
|
52
|
+
# Supported types of document that can be verified
|
53
|
+
def document_supported_types
|
54
|
+
@document_supported_types || []
|
55
|
+
end
|
56
|
+
|
57
|
+
# Country code
|
58
|
+
def country=(value)
|
59
|
+
allowed_options attribute: __method__,
|
60
|
+
allowed: GenesisRuby::Utils::Country::COUNTRIES.keys,
|
61
|
+
value: value,
|
62
|
+
error_message: 'Invalid country code',
|
63
|
+
allow_empty: true
|
64
|
+
end
|
65
|
+
|
66
|
+
end
|
67
|
+
end
|
68
|
+
end
|
69
|
+
end
|
70
|
+
end
|
71
|
+
end
|
72
|
+
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
|
data/lib/genesis_ruby/api/mixins/requests/non_financial/tokenization/tokenization_attributes.rb
CHANGED
@@ -1,3 +1,5 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
1
3
|
module GenesisRuby
|
2
4
|
module Api
|
3
5
|
module Mixins
|
@@ -17,14 +19,7 @@ module GenesisRuby
|
|
17
19
|
|
18
20
|
# Consumer e-mail address
|
19
21
|
def email=(value)
|
20
|
-
|
21
|
-
'Invalid value given for %{attribute}',
|
22
|
-
attribute: __method__
|
23
|
-
)
|
24
|
-
|
25
|
-
raise GenesisRuby::ParameterError, error_message unless value.nil? || value =~ /\A.+@.+\..+\Z/
|
26
|
-
|
27
|
-
@email = value
|
22
|
+
parse_email attribute: __method__, value: value, allow_empty: true
|
28
23
|
end
|
29
24
|
|
30
25
|
protected
|
@@ -1,3 +1,5 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
1
3
|
require 'genesis_ruby/api/constants/date_time_formats'
|
2
4
|
require 'genesis_ruby/utils/common'
|
3
5
|
|
@@ -79,6 +81,16 @@ module GenesisRuby
|
|
79
81
|
assign_instance_variable attribute, value
|
80
82
|
end
|
81
83
|
|
84
|
+
# Parses given value to a valid email address and assign it to the given attribute
|
85
|
+
# If allow_empty is true, it will assign nil if the value is empty
|
86
|
+
def parse_email(attribute:, value:, allow_empty: false)
|
87
|
+
return assign_instance_variable attribute, nil if allow_empty && value.to_s.empty?
|
88
|
+
|
89
|
+
raise InvalidArgumentError, "#{attribute} must be a valid email address." unless value =~ /\A.+@.+\..+\Z/
|
90
|
+
|
91
|
+
assign_instance_variable attribute, value
|
92
|
+
end
|
93
|
+
|
82
94
|
private
|
83
95
|
|
84
96
|
# Helper for assigning a attribute to the class instance
|
@@ -0,0 +1,37 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module GenesisRuby
|
4
|
+
module Api
|
5
|
+
module Mixins
|
6
|
+
module Requests
|
7
|
+
# Smart Router Attributes Mixin
|
8
|
+
module SmartRouterAttributes
|
9
|
+
|
10
|
+
# Use Smart Router endpoint for the current request
|
11
|
+
def use_smart_router
|
12
|
+
@use_smart_router ||= false
|
13
|
+
end
|
14
|
+
|
15
|
+
# Use Smart Router endpoint for the current request
|
16
|
+
def use_smart_router=(value)
|
17
|
+
unless [true, false].include? value
|
18
|
+
raise InvalidArgumentError, 'Given invalid Use Smart Routing value! Allowed: true, false'
|
19
|
+
end
|
20
|
+
|
21
|
+
@use_smart_router = value
|
22
|
+
end
|
23
|
+
|
24
|
+
protected
|
25
|
+
|
26
|
+
# Process the request
|
27
|
+
def process_request_parameters
|
28
|
+
init_api_smart_router_configuration if use_smart_router
|
29
|
+
|
30
|
+
super
|
31
|
+
end
|
32
|
+
|
33
|
+
end
|
34
|
+
end
|
35
|
+
end
|
36
|
+
end
|
37
|
+
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,16 @@ 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'
|
23
|
+
METHOD_PATCH = 'PATCH'
|
21
24
|
|
22
|
-
AUTH_TYPE_BASIC = 'basic'
|
23
|
-
AUTH_TYPE_TOKEN = 'bearer'
|
25
|
+
AUTH_TYPE_BASIC = 'basic'
|
26
|
+
AUTH_TYPE_TOKEN = 'bearer'
|
24
27
|
|
25
28
|
attr_reader :api_config
|
26
29
|
|
@@ -83,6 +86,11 @@ module GenesisRuby
|
|
83
86
|
@api_config.load_graphql_config
|
84
87
|
end
|
85
88
|
|
89
|
+
# Pre-defined PATCH Request Configuration
|
90
|
+
def init_patch_configuration
|
91
|
+
@api_config.load_patch_config
|
92
|
+
end
|
93
|
+
|
86
94
|
# Initializes Api EndPoint Url with request path & terminal token
|
87
95
|
def init_api_gateway_configuration(options = { request_path: 'process', include_token: true })
|
88
96
|
request_path = options.fetch :request_path, 'process'
|
@@ -1,3 +1,5 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
1
3
|
module GenesisRuby
|
2
4
|
module Api
|
3
5
|
module Requests
|
@@ -7,20 +9,7 @@ module GenesisRuby
|
|
7
9
|
|
8
10
|
include Mixins::Requests::Financial::BaseAttributes
|
9
11
|
include Mixins::Requests::Financial::PaymentAttributes
|
10
|
-
|
11
|
-
# Use Smart Router endpoint for the current request
|
12
|
-
def use_smart_router
|
13
|
-
@use_smart_router ||= false
|
14
|
-
end
|
15
|
-
|
16
|
-
# Use Smart Router endpoint for the current request
|
17
|
-
def use_smart_router=(value)
|
18
|
-
unless [true, false].include? value
|
19
|
-
raise InvalidArgumentError, 'Given invalid Use Smart Routing value! Allowed: true, false'
|
20
|
-
end
|
21
|
-
|
22
|
-
@use_smart_router = value
|
23
|
-
end
|
12
|
+
include Mixins::Requests::SmartRouterAttributes
|
24
13
|
|
25
14
|
protected
|
26
15
|
|
@@ -42,13 +31,6 @@ module GenesisRuby
|
|
42
31
|
init_api_smart_router_configuration if @configuration.force_smart_routing
|
43
32
|
end
|
44
33
|
|
45
|
-
# Process the request
|
46
|
-
def process_request_parameters
|
47
|
-
init_api_smart_router_configuration if use_smart_router
|
48
|
-
|
49
|
-
super
|
50
|
-
end
|
51
|
-
|
52
34
|
# Populate the request structure
|
53
35
|
def populate_structure
|
54
36
|
self.tree_structure = {
|
@@ -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
|