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.
Files changed (380) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +18 -0
  3. data/Gemfile.lock +19 -19
  4. data/README.md +21 -0
  5. data/VERSION +1 -1
  6. data/lib/genesis_ruby/api/constants/currencies/iso4217.rb +4 -3
  7. data/lib/genesis_ruby/api/constants/date_time_formats.rb +9 -7
  8. data/lib/genesis_ruby/api/constants/endpoints.rb +4 -2
  9. data/lib/genesis_ruby/api/constants/environments.rb +4 -2
  10. data/lib/genesis_ruby/api/constants/i18n.rb +28 -26
  11. data/lib/genesis_ruby/api/constants/non_financial/kyc/address_supported_types.rb +51 -0
  12. data/lib/genesis_ruby/api/constants/non_financial/kyc/aml_filters.rb +49 -0
  13. data/lib/genesis_ruby/api/constants/non_financial/kyc/create_transaction_payment_methods.rb +23 -0
  14. data/lib/genesis_ruby/api/constants/non_financial/kyc/document_supported_types.rb +6 -4
  15. data/lib/genesis_ruby/api/constants/non_financial/kyc/document_types.rb +2 -0
  16. data/lib/genesis_ruby/api/constants/non_financial/kyc/genders.rb +4 -2
  17. data/lib/genesis_ruby/api/constants/non_financial/kyc/identity_document_methods.rb +27 -0
  18. data/lib/genesis_ruby/api/constants/non_financial/kyc/industry_types.rb +29 -0
  19. data/lib/genesis_ruby/api/constants/non_financial/kyc/languages.rb +318 -0
  20. data/lib/genesis_ruby/api/constants/non_financial/kyc/order_sources.rb +22 -0
  21. data/lib/genesis_ruby/api/constants/non_financial/kyc/profile_current_statuses.rb +2 -0
  22. data/lib/genesis_ruby/api/constants/non_financial/kyc/service_languages.rb +69 -0
  23. data/lib/genesis_ruby/api/constants/non_financial/kyc/transaction_statuses.rb +35 -0
  24. data/lib/genesis_ruby/api/constants/non_financial/kyc/verification_modes.rb +27 -0
  25. data/lib/genesis_ruby/api/constants/non_financial/kyc/verification_statuses.rb +29 -0
  26. data/lib/genesis_ruby/api/constants/states/state.rb +2 -0
  27. data/lib/genesis_ruby/api/constants/states.rb +24 -22
  28. data/lib/genesis_ruby/api/constants/transactions/parameters/african_mobile_operators.rb +8 -6
  29. data/lib/genesis_ruby/api/constants/transactions/parameters/business/payment_types.rb +4 -2
  30. data/lib/genesis_ruby/api/constants/transactions/parameters/cash_payments/cash_payment_types.rb +8 -6
  31. data/lib/genesis_ruby/api/constants/transactions/parameters/cash_payments/company_types.rb +2 -0
  32. data/lib/genesis_ruby/api/constants/transactions/parameters/cash_payments/genders.rb +2 -0
  33. data/lib/genesis_ruby/api/constants/transactions/parameters/cash_payments/marital_statuses.rb +2 -0
  34. data/lib/genesis_ruby/api/constants/transactions/parameters/credential_on_files.rb +5 -3
  35. data/lib/genesis_ruby/api/constants/transactions/parameters/customer_identification/customer_identification_owner.rb +4 -2
  36. data/lib/genesis_ruby/api/constants/transactions/parameters/customer_identification/customer_identification_subtype.rb +4 -2
  37. data/lib/genesis_ruby/api/constants/transactions/parameters/customer_identification/customer_identification_type.rb +17 -15
  38. data/lib/genesis_ruby/api/constants/transactions/parameters/digital_asset_types.rb +7 -5
  39. data/lib/genesis_ruby/api/constants/transactions/parameters/funding/business_application_identifier_types.rb +11 -9
  40. data/lib/genesis_ruby/api/constants/transactions/parameters/funding/identifier_types.rb +12 -10
  41. data/lib/genesis_ruby/api/constants/transactions/parameters/funding/receiver_account_types.rb +11 -9
  42. data/lib/genesis_ruby/api/constants/transactions/parameters/managed_recurring/amount_types.rb +4 -2
  43. data/lib/genesis_ruby/api/constants/transactions/parameters/managed_recurring/frequencies.rb +14 -12
  44. data/lib/genesis_ruby/api/constants/transactions/parameters/managed_recurring/intervals.rb +4 -2
  45. data/lib/genesis_ruby/api/constants/transactions/parameters/managed_recurring/modes.rb +4 -2
  46. data/lib/genesis_ruby/api/constants/transactions/parameters/managed_recurring/payment_types.rb +6 -4
  47. data/lib/genesis_ruby/api/constants/transactions/parameters/mobile/apple_pay/payment_subtypes.rb +5 -3
  48. data/lib/genesis_ruby/api/constants/transactions/parameters/mobile/google_pay/payment_subtypes.rb +5 -3
  49. data/lib/genesis_ruby/api/constants/transactions/parameters/mpi_protocol_sub_versions.rb +2 -0
  50. data/lib/genesis_ruby/api/constants/transactions/parameters/mpi_protocol_versions.rb +2 -0
  51. data/lib/genesis_ruby/api/constants/transactions/parameters/non_financial/billing_api/order_by_fields.rb +14 -12
  52. data/lib/genesis_ruby/api/constants/transactions/parameters/non_financial/billing_api/response_fields.rb +48 -46
  53. data/lib/genesis_ruby/api/constants/transactions/parameters/non_financial/billing_api/transaction_types.rb +29 -27
  54. data/lib/genesis_ruby/api/constants/transactions/parameters/non_financial/externally_processed.rb +5 -3
  55. data/lib/genesis_ruby/api/constants/transactions/parameters/non_financial/processing_type.rb +5 -3
  56. data/lib/genesis_ruby/api/constants/transactions/parameters/non_financial/sca_exemptions.rb +8 -6
  57. data/lib/genesis_ruby/api/constants/transactions/parameters/non_financial/sort_directions.rb +4 -2
  58. data/lib/genesis_ruby/api/constants/transactions/parameters/online_banking/bank_account_types.rb +6 -4
  59. data/lib/genesis_ruby/api/constants/transactions/parameters/online_banking/bank_code_currencies.rb +2 -0
  60. data/lib/genesis_ruby/api/constants/transactions/parameters/online_banking/bank_codes.rb +203 -201
  61. data/lib/genesis_ruby/api/constants/transactions/parameters/online_banking/iframe_targets.rb +5 -3
  62. data/lib/genesis_ruby/api/constants/transactions/parameters/online_banking/payment_types.rb +9 -7
  63. data/lib/genesis_ruby/api/constants/transactions/parameters/online_banking/payout_payment_types.rb +10 -8
  64. data/lib/genesis_ruby/api/constants/transactions/parameters/purpose_of_payment.rb +42 -40
  65. data/lib/genesis_ruby/api/constants/transactions/parameters/recurring/categories.rb +4 -2
  66. data/lib/genesis_ruby/api/constants/transactions/parameters/recurring/types.rb +5 -3
  67. data/lib/genesis_ruby/api/constants/transactions/parameters/refund/bank_account_types.rb +5 -3
  68. data/lib/genesis_ruby/api/constants/transactions/parameters/refund/credit_reason_indicators.rb +6 -4
  69. data/lib/genesis_ruby/api/constants/transactions/parameters/refund/ticket_change_indicators.rb +4 -2
  70. data/lib/genesis_ruby/api/constants/transactions/parameters/sca_exemptions.rb +8 -6
  71. data/lib/genesis_ruby/api/constants/transactions/parameters/source_of_funds.rb +8 -6
  72. data/lib/genesis_ruby/api/constants/transactions/parameters/threeds/version2/browser/color_depths.rb +2 -0
  73. data/lib/genesis_ruby/api/constants/transactions/parameters/threeds/version2/card_holder_account/password_change_indicators.rb +7 -5
  74. data/lib/genesis_ruby/api/constants/transactions/parameters/threeds/version2/card_holder_account/registration_indicators.rb +7 -5
  75. data/lib/genesis_ruby/api/constants/transactions/parameters/threeds/version2/card_holder_account/shipping_address_usage_indicators.rb +6 -4
  76. data/lib/genesis_ruby/api/constants/transactions/parameters/threeds/version2/card_holder_account/suspicious_activity_indicators.rb +4 -2
  77. data/lib/genesis_ruby/api/constants/transactions/parameters/threeds/version2/card_holder_account/update_indicators.rb +6 -4
  78. data/lib/genesis_ruby/api/constants/transactions/parameters/threeds/version2/control/challenge_indicators.rb +6 -4
  79. data/lib/genesis_ruby/api/constants/transactions/parameters/threeds/version2/control/challenge_window_sizes.rb +7 -5
  80. data/lib/genesis_ruby/api/constants/transactions/parameters/threeds/version2/control/device_types.rb +4 -2
  81. data/lib/genesis_ruby/api/constants/transactions/parameters/threeds/version2/merchant_risk/delivery_timeframes.rb +6 -4
  82. data/lib/genesis_ruby/api/constants/transactions/parameters/threeds/version2/merchant_risk/pre_order_purchase_indicators.rb +4 -2
  83. data/lib/genesis_ruby/api/constants/transactions/parameters/threeds/version2/merchant_risk/reorder_item_indicators.rb +4 -2
  84. data/lib/genesis_ruby/api/constants/transactions/parameters/threeds/version2/merchant_risk/shipping_indicators.rb +10 -8
  85. data/lib/genesis_ruby/api/constants/transactions/parameters/threeds/version2/purchase/categories.rb +9 -7
  86. data/lib/genesis_ruby/api/constants/transactions/parameters/threeds/version2/sdk/interfaces.rb +5 -3
  87. data/lib/genesis_ruby/api/constants/transactions/parameters/threeds/version2/sdk/ui_types.rb +7 -5
  88. data/lib/genesis_ruby/api/constants/transactions/parameters/travel_data/ancillary_charges_types.rb +25 -23
  89. data/lib/genesis_ruby/api/constants/transactions/parameters/wallets/pay_pal/payment_types.rb +5 -3
  90. data/lib/genesis_ruby/api/constants/transactions/parameters/wpf/reminder_channels.rb +4 -2
  91. data/lib/genesis_ruby/api/constants/transactions.rb +98 -93
  92. data/lib/genesis_ruby/api/mixins/constants/common.rb +2 -0
  93. data/lib/genesis_ruby/api/mixins/requests/address_info_attributes.rb +2 -0
  94. data/lib/genesis_ruby/api/mixins/requests/attribute_validation.rb +2 -0
  95. data/lib/genesis_ruby/api/mixins/requests/birth_date_attributes.rb +2 -0
  96. data/lib/genesis_ruby/api/mixins/requests/customer_address/billing_info_attributes.rb +2 -0
  97. data/lib/genesis_ruby/api/mixins/requests/customer_address/customer_info_attributes.rb +2 -0
  98. data/lib/genesis_ruby/api/mixins/requests/customer_address/shipping_info_attributes.rb +2 -0
  99. data/lib/genesis_ruby/api/mixins/requests/digital_asset_type_attributes.rb +2 -0
  100. data/lib/genesis_ruby/api/mixins/requests/document_attributes.rb +2 -0
  101. data/lib/genesis_ruby/api/mixins/requests/financial/african_mobile_attributes.rb +2 -0
  102. data/lib/genesis_ruby/api/mixins/requests/financial/async_attributes.rb +2 -0
  103. data/lib/genesis_ruby/api/mixins/requests/financial/bank_attributes.rb +2 -0
  104. data/lib/genesis_ruby/api/mixins/requests/financial/base_attributes.rb +2 -0
  105. data/lib/genesis_ruby/api/mixins/requests/financial/beneficiary_attributes.rb +2 -0
  106. data/lib/genesis_ruby/api/mixins/requests/financial/business/airlines_air_carriers_attributes.rb +2 -0
  107. data/lib/genesis_ruby/api/mixins/requests/financial/business/business_attributes.rb +2 -0
  108. data/lib/genesis_ruby/api/mixins/requests/financial/business/car_plane_and_boat_rentals_attributes.rb +2 -0
  109. data/lib/genesis_ruby/api/mixins/requests/financial/business/cruise_lines_attributes.rb +2 -0
  110. data/lib/genesis_ruby/api/mixins/requests/financial/business/event_management_attributes.rb +2 -0
  111. data/lib/genesis_ruby/api/mixins/requests/financial/business/furniture_attributes.rb +2 -0
  112. data/lib/genesis_ruby/api/mixins/requests/financial/business/hotels_and_real_estate_rentals_attributes.rb +2 -0
  113. data/lib/genesis_ruby/api/mixins/requests/financial/business/travel_agencies_attributes.rb +2 -0
  114. data/lib/genesis_ruby/api/mixins/requests/financial/cards/account_owner_attributes.rb +2 -0
  115. data/lib/genesis_ruby/api/mixins/requests/financial/cards/credential_on_file_attributes.rb +2 -0
  116. data/lib/genesis_ruby/api/mixins/requests/financial/cards/credit_card_attributes.rb +2 -0
  117. data/lib/genesis_ruby/api/mixins/requests/financial/cards/fx_rate_attributes.rb +2 -0
  118. data/lib/genesis_ruby/api/mixins/requests/financial/cards/installment_attributes.rb +2 -0
  119. data/lib/genesis_ruby/api/mixins/requests/financial/cards/mpi_attributes.rb +2 -0
  120. data/lib/genesis_ruby/api/mixins/requests/financial/cards/recurring/managed_recurring_attributes.rb +2 -0
  121. data/lib/genesis_ruby/api/mixins/requests/financial/cards/recurring/managed_recurring_indian_card_attributes.rb +2 -0
  122. data/lib/genesis_ruby/api/mixins/requests/financial/cards/recurring/recurring_category_attributes.rb +2 -0
  123. data/lib/genesis_ruby/api/mixins/requests/financial/cards/recurring/recurring_type_attributes.rb +2 -0
  124. data/lib/genesis_ruby/api/mixins/requests/financial/cards/tokenization_attributes.rb +2 -0
  125. data/lib/genesis_ruby/api/mixins/requests/financial/cards/tokenization_params_attributes.rb +2 -0
  126. data/lib/genesis_ruby/api/mixins/requests/financial/cards/ucof_attributes.rb +2 -0
  127. data/lib/genesis_ruby/api/mixins/requests/financial/consumer_identifier_attributes.rb +2 -0
  128. data/lib/genesis_ruby/api/mixins/requests/financial/crypto_attributes.rb +2 -0
  129. data/lib/genesis_ruby/api/mixins/requests/financial/customer_account_attributes.rb +2 -0
  130. data/lib/genesis_ruby/api/mixins/requests/financial/customer_identification_attributes.rb +2 -0
  131. data/lib/genesis_ruby/api/mixins/requests/financial/dynamic_descriptor_attributes.rb +2 -0
  132. data/lib/genesis_ruby/api/mixins/requests/financial/funding_attributes.rb +2 -0
  133. data/lib/genesis_ruby/api/mixins/requests/financial/gaming_attributes.rb +2 -0
  134. data/lib/genesis_ruby/api/mixins/requests/financial/gift_cards_attributes.rb +2 -0
  135. data/lib/genesis_ruby/api/mixins/requests/financial/mobile/apple_pay_token_attributes.rb +2 -0
  136. data/lib/genesis_ruby/api/mixins/requests/financial/mobile/google_pay_token_attributes.rb +2 -0
  137. data/lib/genesis_ruby/api/mixins/requests/financial/moto_attributes.rb +2 -0
  138. data/lib/genesis_ruby/api/mixins/requests/financial/notification_attributes.rb +2 -0
  139. data/lib/genesis_ruby/api/mixins/requests/financial/online_banking_payments/payer_attributes.rb +2 -0
  140. data/lib/genesis_ruby/api/mixins/requests/financial/online_banking_payments/pix_attributes.rb +2 -0
  141. data/lib/genesis_ruby/api/mixins/requests/financial/online_banking_payments/virtual_payment_address_attributes.rb +2 -0
  142. data/lib/genesis_ruby/api/mixins/requests/financial/payment_attributes.rb +2 -0
  143. data/lib/genesis_ruby/api/mixins/requests/financial/pending_payment_attributes.rb +2 -0
  144. data/lib/genesis_ruby/api/mixins/requests/financial/preauthorization_attributes.rb +2 -0
  145. data/lib/genesis_ruby/api/mixins/requests/financial/purpose_of_payment_attributes.rb +2 -0
  146. data/lib/genesis_ruby/api/mixins/requests/financial/reference_attributes.rb +2 -0
  147. data/lib/genesis_ruby/api/mixins/requests/financial/risk_attributes.rb +2 -0
  148. data/lib/genesis_ruby/api/mixins/requests/financial/sca_attributes.rb +2 -0
  149. data/lib/genesis_ruby/api/mixins/requests/financial/source_of_funds_attributes.rb +2 -0
  150. data/lib/genesis_ruby/api/mixins/requests/financial/threeds/version2/browser.rb +2 -0
  151. data/lib/genesis_ruby/api/mixins/requests/financial/threeds/version2/card_holder_account.rb +2 -0
  152. data/lib/genesis_ruby/api/mixins/requests/financial/threeds/version2/common_attributes.rb +2 -0
  153. data/lib/genesis_ruby/api/mixins/requests/financial/threeds/version2/control.rb +2 -0
  154. data/lib/genesis_ruby/api/mixins/requests/financial/threeds/version2/merchant_risk.rb +2 -0
  155. data/lib/genesis_ruby/api/mixins/requests/financial/threeds/version2/method.rb +2 -0
  156. data/lib/genesis_ruby/api/mixins/requests/financial/threeds/version2/purchase.rb +2 -0
  157. data/lib/genesis_ruby/api/mixins/requests/financial/threeds/version2/recurring.rb +2 -0
  158. data/lib/genesis_ruby/api/mixins/requests/financial/threeds/version2/sdk.rb +2 -0
  159. data/lib/genesis_ruby/api/mixins/requests/financial/threeds/version2/wpf_attributes.rb +2 -0
  160. data/lib/genesis_ruby/api/mixins/requests/financial/travel_data/airline_itinerary_attributes.rb +2 -0
  161. data/lib/genesis_ruby/api/mixins/requests/financial/travel_data/car_rental_attributes.rb +2 -0
  162. data/lib/genesis_ruby/api/mixins/requests/financial/travel_data/hotel_rental_attributes.rb +2 -0
  163. data/lib/genesis_ruby/api/mixins/requests/financial/travel_data/reference_ticket_attributes.rb +2 -0
  164. data/lib/genesis_ruby/api/mixins/requests/financial/travel_data/travel_attributes.rb +2 -0
  165. data/lib/genesis_ruby/api/mixins/requests/non_financial/billing_api/sort_attributes.rb +2 -0
  166. data/lib/genesis_ruby/api/mixins/requests/non_financial/date_attributes.rb +2 -0
  167. data/lib/genesis_ruby/api/mixins/requests/non_financial/fx/id_attributes.rb +2 -0
  168. data/lib/genesis_ruby/api/mixins/requests/non_financial/fx/tier_id_attributes.rb +2 -0
  169. data/lib/genesis_ruby/api/mixins/requests/non_financial/kyc/background_checks_attributes.rb +75 -0
  170. data/lib/genesis_ruby/api/mixins/requests/non_financial/kyc/customer_information_attributes.rb +2 -0
  171. data/lib/genesis_ruby/api/mixins/requests/non_financial/kyc/deposit_limits_attributes.rb +40 -0
  172. data/lib/genesis_ruby/api/mixins/requests/non_financial/kyc/document_attributes.rb +2 -0
  173. data/lib/genesis_ruby/api/mixins/requests/non_financial/kyc/face_attributes.rb +61 -0
  174. data/lib/genesis_ruby/api/mixins/requests/non_financial/kyc/identity_document_attributes.rb +51 -0
  175. data/lib/genesis_ruby/api/mixins/requests/non_financial/kyc/kyc_billing_info_attributes.rb +87 -0
  176. data/lib/genesis_ruby/api/mixins/requests/non_financial/kyc/kyc_shipping_info_attributes.rb +85 -0
  177. data/lib/genesis_ruby/api/mixins/requests/non_financial/kyc/payment_details_attributes.rb +33 -0
  178. data/lib/genesis_ruby/api/mixins/requests/non_financial/kyc/verification_attributes.rb +74 -0
  179. data/lib/genesis_ruby/api/mixins/requests/non_financial/kyc/verification_document_attributes.rb +65 -0
  180. data/lib/genesis_ruby/api/mixins/requests/non_financial/mode_attributes.rb +2 -0
  181. data/lib/genesis_ruby/api/mixins/requests/non_financial/paging_attributes.rb +2 -0
  182. data/lib/genesis_ruby/api/mixins/requests/non_financial/tokenization/card_data_attributes.rb +2 -0
  183. data/lib/genesis_ruby/api/mixins/requests/non_financial/tokenization/token_attributes.rb +2 -0
  184. data/lib/genesis_ruby/api/mixins/requests/non_financial/tokenization/tokenization_attributes.rb +2 -0
  185. data/lib/genesis_ruby/api/mixins/requests/restricted_setter.rb +2 -0
  186. data/lib/genesis_ruby/api/mixins/requests/wpf_reminders_attributes.rb +2 -0
  187. data/lib/genesis_ruby/api/notification.rb +8 -6
  188. data/lib/genesis_ruby/api/request.rb +8 -6
  189. data/lib/genesis_ruby/api/requests/base/consumer.rb +2 -0
  190. data/lib/genesis_ruby/api/requests/base/financial.rb +2 -0
  191. data/lib/genesis_ruby/api/requests/base/financials/credit_card.rb +2 -0
  192. data/lib/genesis_ruby/api/requests/base/financials/south_american_payments.rb +2 -0
  193. data/lib/genesis_ruby/api/requests/base/graphql.rb +2 -0
  194. data/lib/genesis_ruby/api/requests/base/non_financial/kyc/base.rb +2 -0
  195. data/lib/genesis_ruby/api/requests/base/reference.rb +2 -0
  196. data/lib/genesis_ruby/api/requests/base/versioned.rb +3 -1
  197. data/lib/genesis_ruby/api/requests/financial/capture.rb +2 -0
  198. data/lib/genesis_ruby/api/requests/financial/cards/argencard.rb +2 -0
  199. data/lib/genesis_ruby/api/requests/financial/cards/aura.rb +2 -0
  200. data/lib/genesis_ruby/api/requests/financial/cards/authorize.rb +2 -0
  201. data/lib/genesis_ruby/api/requests/financial/cards/authorize3d.rb +2 -0
  202. data/lib/genesis_ruby/api/requests/financial/cards/bancontact.rb +2 -0
  203. data/lib/genesis_ruby/api/requests/financial/cards/cabal.rb +2 -0
  204. data/lib/genesis_ruby/api/requests/financial/cards/cencosud.rb +2 -0
  205. data/lib/genesis_ruby/api/requests/financial/cards/credit.rb +2 -0
  206. data/lib/genesis_ruby/api/requests/financial/cards/elo.rb +2 -0
  207. data/lib/genesis_ruby/api/requests/financial/cards/naranja.rb +2 -0
  208. data/lib/genesis_ruby/api/requests/financial/cards/nativa.rb +2 -0
  209. data/lib/genesis_ruby/api/requests/financial/cards/payout.rb +2 -0
  210. data/lib/genesis_ruby/api/requests/financial/cards/sale.rb +2 -0
  211. data/lib/genesis_ruby/api/requests/financial/cards/sale3d.rb +2 -0
  212. data/lib/genesis_ruby/api/requests/financial/cards/tarjeta_shopping.rb +2 -0
  213. data/lib/genesis_ruby/api/requests/financial/cards/threeds/v2/method_continue.rb +2 -0
  214. data/lib/genesis_ruby/api/requests/financial/cash_payments/baloto.rb +2 -0
  215. data/lib/genesis_ruby/api/requests/financial/cash_payments/banco_de_occidente.rb +2 -0
  216. data/lib/genesis_ruby/api/requests/financial/cash_payments/boleto.rb +2 -0
  217. data/lib/genesis_ruby/api/requests/financial/cash_payments/cash.rb +2 -0
  218. data/lib/genesis_ruby/api/requests/financial/cash_payments/efecty.rb +2 -0
  219. data/lib/genesis_ruby/api/requests/financial/cash_payments/oxxo.rb +2 -0
  220. data/lib/genesis_ruby/api/requests/financial/cash_payments/pago_facil.rb +2 -0
  221. data/lib/genesis_ruby/api/requests/financial/cash_payments/pix.rb +2 -0
  222. data/lib/genesis_ruby/api/requests/financial/cash_payments/redpagos.rb +2 -0
  223. data/lib/genesis_ruby/api/requests/financial/crypto/bit_pay/payout.rb +2 -0
  224. data/lib/genesis_ruby/api/requests/financial/crypto/bit_pay/refund.rb +2 -0
  225. data/lib/genesis_ruby/api/requests/financial/crypto/bit_pay/sale.rb +2 -0
  226. data/lib/genesis_ruby/api/requests/financial/gift_cards/fashioncheque.rb +2 -0
  227. data/lib/genesis_ruby/api/requests/financial/gift_cards/intersolve.rb +2 -0
  228. data/lib/genesis_ruby/api/requests/financial/gift_cards/tcs.rb +2 -0
  229. data/lib/genesis_ruby/api/requests/financial/mobile/african_mobile_sale.rb +2 -0
  230. data/lib/genesis_ruby/api/requests/financial/mobile/apple_pay.rb +2 -0
  231. data/lib/genesis_ruby/api/requests/financial/mobile/google_pay.rb +2 -0
  232. data/lib/genesis_ruby/api/requests/financial/mobile/russian_mobile_sale.rb +2 -0
  233. data/lib/genesis_ruby/api/requests/financial/online_banking_payments/banco_do_brasil.rb +2 -0
  234. data/lib/genesis_ruby/api/requests/financial/online_banking_payments/bancomer.rb +2 -0
  235. data/lib/genesis_ruby/api/requests/financial/online_banking_payments/bradesco.rb +2 -0
  236. data/lib/genesis_ruby/api/requests/financial/online_banking_payments/davivienda.rb +2 -0
  237. data/lib/genesis_ruby/api/requests/financial/online_banking_payments/eps.rb +2 -0
  238. data/lib/genesis_ruby/api/requests/financial/online_banking_payments/idebit/pay_in.rb +2 -0
  239. data/lib/genesis_ruby/api/requests/financial/online_banking_payments/idebit/pay_out.rb +2 -0
  240. data/lib/genesis_ruby/api/requests/financial/online_banking_payments/insta_debit/pay_in.rb +2 -0
  241. data/lib/genesis_ruby/api/requests/financial/online_banking_payments/insta_debit/pay_out.rb +2 -0
  242. data/lib/genesis_ruby/api/requests/financial/online_banking_payments/itau.rb +2 -0
  243. data/lib/genesis_ruby/api/requests/financial/online_banking_payments/multibanco.rb +2 -0
  244. data/lib/genesis_ruby/api/requests/financial/online_banking_payments/my_bank.rb +2 -0
  245. data/lib/genesis_ruby/api/requests/financial/online_banking_payments/online_banking/pay_in.rb +2 -0
  246. data/lib/genesis_ruby/api/requests/financial/online_banking_payments/online_banking/pay_out.rb +2 -0
  247. data/lib/genesis_ruby/api/requests/financial/online_banking_payments/pay_u.rb +2 -0
  248. data/lib/genesis_ruby/api/requests/financial/online_banking_payments/post_finance.rb +2 -0
  249. data/lib/genesis_ruby/api/requests/financial/online_banking_payments/pse.rb +2 -0
  250. data/lib/genesis_ruby/api/requests/financial/online_banking_payments/rapi_pago.rb +2 -0
  251. data/lib/genesis_ruby/api/requests/financial/online_banking_payments/safety_pay.rb +2 -0
  252. data/lib/genesis_ruby/api/requests/financial/online_banking_payments/santander.rb +2 -0
  253. data/lib/genesis_ruby/api/requests/financial/online_banking_payments/sofort.rb +2 -0
  254. data/lib/genesis_ruby/api/requests/financial/online_banking_payments/trustly_sale.rb +2 -0
  255. data/lib/genesis_ruby/api/requests/financial/online_banking_payments/upi.rb +2 -0
  256. data/lib/genesis_ruby/api/requests/financial/online_banking_payments/webpay.rb +2 -0
  257. data/lib/genesis_ruby/api/requests/financial/online_banking_payments/wechat.rb +2 -0
  258. data/lib/genesis_ruby/api/requests/financial/payout/global_payout.rb +42 -0
  259. data/lib/genesis_ruby/api/requests/financial/preauthorizations/incremental_authorize.rb +2 -0
  260. data/lib/genesis_ruby/api/requests/financial/preauthorizations/partial_reversal.rb +2 -0
  261. data/lib/genesis_ruby/api/requests/financial/refund.rb +2 -0
  262. data/lib/genesis_ruby/api/requests/financial/sdd/recurring/init_recurring_sale.rb +2 -0
  263. data/lib/genesis_ruby/api/requests/financial/sdd/recurring/recurring_sale.rb +2 -0
  264. data/lib/genesis_ruby/api/requests/financial/sdd/refund.rb +2 -0
  265. data/lib/genesis_ruby/api/requests/financial/sdd/sale.rb +2 -0
  266. data/lib/genesis_ruby/api/requests/financial/void.rb +2 -0
  267. data/lib/genesis_ruby/api/requests/financial/vouchers/neosurf.rb +2 -0
  268. data/lib/genesis_ruby/api/requests/financial/wallets/alipay.rb +2 -0
  269. data/lib/genesis_ruby/api/requests/financial/wallets/pay_pal.rb +2 -0
  270. data/lib/genesis_ruby/api/requests/non_financial/billing_api/transactions.rb +2 -0
  271. data/lib/genesis_ruby/api/requests/non_financial/consumers/create.rb +2 -0
  272. data/lib/genesis_ruby/api/requests/non_financial/consumers/disable.rb +2 -0
  273. data/lib/genesis_ruby/api/requests/non_financial/consumers/enable.rb +2 -0
  274. data/lib/genesis_ruby/api/requests/non_financial/consumers/get_cards.rb +2 -0
  275. data/lib/genesis_ruby/api/requests/non_financial/consumers/retrieve.rb +2 -0
  276. data/lib/genesis_ruby/api/requests/non_financial/consumers/update.rb +2 -0
  277. data/lib/genesis_ruby/api/requests/non_financial/fraud/chargeback/date_range.rb +2 -0
  278. data/lib/genesis_ruby/api/requests/non_financial/fraud/chargeback/transaction.rb +2 -0
  279. data/lib/genesis_ruby/api/requests/non_financial/fraud/reports/date_range.rb +2 -0
  280. data/lib/genesis_ruby/api/requests/non_financial/fraud/reports/transaction.rb +2 -0
  281. data/lib/genesis_ruby/api/requests/non_financial/fraud/retrieval/date_range.rb +2 -0
  282. data/lib/genesis_ruby/api/requests/non_financial/fraud/retrieval/transaction.rb +2 -0
  283. data/lib/genesis_ruby/api/requests/non_financial/fx/get_rate.rb +6 -3
  284. data/lib/genesis_ruby/api/requests/non_financial/fx/get_rates.rb +7 -2
  285. data/lib/genesis_ruby/api/requests/non_financial/fx/get_tier.rb +7 -2
  286. data/lib/genesis_ruby/api/requests/non_financial/fx/get_tiers.rb +2 -0
  287. data/lib/genesis_ruby/api/requests/non_financial/fx/search_rate.rb +7 -2
  288. data/lib/genesis_ruby/api/requests/non_financial/installments/fetch.rb +2 -0
  289. data/lib/genesis_ruby/api/requests/non_financial/installments/show.rb +7 -2
  290. data/lib/genesis_ruby/api/requests/non_financial/kyc/call/create.rb +90 -0
  291. data/lib/genesis_ruby/api/requests/non_financial/kyc/call/update.rb +60 -0
  292. data/lib/genesis_ruby/api/requests/non_financial/kyc/cnpj/check.rb +52 -0
  293. data/lib/genesis_ruby/api/requests/non_financial/kyc/consumer_registration/create.rb +2 -0
  294. data/lib/genesis_ruby/api/requests/non_financial/kyc/consumer_registration/update.rb +2 -0
  295. data/lib/genesis_ruby/api/requests/non_financial/kyc/cpf/check.rb +52 -0
  296. data/lib/genesis_ruby/api/requests/non_financial/kyc/identity_document/download.rb +43 -0
  297. data/lib/genesis_ruby/api/requests/non_financial/kyc/identity_document/upload.rb +67 -0
  298. data/lib/genesis_ruby/api/requests/non_financial/kyc/transaction/create.rb +190 -0
  299. data/lib/genesis_ruby/api/requests/non_financial/kyc/transaction/update.rb +63 -0
  300. data/lib/genesis_ruby/api/requests/non_financial/kyc/verifications/create.rb +90 -0
  301. data/lib/genesis_ruby/api/requests/non_financial/kyc/verifications/register.rb +44 -0
  302. data/lib/genesis_ruby/api/requests/non_financial/kyc/verifications/remote_identity.rb +2 -43
  303. data/lib/genesis_ruby/api/requests/non_financial/kyc/verifications/status.rb +44 -0
  304. data/lib/genesis_ruby/api/requests/non_financial/payee/account/create.rb +73 -0
  305. data/lib/genesis_ruby/api/requests/non_financial/payee/account/list.rb +74 -0
  306. data/lib/genesis_ruby/api/requests/non_financial/payee/account/retrieve.rb +61 -0
  307. data/lib/genesis_ruby/api/requests/non_financial/payee/create.rb +60 -0
  308. data/lib/genesis_ruby/api/requests/non_financial/payee/retrieve.rb +57 -0
  309. data/lib/genesis_ruby/api/requests/non_financial/processed_transactions/date_range.rb +2 -0
  310. data/lib/genesis_ruby/api/requests/non_financial/processed_transactions/post_date_range.rb +2 -0
  311. data/lib/genesis_ruby/api/requests/non_financial/processed_transactions/transaction.rb +2 -0
  312. data/lib/genesis_ruby/api/requests/non_financial/reconcile/date_range.rb +2 -0
  313. data/lib/genesis_ruby/api/requests/non_financial/reconcile/transaction.rb +2 -0
  314. data/lib/genesis_ruby/api/requests/non_financial/sca/checker.rb +2 -0
  315. data/lib/genesis_ruby/api/requests/non_financial/tokenization/cryptogram.rb +2 -0
  316. data/lib/genesis_ruby/api/requests/non_financial/tokenization/delete_token.rb +2 -0
  317. data/lib/genesis_ruby/api/requests/non_financial/tokenization/detokenize.rb +2 -0
  318. data/lib/genesis_ruby/api/requests/non_financial/tokenization/get_card.rb +2 -0
  319. data/lib/genesis_ruby/api/requests/non_financial/tokenization/tokenize.rb +2 -0
  320. data/lib/genesis_ruby/api/requests/non_financial/tokenization/update_token.rb +2 -0
  321. data/lib/genesis_ruby/api/requests/non_financial/tokenization/validate_token.rb +2 -0
  322. data/lib/genesis_ruby/api/requests/wpf/create.rb +2 -0
  323. data/lib/genesis_ruby/api/requests/wpf/reconcile.rb +2 -0
  324. data/lib/genesis_ruby/api/response.rb +2 -0
  325. data/lib/genesis_ruby/builder.rb +6 -4
  326. data/lib/genesis_ruby/builders/base.rb +2 -0
  327. data/lib/genesis_ruby/builders/form.rb +2 -0
  328. data/lib/genesis_ruby/builders/graphql.rb +2 -0
  329. data/lib/genesis_ruby/builders/json.rb +2 -0
  330. data/lib/genesis_ruby/builders/xml.rb +2 -0
  331. data/lib/genesis_ruby/configuration.rb +3 -1
  332. data/lib/genesis_ruby/connection.rb +2 -0
  333. data/lib/genesis_ruby/dependencies.rb +2 -0
  334. data/lib/genesis_ruby/errors/builder_error.rb +2 -0
  335. data/lib/genesis_ruby/errors/endpoint_not_set_error.rb +2 -0
  336. data/lib/genesis_ruby/errors/error.rb +2 -0
  337. data/lib/genesis_ruby/errors/invalid_argument_error.rb +2 -0
  338. data/lib/genesis_ruby/errors/network_error.rb +2 -0
  339. data/lib/genesis_ruby/errors/object_formatter_error.rb +2 -0
  340. data/lib/genesis_ruby/errors/parameter_error.rb +2 -0
  341. data/lib/genesis_ruby/errors/parser_error.rb +2 -0
  342. data/lib/genesis_ruby/errors/request_error.rb +2 -0
  343. data/lib/genesis_ruby/errors/response_error.rb +2 -0
  344. data/lib/genesis_ruby/network/adapter/base_adapter.rb +2 -0
  345. data/lib/genesis_ruby/network/adapter/net_http_adapter.rb +4 -0
  346. data/lib/genesis_ruby/network/base_network.rb +5 -3
  347. data/lib/genesis_ruby/network/net_http.rb +2 -0
  348. data/lib/genesis_ruby/parser.rb +4 -2
  349. data/lib/genesis_ruby/parsers/base.rb +2 -0
  350. data/lib/genesis_ruby/parsers/json.rb +2 -0
  351. data/lib/genesis_ruby/parsers/xml.rb +2 -0
  352. data/lib/genesis_ruby/utils/common.rb +2 -0
  353. data/lib/genesis_ruby/utils/country.rb +2 -0
  354. data/lib/genesis_ruby/utils/formatters/base.rb +2 -0
  355. data/lib/genesis_ruby/utils/formatters/response/definitions.rb +2 -0
  356. data/lib/genesis_ruby/utils/formatters/response/formats/amount.rb +2 -0
  357. data/lib/genesis_ruby/utils/formatters/response/formats/timestamp.rb +2 -0
  358. data/lib/genesis_ruby/utils/formatters/response/loader.rb +2 -0
  359. data/lib/genesis_ruby/utils/money/base/strategy.rb +2 -0
  360. data/lib/genesis_ruby/utils/money/conversions/amount_to_exponent.rb +2 -0
  361. data/lib/genesis_ruby/utils/money/conversions/exponent_to_amount.rb +2 -0
  362. data/lib/genesis_ruby/utils/money/format.rb +2 -0
  363. data/lib/genesis_ruby/utils/money_format.rb +2 -0
  364. data/lib/genesis_ruby/utils/object_formatter.rb +2 -0
  365. data/lib/genesis_ruby/utils/options/api_config.rb +2 -0
  366. data/lib/genesis_ruby/utils/options/base.rb +2 -0
  367. data/lib/genesis_ruby/utils/options/network_adapter_config.rb +2 -0
  368. data/lib/genesis_ruby/utils/options/reminder.rb +2 -0
  369. data/lib/genesis_ruby/utils/threeds/v2.rb +2 -0
  370. data/lib/genesis_ruby/utils/transactions/financial_types.rb +2 -0
  371. data/lib/genesis_ruby/utils/transactions/references/capturable_types.rb +2 -0
  372. data/lib/genesis_ruby/utils/transactions/references/refundable_types.rb +2 -0
  373. data/lib/genesis_ruby/utils/transactions/references/voidable_types.rb +2 -0
  374. data/lib/genesis_ruby/utils/transactions/travel_data/airline_itinerary/base.rb +2 -0
  375. data/lib/genesis_ruby/utils/transactions/travel_data/airline_itinerary/leg.rb +2 -0
  376. data/lib/genesis_ruby/utils/transactions/travel_data/airline_itinerary/tax.rb +2 -0
  377. data/lib/genesis_ruby/utils/transactions/wpf_types.rb +2 -0
  378. data/lib/genesis_ruby/version.rb +3 -1
  379. data/lib/genesis_ruby.rb +2 -0
  380. metadata +39 -2
