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,90 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'genesis_ruby/api/constants/non_financial/kyc/address_supported_types'
4
+ require 'genesis_ruby/api/constants/non_financial/kyc/languages'
5
+ require 'genesis_ruby/api/constants/non_financial/kyc/verification_modes'
6
+
7
+ module GenesisRuby
8
+ module Api
9
+ module Requests
10
+ module NonFinancial
11
+ module Kyc
12
+ module Verifications
13
+ # The verification request will provide a link that will be used to redirect the customer.
14
+ # The customer will provide the required documents and will be verified against them.
15
+ # As a result, the user will be redirected back to merchant based on the provided redirect URL.
16
+ class Create < Api::Requests::Base::NonFinancial::Kyc::Base
17
+
18
+ include Api::Mixins::Requests::NonFinancial::Kyc::BackgroundChecksAttributes
19
+ include Api::Mixins::Requests::NonFinancial::Kyc::FaceAttributes
20
+ include Api::Mixins::Requests::NonFinancial::Kyc::VerificationAttributes
21
+ include Api::Mixins::Requests::NonFinancial::Kyc::VerificationDocumentAttributes
22
+
23
+ attr_accessor :language, :address_backside_proof_required, :allow_retry, :verification_mode
24
+ attr_reader :redirect_url, :address_supported_types
25
+
26
+ # Initializes the Create Verification Request
27
+ def initialize(configuration, _builder_interface = nil)
28
+ super configuration
29
+
30
+ self.request_path = 'verifications'
31
+ end
32
+
33
+ # URL where the customer is sent to after completing the verification process
34
+ def redirect_url=(value)
35
+ unless GenesisRuby::Utils::Common.valid_url?(value)
36
+ raise ParameterError, "Invalid URL given for #{__method__}"
37
+ end
38
+
39
+ @redirect_url = value
40
+ end
41
+
42
+ # Supported types of address that can be verified
43
+ def address_supported_types=(value)
44
+ parse_array_of_strings attribute: __method__,
45
+ value: value,
46
+ allowed: Api::Constants::NonFinancial::Kyc::AddressSupportedTypes.all,
47
+ allow_empty: true
48
+ end
49
+
50
+ protected
51
+
52
+ def init_field_validations
53
+ required_fields.push *%i[email]
54
+
55
+ field_values.merge!(
56
+ language: Api::Constants::NonFinancial::Kyc::Languages.all,
57
+ address_backside_proof_required: [true, false],
58
+ allow_retry: [true, false],
59
+ verification_mode: Api::Constants::NonFinancial::Kyc::VerificationModes.all
60
+ )
61
+ end
62
+
63
+ # Returns request structure for the Create verification
64
+ def request_structure # rubocop:disable Metrics/MethodLength
65
+ {
66
+ email: email,
67
+ country: country,
68
+ language: language,
69
+ redirect_url: redirect_url,
70
+ reference_id: reference_id,
71
+ document_supported_types: document_supported_types,
72
+ address_supported_types: address_supported_types,
73
+ face: face_attributes_structure,
74
+ backside_proof_required: backside_proof_required,
75
+ address_backside_proof_required: address_backside_proof_required,
76
+ expiry_date: expiry_date,
77
+ allow_retry: allow_retry,
78
+ verification_mode: verification_mode,
79
+ background_checks: background_checks_attributes_structure,
80
+ document: verification_document_attributes_structure
81
+ }
82
+ end
83
+
84
+ end
85
+ end
86
+ end
87
+ end
88
+ end
89
+ end
90
+ end
@@ -0,0 +1,44 @@
1
+ # frozen_string_literal: true
2
+
3
+ module GenesisRuby
4
+ module Api
5
+ module Requests
6
+ module NonFinancial
7
+ module Kyc
8
+ module Verifications
9
+ # Verification register request can be performed by reference_id. A reference id registration
10
+ # allows you to store the reference id in Genesis and receive notifications in Genesis for it.
11
+ class Register < Api::Requests::Base::NonFinancial::Kyc::Base
12
+
13
+ include Api::Mixins::Requests::Financial::ReferenceAttributes
14
+
15
+ # Initialize the request
16
+ def initialize(configuration, _builder_interface = nil)
17
+ super configuration
18
+
19
+ self.request_path = 'verifications/register'
20
+ end
21
+
22
+ protected
23
+
24
+ # Set the request field validations
25
+ def init_field_validations
26
+ super
27
+
28
+ required_fields.push *%i[reference_id]
29
+ end
30
+
31
+ # Return request structure
32
+ def request_structure
33
+ {
34
+ reference_id: reference_id
35
+ }
36
+ end
37
+
38
+ end
39
+ end
40
+ end
41
+ end
42
+ end
43
+ end
44
+ end
@@ -1,4 +1,4 @@
1
- require 'genesis_ruby/api/constants/non_financial/kyc/document_supported_types'
1
+ # frozen_string_literal: true
2
2
 
