genesis_ruby 0.2.5 → 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 +26 -0
- data/Gemfile.lock +20 -20
- data/README.md +24 -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 +30 -0
- 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 +27 -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 +62 -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 → preauthorizations}/incremental_authorize.rb +2 -0
- data/lib/genesis_ruby/api/requests/financial/preauthorizations/partial_reversal.rb +26 -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 +4 -2
- data/lib/genesis_ruby/api/requests/non_financial/kyc/consumer_registration/update.rb +52 -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 +50 -0
- 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 +46 -3
@@ -0,0 +1,190 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require 'genesis_ruby/api/constants/non_financial/kyc/transaction_statuses'
|
4
|
+
require 'genesis_ruby/api/constants/non_financial/kyc/industry_types'
|
5
|
+
require 'genesis_ruby/api/constants/non_financial/kyc/order_sources'
|
6
|
+
|
7
|
+
module GenesisRuby
|
8
|
+
module Api
|
9
|
+
module Requests
|
10
|
+
module NonFinancial
|
11
|
+
module Kyc
|
12
|
+
module Transaction
|
13
|
+
# Create transaction type for KYC Non-Financial API services
|
14
|
+
class Create < Api::Requests::Base::NonFinancial::Kyc::Base # rubocop:disable Metrics/ClassLength
|
15
|
+
|
16
|
+
include Api::Mixins::Requests::Financial::PaymentAttributes
|
17
|
+
include Api::Mixins::Requests::NonFinancial::Kyc::DepositLimitsAttributes
|
18
|
+
include Api::Mixins::Requests::NonFinancial::Kyc::CustomerInformationAttributes
|
19
|
+
include Api::Mixins::Requests::NonFinancial::Kyc::KycBillingInfoAttributes
|
20
|
+
include Api::Mixins::Requests::NonFinancial::Kyc::KycShippingInfoAttributes
|
21
|
+
include Api::Mixins::Requests::NonFinancial::Kyc::PaymentDetailsAttributes
|
22
|
+
|
23
|
+
attr_accessor :session_id, :customer_username, :customer_unique_id, :customer_status,
|
24
|
+
:customer_loyalty_level, :customer_registration_ip_address,
|
25
|
+
:customer_registration_device_id, :transaction_unique_id,
|
26
|
+
:customer_ip_address, :customer_device_id,
|
27
|
+
:third_party_device_id, :device_fingerprint, :device_fingerprint_type,
|
28
|
+
:shopping_cart_items_count, :order_source, :merchant_website, :industry_type,
|
29
|
+
:customer_password, :custom_variable, :transaction_status
|
30
|
+
|
31
|
+
attr_writer :deposits_count, :withdrawals_count, :current_balance, :rule_context
|
32
|
+
|
33
|
+
# Initializes the Create Transaction Request
|
34
|
+
def initialize(configuration, _builder_interface = nil)
|
35
|
+
super configuration
|
36
|
+
|
37
|
+
self.request_path = 'create_transaction'
|
38
|
+
end
|
39
|
+
|
40
|
+
# Returns customer registration date
|
41
|
+
def customer_registration_date
|
42
|
+
@customer_registration_date&.strftime GenesisRuby::Api::Constants::DateTimeFormats::YYYY_MM_DD_ISO_8601
|
43
|
+
end
|
44
|
+
|
45
|
+
# Sets customer registration date
|
46
|
+
def customer_registration_date=(value)
|
47
|
+
parse_date attribute: __method__, value: value, allow_empty: true
|
48
|
+
end
|
49
|
+
|
50
|
+
# Returns the first deposit date
|
51
|
+
def first_deposit_date
|
52
|
+
@first_deposit_date&.strftime GenesisRuby::Api::Constants::DateTimeFormats::YYYY_MM_DD_ISO_8601
|
53
|
+
end
|
54
|
+
|
55
|
+
# Sets the first deposit date
|
56
|
+
def first_deposit_date=(value)
|
57
|
+
parse_date attribute: __method__, value: value, allow_empty: true
|
58
|
+
end
|
59
|
+
|
60
|
+
# Returns the first withdrawal date
|
61
|
+
def first_withdrawal_date
|
62
|
+
@first_withdrawal_date&.strftime GenesisRuby::Api::Constants::DateTimeFormats::YYYY_MM_DD_ISO_8601
|
63
|
+
end
|
64
|
+
|
65
|
+
# Sets the first withdrawal date
|
66
|
+
def first_withdrawal_date=(value)
|
67
|
+
parse_date attribute: __method__, value: value, allow_empty: true
|
68
|
+
end
|
69
|
+
|
70
|
+
# Returns the local time in the format YYYY-MM-DD HH:MM:SS
|
71
|
+
def local_time
|
72
|
+
@local_time&.strftime GenesisRuby::Api::Constants::DateTimeFormats::YYYY_MM_DD_H_I_S
|
73
|
+
end
|
74
|
+
|
75
|
+
# Sets the local time
|
76
|
+
def local_time=(value)
|
77
|
+
parse_date attribute: __method__, value: value, allow_empty: true
|
78
|
+
end
|
79
|
+
|
80
|
+
# Returns the transaction created at date in the format YYYY-MM-DD HH:MM:SS
|
81
|
+
def transaction_created_at
|
82
|
+
@transaction_created_at&.strftime GenesisRuby::Api::Constants::DateTimeFormats::YYYY_MM_DD_H_I_S
|
83
|
+
end
|
84
|
+
|
85
|
+
# Sets the transaction created at date
|
86
|
+
def transaction_created_at=(value)
|
87
|
+
parse_date attribute: __method__, value: value, allow_empty: true
|
88
|
+
end
|
89
|
+
|
90
|
+
# Returns the deposits count as an integer
|
91
|
+
def deposits_count
|
92
|
+
@deposits_count&.to_i
|
93
|
+
end
|
94
|
+
|
95
|
+
# Returns the withdrawals count as an integer
|
96
|
+
def withdrawals_count
|
97
|
+
@withdrawals_count&.to_i
|
98
|
+
end
|
99
|
+
|
100
|
+
# Returns the current balance as an integer
|
101
|
+
def current_balance
|
102
|
+
@current_balance&.to_i
|
103
|
+
end
|
104
|
+
|
105
|
+
# Returns the rule context as an integer
|
106
|
+
def rule_context
|
107
|
+
@rule_context&.to_i
|
108
|
+
end
|
109
|
+
|
110
|
+
protected
|
111
|
+
|
112
|
+
# Sets field values and dependencies for the Create Transaction Request
|
113
|
+
def init_field_validations # rubocop:disable Metrics/MethodLength,Metrics/AbcSize
|
114
|
+
super
|
115
|
+
|
116
|
+
required_fields.push *%i[
|
117
|
+
transaction_unique_id
|
118
|
+
transaction_created_at
|
119
|
+
customer_ip_address
|
120
|
+
] + customer_information_required_fields + deposit_limits_required_fields
|
121
|
+
|
122
|
+
field_values.merge! transaction_status: Api::Constants::NonFinancial::Kyc::TransactionStatuses.all,
|
123
|
+
device_fingerprint_type: [1, 2, 3],
|
124
|
+
order_source: GenesisRuby::Api::Constants::NonFinancial::Kyc::OrderSources.all, # rubocop:disable Layout/LineLength
|
125
|
+
industry_type: Api::Constants::NonFinancial::Kyc::IndustryTypes.all,
|
126
|
+
payment_method: GenesisRuby::Api::Constants::NonFinancial::Kyc::CreateTransactionPaymentMethods.all # rubocop:disable Layout/LineLength
|
127
|
+
|
128
|
+
pm_const = GenesisRuby::Api::Constants::NonFinancial::Kyc::CreateTransactionPaymentMethods
|
129
|
+
field_value_dependencies.merge!(
|
130
|
+
{
|
131
|
+
payment_method: {
|
132
|
+
pm_const::PAYMENT_METHOD_CC => %i[bin tail],
|
133
|
+
pm_const::PAYMENT_METHOD_CC_OPTIONAL => %i[cvv_present hashed_pan],
|
134
|
+
pm_const::PAYMENT_METHOD_EC => %i[routing account]
|
135
|
+
}
|
136
|
+
}
|
137
|
+
)
|
138
|
+
|
139
|
+
field_values.merge! customer_information_required_field_values
|
140
|
+
end
|
141
|
+
|
142
|
+
# Returns the request structure for Create Transaction Request
|
143
|
+
def request_structure # rubocop:disable Metrics/AbcSize,Metrics/MethodLength
|
144
|
+
{
|
145
|
+
session_id: session_id,
|
146
|
+
customer_username: customer_username,
|
147
|
+
customer_unique_id: customer_unique_id,
|
148
|
+
customer_status: customer_status,
|
149
|
+
customer_loyalty_level: customer_loyalty_level,
|
150
|
+
customer_registration_date: customer_registration_date,
|
151
|
+
customer_registration_ip_address: customer_registration_ip_address,
|
152
|
+
customer_registration_device_id: customer_registration_device_id,
|
153
|
+
customer_information: customer_information_structure,
|
154
|
+
first_deposit_date: first_deposit_date,
|
155
|
+
first_withdrawal_date: first_withdrawal_date,
|
156
|
+
deposits_count: deposits_count,
|
157
|
+
withdrawals_count: withdrawals_count,
|
158
|
+
current_balance: current_balance,
|
159
|
+
deposit_limits: deposit_limits_structure,
|
160
|
+
transaction_unique_id: transaction_unique_id,
|
161
|
+
billing_information: kyc_billing_info_structure,
|
162
|
+
shipping_information: kyc_shipping_info_structure,
|
163
|
+
payment_details: payment_details_structure,
|
164
|
+
amount: amount,
|
165
|
+
currency: currency,
|
166
|
+
transaction_created_at: transaction_created_at,
|
167
|
+
transaction_status: transaction_status,
|
168
|
+
customer_ip_address: customer_ip_address,
|
169
|
+
customer_device_id: customer_device_id,
|
170
|
+
third_party_device_id: third_party_device_id,
|
171
|
+
device_fingerprint: device_fingerprint,
|
172
|
+
device_fingerprint_type: device_fingerprint_type,
|
173
|
+
shopping_cart_items_count: shopping_cart_items_count,
|
174
|
+
local_time: local_time,
|
175
|
+
order_source: order_source,
|
176
|
+
merchant_website: merchant_website,
|
177
|
+
industry_type: industry_type,
|
178
|
+
customer_password: customer_password,
|
179
|
+
rule_context: rule_context,
|
180
|
+
custom_variable: custom_variable
|
181
|
+
}
|
182
|
+
end
|
183
|
+
|
184
|
+
end
|
185
|
+
end
|
186
|
+
end
|
187
|
+
end
|
188
|
+
end
|
189
|
+
end
|
190
|
+
end
|
@@ -0,0 +1,63 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require 'genesis_ruby/api/constants/non_financial/kyc/transaction_statuses'
|
4
|
+
|
5
|
+
module GenesisRuby
|
6
|
+
module Api
|
7
|
+
module Requests
|
8
|
+
module NonFinancial
|
9
|
+
module Kyc
|
10
|
+
module Transaction
|
11
|
+
# Utilize this method to update a particular transaction status so we can continue improving the data models
|
12
|
+
# and provide the best scores and recommendations.
|
13
|
+
class Update < Api::Requests::Base::NonFinancial::Kyc::Base
|
14
|
+
|
15
|
+
attr_accessor :session_id,
|
16
|
+
:transaction_unique_id,
|
17
|
+
:reason,
|
18
|
+
:reference_id,
|
19
|
+
:cvv_check_result,
|
20
|
+
:avs_check_result,
|
21
|
+
:processor_identifier
|
22
|
+
attr_writer :transaction_status
|
23
|
+
|
24
|
+
# Initialize the Update transaction request
|
25
|
+
def initialize(configuration, _builder_interface = nil)
|
26
|
+
super configuration
|
27
|
+
|
28
|
+
self.request_path = 'update_transaction'
|
29
|
+
end
|
30
|
+
|
31
|
+
# Returns the transaction status as an integer
|
32
|
+
def transaction_status
|
33
|
+
@transaction_status&.to_i
|
34
|
+
end
|
35
|
+
|
36
|
+
# Initializes the required fields and their validations
|
37
|
+
def init_field_validations
|
38
|
+
required_fields.push *%i[transaction_unique_id]
|
39
|
+
|
40
|
+
field_values.merge! transaction_status: Api::Constants::NonFinancial::Kyc::TransactionStatuses.all
|
41
|
+
end
|
42
|
+
|
43
|
+
# Returns the request structure for the Update transaction request
|
44
|
+
def request_structure
|
45
|
+
{
|
46
|
+
session_id: session_id,
|
47
|
+
transaction_unique_id: transaction_unique_id,
|
48
|
+
reference_id: reference_id,
|
49
|
+
transaction_status: transaction_status,
|
50
|
+
reason: reason,
|
51
|
+
cvv_check_result: cvv_check_result,
|
52
|
+
avs_check_result: avs_check_result,
|
53
|
+
processor_identifier: processor_identifier
|
54
|
+
}
|
55
|
+
end
|
56
|
+
|
57
|
+
end
|
58
|
+
end
|
59
|
+
end
|
60
|
+
end
|
61
|
+
end
|
62
|
+
end
|
63
|
+
end
|
@@ -0,0 +1,90 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require 'genesis_ruby/api/constants/non_financial/kyc/address_supported_types'
|
4
|
+
require 'genesis_ruby/api/constants/non_financial/kyc/languages'
|
5
|
+
require 'genesis_ruby/api/constants/non_financial/kyc/verification_modes'
|
6
|
+
|
7
|
+
module GenesisRuby
|
8
|
+
module Api
|
9
|
+
module Requests
|
10
|
+
module NonFinancial
|
11
|
+
module Kyc
|
12
|
+
module Verifications
|
13
|
+
# The verification request will provide a link that will be used to redirect the customer.
|
14
|
+
# The customer will provide the required documents and will be verified against them.
|
15
|
+
# As a result, the user will be redirected back to merchant based on the provided redirect URL.
|
16
|
+
class Create < Api::Requests::Base::NonFinancial::Kyc::Base
|
17
|
+
|
18
|
+
include Api::Mixins::Requests::NonFinancial::Kyc::BackgroundChecksAttributes
|
19
|
+
include Api::Mixins::Requests::NonFinancial::Kyc::FaceAttributes
|
20
|
+
include Api::Mixins::Requests::NonFinancial::Kyc::VerificationAttributes
|
21
|
+
include Api::Mixins::Requests::NonFinancial::Kyc::VerificationDocumentAttributes
|
22
|
+
|
23
|
+
attr_accessor :language, :address_backside_proof_required, :allow_retry, :verification_mode
|
24
|
+
attr_reader :redirect_url, :address_supported_types
|
25
|
+
|
26
|
+
# Initializes the Create Verification Request
|
27
|
+
def initialize(configuration, _builder_interface = nil)
|
28
|
+
super configuration
|
29
|
+
|
30
|
+
self.request_path = 'verifications'
|
31
|
+
end
|
32
|
+
|
33
|
+
# URL where the customer is sent to after completing the verification process
|
34
|
+
def redirect_url=(value)
|
35
|
+
unless GenesisRuby::Utils::Common.valid_url?(value)
|
36
|
+
raise ParameterError, "Invalid URL given for #{__method__}"
|
37
|
+
end
|
38
|
+
|
39
|
+
@redirect_url = value
|
40
|
+
end
|
41
|
+
|
42
|
+
# Supported types of address that can be verified
|
43
|
+
def address_supported_types=(value)
|
44
|
+
parse_array_of_strings attribute: __method__,
|
45
|
+
value: value,
|
46
|
+
allowed: Api::Constants::NonFinancial::Kyc::AddressSupportedTypes.all,
|
47
|
+
allow_empty: true
|
48
|
+
end
|
49
|
+
|
50
|
+
protected
|
51
|
+
|
52
|
+
def init_field_validations
|
53
|
+
required_fields.push *%i[email]
|
54
|
+
|
55
|
+
field_values.merge!(
|
56
|
+
language: Api::Constants::NonFinancial::Kyc::Languages.all,
|
57
|
+
address_backside_proof_required: [true, false],
|
58
|
+
allow_retry: [true, false],
|
59
|
+
verification_mode: Api::Constants::NonFinancial::Kyc::VerificationModes.all
|
60
|
+
)
|
61
|
+
end
|
62
|
+
|
63
|
+
# Returns request structure for the Create verification
|
64
|
+
def request_structure # rubocop:disable Metrics/MethodLength
|
65
|
+
{
|
66
|
+
email: email,
|
67
|
+
country: country,
|
68
|
+
language: language,
|
69
|
+
redirect_url: redirect_url,
|
70
|
+
reference_id: reference_id,
|
71
|
+
document_supported_types: document_supported_types,
|
72
|
+
address_supported_types: address_supported_types,
|
73
|
+
face: face_attributes_structure,
|
74
|
+
backside_proof_required: backside_proof_required,
|
75
|
+
address_backside_proof_required: address_backside_proof_required,
|
76
|
+
expiry_date: expiry_date,
|
77
|
+
allow_retry: allow_retry,
|
78
|
+
verification_mode: verification_mode,
|
79
|
+
background_checks: background_checks_attributes_structure,
|
80
|
+
document: verification_document_attributes_structure
|
81
|
+
}
|
82
|
+
end
|
83
|
+
|
84
|
+
end
|
85
|
+
end
|
86
|
+
end
|
87
|
+
end
|
88
|
+
end
|
89
|
+
end
|
90
|
+
end
|
@@ -0,0 +1,44 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module GenesisRuby
|
4
|
+
module Api
|
5
|
+
module Requests
|
6
|
+
module NonFinancial
|
7
|
+
module Kyc
|
8
|
+
module Verifications
|
9
|
+
# Verification register request can be performed by reference_id. A reference id registration
|
10
|
+
# allows you to store the reference id in Genesis and receive notifications in Genesis for it.
|
11
|
+
class Register < Api::Requests::Base::NonFinancial::Kyc::Base
|
12
|
+
|
13
|
+
include Api::Mixins::Requests::Financial::ReferenceAttributes
|
14
|
+
|
15
|
+
# Initialize the request
|
16
|
+
def initialize(configuration, _builder_interface = nil)
|
17
|
+
super configuration
|
18
|
+
|
19
|
+
self.request_path = 'verifications/register'
|
20
|
+
end
|
21
|
+
|
22
|
+
protected
|
23
|
+
|
24
|
+
# Set the request field validations
|
25
|
+
def init_field_validations
|
26
|
+
super
|
27
|
+
|
28
|
+
required_fields.push *%i[reference_id]
|
29
|
+
end
|
30
|
+
|
31
|
+
# Return request structure
|
32
|
+
def request_structure
|
33
|
+
{
|
34
|
+
reference_id: reference_id
|
35
|
+
}
|
36
|
+
end
|
37
|
+
|
38
|
+
end
|
39
|
+
end
|
40
|
+
end
|
41
|
+
end
|
42
|
+
end
|
43
|
+
end
|
44
|
+
end
|
@@ -0,0 +1,50 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module GenesisRuby
|
4
|
+
module Api
|
5
|
+
module Requests
|
6
|
+
module NonFinancial
|
7
|
+
module Kyc
|
8
|
+
module Verifications
|
9
|
+
# Remote Identity Verification Request class for KYC Non-Financial API services
|
10
|
+
class RemoteIdentity < Api::Requests::Base::NonFinancial::Kyc::Base
|
11
|
+
|
12
|
+
include Api::Mixins::Requests::NonFinancial::Kyc::DocumentAttributes
|
13
|
+
include Api::Mixins::Requests::NonFinancial::Kyc::VerificationAttributes
|
14
|
+
|
15
|
+
# Initializes the Remote Identity Verification Request
|
16
|
+
def initialize(configuration, _builder_interface = nil)
|
17
|
+
super configuration
|
18
|
+
|
19
|
+
self.request_path = 'verifications'
|
20
|
+
end
|
21
|
+
|
22
|
+
protected
|
23
|
+
|
24
|
+
# Performs validation checks for the Remote Identity verification request
|
25
|
+
def check_requirements
|
26
|
+
raise ParameterError, 'Either email or reference_id field has to be set.' if email.nil? && reference_id.nil? # rubocop:disable Layout/LineLength
|
27
|
+
|
28
|
+
super
|
29
|
+
end
|
30
|
+
|
31
|
+
# Returns request structure for the Remote Identity verification
|
32
|
+
def request_structure
|
33
|
+
{
|
34
|
+
email: email,
|
35
|
+
reference_id: reference_id,
|
36
|
+
country: country,
|
37
|
+
backside_proof_required: backside_proof_required,
|
38
|
+
expiry_date: expiry_date,
|
39
|
+
document_supported_types: document_supported_types,
|
40
|
+
document: document_attributes_structure
|
41
|
+
}
|
42
|
+
end
|
43
|
+
|
44
|
+
end
|
45
|
+
end
|
46
|
+
end
|
47
|
+
end
|
48
|
+
end
|
49
|
+
end
|
50
|
+
end
|
@@ -0,0 +1,44 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module GenesisRuby
|
4
|
+
module Api
|
5
|
+
module Requests
|
6
|
+
module NonFinancial
|
7
|
+
module Kyc
|
8
|
+
module Verifications
|
9
|
+
# Verification status check request can be performed by reference_id. A status check may be needed
|
10
|
+
# if async notification has not arrived yet or when kyc notifications are not used in general.
|
11
|
+
class Status < Api::Requests::Base::NonFinancial::Kyc::Base
|
12
|
+
|
13
|
+
include Api::Mixins::Requests::Financial::ReferenceAttributes
|
14
|
+
|
15
|
+
# Initialize the request
|
16
|
+
def initialize(configuration, _builder_interface = nil)
|
17
|
+
super configuration
|
18
|
+
|
19
|
+
self.request_path = 'verifications/status'
|
20
|
+
end
|
21
|
+
|
22
|
+
protected
|
23
|
+
|
24
|
+
# Set the request field validations
|
25
|
+
def init_field_validations
|
26
|
+
super
|
27
|
+
|
28
|
+
required_fields.push *%i[reference_id]
|
29
|
+
end
|
30
|
+
|
31
|
+
# Return request structure
|
32
|
+
def request_structure
|
33
|
+
{
|
34
|
+
reference_id: reference_id
|
35
|
+
}
|
36
|
+
end
|
37
|
+
|
38
|
+
end
|
39
|
+
end
|
40
|
+
end
|
41
|
+
end
|
42
|
+
end
|
43
|
+
end
|
44
|
+
end
|
@@ -0,0 +1,73 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module GenesisRuby
|
4
|
+
module Api
|
5
|
+
module Requests
|
6
|
+
module NonFinancial
|
7
|
+
module Payee
|
8
|
+
module Account
|
9
|
+
# Create a Account related to a specific Payee.
|
10
|
+
class Create < Base::Versioned
|
11
|
+
|
12
|
+
PAYEE_ACCOUNT_TYPE_IBAN = 'iban'
|
13
|
+
PAYEE_ACCOUNT_TYPE_BANK = 'bank'
|
14
|
+
|
15
|
+
attr_accessor :payee_unique_id, :payee_account_type, :payee_account_number, :payee_account_country,
|
16
|
+
:payee_account_institution_code
|
17
|
+
|
18
|
+
# Retrieve Payee initialization
|
19
|
+
def initialize(configuration, _builder_interface = nil)
|
20
|
+
super configuration
|
21
|
+
|
22
|
+
self.request_path = 'payee/:payee_unique_id/account'
|
23
|
+
end
|
24
|
+
|
25
|
+
protected
|
26
|
+
|
27
|
+
# Sets the request field validations
|
28
|
+
def init_field_validations # rubocop:disable Metrics/MethodLength
|
29
|
+
super
|
30
|
+
|
31
|
+
required_fields.push *%i[
|
32
|
+
payee_unique_id payee_account_type payee_account_number
|
33
|
+
]
|
34
|
+
field_values.merge! payee_account_type: [PAYEE_ACCOUNT_TYPE_IBAN, PAYEE_ACCOUNT_TYPE_BANK],
|
35
|
+
payee_account_country: GenesisRuby::Utils::Country::COUNTRIES.keys
|
36
|
+
field_value_dependencies.merge!(
|
37
|
+
{
|
38
|
+
payee_account_type: {
|
39
|
+
PAYEE_ACCOUNT_TYPE_BANK => %i[payee_account_institution_code]
|
40
|
+
}
|
41
|
+
}
|
42
|
+
)
|
43
|
+
end
|
44
|
+
|
45
|
+
# Returns the request structure
|
46
|
+
def request_structure
|
47
|
+
{
|
48
|
+
account: {
|
49
|
+
type: payee_account_type,
|
50
|
+
number: payee_account_number,
|
51
|
+
country: payee_account_country,
|
52
|
+
institution_code: payee_account_institution_code
|
53
|
+
|
54
|
+
}
|
55
|
+
}
|
56
|
+
end
|
57
|
+
|
58
|
+
# Override API endpoint configuration
|
59
|
+
def process_request_parameters
|
60
|
+
super
|
61
|
+
|
62
|
+
processed_path = request_path.dup.gsub(':payee_unique_id', payee_unique_id.to_s)
|
63
|
+
|
64
|
+
init_api_service_configuration request_path: processed_path, include_token: false
|
65
|
+
end
|
66
|
+
|
67
|
+
end
|
68
|
+
end
|
69
|
+
end
|
70
|
+
end
|
71
|
+
end
|
72
|
+
end
|
73
|
+
end
|
@@ -0,0 +1,74 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module GenesisRuby
|
4
|
+
module Api
|
5
|
+
module Requests
|
6
|
+
module NonFinancial
|
7
|
+
module Payee
|
8
|
+
module Account
|
9
|
+
# Retrieve the details of all Account records that belongs to specific Payee.
|
10
|
+
class List < Base::Versioned
|
11
|
+
|
12
|
+
attr_accessor :payee_unique_id, :number_eq, :type_eq, :institution_code_eq
|
13
|
+
|
14
|
+
# Retrieve Payee initialization
|
15
|
+
def initialize(configuration, _builder_interface = nil)
|
16
|
+
super configuration
|
17
|
+
|
18
|
+
self.request_path = 'payee/:payee_unique_id/account'
|
19
|
+
end
|
20
|
+
|
21
|
+
protected
|
22
|
+
|
23
|
+
# Override default Versioned Network configuration
|
24
|
+
def init_configuration
|
25
|
+
super
|
26
|
+
|
27
|
+
init_get_configuration
|
28
|
+
end
|
29
|
+
|
30
|
+
# Sets the request field validations
|
31
|
+
def init_field_validations
|
32
|
+
super
|
33
|
+
|
34
|
+
required_fields.push *%i[
|
35
|
+
payee_unique_id
|
36
|
+
]
|
37
|
+
end
|
38
|
+
|
39
|
+
# Returns the request structure
|
40
|
+
def request_structure
|
41
|
+
{}
|
42
|
+
end
|
43
|
+
|
44
|
+
# Override API endpoint configuration
|
45
|
+
def process_request_parameters
|
46
|
+
processed_path = request_path.dup.gsub(':payee_unique_id', payee_unique_id.to_s)
|
47
|
+
|
48
|
+
query_params = build_query_params
|
49
|
+
processed_path += "?#{query_params}" unless query_params.empty?
|
50
|
+
|
51
|
+
init_api_service_configuration request_path: processed_path, include_token: false
|
52
|
+
|
53
|
+
super
|
54
|
+
end
|
55
|
+
|
56
|
+
private
|
57
|
+
|
58
|
+
# Build query parameters from filter fields
|
59
|
+
def build_query_params
|
60
|
+
params = {}
|
61
|
+
params['number_eq'] = number_eq if number_eq
|
62
|
+
params['type_eq'] = type_eq if type_eq
|
63
|
+
params['institution_code_eq'] = institution_code_eq if institution_code_eq
|
64
|
+
|
65
|
+
URI.encode_www_form(params)
|
66
|
+
end
|
67
|
+
|
68
|
+
end
|
69
|
+
end
|
70
|
+
end
|
71
|
+
end
|
72
|
+
end
|
73
|
+
end
|
74
|
+
end
|