@@ -0,0 +1,87 @@
1
+ # frozen_string_literal: true
2
+
3
+ module GenesisRuby
4
+ module Api
5
+ module Mixins
6
+ module Requests
7
+ module NonFinancial
8
+ module Kyc
9
+ # Mixin KycBillingInfoAttributes for KYC Non-Financial API services
10
+ module KycBillingInfoAttributes
11
+
12
+ attr_accessor :billing_first_name, :billing_last_name, :billing_address1, :billing_address2,
13
+ :billing_city, :billing_province, :billing_zip_code, :billing_birth_date
14
+ attr_reader :billing_customer_email, :billing_country, :billing_gender, :billing_phone1
15
+
16
+ # Sets the billing_customer_email attribute
17
+ def billing_customer_email=(value)
18
+ error_message = format(
19
+ 'Invalid value given for %{attribute}',
20
+ attribute: __method__
21
+ )
22
+
23
+ raise GenesisRuby::InvalidArgumentError, error_message unless value.nil? || value =~ /\A.+@.+\..+\Z/
24
+
25
+ @billing_customer_email = value
26
+ end
27
+
28
+ # Sets the billing_country attribute
29
+ def billing_country=(value)
30
+ allowed_options(
31
+ attribute: __method__,
32
+ allowed: GenesisRuby::Utils::Country::COUNTRIES.keys,
33
+ value: value,
34
+ error_message: 'Invalid country code for Create Transaction billing country',
35
+ allow_empty: true
36
+ )
37
+ end
38
+
39
+ # Sets the billing_gender attribute
40
+ def billing_gender=(value)
41
+ allowed_options(
42
+ attribute: __method__,
43
+ allowed: Api::Constants::NonFinancial::Kyc::Genders.all,
44
+ value: value,
45
+ error_message: 'Invalid gender for Create Transaction billing gender',
46
+ allow_empty: true
47
+ )
48
+ end
49
+
50
+ # Sets the billing_phone1 attribute
51
+ def billing_phone1=(value)
52
+ error_message = format(
53
+ 'Invalid value given for %{attribute}',
54
+ attribute: __method__
55
+ )
56
+ raise GenesisRuby::InvalidArgumentError, error_message unless value.nil? || value =~ /^\d+$/
57
+
58
+ @billing_phone1 = value
59
+ end
60
+
61
+ protected
62
+
63
+ # Returns KYC billing information structure
64
+ def kyc_billing_info_structure # rubocop:disable Metrics/MethodLength
65
+ {
66
+ first_name: billing_first_name,
67
+ last_name: billing_last_name,
68
+ customer_email: billing_customer_email,
69
+ address1: billing_address1,
70
+ address2: billing_address2,
71
+ city: billing_city,
72
+ province: billing_province,
73
+ zip_code: billing_zip_code,
74
+ country: billing_country,
75
+ phone1: billing_phone1,
76
+ birth_date: billing_birth_date,
77
+ gender: billing_gender
78
+ }
79
+ end
80
+
81
+ end
82
+ end
83
+ end
84
+ end
85
+ end
86
+ end
87
+ end
@@ -0,0 +1,85 @@
1
+ # frozen_string_literal: true
2
+
3
+ module GenesisRuby
4
+ module Api
5
+ module Mixins
6
+ module Requests
7
+ module NonFinancial
8
+ module Kyc
9
+ # Mixin KycShippingInfoAttributes for KYC Non-Financial API services
10
+ module KycShippingInfoAttributes
11
+
12
+ attr_accessor :shipping_first_name, :shipping_last_name, :shipping_address1, :shipping_address2,
13
+ :shipping_city, :shipping_province, :shipping_zip_code
14
+ attr_reader :shipping_customer_email, :shipping_country, :shipping_phone1
15
+
16
+ # Sets the shipping customer email
17
+ def shipping_customer_email=(value)
18
+ error_message = format(
19
+ 'Invalid value given for %{attribute}',
20
+ attribute: __method__
21
+ )
22
+
23
+ raise GenesisRuby::InvalidArgumentError, error_message unless value.nil? || value =~ /\A.+@.+\..+\Z/
24
+
25
+ @shipping_customer_email = value
26
+ end
27
+
28
+ # Sets the shipping country attribute
29
+ def shipping_country=(value)
30
+ allowed_options(
31
+ attribute: __method__,
32
+ allowed: GenesisRuby::Utils::Country::COUNTRIES.keys,
33
+ value: value,
34
+ error_message: 'Invalid country code for Create Transaction shipping country',
35
+ allow_empty: true
36
+ )
37
+ end
38
+
39
+ # Sets the shipping_gender attribute
40
+ def shipping_gender=(value)
41
+ allowed_options(
42
+ attribute: __method__,
43
+ allowed: Api::Constants::NonFinancial::Kyc::Genders.all,
44
+ value: value,
45
+ error_message: 'Invalid gender for Create Transaction shipping gender',
46
+ allow_empty: true
47
+ )
48
+ end
49
+
50
+ # Sets the shipping_phone1 attribute
51
+ def shipping_phone1=(value)
52
+ error_message = format(
53
+ 'Invalid value given for %{attribute}',
54
+ attribute: __method__
55
+ )
56
+ raise GenesisRuby::InvalidArgumentError, error_message unless value.nil? || value =~ /^\d+$/
57
+
58
+ @shipping_phone1 = value
59
+ end
60
+
61
+ protected
62
+
63
+ # Returns KYC Shipping Information structure
64
+ def kyc_shipping_info_structure # rubocop:disable Metrics/MethodLength
65
+ {
66
+ first_name: shipping_first_name,
67
+ last_name: shipping_last_name,
68
+ customer_email: shipping_customer_email,
69
+ address1: shipping_address1,
70
+ address2: shipping_address2,
71
+ city: shipping_city,
72
+ province: shipping_province,
73
+ zip_code: shipping_zip_code,
74
+ country: shipping_country,
75
+ phone1: shipping_phone1
76
+ }
77
+ end
78
+
79
+ end
80
+ end
81
+ end
82
+ end
83
+ end
84
+ end
85
+ end
@@ -0,0 +1,33 @@
1
+ # frozen_string_literal: true
2
+
3
+ module GenesisRuby
4
+ module Api
5
+ module Mixins
6
+ module Requests
7
+ module NonFinancial
8
+ module Kyc
9
+ # Payment Details Attributes mixin for KYC Non-Financial API services
10
+ module PaymentDetailsAttributes
11
+
12
+ attr_accessor :bin, :tail, :cvv_present, :hashed_pan, :routing, :account, :ewallet_id
13
+
14
+ # Returns the payment details structure
15
+ def payment_details_structure
16
+ {
17
+ bin: bin,
18
+ tail: tail,
19
+ cvv_present: cvv_present,
20
+ hashed_pan: hashed_pan,
21
+ routing: routing,
22
+ account: account,
23
+ ewallet_id: ewallet_id
24
+ }
25
+ end
26
+
27
+ end
28
+ end
29
+ end
30
+ end
31
+ end
32
+ end
33
+ end
@@ -0,0 +1,74 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'genesis_ruby/api/constants/non_financial/kyc/document_supported_types'
4
+ require 'genesis_ruby/utils/country'
5
+
6
+ module GenesisRuby
7
+ module Api
8
+ module Mixins
9
+ module Requests
10
+ module NonFinancial
11
+ module Kyc
12
+ # Common Verification Attributes mixin
13
+ module VerificationAttributes
14
+
15
+ attr_accessor :reference_id
16
+ attr_reader :email, :backside_proof_required, :country
17
+
18
+ # User's email
19
+ def email=(value)
20
+ raise InvalidArgumentError unless value =~ /\A.+@.+\..+\Z/
21
+
22
+ @email = value
23
+ end
24
+
25
+ # Signifies that both sides of the document are required to verify the identity
26
+ def backside_proof_required=(value)
27
+ allowed_options attribute: __method__,
28
+ allowed: [true, false],
29
+ value: value,
30
+ allow_empty: true,
31
+ error_message: 'Accepts only boolean values'
32
+ end
33
+
34
+ # Document's expiry date
35
+ def expiry_date
36
+ @expiry_date&.strftime(
37
+ Api::Constants::DateTimeFormats::YYYY_MM_DD_ISO_8601
38
+ )
39
+ end
40
+
41
+ # Document's expiry date
42
+ def expiry_date=(value)
43
+ parse_date attribute: __method__, value: value, allow_empty: true
44
+ end
45
+
46
+ # Supported types of document that can be verified
47
+ def document_supported_types=(value)
48
+ parse_array_of_strings attribute: __method__,
49
+ value: value,
50
+ allowed: Api::Constants::NonFinancial::Kyc::DocumentSupportedTypes.all,
51
+ allow_empty: true
52
+ end
53
+
54
+ # Supported types of document that can be verified
55
+ def document_supported_types
56
+ @document_supported_types || []
57
+ end
58
+
59
+ # Country code
60
+ def country=(value)
61
+ allowed_options attribute: __method__,
62
+ allowed: GenesisRuby::Utils::Country::COUNTRIES.keys,
63
+ value: value,
64
+ error_message: 'Invalid country code',
65
+ allow_empty: true
66
+ end
67
+
68
+ end
69
+ end
70
+ end
71
+ end
72
+ end
73
+ end
74
+ end
@@ -0,0 +1,65 @@
1
+ # frozen_string_literal: true
2
+
3
+ module GenesisRuby
4
+ module Api
5
+ module Mixins
6
+ module Requests
7
+ module NonFinancial
8
+ module Kyc
9
+ # Data used by the document verification service to check
10
+ # the authenticity of identity documents submitted by customers
11
+ module VerificationDocumentAttributes
12
+
13
+ attr_accessor :document_first_name, :document_last_name
14
+ attr_reader :document_allow_offline, :document_allow_online
15
+
16
+ # Customer's date of birth
17
+ def document_date_of_birth
18
+ @document_date_of_birth&.strftime(
19
+ GenesisRuby::Api::Constants::DateTimeFormats::YYYY_MM_DD_ISO_8601
20
+ )
21
+ end
22
+
23
+ # Customer's date of birth
24
+ def document_date_of_birth=(value)
25
+ parse_date attribute: __method__, value: value, allow_empty: true
26
+ end
27
+
28
+ # Whether uploading of previously taken picture is allowed for verification of document
29
+ def document_allow_offline=(value)
30
+ allowed_options attribute: __method__,
31
+ allowed: [true, false],
32
+ value: value,
33
+ allow_empty: true,
34
+ error_message: 'Accepts only boolean values'
35
+ end
36
+
37
+ # Whether the realtime usage of device camera is allowed for verification of document
38
+ def document_allow_online=(value)
39
+ allowed_options attribute: __method__,
40
+ allowed: [true, false],
41
+ value: value,
42
+ allow_empty: true,
43
+ error_message: 'Accepts only boolean values'
44
+ end
45
+
46
+ protected
47
+
48
+ # Defines the structure of the document attributes
49
+ def verification_document_attributes_structure
50
+ {
51
+ first_name: document_first_name,
52
+ last_name: document_last_name,
53
+ date_of_birth: document_date_of_birth,
54
+ allow_offline: document_allow_offline,
55
+ allow_online: document_allow_online
56
+ }
57
+ end
58
+
59
+ end
60
+ end
61
+ end
62
+ end
63
+ end
64
+ end
65
+ end
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module GenesisRuby
2
4
  module Api