3
3
  module GenesisRuby
4
4
  module Api
@@ -10,6 +10,7 @@ module GenesisRuby
10
10
  class RemoteIdentity < Api::Requests::Base::NonFinancial::Kyc::Base
11
11
 
12
12
  include Api::Mixins::Requests::NonFinancial::Kyc::DocumentAttributes
13
+ include Api::Mixins::Requests::NonFinancial::Kyc::VerificationAttributes
13
14
 
14
15
  # Initializes the Remote Identity Verification Request
15
16
  def initialize(configuration, _builder_interface = nil)
@@ -18,48 +19,6 @@ module GenesisRuby
18
19
  self.request_path = 'verifications'
19
20
  end
20
21
 
21
- attr_accessor :reference_id, :country, :backside_proof_required
22
- attr_reader :email
23
-
24
- # Sets the email address for the Remote Identity verification
25
- def email=(value)
26
- raise InvalidArgumentError unless value =~ /\A.+@.+\..+\Z/
27
-
28
- @email = value
29
- end
30
-
31
- # Gets the expiry date for the Remote Identity verification
32
- def expiry_date
33
- @expiry_date&.strftime(
34
- Api::Constants::DateTimeFormats::YYYY_MM_DD_ISO_8601
35
- )
36
- end
37
-
38
- # Sets the expiry date for the Remote Identity verification
39
- def expiry_date=(value)
40
- parse_date attribute: __method__, value: value, allow_empty: true
41
- end
42
-
43
- # Sets the document supported types for the Remote Identity verification
44
- def document_supported_types=(value)
45
- parse_array_of_strings attribute: __method__,
46
- value: value,
47
- allowed: Api::Constants::NonFinancial::Kyc::DocumentSupportedTypes.all
48
- end
49
-
50
- # Returns the document supported types for the Remote Identity verification
51
- def document_supported_types
52
- @document_supported_types || []
53
- end
54
-
55
- # Initializes field validations for the Remote Identity verification request
56
- def init_field_validations
57
- super
58
-
59
- field_values.merge! country: GenesisRuby::Utils::Country::COUNTRIES.keys.map(&:upcase),
60
- backside_proof_required: [true, false]
61
- end
62
-
63
22
  protected
64
23
 
65
24
  # Performs validation checks for the Remote Identity verification request
