genesis_ruby 0.2.5 → 0.2.7

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (380) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +26 -0
  3. data/Gemfile.lock +20 -20
  4. data/README.md +24 -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 +30 -0
  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 +27 -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 +62 -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 → preauthorizations}/incremental_authorize.rb +2 -0
  260. data/lib/genesis_ruby/api/requests/financial/preauthorizations/partial_reversal.rb +26 -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 +4 -2
  294. data/lib/genesis_ruby/api/requests/non_financial/kyc/consumer_registration/update.rb +52 -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 +50 -0
  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 +46 -3
@@ -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
@@ -48,9 +50,12 @@ module GenesisRuby
48
50
  def process_request_parameters
49
51
  super
50
52
 
51
- request_path.sub!(':tier_id', tier_id)
53
+ processed_path = request_path.gsub(':tier_id', tier_id.to_s)
52
54
 
53
- init_api_gateway_configuration request_path: "#{version}/#{request_path}", include_token: false
55
+ init_api_gateway_configuration(
56
+ request_path: "#{version}/#{processed_path}",
57
+ include_token: false
58
+ )
54
59
  end
55
60
 
56
61
  end
@@ -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
@@ -45,9 +47,12 @@ module GenesisRuby
45
47
  def process_request_parameters
46
48
  super
47
49
 
48
- request_path.sub!(':installment_id', installment_id)
50
+ processed_path = request_path.gsub(':installment_id', installment_id.to_s)
49
51
 
50
- init_api_gateway_configuration request_path: "#{version}/#{request_path}", include_token: false
52
+ init_api_gateway_configuration(
53
+ request_path: "#{version}/#{processed_path}",
54
+ include_token: false
55
+ )
51
56
  end
52
57
 
53
58
  end
@@ -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
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module GenesisRuby
2
4
  module Api
3
5
  module Requests
@@ -51,7 +53,6 @@ module GenesisRuby
51
53
  super
52
54
 
53
55
  required_fields.push *%i[
54
- customer_information_structure
55
56
  customer_unique_id
56
57
  customer_registration_date
57
58
  customer_registration_ip_address
@@ -59,7 +60,8 @@ module GenesisRuby
59
60
 
60
61
  field_values.merge! device_fingerprint_type: [1, 2, 3],
61
62
  profile_action_type: [1, 2],
62
- profile_current_status: [0, 1, 2, 3],
63
+ profile_current_status:
64
+ GenesisRuby::Api::Constants::NonFinancial::Kyc::ProfileCurrentStatuses.all,
63
65
  industry_type: [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
64
66
  field_values.merge! customer_information_required_field_values
65
67
  end
@@ -0,0 +1,52 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'genesis_ruby/api/constants/non_financial/kyc/profile_current_statuses'
4
+
5
+ module GenesisRuby
6
+ module Api
7
+ module Requests
8
+ module NonFinancial
9
+ module Kyc
10
+ module ConsumerRegistration
11
+ # Update Consumer Registration Request class for KYC Non-Financial API services
12
+ class Update < Api::Requests::Base::NonFinancial::Kyc::Base
13
+
14
+ attr_accessor :reference_id, :profile_current_status, :status_reason
15
+
16
+ def initialize(configuration, _builder_interface = nil)
17
+ super configuration
18
+
19
+ self.request_path = 'update_consumer'
20
+ end
21
+
22
+ protected
23
+
24
+ # Sets the request field validations
25
+ def init_field_validations
26
+ super
27
+
28
+ required_fields.push *%i[
29
+ reference_id
30
+ profile_current_status
31
+ ]
32
+
33
+ field_values.merge! profile_current_status:
34
+ GenesisRuby::Api::Constants::NonFinancial::Kyc::ProfileCurrentStatuses.all
35
+ end
36
+
37
+ # Defines the request structure
38
+ def request_structure
39
+ {
40
+ reference_id: reference_id,
41
+ profile_current_status: profile_current_status,
42
+ status_reason: status_reason
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