3
5
  module Mixins
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module GenesisRuby
2
4
  module Api
3
5
  module Mixins
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module GenesisRuby
2
4
  module Api
3
5
  module Mixins
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module GenesisRuby
2
4
  module Api
3
5
  module Mixins
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module GenesisRuby
2
4
  module Api
3
5
  module Mixins
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require 'genesis_ruby/api/constants/date_time_formats'
2
4
  require 'genesis_ruby/utils/common'
3
5
 
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require 'genesis_ruby/utils/options/reminder'
2
4
 
3
5
  module GenesisRuby
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require 'cgi'
2
4
  require 'digest'
3
5
 
@@ -9,14 +11,14 @@ module GenesisRuby
9
11
  attr_reader :unique_id, :notification, :reconciliation
10
12
 
11
13
  # Signature algorithms
12
- SHA1_SIGNATURE_TYPE = 'SHA1'.freeze
13
- SHA256_SIGNATURE_TYPE = 'SHA256'.freeze
14
- SHA512_SIGNATURE_TYPE = 'SHA512'.freeze
14
+ SHA1_SIGNATURE_TYPE = 'SHA1'
15
+ SHA256_SIGNATURE_TYPE = 'SHA256'
16
+ SHA512_SIGNATURE_TYPE = 'SHA512'
15
17
 