@@ -0,0 +1,44 @@
1
+ # frozen_string_literal: true
2
+
3
+ module GenesisRuby
4
+ module Api
5
+ module Requests
6
+ module NonFinancial
7
+ module Kyc
8
+ module Verifications
9
+ # Verification status check request can be performed by reference_id. A status check may be needed
10
+ # if async notification has not arrived yet or when kyc notifications are not used in general.
11
+ class Status < Api::Requests::Base::NonFinancial::Kyc::Base
12
+
13
+ include Api::Mixins::Requests::Financial::ReferenceAttributes
14
+
15
+ # Initialize the request
16
+ def initialize(configuration, _builder_interface = nil)
17
+ super configuration
18
+
19
+ self.request_path = 'verifications/status'
20
+ end
21
+
22
+ protected
23
+
24
+ # Set the request field validations
25
+ def init_field_validations
26
+ super
27
+
28
+ required_fields.push *%i[reference_id]
29
+ end
30
+
31
+ # Return request structure
32
+ def request_structure
33
+ {
34
+ reference_id: reference_id
35
+ }
36
+ end
37
+
38
+ end
39
+ end
40
+ end
41
+ end
42
+ end
43
+ end
44
+ end
@@ -0,0 +1,73 @@
1
+ # frozen_string_literal: true
2
+
3
+ module GenesisRuby
4
+ module Api
5
+ module Requests
6
+ module NonFinancial
7
+ module Payee
8
+ module Account
9
+ # Create a Account related to a specific Payee.
10
+ class Create < Base::Versioned
11
+
12
+ PAYEE_ACCOUNT_TYPE_IBAN = 'iban'
13
+ PAYEE_ACCOUNT_TYPE_BANK = 'bank'
14
+
15
+ attr_accessor :payee_unique_id, :payee_account_type, :payee_account_number, :payee_account_country,
16
+ :payee_account_institution_code
17
+
18
+ # Retrieve Payee initialization
19
+ def initialize(configuration, _builder_interface = nil)
20
+ super configuration
21
+
22
+ self.request_path = 'payee/:payee_unique_id/account'
23
+ end
24
+
25
+ protected
26
+
27
+ # Sets the request field validations
28
+ def init_field_validations # rubocop:disable Metrics/MethodLength
29
+ super
30
+
31
+ required_fields.push *%i[
32
+ payee_unique_id payee_account_type payee_account_number
33
+ ]
34
+ field_values.merge! payee_account_type: [PAYEE_ACCOUNT_TYPE_IBAN, PAYEE_ACCOUNT_TYPE_BANK],
35
+ payee_account_country: GenesisRuby::Utils::Country::COUNTRIES.keys
36
+ field_value_dependencies.merge!(
37
+ {
38
+ payee_account_type: {
39
+ PAYEE_ACCOUNT_TYPE_BANK => %i[payee_account_institution_code]
40
+ }
41
+ }
42
+ )
43
+ end
44
+
45
+ # Returns the request structure
46
+ def request_structure
47
+ {
48
+ account: {
49
+ type: payee_account_type,
50
+ number: payee_account_number,
51
+ country: payee_account_country,
52
+ institution_code: payee_account_institution_code
53
+
54
+ }
55
+ }
56
+ end
57
+
58
+ # Override API endpoint configuration
59
+ def process_request_parameters
60
+ super
61
+
62
+ processed_path = request_path.dup.gsub(':payee_unique_id', payee_unique_id.to_s)
63
+
64
+ init_api_service_configuration request_path: processed_path, include_token: false
65
+ end
66
+
67
+ end
68
+ end
69
+ end
70
+ end
71
+ end
72
+ end
73
+ end
@@ -0,0 +1,74 @@
1
+ # frozen_string_literal: true
2
+
3
+ module GenesisRuby
4
+ module Api
5
+ module Requests
6
+ module NonFinancial
7
+ module Payee
8
+ module Account
9
+ # Retrieve the details of all Account records that belongs to specific Payee.
10
+ class List < Base::Versioned
11
+
12
+ attr_accessor :payee_unique_id, :number_eq, :type_eq, :institution_code_eq
13
+
14
+ # Retrieve Payee initialization
15
+ def initialize(configuration, _builder_interface = nil)
16
+ super configuration
17
+
18
+ self.request_path = 'payee/:payee_unique_id/account'
19
+ end
20
+
21
+ protected
22
+
23
+ # Override default Versioned Network configuration
24
+ def init_configuration
25
+ super
26
+
27
+ init_get_configuration
28
+ end
29
+
30
+ # Sets the request field validations
31
+ def init_field_validations
32
+ super
33
+
34
+ required_fields.push *%i[
35
+ payee_unique_id
36
+ ]
37
+ end
38
+
39
+ # Returns the request structure
40
+ def request_structure
41
+ {}
42
+ end
43
+
44
+ # Override API endpoint configuration
45
+ def process_request_parameters
46
+ processed_path = request_path.dup.gsub(':payee_unique_id', payee_unique_id.to_s)
47
+
48
+ query_params = build_query_params
49
+ processed_path += "?#{query_params}" unless query_params.empty?
50
+
51
+ init_api_service_configuration request_path: processed_path, include_token: false
52
+
53
+ super
54
+ end
55
+
56
+ private
57
+
58
+ # Build query parameters from filter fields
59
+ def build_query_params
60
+ params = {}
61
+ params['number_eq'] = number_eq if number_eq
62
+ params['type_eq'] = type_eq if type_eq
63
+ params['institution_code_eq'] = institution_code_eq if institution_code_eq
64
+
65
+ URI.encode_www_form(params)
66
+ end
67
+
68
+ end
69
+ end
70
+ end
71
+ end
72
+ end
73
+ end
74
+ end
@@ -0,0 +1,61 @@
1
+ # frozen_string_literal: true
2
+
3
+ module GenesisRuby
4
+ module Api
5
+ module Requests
6
+ module NonFinancial
7
+ module Payee
8
+ module Account
9
+ # Retrieve the details of a specific Account record based on it's unique ID that belongs to specific Payee.
10
+ class Retrieve < Base::Versioned
11
+
12
+ attr_accessor :payee_unique_id, :account_unique_id
13
+
14
+ # Retrieve Payee initialization
15
+ def initialize(configuration, _builder_interface = nil)
16
+ super configuration
17
+
18
+ self.request_path = 'payee/:payee_unique_id/account/:account_unique_id'
19
+ end
20
+
21
+ protected
22
+
23
+ # Override default Versioned Network configuration
24
+ def init_configuration
25
+ super
26
+
27
+ init_get_configuration
28
+ end
29
+
30
+ # Sets the request field validations
31
+ def init_field_validations
32
+ super
33
+
34
+ required_fields.push *%i[
35
+ payee_unique_id account_unique_id
36
+ ]
37
+ end
38
+
39
+ # Returns the request structure
40
+ def request_structure
41
+ {}
42
+ end
43
+
44
+ # Override API endpoint configuration
45
+ def process_request_parameters
46
+ super
47
+
48
+ processed_path = request_path.dup
49
+ .gsub(':payee_unique_id', payee_unique_id.to_s)
50
+ .gsub(':account_unique_id', account_unique_id.to_s)
51
+
52
+ init_api_service_configuration request_path: processed_path, include_token: false
53
+ end
54
+
55
+ end
56
+ end
57
+ end
58
+ end
59
+ end
60
+ end
61
+ end
@@ -0,0 +1,60 @@
1
+ # frozen_string_literal: true
2
+
3
+ module GenesisRuby
4
+ module Api
5
+ module Requests
6
+ module NonFinancial
7
+ module Payee
8
+ # Create a Payee record.
9
+ class Create < Base::Versioned
10
+
11
+ PAYEE_TYPE_PERSON = 'person'
12
+ PAYEE_TYPE_COMPANY = 'company'
13
+
14
+ attr_accessor :payee_type, :payee_name, :payee_country
15
+
16
+ # Create Payee initialization
17
+ def initialize(configuration, _builder_interface = nil)
18
+ super configuration
19
+
20
+ self.request_path = 'payee'
21
+ end
22
+
23
+ protected
24
+
25
+ # Sets the request field validations
26
+ def init_field_validations
27
+ super
28
+
29
+ required_fields.push *%i[
30
+ payee_type payee_name payee_country
31
+ ]
32
+
33
+ field_values.merge! payee_type: [PAYEE_TYPE_PERSON, PAYEE_TYPE_COMPANY],
34
+ payee_country: GenesisRuby::Utils::Country::COUNTRIES.keys
35
+ end
36
+
37
+ # Returns the request structure
38
+ def request_structure
39
+ {
40
+ payee: {
41
+ type: payee_type,
42
+ name: payee_name,
43
+ country: payee_country
44
+ }
45
+ }
46
+ end
47
+
48
+ # Override API endpoint configuration
49
+ def process_request_parameters
50
+ super
51
+
52
+ init_api_service_configuration request_path: request_path, include_token: false
53
+ end
54
+
55
+ end
56
+ end
57
+ end
58
+ end
59
+ end
60
+ end
@@ -0,0 +1,57 @@
1
+ # frozen_string_literal: true
2
+
3
+ module GenesisRuby
4
+ module Api
5
+ module Requests
6
+ module NonFinancial
7
+ module Payee
8
+ # Retrieve the details of a specific a Payee record based on it's unique ID.
9
+ class Retrieve < Base::Versioned
10
+
11
+ attr_accessor :payee_unique_id
12
+
13
+ # Retrieve Payee initialization
14
+ def initialize(configuration, _builder_interface = nil)
15
+ super configuration
16
+
17
+ self.request_path = 'payee/:payee_unique_id'
18
+ end
19
+
20
+ protected
21
+
22
+ # Override default Versioned Network configuration
23
+ def init_configuration
24
+ super
25
+
26
+ init_get_configuration
27
+ end
28
+
29
+ # Sets the request field validations
30
+ def init_field_validations
31
+ super
32
+
33
+ required_fields.push *%i[
34
+ payee_unique_id
35
+ ]
36
+ end
37
+
38
+ # Returns the request structure
39
+ def request_structure
40
+ {}
41
+ end
42
+
43
+ # Override API endpoint configuration
44
+ def process_request_parameters
45
+ super
46
+
47
+ processed_path = request_path.dup.gsub(':payee_unique_id', payee_unique_id.to_s)
48
+
49
+ init_api_service_configuration request_path: processed_path, include_token: false
50
+ end
51
+
52
+ end
53
+ end
54
+ end
55
+ end
56
+ end
57
+ end
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require 'genesis_ruby/api/constants/transactions/parameters/non_financial/externally_processed'
2
4
  require 'genesis_ruby/api/constants/transactions/parameters/non_financial/processing_type'
3
5
 
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require 'genesis_ruby/api/constants/transactions/parameters/non_financial/externally_processed'
2
4
  require 'genesis_ruby/api/constants/transactions/parameters/non_financial/processing_type'
3
5
 
@@ -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/non_financial/sca_exemptions'
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/utils/transactions/wpf_types'
2
4
  require 'genesis_ruby/api/constants/transactions/parameters/sca_exemptions'
3
5
  require 'genesis_ruby/api/constants/i18n'
@@ -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/errors/response_error'
2
4
  require 'genesis_ruby/parser'
3
5
  require 'genesis_ruby/api/constants/states'