genesis_ruby 0.2.6 → 0.2.7
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/CHANGELOG.md +18 -0
- data/Gemfile.lock +19 -19
- data/README.md +21 -0
- data/VERSION +1 -1
- data/lib/genesis_ruby/api/constants/currencies/iso4217.rb +4 -3
- data/lib/genesis_ruby/api/constants/date_time_formats.rb +9 -7
- data/lib/genesis_ruby/api/constants/endpoints.rb +4 -2
- data/lib/genesis_ruby/api/constants/environments.rb +4 -2
- data/lib/genesis_ruby/api/constants/i18n.rb +28 -26
- data/lib/genesis_ruby/api/constants/non_financial/kyc/address_supported_types.rb +51 -0
- data/lib/genesis_ruby/api/constants/non_financial/kyc/aml_filters.rb +49 -0
- data/lib/genesis_ruby/api/constants/non_financial/kyc/create_transaction_payment_methods.rb +23 -0
- data/lib/genesis_ruby/api/constants/non_financial/kyc/document_supported_types.rb +6 -4
- data/lib/genesis_ruby/api/constants/non_financial/kyc/document_types.rb +2 -0
- data/lib/genesis_ruby/api/constants/non_financial/kyc/genders.rb +4 -2
- data/lib/genesis_ruby/api/constants/non_financial/kyc/identity_document_methods.rb +27 -0
- data/lib/genesis_ruby/api/constants/non_financial/kyc/industry_types.rb +29 -0
- data/lib/genesis_ruby/api/constants/non_financial/kyc/languages.rb +318 -0
- data/lib/genesis_ruby/api/constants/non_financial/kyc/order_sources.rb +22 -0
- data/lib/genesis_ruby/api/constants/non_financial/kyc/profile_current_statuses.rb +2 -0
- data/lib/genesis_ruby/api/constants/non_financial/kyc/service_languages.rb +69 -0
- data/lib/genesis_ruby/api/constants/non_financial/kyc/transaction_statuses.rb +35 -0
- data/lib/genesis_ruby/api/constants/non_financial/kyc/verification_modes.rb +27 -0
- data/lib/genesis_ruby/api/constants/non_financial/kyc/verification_statuses.rb +29 -0
- data/lib/genesis_ruby/api/constants/states/state.rb +2 -0
- data/lib/genesis_ruby/api/constants/states.rb +24 -22
- data/lib/genesis_ruby/api/constants/transactions/parameters/african_mobile_operators.rb +8 -6
- data/lib/genesis_ruby/api/constants/transactions/parameters/business/payment_types.rb +4 -2
- data/lib/genesis_ruby/api/constants/transactions/parameters/cash_payments/cash_payment_types.rb +8 -6
- data/lib/genesis_ruby/api/constants/transactions/parameters/cash_payments/company_types.rb +2 -0
- data/lib/genesis_ruby/api/constants/transactions/parameters/cash_payments/genders.rb +2 -0
- data/lib/genesis_ruby/api/constants/transactions/parameters/cash_payments/marital_statuses.rb +2 -0
- data/lib/genesis_ruby/api/constants/transactions/parameters/credential_on_files.rb +5 -3
- data/lib/genesis_ruby/api/constants/transactions/parameters/customer_identification/customer_identification_owner.rb +4 -2
- data/lib/genesis_ruby/api/constants/transactions/parameters/customer_identification/customer_identification_subtype.rb +4 -2
- data/lib/genesis_ruby/api/constants/transactions/parameters/customer_identification/customer_identification_type.rb +17 -15
- data/lib/genesis_ruby/api/constants/transactions/parameters/digital_asset_types.rb +7 -5
- data/lib/genesis_ruby/api/constants/transactions/parameters/funding/business_application_identifier_types.rb +11 -9
- data/lib/genesis_ruby/api/constants/transactions/parameters/funding/identifier_types.rb +12 -10
- data/lib/genesis_ruby/api/constants/transactions/parameters/funding/receiver_account_types.rb +11 -9
- data/lib/genesis_ruby/api/constants/transactions/parameters/managed_recurring/amount_types.rb +4 -2
- data/lib/genesis_ruby/api/constants/transactions/parameters/managed_recurring/frequencies.rb +14 -12
- data/lib/genesis_ruby/api/constants/transactions/parameters/managed_recurring/intervals.rb +4 -2
- data/lib/genesis_ruby/api/constants/transactions/parameters/managed_recurring/modes.rb +4 -2
- data/lib/genesis_ruby/api/constants/transactions/parameters/managed_recurring/payment_types.rb +6 -4
- data/lib/genesis_ruby/api/constants/transactions/parameters/mobile/apple_pay/payment_subtypes.rb +5 -3
- data/lib/genesis_ruby/api/constants/transactions/parameters/mobile/google_pay/payment_subtypes.rb +5 -3
- data/lib/genesis_ruby/api/constants/transactions/parameters/mpi_protocol_sub_versions.rb +2 -0
- data/lib/genesis_ruby/api/constants/transactions/parameters/mpi_protocol_versions.rb +2 -0
- data/lib/genesis_ruby/api/constants/transactions/parameters/non_financial/billing_api/order_by_fields.rb +14 -12
- data/lib/genesis_ruby/api/constants/transactions/parameters/non_financial/billing_api/response_fields.rb +48 -46
- data/lib/genesis_ruby/api/constants/transactions/parameters/non_financial/billing_api/transaction_types.rb +29 -27
- data/lib/genesis_ruby/api/constants/transactions/parameters/non_financial/externally_processed.rb +5 -3
- data/lib/genesis_ruby/api/constants/transactions/parameters/non_financial/processing_type.rb +5 -3
- data/lib/genesis_ruby/api/constants/transactions/parameters/non_financial/sca_exemptions.rb +8 -6
- data/lib/genesis_ruby/api/constants/transactions/parameters/non_financial/sort_directions.rb +4 -2
- data/lib/genesis_ruby/api/constants/transactions/parameters/online_banking/bank_account_types.rb +6 -4
- data/lib/genesis_ruby/api/constants/transactions/parameters/online_banking/bank_code_currencies.rb +2 -0
- data/lib/genesis_ruby/api/constants/transactions/parameters/online_banking/bank_codes.rb +203 -201
- data/lib/genesis_ruby/api/constants/transactions/parameters/online_banking/iframe_targets.rb +5 -3
- data/lib/genesis_ruby/api/constants/transactions/parameters/online_banking/payment_types.rb +9 -7
- data/lib/genesis_ruby/api/constants/transactions/parameters/online_banking/payout_payment_types.rb +10 -8
- data/lib/genesis_ruby/api/constants/transactions/parameters/purpose_of_payment.rb +42 -40
- data/lib/genesis_ruby/api/constants/transactions/parameters/recurring/categories.rb +4 -2
- data/lib/genesis_ruby/api/constants/transactions/parameters/recurring/types.rb +5 -3
- data/lib/genesis_ruby/api/constants/transactions/parameters/refund/bank_account_types.rb +5 -3
- data/lib/genesis_ruby/api/constants/transactions/parameters/refund/credit_reason_indicators.rb +6 -4
- data/lib/genesis_ruby/api/constants/transactions/parameters/refund/ticket_change_indicators.rb +4 -2
- data/lib/genesis_ruby/api/constants/transactions/parameters/sca_exemptions.rb +8 -6
- data/lib/genesis_ruby/api/constants/transactions/parameters/source_of_funds.rb +8 -6
- data/lib/genesis_ruby/api/constants/transactions/parameters/threeds/version2/browser/color_depths.rb +2 -0
- data/lib/genesis_ruby/api/constants/transactions/parameters/threeds/version2/card_holder_account/password_change_indicators.rb +7 -5
- data/lib/genesis_ruby/api/constants/transactions/parameters/threeds/version2/card_holder_account/registration_indicators.rb +7 -5
- data/lib/genesis_ruby/api/constants/transactions/parameters/threeds/version2/card_holder_account/shipping_address_usage_indicators.rb +6 -4
- data/lib/genesis_ruby/api/constants/transactions/parameters/threeds/version2/card_holder_account/suspicious_activity_indicators.rb +4 -2
- data/lib/genesis_ruby/api/constants/transactions/parameters/threeds/version2/card_holder_account/update_indicators.rb +6 -4
- data/lib/genesis_ruby/api/constants/transactions/parameters/threeds/version2/control/challenge_indicators.rb +6 -4
- data/lib/genesis_ruby/api/constants/transactions/parameters/threeds/version2/control/challenge_window_sizes.rb +7 -5
- data/lib/genesis_ruby/api/constants/transactions/parameters/threeds/version2/control/device_types.rb +4 -2
- data/lib/genesis_ruby/api/constants/transactions/parameters/threeds/version2/merchant_risk/delivery_timeframes.rb +6 -4
- data/lib/genesis_ruby/api/constants/transactions/parameters/threeds/version2/merchant_risk/pre_order_purchase_indicators.rb +4 -2
- data/lib/genesis_ruby/api/constants/transactions/parameters/threeds/version2/merchant_risk/reorder_item_indicators.rb +4 -2
- data/lib/genesis_ruby/api/constants/transactions/parameters/threeds/version2/merchant_risk/shipping_indicators.rb +10 -8
- data/lib/genesis_ruby/api/constants/transactions/parameters/threeds/version2/purchase/categories.rb +9 -7
- data/lib/genesis_ruby/api/constants/transactions/parameters/threeds/version2/sdk/interfaces.rb +5 -3
- data/lib/genesis_ruby/api/constants/transactions/parameters/threeds/version2/sdk/ui_types.rb +7 -5
- data/lib/genesis_ruby/api/constants/transactions/parameters/travel_data/ancillary_charges_types.rb +25 -23
- data/lib/genesis_ruby/api/constants/transactions/parameters/wallets/pay_pal/payment_types.rb +5 -3
- data/lib/genesis_ruby/api/constants/transactions/parameters/wpf/reminder_channels.rb +4 -2
- data/lib/genesis_ruby/api/constants/transactions.rb +98 -93
- data/lib/genesis_ruby/api/mixins/constants/common.rb +2 -0
- data/lib/genesis_ruby/api/mixins/requests/address_info_attributes.rb +2 -0
- data/lib/genesis_ruby/api/mixins/requests/attribute_validation.rb +2 -0
- data/lib/genesis_ruby/api/mixins/requests/birth_date_attributes.rb +2 -0
- data/lib/genesis_ruby/api/mixins/requests/customer_address/billing_info_attributes.rb +2 -0
- data/lib/genesis_ruby/api/mixins/requests/customer_address/customer_info_attributes.rb +2 -0
- data/lib/genesis_ruby/api/mixins/requests/customer_address/shipping_info_attributes.rb +2 -0
- data/lib/genesis_ruby/api/mixins/requests/digital_asset_type_attributes.rb +2 -0
- data/lib/genesis_ruby/api/mixins/requests/document_attributes.rb +2 -0
- data/lib/genesis_ruby/api/mixins/requests/financial/african_mobile_attributes.rb +2 -0
- data/lib/genesis_ruby/api/mixins/requests/financial/async_attributes.rb +2 -0
- data/lib/genesis_ruby/api/mixins/requests/financial/bank_attributes.rb +2 -0
- data/lib/genesis_ruby/api/mixins/requests/financial/base_attributes.rb +2 -0
- data/lib/genesis_ruby/api/mixins/requests/financial/beneficiary_attributes.rb +2 -0
- data/lib/genesis_ruby/api/mixins/requests/financial/business/airlines_air_carriers_attributes.rb +2 -0
- data/lib/genesis_ruby/api/mixins/requests/financial/business/business_attributes.rb +2 -0
- data/lib/genesis_ruby/api/mixins/requests/financial/business/car_plane_and_boat_rentals_attributes.rb +2 -0
- data/lib/genesis_ruby/api/mixins/requests/financial/business/cruise_lines_attributes.rb +2 -0
- data/lib/genesis_ruby/api/mixins/requests/financial/business/event_management_attributes.rb +2 -0
- data/lib/genesis_ruby/api/mixins/requests/financial/business/furniture_attributes.rb +2 -0
- data/lib/genesis_ruby/api/mixins/requests/financial/business/hotels_and_real_estate_rentals_attributes.rb +2 -0
- data/lib/genesis_ruby/api/mixins/requests/financial/business/travel_agencies_attributes.rb +2 -0
- data/lib/genesis_ruby/api/mixins/requests/financial/cards/account_owner_attributes.rb +2 -0
- data/lib/genesis_ruby/api/mixins/requests/financial/cards/credential_on_file_attributes.rb +2 -0
- data/lib/genesis_ruby/api/mixins/requests/financial/cards/credit_card_attributes.rb +2 -0
- data/lib/genesis_ruby/api/mixins/requests/financial/cards/fx_rate_attributes.rb +2 -0
- data/lib/genesis_ruby/api/mixins/requests/financial/cards/installment_attributes.rb +2 -0
- data/lib/genesis_ruby/api/mixins/requests/financial/cards/mpi_attributes.rb +2 -0
- data/lib/genesis_ruby/api/mixins/requests/financial/cards/recurring/managed_recurring_attributes.rb +2 -0
- data/lib/genesis_ruby/api/mixins/requests/financial/cards/recurring/managed_recurring_indian_card_attributes.rb +2 -0
- data/lib/genesis_ruby/api/mixins/requests/financial/cards/recurring/recurring_category_attributes.rb +2 -0
- data/lib/genesis_ruby/api/mixins/requests/financial/cards/recurring/recurring_type_attributes.rb +2 -0
- data/lib/genesis_ruby/api/mixins/requests/financial/cards/tokenization_attributes.rb +2 -0
- data/lib/genesis_ruby/api/mixins/requests/financial/cards/tokenization_params_attributes.rb +2 -0
- data/lib/genesis_ruby/api/mixins/requests/financial/cards/ucof_attributes.rb +2 -0
- data/lib/genesis_ruby/api/mixins/requests/financial/consumer_identifier_attributes.rb +2 -0
- data/lib/genesis_ruby/api/mixins/requests/financial/crypto_attributes.rb +2 -0
- data/lib/genesis_ruby/api/mixins/requests/financial/customer_account_attributes.rb +2 -0
- data/lib/genesis_ruby/api/mixins/requests/financial/customer_identification_attributes.rb +2 -0
- data/lib/genesis_ruby/api/mixins/requests/financial/dynamic_descriptor_attributes.rb +2 -0
- data/lib/genesis_ruby/api/mixins/requests/financial/funding_attributes.rb +2 -0
- data/lib/genesis_ruby/api/mixins/requests/financial/gaming_attributes.rb +2 -0
- data/lib/genesis_ruby/api/mixins/requests/financial/gift_cards_attributes.rb +2 -0
- data/lib/genesis_ruby/api/mixins/requests/financial/mobile/apple_pay_token_attributes.rb +2 -0
- data/lib/genesis_ruby/api/mixins/requests/financial/mobile/google_pay_token_attributes.rb +2 -0
- data/lib/genesis_ruby/api/mixins/requests/financial/moto_attributes.rb +2 -0
- data/lib/genesis_ruby/api/mixins/requests/financial/notification_attributes.rb +2 -0
- data/lib/genesis_ruby/api/mixins/requests/financial/online_banking_payments/payer_attributes.rb +2 -0
- data/lib/genesis_ruby/api/mixins/requests/financial/online_banking_payments/pix_attributes.rb +2 -0
- data/lib/genesis_ruby/api/mixins/requests/financial/online_banking_payments/virtual_payment_address_attributes.rb +2 -0
- data/lib/genesis_ruby/api/mixins/requests/financial/payment_attributes.rb +2 -0
- data/lib/genesis_ruby/api/mixins/requests/financial/pending_payment_attributes.rb +2 -0
- data/lib/genesis_ruby/api/mixins/requests/financial/preauthorization_attributes.rb +2 -0
- data/lib/genesis_ruby/api/mixins/requests/financial/purpose_of_payment_attributes.rb +2 -0
- data/lib/genesis_ruby/api/mixins/requests/financial/reference_attributes.rb +2 -0
- data/lib/genesis_ruby/api/mixins/requests/financial/risk_attributes.rb +2 -0
- data/lib/genesis_ruby/api/mixins/requests/financial/sca_attributes.rb +2 -0
- data/lib/genesis_ruby/api/mixins/requests/financial/source_of_funds_attributes.rb +2 -0
- data/lib/genesis_ruby/api/mixins/requests/financial/threeds/version2/browser.rb +2 -0
- data/lib/genesis_ruby/api/mixins/requests/financial/threeds/version2/card_holder_account.rb +2 -0
- data/lib/genesis_ruby/api/mixins/requests/financial/threeds/version2/common_attributes.rb +2 -0
- data/lib/genesis_ruby/api/mixins/requests/financial/threeds/version2/control.rb +2 -0
- data/lib/genesis_ruby/api/mixins/requests/financial/threeds/version2/merchant_risk.rb +2 -0
- data/lib/genesis_ruby/api/mixins/requests/financial/threeds/version2/method.rb +2 -0
- data/lib/genesis_ruby/api/mixins/requests/financial/threeds/version2/purchase.rb +2 -0
- data/lib/genesis_ruby/api/mixins/requests/financial/threeds/version2/recurring.rb +2 -0
- data/lib/genesis_ruby/api/mixins/requests/financial/threeds/version2/sdk.rb +2 -0
- data/lib/genesis_ruby/api/mixins/requests/financial/threeds/version2/wpf_attributes.rb +2 -0
- data/lib/genesis_ruby/api/mixins/requests/financial/travel_data/airline_itinerary_attributes.rb +2 -0
- data/lib/genesis_ruby/api/mixins/requests/financial/travel_data/car_rental_attributes.rb +2 -0
- data/lib/genesis_ruby/api/mixins/requests/financial/travel_data/hotel_rental_attributes.rb +2 -0
- data/lib/genesis_ruby/api/mixins/requests/financial/travel_data/reference_ticket_attributes.rb +2 -0
- data/lib/genesis_ruby/api/mixins/requests/financial/travel_data/travel_attributes.rb +2 -0
- data/lib/genesis_ruby/api/mixins/requests/non_financial/billing_api/sort_attributes.rb +2 -0
- data/lib/genesis_ruby/api/mixins/requests/non_financial/date_attributes.rb +2 -0
- data/lib/genesis_ruby/api/mixins/requests/non_financial/fx/id_attributes.rb +2 -0
- data/lib/genesis_ruby/api/mixins/requests/non_financial/fx/tier_id_attributes.rb +2 -0
- data/lib/genesis_ruby/api/mixins/requests/non_financial/kyc/background_checks_attributes.rb +75 -0
- data/lib/genesis_ruby/api/mixins/requests/non_financial/kyc/customer_information_attributes.rb +2 -0
- data/lib/genesis_ruby/api/mixins/requests/non_financial/kyc/deposit_limits_attributes.rb +40 -0
- data/lib/genesis_ruby/api/mixins/requests/non_financial/kyc/document_attributes.rb +2 -0
- data/lib/genesis_ruby/api/mixins/requests/non_financial/kyc/face_attributes.rb +61 -0
- data/lib/genesis_ruby/api/mixins/requests/non_financial/kyc/identity_document_attributes.rb +51 -0
- data/lib/genesis_ruby/api/mixins/requests/non_financial/kyc/kyc_billing_info_attributes.rb +87 -0
- data/lib/genesis_ruby/api/mixins/requests/non_financial/kyc/kyc_shipping_info_attributes.rb +85 -0
- data/lib/genesis_ruby/api/mixins/requests/non_financial/kyc/payment_details_attributes.rb +33 -0
- data/lib/genesis_ruby/api/mixins/requests/non_financial/kyc/verification_attributes.rb +74 -0
- data/lib/genesis_ruby/api/mixins/requests/non_financial/kyc/verification_document_attributes.rb +65 -0
- data/lib/genesis_ruby/api/mixins/requests/non_financial/mode_attributes.rb +2 -0
- data/lib/genesis_ruby/api/mixins/requests/non_financial/paging_attributes.rb +2 -0
- data/lib/genesis_ruby/api/mixins/requests/non_financial/tokenization/card_data_attributes.rb +2 -0
- data/lib/genesis_ruby/api/mixins/requests/non_financial/tokenization/token_attributes.rb +2 -0
- data/lib/genesis_ruby/api/mixins/requests/non_financial/tokenization/tokenization_attributes.rb +2 -0
- data/lib/genesis_ruby/api/mixins/requests/restricted_setter.rb +2 -0
- data/lib/genesis_ruby/api/mixins/requests/wpf_reminders_attributes.rb +2 -0
- data/lib/genesis_ruby/api/notification.rb +8 -6
- data/lib/genesis_ruby/api/request.rb +8 -6
- data/lib/genesis_ruby/api/requests/base/consumer.rb +2 -0
- data/lib/genesis_ruby/api/requests/base/financial.rb +2 -0
- data/lib/genesis_ruby/api/requests/base/financials/credit_card.rb +2 -0
- data/lib/genesis_ruby/api/requests/base/financials/south_american_payments.rb +2 -0
- data/lib/genesis_ruby/api/requests/base/graphql.rb +2 -0
- data/lib/genesis_ruby/api/requests/base/non_financial/kyc/base.rb +2 -0
- data/lib/genesis_ruby/api/requests/base/reference.rb +2 -0
- data/lib/genesis_ruby/api/requests/base/versioned.rb +3 -1
- data/lib/genesis_ruby/api/requests/financial/capture.rb +2 -0
- data/lib/genesis_ruby/api/requests/financial/cards/argencard.rb +2 -0
- data/lib/genesis_ruby/api/requests/financial/cards/aura.rb +2 -0
- data/lib/genesis_ruby/api/requests/financial/cards/authorize.rb +2 -0
- data/lib/genesis_ruby/api/requests/financial/cards/authorize3d.rb +2 -0
- data/lib/genesis_ruby/api/requests/financial/cards/bancontact.rb +2 -0
- data/lib/genesis_ruby/api/requests/financial/cards/cabal.rb +2 -0
- data/lib/genesis_ruby/api/requests/financial/cards/cencosud.rb +2 -0
- data/lib/genesis_ruby/api/requests/financial/cards/credit.rb +2 -0
- data/lib/genesis_ruby/api/requests/financial/cards/elo.rb +2 -0
- data/lib/genesis_ruby/api/requests/financial/cards/naranja.rb +2 -0
- data/lib/genesis_ruby/api/requests/financial/cards/nativa.rb +2 -0
- data/lib/genesis_ruby/api/requests/financial/cards/payout.rb +2 -0
- data/lib/genesis_ruby/api/requests/financial/cards/sale.rb +2 -0
- data/lib/genesis_ruby/api/requests/financial/cards/sale3d.rb +2 -0
- data/lib/genesis_ruby/api/requests/financial/cards/tarjeta_shopping.rb +2 -0
- data/lib/genesis_ruby/api/requests/financial/cards/threeds/v2/method_continue.rb +2 -0
- data/lib/genesis_ruby/api/requests/financial/cash_payments/baloto.rb +2 -0
- data/lib/genesis_ruby/api/requests/financial/cash_payments/banco_de_occidente.rb +2 -0
- data/lib/genesis_ruby/api/requests/financial/cash_payments/boleto.rb +2 -0
- data/lib/genesis_ruby/api/requests/financial/cash_payments/cash.rb +2 -0
- data/lib/genesis_ruby/api/requests/financial/cash_payments/efecty.rb +2 -0
- data/lib/genesis_ruby/api/requests/financial/cash_payments/oxxo.rb +2 -0
- data/lib/genesis_ruby/api/requests/financial/cash_payments/pago_facil.rb +2 -0
- data/lib/genesis_ruby/api/requests/financial/cash_payments/pix.rb +2 -0
- data/lib/genesis_ruby/api/requests/financial/cash_payments/redpagos.rb +2 -0
- data/lib/genesis_ruby/api/requests/financial/crypto/bit_pay/payout.rb +2 -0
- data/lib/genesis_ruby/api/requests/financial/crypto/bit_pay/refund.rb +2 -0
- data/lib/genesis_ruby/api/requests/financial/crypto/bit_pay/sale.rb +2 -0
- data/lib/genesis_ruby/api/requests/financial/gift_cards/fashioncheque.rb +2 -0
- data/lib/genesis_ruby/api/requests/financial/gift_cards/intersolve.rb +2 -0
- data/lib/genesis_ruby/api/requests/financial/gift_cards/tcs.rb +2 -0
- data/lib/genesis_ruby/api/requests/financial/mobile/african_mobile_sale.rb +2 -0
- data/lib/genesis_ruby/api/requests/financial/mobile/apple_pay.rb +2 -0
- data/lib/genesis_ruby/api/requests/financial/mobile/google_pay.rb +2 -0
- data/lib/genesis_ruby/api/requests/financial/mobile/russian_mobile_sale.rb +2 -0
- data/lib/genesis_ruby/api/requests/financial/online_banking_payments/banco_do_brasil.rb +2 -0
- data/lib/genesis_ruby/api/requests/financial/online_banking_payments/bancomer.rb +2 -0
- data/lib/genesis_ruby/api/requests/financial/online_banking_payments/bradesco.rb +2 -0
- data/lib/genesis_ruby/api/requests/financial/online_banking_payments/davivienda.rb +2 -0
- data/lib/genesis_ruby/api/requests/financial/online_banking_payments/eps.rb +2 -0
- data/lib/genesis_ruby/api/requests/financial/online_banking_payments/idebit/pay_in.rb +2 -0
- data/lib/genesis_ruby/api/requests/financial/online_banking_payments/idebit/pay_out.rb +2 -0
- data/lib/genesis_ruby/api/requests/financial/online_banking_payments/insta_debit/pay_in.rb +2 -0
- data/lib/genesis_ruby/api/requests/financial/online_banking_payments/insta_debit/pay_out.rb +2 -0
- data/lib/genesis_ruby/api/requests/financial/online_banking_payments/itau.rb +2 -0
- data/lib/genesis_ruby/api/requests/financial/online_banking_payments/multibanco.rb +2 -0
- data/lib/genesis_ruby/api/requests/financial/online_banking_payments/my_bank.rb +2 -0
- data/lib/genesis_ruby/api/requests/financial/online_banking_payments/online_banking/pay_in.rb +2 -0
- data/lib/genesis_ruby/api/requests/financial/online_banking_payments/online_banking/pay_out.rb +2 -0
- data/lib/genesis_ruby/api/requests/financial/online_banking_payments/pay_u.rb +2 -0
- data/lib/genesis_ruby/api/requests/financial/online_banking_payments/post_finance.rb +2 -0
- data/lib/genesis_ruby/api/requests/financial/online_banking_payments/pse.rb +2 -0
- data/lib/genesis_ruby/api/requests/financial/online_banking_payments/rapi_pago.rb +2 -0
- data/lib/genesis_ruby/api/requests/financial/online_banking_payments/safety_pay.rb +2 -0
- data/lib/genesis_ruby/api/requests/financial/online_banking_payments/santander.rb +2 -0
- data/lib/genesis_ruby/api/requests/financial/online_banking_payments/sofort.rb +2 -0
- data/lib/genesis_ruby/api/requests/financial/online_banking_payments/trustly_sale.rb +2 -0
- data/lib/genesis_ruby/api/requests/financial/online_banking_payments/upi.rb +2 -0
- data/lib/genesis_ruby/api/requests/financial/online_banking_payments/webpay.rb +2 -0
- data/lib/genesis_ruby/api/requests/financial/online_banking_payments/wechat.rb +2 -0
- data/lib/genesis_ruby/api/requests/financial/payout/global_payout.rb +42 -0
- data/lib/genesis_ruby/api/requests/financial/preauthorizations/incremental_authorize.rb +2 -0
- data/lib/genesis_ruby/api/requests/financial/preauthorizations/partial_reversal.rb +2 -0
- data/lib/genesis_ruby/api/requests/financial/refund.rb +2 -0
- data/lib/genesis_ruby/api/requests/financial/sdd/recurring/init_recurring_sale.rb +2 -0
- data/lib/genesis_ruby/api/requests/financial/sdd/recurring/recurring_sale.rb +2 -0
- data/lib/genesis_ruby/api/requests/financial/sdd/refund.rb +2 -0
- data/lib/genesis_ruby/api/requests/financial/sdd/sale.rb +2 -0
- data/lib/genesis_ruby/api/requests/financial/void.rb +2 -0
- data/lib/genesis_ruby/api/requests/financial/vouchers/neosurf.rb +2 -0
- data/lib/genesis_ruby/api/requests/financial/wallets/alipay.rb +2 -0
- data/lib/genesis_ruby/api/requests/financial/wallets/pay_pal.rb +2 -0
- data/lib/genesis_ruby/api/requests/non_financial/billing_api/transactions.rb +2 -0
- data/lib/genesis_ruby/api/requests/non_financial/consumers/create.rb +2 -0
- data/lib/genesis_ruby/api/requests/non_financial/consumers/disable.rb +2 -0
- data/lib/genesis_ruby/api/requests/non_financial/consumers/enable.rb +2 -0
- data/lib/genesis_ruby/api/requests/non_financial/consumers/get_cards.rb +2 -0
- data/lib/genesis_ruby/api/requests/non_financial/consumers/retrieve.rb +2 -0
- data/lib/genesis_ruby/api/requests/non_financial/consumers/update.rb +2 -0
- data/lib/genesis_ruby/api/requests/non_financial/fraud/chargeback/date_range.rb +2 -0
- data/lib/genesis_ruby/api/requests/non_financial/fraud/chargeback/transaction.rb +2 -0
- data/lib/genesis_ruby/api/requests/non_financial/fraud/reports/date_range.rb +2 -0
- data/lib/genesis_ruby/api/requests/non_financial/fraud/reports/transaction.rb +2 -0
- data/lib/genesis_ruby/api/requests/non_financial/fraud/retrieval/date_range.rb +2 -0
- data/lib/genesis_ruby/api/requests/non_financial/fraud/retrieval/transaction.rb +2 -0
- data/lib/genesis_ruby/api/requests/non_financial/fx/get_rate.rb +6 -3
- data/lib/genesis_ruby/api/requests/non_financial/fx/get_rates.rb +7 -2
- data/lib/genesis_ruby/api/requests/non_financial/fx/get_tier.rb +7 -2
- data/lib/genesis_ruby/api/requests/non_financial/fx/get_tiers.rb +2 -0
- data/lib/genesis_ruby/api/requests/non_financial/fx/search_rate.rb +7 -2
- data/lib/genesis_ruby/api/requests/non_financial/installments/fetch.rb +2 -0
- data/lib/genesis_ruby/api/requests/non_financial/installments/show.rb +7 -2
- data/lib/genesis_ruby/api/requests/non_financial/kyc/call/create.rb +90 -0
- data/lib/genesis_ruby/api/requests/non_financial/kyc/call/update.rb +60 -0
- data/lib/genesis_ruby/api/requests/non_financial/kyc/cnpj/check.rb +52 -0
- data/lib/genesis_ruby/api/requests/non_financial/kyc/consumer_registration/create.rb +2 -0
- data/lib/genesis_ruby/api/requests/non_financial/kyc/consumer_registration/update.rb +2 -0
- data/lib/genesis_ruby/api/requests/non_financial/kyc/cpf/check.rb +52 -0
- data/lib/genesis_ruby/api/requests/non_financial/kyc/identity_document/download.rb +43 -0
- data/lib/genesis_ruby/api/requests/non_financial/kyc/identity_document/upload.rb +67 -0
- data/lib/genesis_ruby/api/requests/non_financial/kyc/transaction/create.rb +190 -0
- data/lib/genesis_ruby/api/requests/non_financial/kyc/transaction/update.rb +63 -0
- data/lib/genesis_ruby/api/requests/non_financial/kyc/verifications/create.rb +90 -0
- data/lib/genesis_ruby/api/requests/non_financial/kyc/verifications/register.rb +44 -0
- data/lib/genesis_ruby/api/requests/non_financial/kyc/verifications/remote_identity.rb +2 -43
- data/lib/genesis_ruby/api/requests/non_financial/kyc/verifications/status.rb +44 -0
- data/lib/genesis_ruby/api/requests/non_financial/payee/account/create.rb +73 -0
- data/lib/genesis_ruby/api/requests/non_financial/payee/account/list.rb +74 -0
- data/lib/genesis_ruby/api/requests/non_financial/payee/account/retrieve.rb +61 -0
- data/lib/genesis_ruby/api/requests/non_financial/payee/create.rb +60 -0
- data/lib/genesis_ruby/api/requests/non_financial/payee/retrieve.rb +57 -0
- data/lib/genesis_ruby/api/requests/non_financial/processed_transactions/date_range.rb +2 -0
- data/lib/genesis_ruby/api/requests/non_financial/processed_transactions/post_date_range.rb +2 -0
- data/lib/genesis_ruby/api/requests/non_financial/processed_transactions/transaction.rb +2 -0
- data/lib/genesis_ruby/api/requests/non_financial/reconcile/date_range.rb +2 -0
- data/lib/genesis_ruby/api/requests/non_financial/reconcile/transaction.rb +2 -0
- data/lib/genesis_ruby/api/requests/non_financial/sca/checker.rb +2 -0
- data/lib/genesis_ruby/api/requests/non_financial/tokenization/cryptogram.rb +2 -0
- data/lib/genesis_ruby/api/requests/non_financial/tokenization/delete_token.rb +2 -0
- data/lib/genesis_ruby/api/requests/non_financial/tokenization/detokenize.rb +2 -0
- data/lib/genesis_ruby/api/requests/non_financial/tokenization/get_card.rb +2 -0
- data/lib/genesis_ruby/api/requests/non_financial/tokenization/tokenize.rb +2 -0
- data/lib/genesis_ruby/api/requests/non_financial/tokenization/update_token.rb +2 -0
- data/lib/genesis_ruby/api/requests/non_financial/tokenization/validate_token.rb +2 -0
- data/lib/genesis_ruby/api/requests/wpf/create.rb +2 -0
- data/lib/genesis_ruby/api/requests/wpf/reconcile.rb +2 -0
- data/lib/genesis_ruby/api/response.rb +2 -0
- data/lib/genesis_ruby/builder.rb +6 -4
- data/lib/genesis_ruby/builders/base.rb +2 -0
- data/lib/genesis_ruby/builders/form.rb +2 -0
- data/lib/genesis_ruby/builders/graphql.rb +2 -0
- data/lib/genesis_ruby/builders/json.rb +2 -0
- data/lib/genesis_ruby/builders/xml.rb +2 -0
- data/lib/genesis_ruby/configuration.rb +3 -1
- data/lib/genesis_ruby/connection.rb +2 -0
- data/lib/genesis_ruby/dependencies.rb +2 -0
- data/lib/genesis_ruby/errors/builder_error.rb +2 -0
- data/lib/genesis_ruby/errors/endpoint_not_set_error.rb +2 -0
- data/lib/genesis_ruby/errors/error.rb +2 -0
- data/lib/genesis_ruby/errors/invalid_argument_error.rb +2 -0
- data/lib/genesis_ruby/errors/network_error.rb +2 -0
- data/lib/genesis_ruby/errors/object_formatter_error.rb +2 -0
- data/lib/genesis_ruby/errors/parameter_error.rb +2 -0
- data/lib/genesis_ruby/errors/parser_error.rb +2 -0
- data/lib/genesis_ruby/errors/request_error.rb +2 -0
- data/lib/genesis_ruby/errors/response_error.rb +2 -0
- data/lib/genesis_ruby/network/adapter/base_adapter.rb +2 -0
- data/lib/genesis_ruby/network/adapter/net_http_adapter.rb +4 -0
- data/lib/genesis_ruby/network/base_network.rb +5 -3
- data/lib/genesis_ruby/network/net_http.rb +2 -0
- data/lib/genesis_ruby/parser.rb +4 -2
- data/lib/genesis_ruby/parsers/base.rb +2 -0
- data/lib/genesis_ruby/parsers/json.rb +2 -0
- data/lib/genesis_ruby/parsers/xml.rb +2 -0
- data/lib/genesis_ruby/utils/common.rb +2 -0
- data/lib/genesis_ruby/utils/country.rb +2 -0
- data/lib/genesis_ruby/utils/formatters/base.rb +2 -0
- data/lib/genesis_ruby/utils/formatters/response/definitions.rb +2 -0
- data/lib/genesis_ruby/utils/formatters/response/formats/amount.rb +2 -0
- data/lib/genesis_ruby/utils/formatters/response/formats/timestamp.rb +2 -0
- data/lib/genesis_ruby/utils/formatters/response/loader.rb +2 -0
- data/lib/genesis_ruby/utils/money/base/strategy.rb +2 -0
- data/lib/genesis_ruby/utils/money/conversions/amount_to_exponent.rb +2 -0
- data/lib/genesis_ruby/utils/money/conversions/exponent_to_amount.rb +2 -0
- data/lib/genesis_ruby/utils/money/format.rb +2 -0
- data/lib/genesis_ruby/utils/money_format.rb +2 -0
- data/lib/genesis_ruby/utils/object_formatter.rb +2 -0
- data/lib/genesis_ruby/utils/options/api_config.rb +2 -0
- data/lib/genesis_ruby/utils/options/base.rb +2 -0
- data/lib/genesis_ruby/utils/options/network_adapter_config.rb +2 -0
- data/lib/genesis_ruby/utils/options/reminder.rb +2 -0
- data/lib/genesis_ruby/utils/threeds/v2.rb +2 -0
- data/lib/genesis_ruby/utils/transactions/financial_types.rb +2 -0
- data/lib/genesis_ruby/utils/transactions/references/capturable_types.rb +2 -0
- data/lib/genesis_ruby/utils/transactions/references/refundable_types.rb +2 -0
- data/lib/genesis_ruby/utils/transactions/references/voidable_types.rb +2 -0
- data/lib/genesis_ruby/utils/transactions/travel_data/airline_itinerary/base.rb +2 -0
- data/lib/genesis_ruby/utils/transactions/travel_data/airline_itinerary/leg.rb +2 -0
- data/lib/genesis_ruby/utils/transactions/travel_data/airline_itinerary/tax.rb +2 -0
- data/lib/genesis_ruby/utils/transactions/wpf_types.rb +2 -0
- data/lib/genesis_ruby/version.rb +3 -1
- data/lib/genesis_ruby.rb +2 -0
- metadata +39 -2
@@ -0,0 +1,90 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require 'genesis_ruby/api/constants/non_financial/kyc/service_languages'
|
4
|
+
|
5
|
+
module GenesisRuby
|
6
|
+
module Api
|
7
|
+
module Requests
|
8
|
+
module NonFinancial
|
9
|
+
module Kyc
|
10
|
+
module Call
|
11
|
+
# Create Call Request class for KYC Non-Financial API services
|
12
|
+
# This method is used to make a call or send an SMS to a given phone number.
|
13
|
+
class Create < Api::Requests::Base::NonFinancial::Kyc::Base
|
14
|
+
|
15
|
+
SERVICE_TYPE_SMS = 1
|
16
|
+
SERVICE_TYPE_VOICE = 2
|
17
|
+
|
18
|
+
VALID_SERVICE_TYPES = [SERVICE_TYPE_SMS, SERVICE_TYPE_VOICE].freeze
|
19
|
+
|
20
|
+
attr_accessor :customer_username, :customer_unique_id, :transaction_unique_id, :service_language,
|
21
|
+
:service_type
|
22
|
+
attr_reader :customer_phone_number, :security_code
|
23
|
+
|
24
|
+
# Initialize the Make Call document request
|
25
|
+
def initialize(configuration, _builder_interface = nil)
|
26
|
+
super configuration
|
27
|
+
|
28
|
+
self.request_path = 'create_authentication'
|
29
|
+
end
|
30
|
+
|
31
|
+
# Set the customer username for the Make Call request
|
32
|
+
def customer_phone_number=(value)
|
33
|
+
error_message = format(
|
34
|
+
'Invalid value given for %{attribute}',
|
35
|
+
attribute: __method__
|
36
|
+
)
|
37
|
+
raise GenesisRuby::InvalidArgumentError, error_message unless value.nil? || value =~ /^\d+$/
|
38
|
+
|
39
|
+
@customer_phone_number = value
|
40
|
+
end
|
41
|
+
|
42
|
+
# Set the service type for the Make Call request
|
43
|
+
def security_code=(value)
|
44
|
+
error_message = format(
|
45
|
+
'Invalid value given for %{attribute}',
|
46
|
+
attribute: __method__
|
47
|
+
)
|
48
|
+
raise GenesisRuby::InvalidArgumentError, error_message unless value.nil? || value =~ /^[1-9]\d{3}$/
|
49
|
+
|
50
|
+
@security_code = value
|
51
|
+
end
|
52
|
+
|
53
|
+
protected
|
54
|
+
|
55
|
+
# Initialize field validations for the Make Call request
|
56
|
+
def init_field_validations
|
57
|
+
super
|
58
|
+
|
59
|
+
required_fields.push *%i[
|
60
|
+
transaction_unique_id
|
61
|
+
customer_phone_number
|
62
|
+
service_language
|
63
|
+
security_code
|
64
|
+
service_type
|
65
|
+
]
|
66
|
+
|
67
|
+
field_values.merge! service_type: VALID_SERVICE_TYPES,
|
68
|
+
service_language: GenesisRuby::Api::Constants::NonFinancial::Kyc::ServiceLanguages.all # rubocop:disable Layout/LineLength
|
69
|
+
end
|
70
|
+
|
71
|
+
# Build the request structure for the Make Call request
|
72
|
+
def request_structure
|
73
|
+
{
|
74
|
+
customer_unique_id: customer_unique_id,
|
75
|
+
customer_username: customer_username,
|
76
|
+
transaction_unique_id: transaction_unique_id,
|
77
|
+
customer_phone_number: customer_phone_number,
|
78
|
+
service_language: service_language,
|
79
|
+
security_code: security_code,
|
80
|
+
service_type: service_type
|
81
|
+
}
|
82
|
+
end
|
83
|
+
|
84
|
+
end
|
85
|
+
end
|
86
|
+
end
|
87
|
+
end
|
88
|
+
end
|
89
|
+
end
|
90
|
+
end
|
@@ -0,0 +1,60 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require 'genesis_ruby/api/constants/non_financial/kyc/verification_statuses'
|
4
|
+
|
5
|
+
module GenesisRuby
|
6
|
+
module Api
|
7
|
+
module Requests
|
8
|
+
module NonFinancial
|
9
|
+
module Kyc
|
10
|
+
module Call
|
11
|
+
# Update Call Request class for KYC Non-Financial API services
|
12
|
+
# This method is used to update the call status with the latest info received from the main system.
|
13
|
+
# It also updates the transaction associated with this verification call.
|
14
|
+
class Update < Api::Requests::Base::NonFinancial::Kyc::Base
|
15
|
+
|
16
|
+
attr_accessor :reference_id, :security_code_input
|
17
|
+
attr_writer :verification_status
|
18
|
+
|
19
|
+
# Initialize the Update Call document request
|
20
|
+
def initialize(configuration, _builder_interface = nil)
|
21
|
+
super configuration
|
22
|
+
|
23
|
+
self.request_path = 'update_authentication'
|
24
|
+
end
|
25
|
+
|
26
|
+
def verification_status
|
27
|
+
@verification_status.to_s
|
28
|
+
end
|
29
|
+
|
30
|
+
protected
|
31
|
+
|
32
|
+
# Initialize the field validations for the Update Call request
|
33
|
+
def init_field_validations
|
34
|
+
super
|
35
|
+
|
36
|
+
required_fields.push *%i[
|
37
|
+
reference_id
|
38
|
+
security_code_input
|
39
|
+
verification_status
|
40
|
+
]
|
41
|
+
|
42
|
+
field_values.merge! verification_status: Constants::NonFinancial::Kyc::VerificationStatuses.all
|
43
|
+
end
|
44
|
+
|
45
|
+
# Build the request structure for the Update Call request
|
46
|
+
def request_structure
|
47
|
+
{
|
48
|
+
reference_id: reference_id,
|
49
|
+
security_code_input: security_code_input,
|
50
|
+
verification_status: verification_status
|
51
|
+
}
|
52
|
+
end
|
53
|
+
|
54
|
+
end
|
55
|
+
end
|
56
|
+
end
|
57
|
+
end
|
58
|
+
end
|
59
|
+
end
|
60
|
+
end
|
@@ -0,0 +1,52 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module GenesisRuby
|
4
|
+
module Api
|
5
|
+
module Requests
|
6
|
+
module NonFinancial
|
7
|
+
module Kyc
|
8
|
+
module Cnpj
|
9
|
+
# Check the status of a specific Brazilian company's CNPJ number
|
10
|
+
class Check < Api::Requests::Base::NonFinancial::Kyc::Base
|
11
|
+
|
12
|
+
include Api::Mixins::Requests::DocumentAttributes
|
13
|
+
|
14
|
+
# Initializes the CNPJ Check Request
|
15
|
+
def initialize(configuration, _builder_interface = nil)
|
16
|
+
super configuration
|
17
|
+
|
18
|
+
self.request_path = 'cnpj/:document_id'
|
19
|
+
end
|
20
|
+
|
21
|
+
protected
|
22
|
+
|
23
|
+
# Sets the request field validations
|
24
|
+
def init_field_validations
|
25
|
+
super
|
26
|
+
|
27
|
+
required_fields.push *%i[document_id]
|
28
|
+
end
|
29
|
+
|
30
|
+
# CNPJ Check request structure
|
31
|
+
def request_structure
|
32
|
+
{}
|
33
|
+
end
|
34
|
+
|
35
|
+
# Override API endpoint with provided document ID
|
36
|
+
def process_request_parameters
|
37
|
+
super
|
38
|
+
|
39
|
+
processed_path = request_path.gsub(':document_id', document_id.to_s)
|
40
|
+
|
41
|
+
init_kyc_service_configuration(
|
42
|
+
request_path: "api/#{version}/#{processed_path}"
|
43
|
+
)
|
44
|
+
end
|
45
|
+
|
46
|
+
end
|
47
|
+
end
|
48
|
+
end
|
49
|
+
end
|
50
|
+
end
|
51
|
+
end
|
52
|
+
end
|
@@ -0,0 +1,52 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module GenesisRuby
|
4
|
+
module Api
|
5
|
+
module Requests
|
6
|
+
module NonFinancial
|
7
|
+
module Kyc
|
8
|
+
module Cpf
|
9
|
+
# Check the status of a specific Brazilian personal's CPF number
|
10
|
+
class Check < Api::Requests::Base::NonFinancial::Kyc::Base
|
11
|
+
|
12
|
+
include Api::Mixins::Requests::DocumentAttributes
|
13
|
+
|
14
|
+
# Initializes the CPF Check Request
|
15
|
+
def initialize(configuration, _builder_interface = nil)
|
16
|
+
super configuration
|
17
|
+
|
18
|
+
self.request_path = 'cpf/:document_id'
|
19
|
+
end
|
20
|
+
|
21
|
+
protected
|
22
|
+
|
23
|
+
# Sets the request field validations
|
24
|
+
def init_field_validations
|
25
|
+
super
|
26
|
+
|
27
|
+
required_fields.push *%i[document_id]
|
28
|
+
end
|
29
|
+
|
30
|
+
# CPF Check request structure
|
31
|
+
def request_structure
|
32
|
+
{}
|
33
|
+
end
|
34
|
+
|
35
|
+
# Override API endpoint with provided document ID
|
36
|
+
def process_request_parameters
|
37
|
+
super
|
38
|
+
|
39
|
+
processed_path = request_path.gsub(':document_id', document_id.to_s)
|
40
|
+
|
41
|
+
init_kyc_service_configuration(
|
42
|
+
request_path: "api/#{version}/#{processed_path}"
|
43
|
+
)
|
44
|
+
end
|
45
|
+
|
46
|
+
end
|
47
|
+
end
|
48
|
+
end
|
49
|
+
end
|
50
|
+
end
|
51
|
+
end
|
52
|
+
end
|
@@ -0,0 +1,43 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module GenesisRuby
|
4
|
+
module Api
|
5
|
+
module Requests
|
6
|
+
module NonFinancial
|
7
|
+
module Kyc
|
8
|
+
module IdentityDocument
|
9
|
+
# Uploaded documents will be stored by legal provisions and they can be requested for review.
|
10
|
+
class Download < Api::Requests::Base::NonFinancial::Kyc::Base
|
11
|
+
|
12
|
+
attr_accessor :identity_document_id
|
13
|
+
|
14
|
+
# Initialize the Download document request
|
15
|
+
def initialize(configuration, _builder_interface = nil)
|
16
|
+
super configuration
|
17
|
+
|
18
|
+
self.request_path = 'download_document'
|
19
|
+
end
|
20
|
+
|
21
|
+
protected
|
22
|
+
|
23
|
+
# Initializes the required fields for the Download Document request
|
24
|
+
def init_field_validations
|
25
|
+
super
|
26
|
+
|
27
|
+
required_fields.push *%i[identity_document_id]
|
28
|
+
end
|
29
|
+
|
30
|
+
# Returns the request structure for the Download Document request
|
31
|
+
def request_structure
|
32
|
+
{
|
33
|
+
identity_document_id: identity_document_id
|
34
|
+
}
|
35
|
+
end
|
36
|
+
|
37
|
+
end
|
38
|
+
end
|
39
|
+
end
|
40
|
+
end
|
41
|
+
end
|
42
|
+
end
|
43
|
+
end
|
@@ -0,0 +1,67 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require 'genesis_ruby/api/constants/non_financial/kyc/identity_document_methods'
|
4
|
+
|
5
|
+
module GenesisRuby
|
6
|
+
module Api
|
7
|
+
module Requests
|
8
|
+
module NonFinancial
|
9
|
+
module Kyc
|
10
|
+
module IdentityDocument
|
11
|
+
# Used to verify documents provided by the customer.
|
12
|
+
class Upload < Api::Requests::Base::NonFinancial::Kyc::Base
|
13
|
+
|
14
|
+
include Api::Mixins::Requests::NonFinancial::Kyc::IdentityDocumentAttributes
|
15
|
+
|
16
|
+
attr_accessor :customer_username, :customer_unique_id, :transaction_unique_id, :reference_id, :method
|
17
|
+
|
18
|
+
# Initialize the Upload Document request
|
19
|
+
def initialize(configuration, _builder_interface = nil)
|
20
|
+
super(configuration)
|
21
|
+
|
22
|
+
self.request_path = 'upload_document'
|
23
|
+
end
|
24
|
+
|
25
|
+
protected
|
26
|
+
|
27
|
+
# Initializes the required fields for the Upload Document request
|
28
|
+
def init_field_validations
|
29
|
+
super
|
30
|
+
|
31
|
+
required_fields.push *%i[
|
32
|
+
method
|
33
|
+
]
|
34
|
+
|
35
|
+
field_values.merge! method: GenesisRuby::Api::Constants::NonFinancial::Kyc::IdentityDocumentMethods.all
|
36
|
+
end
|
37
|
+
|
38
|
+
# Validates the request parameters
|
39
|
+
def check_requirements
|
40
|
+
raise ParameterError, 'Either transaction_unique_id or reference_id field has to be set.' if transaction_unique_id.nil? && reference_id.nil? # rubocop:disable Layout/LineLength
|
41
|
+
raise ParameterError, 'Add at least one document' if docs.empty?
|
42
|
+
|
43
|
+
super
|
44
|
+
end
|
45
|
+
|
46
|
+
# Returns the request structure for the Upload Document request
|
47
|
+
def request_structure # rubocop:disable Metrics/MethodLength
|
48
|
+
{
|
49
|
+
customer_username: customer_username,
|
50
|
+
customer_unique_id: customer_unique_id,
|
51
|
+
transaction_unique_id: transaction_unique_id,
|
52
|
+
reference_id: reference_id,
|
53
|
+
method: method,
|
54
|
+
doc: get_doc(0),
|
55
|
+
doc2: get_doc(1),
|
56
|
+
doc3: get_doc(2),
|
57
|
+
doc4: get_doc(3)
|
58
|
+
}
|
59
|
+
end
|
60
|
+
|
61
|
+
end
|
62
|
+
end
|
63
|
+
end
|
64
|
+
end
|
65
|
+
end
|
66
|
+
end
|
67
|
+
end
|
@@ -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
|