16
18
  # Possible request/response identifier fields
17
- API_UNIQUE_FIELD = 'unique_id'.freeze
18
- WPF_UNIQUE_FIELD = 'wpf_unique_id'.freeze
19
- KYC_UNIQUE_FIELD = 'reference_id'.freeze
19
+ API_UNIQUE_FIELD = 'unique_id'
20
+ WPF_UNIQUE_FIELD = 'wpf_unique_id'
21
+ KYC_UNIQUE_FIELD = 'reference_id'
20
22
 
21
23
  # Class constructor
22
24
  def initialize(configuration, data)
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require 'genesis_ruby/utils/options/api_config'
2
4
  require 'genesis_ruby/errors/endpoint_not_set_error'
3
5
  require 'genesis_ruby/builder'
@@ -12,15 +14,15 @@ module GenesisRuby
12
14
  include Mixins::Requests::RestrictedSetter
13
15
  include Mixins::Requests::AttributeValidation
14
16
 
15
- PROTOCOL_HTTPS = 'https'.freeze
17
+ PROTOCOL_HTTPS = 'https'
16
18
  PORT_HTTPS = 443
17
19
 
18
- METHOD_POST = 'POST'.freeze
19
- METHOD_GET = 'GET'.freeze
20
- METHOD_PUT = 'PUT'.freeze
20
+ METHOD_POST = 'POST'
21
+ METHOD_GET = 'GET'
22
+ METHOD_PUT = 'PUT'
21
23
 
22
- AUTH_TYPE_BASIC = 'basic'.freeze
23
- AUTH_TYPE_TOKEN = 'bearer'.freeze
24
+ AUTH_TYPE_BASIC = 'basic'
25
+ AUTH_TYPE_TOKEN = 'bearer'
24
26
 
25
27
  attr_reader :api_config
26
28
 
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module GenesisRuby
2
4
  module Api
3
5
  module Requests
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module GenesisRuby
2
4
  module Api
3
5
  module Requests
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module GenesisRuby
2
4
  module Api
3
5
  module Requests
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module GenesisRuby
2
4
  module Api
3
5
  module Requests
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module GenesisRuby
2
4
  module Api
3
5
  module Requests
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module GenesisRuby
2
4
  module Api
3
5
  module Requests
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module GenesisRuby
2
4
  module Api
3
5
  module Requests
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module GenesisRuby
2
4
  module Api
3
5
  module Requests
@@ -5,7 +7,7 @@ module GenesisRuby
5
7
  # Base Versioned Request class used for Non Financial JSON API services
6
8
  class Versioned < Request
7
9
 
8
- DEFAULT_VERSION = 'v1'.freeze
10
+ DEFAULT_VERSION = 'v1'
9
11
  private_constant :DEFAULT_VERSION
10
12
 
11
13
  attr_reader :version, :allowed_versions
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module GenesisRuby
2
4
  module Api
3
5
  module Requests
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module GenesisRuby
2
4
  module Api
3
5
  module Requests
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module GenesisRuby
2
4
  module Api
3
5
  module Requests
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require 'genesis_ruby/api/requests/base/financials/credit_card'
2
4
 
3
5
  module GenesisRuby
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require 'genesis_ruby/api/requests/base/financials/credit_card'
2
4
 
3
5
  module GenesisRuby
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module GenesisRuby
2
4
  module Api
3
5
  module Requests
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module GenesisRuby
2
4
  module Api
3
5
  module Requests
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module GenesisRuby
2
4
  module Api
3
5
  module Requests
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module GenesisRuby
2
4
  module Api
3
5
  module Requests
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module GenesisRuby
2
4
  module Api
3
5
  module Requests
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module GenesisRuby
2
4
  module Api
3
5
  module Requests
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module GenesisRuby
2
4
  module Api
3
5
  module Requests
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require 'genesis_ruby/api/requests/base/financials/credit_card'
2
4
 
3
5
  module GenesisRuby
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require 'genesis_ruby/api/requests/base/financials/credit_card'
2
4
 
3
5
  module GenesisRuby
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require 'genesis_ruby/api/requests/base/financials/credit_card'
2
4
 
3
5
  module GenesisRuby
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module GenesisRuby
2
4
  module Api
3
5
  module Requests
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require 'genesis_ruby/utils/threeds/v2'
2
4
 
3
5
  module GenesisRuby
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module GenesisRuby
2
4
  module Api
3
5
  module Requests
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module GenesisRuby
2
4
  module Api
3
5
  module Requests
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module GenesisRuby
2
4
  module Api
3
5
  module Requests
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require 'genesis_ruby/api/constants/transactions/parameters/cash_payments/cash_payment_types'
2
4
 
3
5
  module GenesisRuby