inttegro 4.3.1 → 6.0.0

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 (697) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +12 -0
  3. data/README.md +39 -3
  4. data/Rakefile +2 -0
  5. data/lib/inttegro/app/application.rb +69 -0
  6. data/lib/inttegro/app/base.rb +11 -0
  7. data/lib/inttegro/app/create_request.rb +65 -0
  8. data/lib/inttegro/app/create_request_relationship_policy.rb +45 -0
  9. data/lib/inttegro/app/create_response.rb +28 -0
  10. data/lib/inttegro/app/credential_owner.rb +28 -0
  11. data/lib/inttegro/app/looked_up.rb +69 -0
  12. data/lib/inttegro/app/lookup_response.rb +28 -0
  13. data/lib/inttegro/app/management_role.rb +27 -0
  14. data/lib/inttegro/app/relationship.rb +114 -0
  15. data/lib/inttegro/app/relationship_kind.rb +25 -0
  16. data/lib/inttegro/app/relationship_policy.rb +43 -0
  17. data/lib/inttegro/app/relationship_status.rb +34 -0
  18. data/lib/inttegro/app/secret_key.rb +48 -0
  19. data/lib/inttegro/app/update_request.rb +48 -0
  20. data/lib/inttegro/app/update_response.rb +28 -0
  21. data/lib/inttegro/app/updated.rb +62 -0
  22. data/lib/inttegro/balance/base.rb +17 -0
  23. data/lib/inttegro/balance/currency_snapshot.rb +58 -0
  24. data/lib/inttegro/balance/currency_snapshot_refund.rb +27 -0
  25. data/lib/inttegro/balance/currency_snapshot_reserved.rb +27 -0
  26. data/lib/inttegro/balance/lookup_request.rb +21 -0
  27. data/lib/inttegro/balance/snapshot.rb +28 -0
  28. data/lib/inttegro/balance/snapshot_response.rb +28 -0
  29. data/lib/inttegro/balance/value.rb +27 -0
  30. data/lib/inttegro/balance_transaction/amount.rb +34 -0
  31. data/lib/inttegro/balance_transaction/balance_transaction.rb +107 -0
  32. data/lib/inttegro/balance_transaction/base.rb +11 -0
  33. data/lib/inttegro/balance_transaction/lookup_request.rb +27 -0
  34. data/lib/inttegro/balance_transaction/page.rb +42 -0
  35. data/lib/inttegro/balance_transaction/page_request.rb +34 -0
  36. data/lib/inttegro/balance_transaction/page_response.rb +28 -0
  37. data/lib/inttegro/balance_transaction/payout_configuration.rb +35 -0
  38. data/lib/inttegro/balance_transaction/payout_configuration_destination.rb +27 -0
  39. data/lib/inttegro/balance_transaction/questions.rb +48 -0
  40. data/lib/inttegro/balance_transaction/response.rb +30 -0
  41. data/lib/inttegro/balance_transaction/type.rb +27 -0
  42. data/lib/inttegro/bank_account/base.rb +17 -0
  43. data/lib/inttegro/bank_account/created.rb +63 -0
  44. data/lib/inttegro/bank_account/ghana_bank_account.rb +63 -0
  45. data/lib/inttegro/bank_account/type.rb +24 -0
  46. data/lib/inttegro/bank_account/updated.rb +63 -0
  47. data/lib/inttegro/broadcast/base.rb +17 -0
  48. data/lib/inttegro/broadcast/cancel_detail.rb +120 -0
  49. data/lib/inttegro/broadcast/cancel_request.rb +27 -0
  50. data/lib/inttegro/broadcast/cancel_response.rb +28 -0
  51. data/lib/inttegro/broadcast/creation_detail.rb +91 -0
  52. data/lib/inttegro/broadcast/detail.rb +113 -0
  53. data/lib/inttegro/broadcast/error.rb +41 -0
  54. data/lib/inttegro/broadcast/lookup_request.rb +27 -0
  55. data/lib/inttegro/broadcast/lookup_response.rb +28 -0
  56. data/lib/inttegro/broadcast/request.rb +68 -0
  57. data/lib/inttegro/broadcast/request_request_meta.rb +27 -0
  58. data/lib/inttegro/broadcast/response.rb +28 -0
  59. data/lib/inttegro/checkout/base.rb +17 -0
  60. data/lib/inttegro/checkout/billing_details.rb +42 -0
  61. data/lib/inttegro/checkout/confirm_payment_request.rb +48 -0
  62. data/lib/inttegro/checkout/invoice_view.rb +79 -0
  63. data/lib/inttegro/checkout/invoice_view_beneficiary.rb +97 -0
  64. data/lib/inttegro/checkout/invoice_view_format.rb +44 -0
  65. data/lib/inttegro/checkout/invoice_view_format_pdf.rb +27 -0
  66. data/lib/inttegro/checkout/invoice_view_format_receipt.rb +27 -0
  67. data/lib/inttegro/checkout/invoice_view_format_web.rb +27 -0
  68. data/lib/inttegro/checkout/invoice_view_status.rb +39 -0
  69. data/lib/inttegro/checkout/mobile_money_data.rb +42 -0
  70. data/lib/inttegro/checkout/mobile_money_data_network.rb +34 -0
  71. data/lib/inttegro/checkout/order.rb +154 -0
  72. data/lib/inttegro/checkout/order_checkout_settings.rb +34 -0
  73. data/lib/inttegro/checkout/order_created_from.rb +41 -0
  74. data/lib/inttegro/checkout/order_customer.rb +71 -0
  75. data/lib/inttegro/checkout/order_customer_billing_address.rb +21 -0
  76. data/lib/inttegro/checkout/order_customer_shipping_address.rb +21 -0
  77. data/lib/inttegro/checkout/order_line_item_group.rb +36 -0
  78. data/lib/inttegro/checkout/order_payment.rb +160 -0
  79. data/lib/inttegro/checkout/order_payment_billing_details.rb +21 -0
  80. data/lib/inttegro/checkout/order_payment_latest_attempt.rb +21 -0
  81. data/lib/inttegro/checkout/order_payment_latest_error.rb +21 -0
  82. data/lib/inttegro/checkout/order_payment_next_action.rb +21 -0
  83. data/lib/inttegro/checkout/order_payment_payment_method.rb +21 -0
  84. data/lib/inttegro/checkout/order_reference_request.rb +27 -0
  85. data/lib/inttegro/checkout/order_response.rb +38 -0
  86. data/lib/inttegro/checkout/order_status.rb +42 -0
  87. data/lib/inttegro/checkout/pay_request.rb +53 -0
  88. data/lib/inttegro/checkout/pay_request_payment_method_data.rb +47 -0
  89. data/lib/inttegro/checkout/pay_request_payment_method_data_type.rb +25 -0
  90. data/lib/inttegro/checkout/payment_address.rb +76 -0
  91. data/lib/inttegro/checkout/payment_method_data.rb +45 -0
  92. data/lib/inttegro/checkout/payment_method_data_billing_details.rb +43 -0
  93. data/lib/inttegro/checkout/payment_method_data_type.rb +25 -0
  94. data/lib/inttegro/chime/base.rb +11 -0
  95. data/lib/inttegro/chime/chime.rb +99 -0
  96. data/lib/inttegro/chime/email_event.rb +118 -0
  97. data/lib/inttegro/chime/email_mailbox.rb +34 -0
  98. data/lib/inttegro/chime/email_message.rb +79 -0
  99. data/lib/inttegro/chime/email_message_input.rb +63 -0
  100. data/lib/inttegro/chime/email_safety_result.rb +78 -0
  101. data/lib/inttegro/chime/email_scanned_link.rb +56 -0
  102. data/lib/inttegro/chime/email_schema_kind.rb +30 -0
  103. data/lib/inttegro/chime/email_schema_markup.rb +36 -0
  104. data/lib/inttegro/chime/inline_recipient.rb +18 -0
  105. data/lib/inttegro/chime/inline_recipient_variant1.rb +43 -0
  106. data/lib/inttegro/chime/inline_recipient_variant1_phone.rb +27 -0
  107. data/lib/inttegro/chime/inline_recipient_variant1_type.rb +25 -0
  108. data/lib/inttegro/chime/inline_recipient_variant2.rb +43 -0
  109. data/lib/inttegro/chime/inline_recipient_variant2_email.rb +27 -0
  110. data/lib/inttegro/chime/inline_recipient_variant2_type.rb +25 -0
  111. data/lib/inttegro/chime/lookup_request.rb +27 -0
  112. data/lib/inttegro/chime/page.rb +42 -0
  113. data/lib/inttegro/chime/page_request.rb +49 -0
  114. data/lib/inttegro/chime/page_response.rb +28 -0
  115. data/lib/inttegro/chime/recipient.rb +18 -0
  116. data/lib/inttegro/chime/recipient_detail.rb +51 -0
  117. data/lib/inttegro/chime/recipient_detail_email.rb +27 -0
  118. data/lib/inttegro/chime/recipient_detail_phone.rb +27 -0
  119. data/lib/inttegro/chime/recipient_type.rb +27 -0
  120. data/lib/inttegro/chime/response.rb +28 -0
  121. data/lib/inttegro/chime/saved_customer_recipient.rb +35 -0
  122. data/lib/inttegro/chime/send_request.rb +82 -0
  123. data/lib/inttegro/chime/send_request_request_meta.rb +27 -0
  124. data/lib/inttegro/chime/transmission.rb +162 -0
  125. data/lib/inttegro/chime/transport.rb +27 -0
  126. data/lib/inttegro/customer/address.rb +76 -0
  127. data/lib/inttegro/customer/address_input.rb +76 -0
  128. data/lib/inttegro/customer/balance_value.rb +35 -0
  129. data/lib/inttegro/customer/base.rb +11 -0
  130. data/lib/inttegro/customer/create_request.rb +78 -0
  131. data/lib/inttegro/customer/customer.rb +119 -0
  132. data/lib/inttegro/customer/data.rb +56 -0
  133. data/lib/inttegro/customer/lookup_request.rb +27 -0
  134. data/lib/inttegro/customer/page.rb +42 -0
  135. data/lib/inttegro/customer/page_request.rb +34 -0
  136. data/lib/inttegro/customer/page_response.rb +28 -0
  137. data/lib/inttegro/customer/response.rb +37 -0
  138. data/lib/inttegro/customer/update_request.rb +92 -0
  139. data/lib/inttegro/enums.rb +4 -2
  140. data/lib/inttegro/file/actor.rb +48 -0
  141. data/lib/inttegro/file/actor_input.rb +48 -0
  142. data/lib/inttegro/file/api_error.rb +69 -0
  143. data/lib/inttegro/file/base.rb +11 -0
  144. data/lib/inttegro/file/contents_delivery_mode.rb +27 -0
  145. data/lib/inttegro/file/contents_request.rb +43 -0
  146. data/lib/inttegro/file/create_request.rb +48 -0
  147. data/lib/inttegro/file/delete_request.rb +27 -0
  148. data/lib/inttegro/file/delivery.rb +42 -0
  149. data/lib/inttegro/file/disposition.rb +27 -0
  150. data/lib/inttegro/file/file.rb +176 -0
  151. data/lib/inttegro/file/latest_error.rb +48 -0
  152. data/lib/inttegro/file/lookup_request.rb +27 -0
  153. data/lib/inttegro/file/media.rb +90 -0
  154. data/lib/inttegro/file/page.rb +42 -0
  155. data/lib/inttegro/file/page_request.rb +63 -0
  156. data/lib/inttegro/file/page_response.rb +28 -0
  157. data/lib/inttegro/file/party.rb +48 -0
  158. data/lib/inttegro/file/public_storage.rb +35 -0
  159. data/lib/inttegro/file/resource.rb +41 -0
  160. data/lib/inttegro/file/response.rb +29 -0
  161. data/lib/inttegro/file/scan_status.rb +33 -0
  162. data/lib/inttegro/file/service_health_response.rb +48 -0
  163. data/lib/inttegro/file/service_ready_response.rb +55 -0
  164. data/lib/inttegro/file/source.rb +42 -0
  165. data/lib/inttegro/file/source_type.rb +30 -0
  166. data/lib/inttegro/file/status.rb +36 -0
  167. data/lib/inttegro/file/storage_encoding.rb +27 -0
  168. data/lib/inttegro/file/upload_receipt.rb +70 -0
  169. data/lib/inttegro/file_link/access.rb +55 -0
  170. data/lib/inttegro/file_link/access_request.rb +48 -0
  171. data/lib/inttegro/file_link/actor.rb +48 -0
  172. data/lib/inttegro/file_link/base.rb +11 -0
  173. data/lib/inttegro/file_link/create_request.rb +66 -0
  174. data/lib/inttegro/file_link/creation.rb +35 -0
  175. data/lib/inttegro/file_link/delivery.rb +49 -0
  176. data/lib/inttegro/file_link/delivery_mode.rb +30 -0
  177. data/lib/inttegro/file_link/file_link.rb +136 -0
  178. data/lib/inttegro/file_link/kind.rb +24 -0
  179. data/lib/inttegro/file_link/lookup_request.rb +27 -0
  180. data/lib/inttegro/file_link/page.rb +42 -0
  181. data/lib/inttegro/file_link/page_request.rb +49 -0
  182. data/lib/inttegro/file_link/page_response.rb +28 -0
  183. data/lib/inttegro/file_link/response.rb +28 -0
  184. data/lib/inttegro/file_link/revoke_request.rb +35 -0
  185. data/lib/inttegro/file_link/status.rb +33 -0
  186. data/lib/inttegro/file_reference/base.rb +17 -0
  187. data/lib/inttegro/file_reference/input.rb +55 -0
  188. data/lib/inttegro/file_reference/reconcile_request.rb +42 -0
  189. data/lib/inttegro/file_reference/reconciliation.rb +27 -0
  190. data/lib/inttegro/financial_account/address.rb +76 -0
  191. data/lib/inttegro/financial_account/bank.rb +36 -0
  192. data/lib/inttegro/financial_account/bank_request.rb +97 -0
  193. data/lib/inttegro/financial_account/bank_request_bank_account.rb +36 -0
  194. data/lib/inttegro/financial_account/bank_request_bank_account_ghana_bank_account.rb +50 -0
  195. data/lib/inttegro/financial_account/bank_request_type.rb +25 -0
  196. data/lib/inttegro/financial_account/base.rb +11 -0
  197. data/lib/inttegro/financial_account/compact.rb +70 -0
  198. data/lib/inttegro/financial_account/connect_response.rb +28 -0
  199. data/lib/inttegro/financial_account/connected.rb +158 -0
  200. data/lib/inttegro/financial_account/create_request.rb +19 -0
  201. data/lib/inttegro/financial_account/create_response.rb +28 -0
  202. data/lib/inttegro/financial_account/created.rb +149 -0
  203. data/lib/inttegro/financial_account/created_address.rb +90 -0
  204. data/lib/inttegro/financial_account/created_bank.rb +43 -0
  205. data/lib/inttegro/financial_account/created_owner.rb +35 -0
  206. data/lib/inttegro/financial_account/details.rb +125 -0
  207. data/lib/inttegro/financial_account/disable_pull_response.rb +28 -0
  208. data/lib/inttegro/financial_account/disable_push_response.rb +28 -0
  209. data/lib/inttegro/financial_account/disable_request.rb +35 -0
  210. data/lib/inttegro/financial_account/disconnect_response.rb +28 -0
  211. data/lib/inttegro/financial_account/dosh_request.rb +97 -0
  212. data/lib/inttegro/financial_account/dosh_request_type.rb +25 -0
  213. data/lib/inttegro/financial_account/enable_pull_request.rb +41 -0
  214. data/lib/inttegro/financial_account/enable_pull_response.rb +28 -0
  215. data/lib/inttegro/financial_account/enable_push_response.rb +28 -0
  216. data/lib/inttegro/financial_account/financial_account.rb +163 -0
  217. data/lib/inttegro/financial_account/financial_account_page_request.rb +34 -0
  218. data/lib/inttegro/financial_account/id_request.rb +27 -0
  219. data/lib/inttegro/financial_account/lookup_response.rb +28 -0
  220. data/lib/inttegro/financial_account/mandate.rb +48 -0
  221. data/lib/inttegro/financial_account/owner.rb +35 -0
  222. data/lib/inttegro/financial_account/owner_input.rb +35 -0
  223. data/lib/inttegro/financial_account/owner_input_address.rb +76 -0
  224. data/lib/inttegro/financial_account/owner_update_input.rb +35 -0
  225. data/lib/inttegro/financial_account/owner_update_input_address.rb +76 -0
  226. data/lib/inttegro/financial_account/page.rb +42 -0
  227. data/lib/inttegro/financial_account/page_financial_accounts_request.rb +34 -0
  228. data/lib/inttegro/financial_account/page_response.rb +37 -0
  229. data/lib/inttegro/financial_account/page_response_inline.rb +28 -0
  230. data/lib/inttegro/financial_account/pull_configuration.rb +35 -0
  231. data/lib/inttegro/financial_account/push_configuration.rb +27 -0
  232. data/lib/inttegro/financial_account/reconnect_response.rb +28 -0
  233. data/lib/inttegro/financial_account/request_base.rb +88 -0
  234. data/lib/inttegro/financial_account/request_base_pull_configuration.rb +27 -0
  235. data/lib/inttegro/financial_account/request_base_push_configuration.rb +27 -0
  236. data/lib/inttegro/financial_account/type.rb +30 -0
  237. data/lib/inttegro/financial_account/update_request.rb +64 -0
  238. data/lib/inttegro/financial_account/update_response.rb +28 -0
  239. data/lib/inttegro/financial_account/updated.rb +165 -0
  240. data/lib/inttegro/financial_account/updated_address.rb +83 -0
  241. data/lib/inttegro/financial_account/updated_bank.rb +43 -0
  242. data/lib/inttegro/financial_account/updated_owner.rb +35 -0
  243. data/lib/inttegro/financial_account/updated_wallet.rb +43 -0
  244. data/lib/inttegro/financial_account/verification.rb +42 -0
  245. data/lib/inttegro/financial_account/verification_request.rb +41 -0
  246. data/lib/inttegro/financial_account/wallet.rb +43 -0
  247. data/lib/inttegro/financial_account/wallet_mobile_money.rb +35 -0
  248. data/lib/inttegro/financial_account/wallet_request.rb +96 -0
  249. data/lib/inttegro/financial_account/wallet_request_type.rb +25 -0
  250. data/lib/inttegro/financial_account/wallet_request_wallet.rb +36 -0
  251. data/lib/inttegro/financial_account/wallet_request_wallet_mobile_money.rb +35 -0
  252. data/lib/inttegro/financial_account/wire_page.rb +42 -0
  253. data/lib/inttegro/financial_account/wire_page_accounts_item.rb +85 -0
  254. data/lib/inttegro/generated/enums.rb +80 -635
  255. data/lib/inttegro/generated/models.rb +545 -3803
  256. data/lib/inttegro/generated/operations.rb +236 -239
  257. data/lib/inttegro/http_client.rb +5 -4
  258. data/lib/inttegro/message_template/attachment_ids.rb +17 -0
  259. data/lib/inttegro/message_template/base.rb +11 -0
  260. data/lib/inttegro/message_template/channel.rb +27 -0
  261. data/lib/inttegro/message_template/create_email_request.rb +81 -0
  262. data/lib/inttegro/message_template/create_email_request_channel.rb +25 -0
  263. data/lib/inttegro/message_template/create_fields.rb +64 -0
  264. data/lib/inttegro/message_template/create_request.rb +18 -0
  265. data/lib/inttegro/message_template/create_sms_request.rb +72 -0
  266. data/lib/inttegro/message_template/create_sms_request_channel.rb +25 -0
  267. data/lib/inttegro/message_template/email_content.rb +56 -0
  268. data/lib/inttegro/message_template/envelope.rb +28 -0
  269. data/lib/inttegro/message_template/id_request.rb +27 -0
  270. data/lib/inttegro/message_template/mailbox.rb +34 -0
  271. data/lib/inttegro/message_template/message_template.rb +158 -0
  272. data/lib/inttegro/message_template/page.rb +42 -0
  273. data/lib/inttegro/message_template/page_envelope.rb +28 -0
  274. data/lib/inttegro/message_template/page_request.rb +64 -0
  275. data/lib/inttegro/message_template/preview.rb +36 -0
  276. data/lib/inttegro/message_template/reference.rb +35 -0
  277. data/lib/inttegro/message_template/render_preview_request.rb +28 -0
  278. data/lib/inttegro/message_template/rendered.rb +53 -0
  279. data/lib/inttegro/message_template/rendered_email.rb +71 -0
  280. data/lib/inttegro/message_template/rendered_sms.rb +27 -0
  281. data/lib/inttegro/message_template/safety_result.rb +78 -0
  282. data/lib/inttegro/message_template/scanned_link.rb +55 -0
  283. data/lib/inttegro/message_template/sms_content.rb +27 -0
  284. data/lib/inttegro/message_template/status.rb +30 -0
  285. data/lib/inttegro/message_template/update_request.rb +96 -0
  286. data/lib/inttegro/message_template/variable.rb +64 -0
  287. data/lib/inttegro/message_template/variable_input.rb +64 -0
  288. data/lib/inttegro/message_template/variable_item.rb +56 -0
  289. data/lib/inttegro/message_template/variable_item_input.rb +56 -0
  290. data/lib/inttegro/message_template/variable_item_type.rb +49 -0
  291. data/lib/inttegro/message_template/variable_type.rb +52 -0
  292. data/lib/inttegro/message_template/variables.rb +21 -0
  293. data/lib/inttegro/model_serialization.rb +85 -0
  294. data/lib/inttegro/models.rb +12 -128
  295. data/lib/inttegro/money/amount.rb +36 -0
  296. data/lib/inttegro/money/amount_params.rb +36 -0
  297. data/lib/inttegro/money/base.rb +17 -0
  298. data/lib/inttegro/money/currency.rb +37 -0
  299. data/lib/inttegro/money/currency_deserialization.rb +24 -0
  300. data/lib/inttegro/order/address.rb +76 -0
  301. data/lib/inttegro/order/base.rb +11 -0
  302. data/lib/inttegro/order/cancel_request.rb +42 -0
  303. data/lib/inttegro/order/checkout_settings.rb +34 -0
  304. data/lib/inttegro/order/complete_envelope.rb +29 -0
  305. data/lib/inttegro/order/complete_request.rb +36 -0
  306. data/lib/inttegro/order/create_existing_customer.rb +147 -0
  307. data/lib/inttegro/order/create_existing_customer_checkout_settings.rb +35 -0
  308. data/lib/inttegro/order/create_existing_customer_request_meta.rb +27 -0
  309. data/lib/inttegro/order/create_new_customer.rb +149 -0
  310. data/lib/inttegro/order/create_new_customer_checkout_settings.rb +35 -0
  311. data/lib/inttegro/order/create_new_customer_request_meta.rb +27 -0
  312. data/lib/inttegro/order/created_from.rb +42 -0
  313. data/lib/inttegro/order/created_from_resource_type.rb +25 -0
  314. data/lib/inttegro/order/customer.rb +70 -0
  315. data/lib/inttegro/order/discount.rb +21 -0
  316. data/lib/inttegro/order/discount_line_item.rb +36 -0
  317. data/lib/inttegro/order/discount_line_item_type.rb +24 -0
  318. data/lib/inttegro/order/document_delivery.rb +67 -0
  319. data/lib/inttegro/order/document_delivery_attempt.rb +35 -0
  320. data/lib/inttegro/order/document_delivery_failure.rb +35 -0
  321. data/lib/inttegro/order/document_delivery_request.rb +27 -0
  322. data/lib/inttegro/order/document_delivery_result.rb +46 -0
  323. data/lib/inttegro/order/document_format.rb +27 -0
  324. data/lib/inttegro/order/document_kind.rb +27 -0
  325. data/lib/inttegro/order/envelope.rb +29 -0
  326. data/lib/inttegro/order/fee_line_item.rb +36 -0
  327. data/lib/inttegro/order/fee_line_item_fee.rb +56 -0
  328. data/lib/inttegro/order/fee_line_item_type.rb +24 -0
  329. data/lib/inttegro/order/finalize_envelope.rb +29 -0
  330. data/lib/inttegro/order/finalize_request.rb +27 -0
  331. data/lib/inttegro/order/invoice.rb +35 -0
  332. data/lib/inttegro/order/invoice_format.rb +42 -0
  333. data/lib/inttegro/order/line_item.rb +20 -0
  334. data/lib/inttegro/order/line_item_group.rb +36 -0
  335. data/lib/inttegro/order/lookup_request.rb +27 -0
  336. data/lib/inttegro/order/order.rb +177 -0
  337. data/lib/inttegro/order/page.rb +42 -0
  338. data/lib/inttegro/order/page_envelope.rb +28 -0
  339. data/lib/inttegro/order/page_request.rb +42 -0
  340. data/lib/inttegro/order/pay_request.rb +51 -0
  341. data/lib/inttegro/order/payout_settings_request.rb +35 -0
  342. data/lib/inttegro/order/payout_settings_request_destination.rb +27 -0
  343. data/lib/inttegro/order/product_line_item.rb +36 -0
  344. data/lib/inttegro/order/product_line_item_product.rb +106 -0
  345. data/lib/inttegro/order/product_line_item_type.rb +24 -0
  346. data/lib/inttegro/order/questions.rb +53 -0
  347. data/lib/inttegro/order/shipping_line_item.rb +36 -0
  348. data/lib/inttegro/order/shipping_line_item_shipping.rb +49 -0
  349. data/lib/inttegro/order/shipping_line_item_type.rb +24 -0
  350. data/lib/inttegro/order/status.rb +42 -0
  351. data/lib/inttegro/order/update_request.rb +117 -0
  352. data/lib/inttegro/order/update_request_payment_method_data.rb +38 -0
  353. data/lib/inttegro/order/update_request_payment_method_data_type.rb +24 -0
  354. data/lib/inttegro/otp/alphabet_type.rb +30 -0
  355. data/lib/inttegro/otp/base.rb +17 -0
  356. data/lib/inttegro/otp/initiate_request.rb +91 -0
  357. data/lib/inttegro/otp/initiate_response.rb +28 -0
  358. data/lib/inttegro/otp/lookup_request.rb +27 -0
  359. data/lib/inttegro/otp/lookup_response.rb +28 -0
  360. data/lib/inttegro/otp/status.rb +39 -0
  361. data/lib/inttegro/otp/transaction.rb +78 -0
  362. data/lib/inttegro/otp/transmission.rb +57 -0
  363. data/lib/inttegro/otp/transmission_sent_via.rb +24 -0
  364. data/lib/inttegro/otp/transmission_status.rb +30 -0
  365. data/lib/inttegro/otp/verification.rb +36 -0
  366. data/lib/inttegro/otp/verification_attempt.rb +56 -0
  367. data/lib/inttegro/otp/verification_attempt_result.rb +35 -0
  368. data/lib/inttegro/otp/verification_verdict.rb +27 -0
  369. data/lib/inttegro/otp/verify_request.rb +41 -0
  370. data/lib/inttegro/payment/attempt_status.rb +42 -0
  371. data/lib/inttegro/payment/base.rb +11 -0
  372. data/lib/inttegro/payment/billing_details.rb +28 -0
  373. data/lib/inttegro/payment/billing_details_owner.rb +35 -0
  374. data/lib/inttegro/payment/confirm_request.rb +48 -0
  375. data/lib/inttegro/payment/confirmation_channel.rb +30 -0
  376. data/lib/inttegro/payment/customer.rb +70 -0
  377. data/lib/inttegro/payment/latest_attempt.rb +71 -0
  378. data/lib/inttegro/payment/latest_attempt_error.rb +27 -0
  379. data/lib/inttegro/payment/latest_error.rb +55 -0
  380. data/lib/inttegro/payment/method_snapshot_bank_account.rb +35 -0
  381. data/lib/inttegro/payment/method_snapshot_bank_account_ghana_bank_account.rb +56 -0
  382. data/lib/inttegro/payment/method_snapshot_mobile_money.rb +42 -0
  383. data/lib/inttegro/payment/method_snapshot_owner.rb +35 -0
  384. data/lib/inttegro/payment/next_action.rb +60 -0
  385. data/lib/inttegro/payment/next_action_authorize.rb +41 -0
  386. data/lib/inttegro/payment/next_action_confirm_payment.rb +64 -0
  387. data/lib/inttegro/payment/next_action_confirm_payment_attempt.rb +55 -0
  388. data/lib/inttegro/payment/next_action_confirm_payment_request.rb +63 -0
  389. data/lib/inttegro/payment/next_action_redirect.rb +42 -0
  390. data/lib/inttegro/payment/next_action_redirect_latest_visit.rb +41 -0
  391. data/lib/inttegro/payment/next_action_request_confirmation.rb +35 -0
  392. data/lib/inttegro/payment/next_action_request_confirmation_last_request.rb +64 -0
  393. data/lib/inttegro/payment/next_action_type.rb +36 -0
  394. data/lib/inttegro/payment/payment.rb +177 -0
  395. data/lib/inttegro/payment/payment_method.rb +95 -0
  396. data/lib/inttegro/payment/payout_configuration.rb +35 -0
  397. data/lib/inttegro/payment/payout_configuration_destination.rb +27 -0
  398. data/lib/inttegro/payment/questions.rb +47 -0
  399. data/lib/inttegro/payment/result.rb +56 -0
  400. data/lib/inttegro/payment/result_status.rb +36 -0
  401. data/lib/inttegro/payment/status.rb +48 -0
  402. data/lib/inttegro/payment_method/activate_request.rb +27 -0
  403. data/lib/inttegro/payment_method/activate_response.rb +28 -0
  404. data/lib/inttegro/payment_method/archive_request.rb +27 -0
  405. data/lib/inttegro/payment_method/archive_response.rb +28 -0
  406. data/lib/inttegro/payment_method/bank_account.rb +36 -0
  407. data/lib/inttegro/payment_method/bank_account_ghana_bank_account.rb +55 -0
  408. data/lib/inttegro/payment_method/base.rb +11 -0
  409. data/lib/inttegro/payment_method/card.rb +21 -0
  410. data/lib/inttegro/payment_method/data.rb +36 -0
  411. data/lib/inttegro/payment_method/data_mobile_money.rb +35 -0
  412. data/lib/inttegro/payment_method/data_type.rb +24 -0
  413. data/lib/inttegro/payment_method/deletion.rb +20 -0
  414. data/lib/inttegro/payment_method/disactivate_request.rb +27 -0
  415. data/lib/inttegro/payment_method/disactivate_response.rb +28 -0
  416. data/lib/inttegro/payment_method/get_settings_request.rb +21 -0
  417. data/lib/inttegro/payment_method/get_settings_response.rb +28 -0
  418. data/lib/inttegro/payment_method/lookup_request.rb +27 -0
  419. data/lib/inttegro/payment_method/lookup_response.rb +28 -0
  420. data/lib/inttegro/payment_method/mobile_money.rb +42 -0
  421. data/lib/inttegro/payment_method/owner.rb +35 -0
  422. data/lib/inttegro/payment_method/owner_address.rb +76 -0
  423. data/lib/inttegro/payment_method/owner_input.rb +35 -0
  424. data/lib/inttegro/payment_method/owner_input_address.rb +76 -0
  425. data/lib/inttegro/payment_method/page.rb +42 -0
  426. data/lib/inttegro/payment_method/page_request.rb +42 -0
  427. data/lib/inttegro/payment_method/page_response.rb +28 -0
  428. data/lib/inttegro/payment_method/payment_method.rb +138 -0
  429. data/lib/inttegro/payment_method/questions.rb +35 -0
  430. data/lib/inttegro/payment_method/settings.rb +49 -0
  431. data/lib/inttegro/payment_method/supplied.rb +62 -0
  432. data/lib/inttegro/payment_method/tokenize_base.rb +43 -0
  433. data/lib/inttegro/payment_method/tokenize_base_type.rb +25 -0
  434. data/lib/inttegro/payment_method/tokenize_mobile_money_request.rb +59 -0
  435. data/lib/inttegro/payment_method/tokenize_mobile_money_request_mobile_money.rb +36 -0
  436. data/lib/inttegro/payment_method/tokenize_mobile_money_request_type.rb +25 -0
  437. data/lib/inttegro/payment_method/tokenize_response.rb +28 -0
  438. data/lib/inttegro/payment_method/type.rb +33 -0
  439. data/lib/inttegro/payment_method/type_setting.rb +56 -0
  440. data/lib/inttegro/payment_method/unarchive_request.rb +27 -0
  441. data/lib/inttegro/payment_method/unarchive_response.rb +28 -0
  442. data/lib/inttegro/payment_method/update_request.rb +57 -0
  443. data/lib/inttegro/payment_method/update_request_owner.rb +35 -0
  444. data/lib/inttegro/payment_method/update_request_owner_address.rb +76 -0
  445. data/lib/inttegro/payment_method/update_response.rb +28 -0
  446. data/lib/inttegro/payment_method/verification.rb +55 -0
  447. data/lib/inttegro/payout/base.rb +11 -0
  448. data/lib/inttegro/payout/cancel_request.rb +27 -0
  449. data/lib/inttegro/payout/cancel_response.rb +28 -0
  450. data/lib/inttegro/payout/disable_automatic_request.rb +21 -0
  451. data/lib/inttegro/payout/disable_automatic_response.rb +28 -0
  452. data/lib/inttegro/payout/enable_automatic_request.rb +21 -0
  453. data/lib/inttegro/payout/enable_automatic_response.rb +28 -0
  454. data/lib/inttegro/payout/error.rb +48 -0
  455. data/lib/inttegro/payout/get_settings_request.rb +21 -0
  456. data/lib/inttegro/payout/get_settings_response.rb +28 -0
  457. data/lib/inttegro/payout/lookup_request.rb +27 -0
  458. data/lib/inttegro/payout/lookup_response.rb +28 -0
  459. data/lib/inttegro/payout/page.rb +42 -0
  460. data/lib/inttegro/payout/page_request.rb +34 -0
  461. data/lib/inttegro/payout/page_response.rb +28 -0
  462. data/lib/inttegro/payout/payout.rb +176 -0
  463. data/lib/inttegro/payout/set_destinations_request.rb +27 -0
  464. data/lib/inttegro/payout/set_destinations_response.rb +28 -0
  465. data/lib/inttegro/payout/settings_lookup.rb +42 -0
  466. data/lib/inttegro/payout/settings_lookup_schedule.rb +63 -0
  467. data/lib/inttegro/payout/settings_lookup_schedule_aging_spec.rb +41 -0
  468. data/lib/inttegro/payout/settings_mutation.rb +42 -0
  469. data/lib/inttegro/payout/settings_mutation_schedule.rb +70 -0
  470. data/lib/inttegro/payout/settings_mutation_schedule_spec.rb +48 -0
  471. data/lib/inttegro/payout/status.rb +42 -0
  472. data/lib/inttegro/price/action_request.rb +27 -0
  473. data/lib/inttegro/price/base.rb +11 -0
  474. data/lib/inttegro/price/catalog_price.rb +92 -0
  475. data/lib/inttegro/price/catalog_price_params.rb +49 -0
  476. data/lib/inttegro/price/embedded_product.rb +159 -0
  477. data/lib/inttegro/price/lookup_request.rb +27 -0
  478. data/lib/inttegro/price/page.rb +42 -0
  479. data/lib/inttegro/price/page_item.rb +17 -0
  480. data/lib/inttegro/price/page_request.rb +41 -0
  481. data/lib/inttegro/price/page_response.rb +37 -0
  482. data/lib/inttegro/price/price.rb +34 -0
  483. data/lib/inttegro/price/price_params.rb +36 -0
  484. data/lib/inttegro/price/response.rb +37 -0
  485. data/lib/inttegro/price/update_request.rb +41 -0
  486. data/lib/inttegro/product/action_request.rb +27 -0
  487. data/lib/inttegro/product/add_price_request.rb +49 -0
  488. data/lib/inttegro/product/add_price_response.rb +37 -0
  489. data/lib/inttegro/product/attribute.rb +34 -0
  490. data/lib/inttegro/product/base.rb +11 -0
  491. data/lib/inttegro/product/catalog_with_price_data.rb +42 -0
  492. data/lib/inttegro/product/catalog_with_price_reference.rb +42 -0
  493. data/lib/inttegro/product/create_request.rb +124 -0
  494. data/lib/inttegro/product/delivery.rb +21 -0
  495. data/lib/inttegro/product/details.rb +22 -0
  496. data/lib/inttegro/product/dimensions.rb +44 -0
  497. data/lib/inttegro/product/dimensions_custom.rb +41 -0
  498. data/lib/inttegro/product/dimensions_digital.rb +41 -0
  499. data/lib/inttegro/product/dimensions_physical.rb +76 -0
  500. data/lib/inttegro/product/download.rb +21 -0
  501. data/lib/inttegro/product/inline_details.rb +79 -0
  502. data/lib/inttegro/product/line_item.rb +39 -0
  503. data/lib/inttegro/product/line_item_type.rb +24 -0
  504. data/lib/inttegro/product/lookup_request.rb +27 -0
  505. data/lib/inttegro/product/media.rb +83 -0
  506. data/lib/inttegro/product/page.rb +42 -0
  507. data/lib/inttegro/product/page_request.rb +34 -0
  508. data/lib/inttegro/product/page_response.rb +28 -0
  509. data/lib/inttegro/product/price_summary.rb +49 -0
  510. data/lib/inttegro/product/product.rb +165 -0
  511. data/lib/inttegro/product/questions.rb +35 -0
  512. data/lib/inttegro/product/render.rb +21 -0
  513. data/lib/inttegro/product/response.rb +37 -0
  514. data/lib/inttegro/product/service.rb +21 -0
  515. data/lib/inttegro/product/set_default_unit_price_request.rb +22 -0
  516. data/lib/inttegro/product/shipment.rb +68 -0
  517. data/lib/inttegro/product/shipment_input.rb +28 -0
  518. data/lib/inttegro/product/shipment_input_type.rb +33 -0
  519. data/lib/inttegro/product/shipment_type.rb +36 -0
  520. data/lib/inttegro/product/stream.rb +21 -0
  521. data/lib/inttegro/product/type.rb +39 -0
  522. data/lib/inttegro/product/update_request.rb +124 -0
  523. data/lib/inttegro/product/update_response.rb +28 -0
  524. data/lib/inttegro/product/updated.rb +122 -0
  525. data/lib/inttegro/purchase_intent/activity.rb +122 -0
  526. data/lib/inttegro/purchase_intent/activity_attribution.rb +83 -0
  527. data/lib/inttegro/purchase_intent/activity_log.rb +28 -0
  528. data/lib/inttegro/purchase_intent/activity_type.rb +37 -0
  529. data/lib/inttegro/purchase_intent/activity_visitor.rb +97 -0
  530. data/lib/inttegro/purchase_intent/base.rb +11 -0
  531. data/lib/inttegro/purchase_intent/cancel_request.rb +34 -0
  532. data/lib/inttegro/purchase_intent/create_request.rb +75 -0
  533. data/lib/inttegro/purchase_intent/create_request_price.rb +51 -0
  534. data/lib/inttegro/purchase_intent/create_request_price_original.rb +35 -0
  535. data/lib/inttegro/purchase_intent/create_request_product.rb +34 -0
  536. data/lib/inttegro/purchase_intent/create_request_quantity.rb +35 -0
  537. data/lib/inttegro/purchase_intent/create_request_usage.rb +34 -0
  538. data/lib/inttegro/purchase_intent/lookup_request.rb +27 -0
  539. data/lib/inttegro/purchase_intent/merchant.rb +42 -0
  540. data/lib/inttegro/purchase_intent/original_price.rb +49 -0
  541. data/lib/inttegro/purchase_intent/page.rb +42 -0
  542. data/lib/inttegro/purchase_intent/page_request.rb +34 -0
  543. data/lib/inttegro/purchase_intent/page_response.rb +28 -0
  544. data/lib/inttegro/purchase_intent/price.rb +57 -0
  545. data/lib/inttegro/purchase_intent/product.rb +174 -0
  546. data/lib/inttegro/purchase_intent/product_attributes_item.rb +34 -0
  547. data/lib/inttegro/purchase_intent/purchase_intent.rb +128 -0
  548. data/lib/inttegro/purchase_intent/quantity.rb +36 -0
  549. data/lib/inttegro/purchase_intent/questions.rb +38 -0
  550. data/lib/inttegro/purchase_intent/response.rb +28 -0
  551. data/lib/inttegro/purchase_intent/status.rb +33 -0
  552. data/lib/inttegro/purchase_intent/update_request.rb +61 -0
  553. data/lib/inttegro/purchase_intent/update_request_quantity.rb +36 -0
  554. data/lib/inttegro/purchase_intent/usage.rb +43 -0
  555. data/lib/inttegro/purchase_intent/usage_order.rb +34 -0
  556. data/lib/inttegro/purchase_intent/variant.rb +64 -0
  557. data/lib/inttegro/purchase_intent/variant_axis.rb +41 -0
  558. data/lib/inttegro/purchase_intent/variant_set.rb +78 -0
  559. data/lib/inttegro/refund/base.rb +11 -0
  560. data/lib/inttegro/refund/cancel_request.rb +35 -0
  561. data/lib/inttegro/refund/create_line_item.rb +51 -0
  562. data/lib/inttegro/refund/create_request.rb +73 -0
  563. data/lib/inttegro/refund/line_item.rb +64 -0
  564. data/lib/inttegro/refund/lookup_request.rb +27 -0
  565. data/lib/inttegro/refund/page.rb +42 -0
  566. data/lib/inttegro/refund/page_request.rb +34 -0
  567. data/lib/inttegro/refund/page_response.rb +28 -0
  568. data/lib/inttegro/refund/reason.rb +48 -0
  569. data/lib/inttegro/refund/refund.rb +121 -0
  570. data/lib/inttegro/refund/request_meta.rb +27 -0
  571. data/lib/inttegro/refund/response.rb +28 -0
  572. data/lib/inttegro/refund/status.rb +36 -0
  573. data/lib/inttegro/resources/apps.rb +19 -0
  574. data/lib/inttegro/resources/balance_transactions.rb +13 -1
  575. data/lib/inttegro/resources/balances.rb +8 -1
  576. data/lib/inttegro/resources/broadcasts.rb +14 -2
  577. data/lib/inttegro/resources/chimes.rb +27 -3
  578. data/lib/inttegro/resources/customers.rb +21 -1
  579. data/lib/inttegro/resources/file_links.rb +32 -2
  580. data/lib/inttegro/resources/file_references.rb +9 -1
  581. data/lib/inttegro/resources/files.rb +30 -1
  582. data/lib/inttegro/resources/financial_accounts.rb +51 -1
  583. data/lib/inttegro/resources/keys.rb +41 -3
  584. data/lib/inttegro/resources/message_templates.rb +38 -2
  585. data/lib/inttegro/resources/orders.rb +18 -43
  586. data/lib/inttegro/resources/otp.rb +24 -4
  587. data/lib/inttegro/resources/payment_methods.rb +33 -8
  588. data/lib/inttegro/resources/payouts.rb +28 -16
  589. data/lib/inttegro/resources/prices.rb +39 -7
  590. data/lib/inttegro/resources/products.rb +43 -3
  591. data/lib/inttegro/resources/purchase_intents.rb +25 -1
  592. data/lib/inttegro/resources/refunds.rb +21 -1
  593. data/lib/inttegro/resources/schedules.rb +14 -2
  594. data/lib/inttegro/resources/spec.rb +8 -1
  595. data/lib/inttegro/resources/upload_requests.rb +37 -4
  596. data/lib/inttegro/schedule/base.rb +17 -0
  597. data/lib/inttegro/schedule/cancel_detail.rb +120 -0
  598. data/lib/inttegro/schedule/cancel_request.rb +27 -0
  599. data/lib/inttegro/schedule/cancel_response.rb +28 -0
  600. data/lib/inttegro/schedule/chime_request.rb +81 -0
  601. data/lib/inttegro/schedule/chime_request_request_meta.rb +27 -0
  602. data/lib/inttegro/schedule/creation_detail.rb +98 -0
  603. data/lib/inttegro/schedule/detail.rb +113 -0
  604. data/lib/inttegro/schedule/error.rb +41 -0
  605. data/lib/inttegro/schedule/lookup_request.rb +27 -0
  606. data/lib/inttegro/schedule/lookup_response.rb +28 -0
  607. data/lib/inttegro/schedule/payout_request.rb +48 -0
  608. data/lib/inttegro/schedule/payout_response.rb +28 -0
  609. data/lib/inttegro/schedule/response.rb +28 -0
  610. data/lib/inttegro/secret_key/auth_result.rb +27 -0
  611. data/lib/inttegro/secret_key/base.rb +11 -0
  612. data/lib/inttegro/secret_key/destroy_request.rb +27 -0
  613. data/lib/inttegro/secret_key/destroy_response.rb +29 -0
  614. data/lib/inttegro/secret_key/generate_request.rb +28 -0
  615. data/lib/inttegro/secret_key/generate_response.rb +28 -0
  616. data/lib/inttegro/secret_key/generated.rb +56 -0
  617. data/lib/inttegro/secret_key/lookup_request.rb +27 -0
  618. data/lib/inttegro/secret_key/lookup_response.rb +29 -0
  619. data/lib/inttegro/secret_key/page.rb +63 -0
  620. data/lib/inttegro/secret_key/page_request.rb +41 -0
  621. data/lib/inttegro/secret_key/page_response.rb +28 -0
  622. data/lib/inttegro/secret_key/secret_key.rb +98 -0
  623. data/lib/inttegro/secret_key/status.rb +30 -0
  624. data/lib/inttegro/secret_key/token_type.rb +24 -0
  625. data/lib/inttegro/secret_key/update_request.rb +34 -0
  626. data/lib/inttegro/secret_key/update_response.rb +29 -0
  627. data/lib/inttegro/secret_key/usage.rb +37 -0
  628. data/lib/inttegro/secret_key/usage_page.rb +63 -0
  629. data/lib/inttegro/secret_key/usage_request.rb +48 -0
  630. data/lib/inttegro/secret_key/usage_row.rb +42 -0
  631. data/lib/inttegro/shared/address.rb +83 -0
  632. data/lib/inttegro/shared/base.rb +17 -0
  633. data/lib/inttegro/shared/billing_details.rb +49 -0
  634. data/lib/inttegro/shared/content_safety_status.rb +30 -0
  635. data/lib/inttegro/shared/country_bank.rb +56 -0
  636. data/lib/inttegro/shared/country_bank_branch.rb +41 -0
  637. data/lib/inttegro/shared/country_bank_directory.rb +42 -0
  638. data/lib/inttegro/shared/country_specification.rb +91 -0
  639. data/lib/inttegro/shared/country_specifications.rb +28 -0
  640. data/lib/inttegro/shared/delivery_channel.rb +27 -0
  641. data/lib/inttegro/shared/dosh_account.rb +22 -0
  642. data/lib/inttegro/shared/error_envelope.rb +29 -0
  643. data/lib/inttegro/shared/error_payload.rb +76 -0
  644. data/lib/inttegro/shared/fee_details.rb +64 -0
  645. data/lib/inttegro/shared/fee_line_item.rb +36 -0
  646. data/lib/inttegro/shared/fee_line_item_type.rb +24 -0
  647. data/lib/inttegro/shared/financial_institution.rb +64 -0
  648. data/lib/inttegro/shared/financial_institution_bank.rb +56 -0
  649. data/lib/inttegro/shared/financial_institution_bank_branch.rb +41 -0
  650. data/lib/inttegro/shared/financial_institution_mobile_money_provider.rb +28 -0
  651. data/lib/inttegro/shared/invoice_settings.rb +51 -0
  652. data/lib/inttegro/shared/line_item.rb +19 -0
  653. data/lib/inttegro/shared/list_country_specs_request.rb +21 -0
  654. data/lib/inttegro/shared/mobile_money.rb +35 -0
  655. data/lib/inttegro/shared/mobile_money_network.rb +33 -0
  656. data/lib/inttegro/shared/request_confirmation_request.rb +27 -0
  657. data/lib/inttegro/shared/resource_supply.rb +62 -0
  658. data/lib/inttegro/shared/shipping.rb +28 -0
  659. data/lib/inttegro/shared/shipping_details.rb +50 -0
  660. data/lib/inttegro/shared/shipping_line_item.rb +36 -0
  661. data/lib/inttegro/shared/shipping_line_item_type.rb +24 -0
  662. data/lib/inttegro/shared/upload_fulfillment.rb +36 -0
  663. data/lib/inttegro/shared/upload_review_decision.rb +28 -0
  664. data/lib/inttegro/shared/upload_review_type.rb +27 -0
  665. data/lib/inttegro/upload_request/actor.rb +48 -0
  666. data/lib/inttegro/upload_request/attempt.rb +113 -0
  667. data/lib/inttegro/upload_request/attempts.rb +48 -0
  668. data/lib/inttegro/upload_request/attempts_request.rb +27 -0
  669. data/lib/inttegro/upload_request/base.rb +11 -0
  670. data/lib/inttegro/upload_request/cancel_request.rb +35 -0
  671. data/lib/inttegro/upload_request/constraints.rb +62 -0
  672. data/lib/inttegro/upload_request/create_request.rb +97 -0
  673. data/lib/inttegro/upload_request/details.rb +205 -0
  674. data/lib/inttegro/upload_request/display.rb +41 -0
  675. data/lib/inttegro/upload_request/fulfill_request.rb +27 -0
  676. data/lib/inttegro/upload_request/latest_error.rb +55 -0
  677. data/lib/inttegro/upload_request/lookup_request.rb +27 -0
  678. data/lib/inttegro/upload_request/page.rb +42 -0
  679. data/lib/inttegro/upload_request/page_request.rb +57 -0
  680. data/lib/inttegro/upload_request/page_response.rb +28 -0
  681. data/lib/inttegro/upload_request/response.rb +28 -0
  682. data/lib/inttegro/upload_request/review.rb +72 -0
  683. data/lib/inttegro/upload_request/review_attempt_by_id_request.rb +57 -0
  684. data/lib/inttegro/upload_request/review_attempt_by_ordinal_request.rb +57 -0
  685. data/lib/inttegro/upload_request/review_attempt_request.rb +18 -0
  686. data/lib/inttegro/upload_request/review_reason.rb +41 -0
  687. data/lib/inttegro/upload_request/review_reason_input.rb +41 -0
  688. data/lib/inttegro/upload_request/status.rb +39 -0
  689. data/lib/inttegro/upload_request/upload_request.rb +195 -0
  690. data/lib/inttegro/upload_request/validation_failure.rb +36 -0
  691. data/lib/inttegro/upload_request/validation_failure_error.rb +48 -0
  692. data/lib/inttegro/upload_request/with_attempt_response.rb +28 -0
  693. data/lib/inttegro/version.rb +1 -1
  694. data/lib/inttegro/wallet/base.rb +17 -0
  695. data/lib/inttegro/wallet/type.rb +24 -0
  696. data/rbi/inttegro/generated.rbi +82 -88
  697. metadata +663 -2
@@ -0,0 +1,21 @@
1
+ # frozen_string_literal: true
2
+ # typed: strict
3
+
4
+ # Generated from openapi/commerce.yml by bin/generate-openapi-types. Do not edit.
5
+
6
+ require_relative "base"
7
+
8
+ module Inttegro
9
+ class PaymentMethod
10
+ # Send an empty JSON object.
11
+ #
12
+ # This generated model is immutable. Construct it with `.new`, or decode a string-keyed API
13
+ # payload with `.from_hash`. `#serialize` produces a string-keyed hash using the original wire
14
+ # field names and serialized enum values.
15
+ #
16
+ # @api public
17
+ class GetSettingsRequest < T::Struct
18
+ # This object intentionally has no fields.
19
+ end
20
+ end
21
+ end
@@ -0,0 +1,28 @@
1
+ # frozen_string_literal: true
2
+ # typed: strict
3
+
4
+ # Generated from openapi/commerce.yml by bin/generate-openapi-types. Do not edit.
5
+
6
+ require_relative "base"
7
+ require_relative "settings"
8
+
9
+ module Inttegro
10
+ class PaymentMethod
11
+ # Typed representation of the get settings response object in the Inttegro API.
12
+ #
13
+ # This generated model is immutable. Construct it with `.new`, or decode a string-keyed API
14
+ # payload with `.from_hash`. `#serialize` produces a string-keyed hash using the original wire
15
+ # field names and serialized enum values.
16
+ #
17
+ # @api public
18
+ #
19
+ # @!attribute [r] settings
20
+ # Payment method acceptance configuration for an application
21
+ #
22
+ # Required in the API payload. Wire name: `settings`.
23
+ # @return [Inttegro::PaymentMethod::Settings]
24
+ class GetSettingsResponse < T::Struct
25
+ const :settings, Inttegro::PaymentMethod::Settings
26
+ end
27
+ end
28
+ end
@@ -0,0 +1,27 @@
1
+ # frozen_string_literal: true
2
+ # typed: strict
3
+
4
+ # Generated from openapi/commerce.yml by bin/generate-openapi-types. Do not edit.
5
+
6
+ require_relative "base"
7
+
8
+ module Inttegro
9
+ class PaymentMethod
10
+ # Typed representation of the lookup request object in the Inttegro API.
11
+ #
12
+ # This generated model is immutable. Construct it with `.new`, or decode a string-keyed API
13
+ # payload with `.from_hash`. `#serialize` produces a string-keyed hash using the original wire
14
+ # field names and serialized enum values.
15
+ #
16
+ # @api public
17
+ #
18
+ # @!attribute [r] payment_method_id
19
+ # ID of the payment method to fetch
20
+ #
21
+ # Required in the API payload. Wire name: `payment_method_id`.
22
+ # @return [String]
23
+ class LookupRequest < T::Struct
24
+ const :payment_method_id, String
25
+ end
26
+ end
27
+ end
@@ -0,0 +1,28 @@
1
+ # frozen_string_literal: true
2
+ # typed: strict
3
+
4
+ # Generated from openapi/commerce.yml by bin/generate-openapi-types. Do not edit.
5
+
6
+ require_relative "base"
7
+ require_relative "payment_method"
8
+
9
+ module Inttegro
10
+ class PaymentMethod
11
+ # Typed representation of the lookup response object in the Inttegro API.
12
+ #
13
+ # This generated model is immutable. Construct it with `.new`, or decode a string-keyed API
14
+ # payload with `.from_hash`. `#serialize` produces a string-keyed hash using the original wire
15
+ # field names and serialized enum values.
16
+ #
17
+ # @api public
18
+ #
19
+ # @!attribute [r] payment_method
20
+ # A tokenized payment instrument tied to a customer
21
+ #
22
+ # Optional in the API payload; omitted values default to `nil`. Wire name: `payment_method`.
23
+ # @return [Inttegro::PaymentMethod, nil]
24
+ class LookupResponse < T::Struct
25
+ const :payment_method, T.nilable(Inttegro::PaymentMethod), default: nil
26
+ end
27
+ end
28
+ end
@@ -0,0 +1,42 @@
1
+ # frozen_string_literal: true
2
+ # typed: strict
3
+
4
+ # Generated from openapi/commerce.yml by bin/generate-openapi-types. Do not edit.
5
+
6
+ require_relative "base"
7
+ require_relative "../shared/mobile_money_network"
8
+
9
+ module Inttegro
10
+ class PaymentMethod
11
+ # Masked mobile-money wallet details (present when type is mobile_money)
12
+ #
13
+ # This generated model is immutable. Construct it with `.new`, or decode a string-keyed API
14
+ # payload with `.from_hash`. `#serialize` produces a string-keyed hash using the original wire
15
+ # field names and serialized enum values.
16
+ #
17
+ # @api public
18
+ #
19
+ # @!attribute [r] account_number
20
+ # Masked wallet number. The full account number is never returned.
21
+ #
22
+ # Required in the API payload. Wire name: `account_number`.
23
+ # @return [String]
24
+ #
25
+ # @!attribute [r] last4
26
+ # Last four numeric digits of the normalized wallet number.
27
+ #
28
+ # Required in the API payload. Wire name: `last4`.
29
+ # @return [String]
30
+ #
31
+ # @!attribute [r] network
32
+ # Mobile network operator
33
+ #
34
+ # Required in the API payload. Wire name: `network`.
35
+ # @return [Inttegro::Shared::MobileMoneyNetwork]
36
+ class MobileMoney < T::Struct
37
+ const :account_number, String
38
+ const :last4, String
39
+ const :network, Inttegro::Shared::MobileMoneyNetwork
40
+ end
41
+ end
42
+ end
@@ -0,0 +1,35 @@
1
+ # frozen_string_literal: true
2
+ # typed: strict
3
+
4
+ # Generated from openapi/commerce.yml by bin/generate-openapi-types. Do not edit.
5
+
6
+ require_relative "base"
7
+ require_relative "owner_address"
8
+
9
+ module Inttegro
10
+ class PaymentMethod
11
+ # Owner identity captured during tokenization when provided
12
+ #
13
+ # This generated model is immutable. Construct it with `.new`, or decode a string-keyed API
14
+ # payload with `.from_hash`. `#serialize` produces a string-keyed hash using the original wire
15
+ # field names and serialized enum values.
16
+ #
17
+ # @api public
18
+ #
19
+ # @!attribute [r] address
20
+ # Postal address for the owner when available
21
+ #
22
+ # Optional in the API payload; omitted values default to `nil`. Wire name: `address`.
23
+ # @return [Inttegro::PaymentMethod::OwnerAddress, nil]
24
+ #
25
+ # @!attribute [r] name
26
+ # Owner full legal name
27
+ #
28
+ # Required in the API payload. Wire name: `name`.
29
+ # @return [String]
30
+ class Owner < T::Struct
31
+ const :address, T.nilable(Inttegro::PaymentMethod::OwnerAddress), default: nil
32
+ const :name, String
33
+ end
34
+ end
35
+ end
@@ -0,0 +1,76 @@
1
+ # frozen_string_literal: true
2
+ # typed: strict
3
+
4
+ # Generated from openapi/commerce.yml by bin/generate-openapi-types. Do not edit.
5
+
6
+ require_relative "base"
7
+
8
+ module Inttegro
9
+ class PaymentMethod
10
+ # Postal address for the owner when available
11
+ #
12
+ # This generated model is immutable. Construct it with `.new`, or decode a string-keyed API
13
+ # payload with `.from_hash`. `#serialize` produces a string-keyed hash using the original wire
14
+ # field names and serialized enum values.
15
+ #
16
+ # @api public
17
+ #
18
+ # @!attribute [r] city
19
+ # City or locality
20
+ #
21
+ # Optional in the API payload; omitted values default to `nil`. Wire name: `city`.
22
+ # @return [String, nil]
23
+ #
24
+ # @!attribute [r] country
25
+ # Two-letter ISO country code
26
+ #
27
+ # Required in the API payload. Wire name: `country`.
28
+ # @return [String]
29
+ #
30
+ # @!attribute [r] line_1
31
+ # First line of the street address
32
+ #
33
+ # Optional in the API payload; omitted values default to `nil`. Wire name: `line_1`.
34
+ # @return [String, nil]
35
+ #
36
+ # @!attribute [r] line_2
37
+ # Second line of the street address
38
+ #
39
+ # Optional in the API payload; omitted values default to `nil`. Wire name: `line_2`.
40
+ # @return [String, nil]
41
+ #
42
+ # @!attribute [r] name
43
+ # Recipient name at this address, if different from owner name
44
+ #
45
+ # Optional in the API payload; omitted values default to `nil`. Wire name: `name`.
46
+ # @return [String, nil]
47
+ #
48
+ # @!attribute [r] phone_number
49
+ # Phone number for this address
50
+ #
51
+ # Optional in the API payload; omitted values default to `nil`. Wire name: `phone_number`.
52
+ # @return [String, nil]
53
+ #
54
+ # @!attribute [r] post_code
55
+ # Postal or ZIP code
56
+ #
57
+ # Optional in the API payload; omitted values default to `nil`. Wire name: `post_code`.
58
+ # @return [String, nil]
59
+ #
60
+ # @!attribute [r] region
61
+ # Region, state, or province
62
+ #
63
+ # Optional in the API payload; omitted values default to `nil`. Wire name: `region`.
64
+ # @return [String, nil]
65
+ class OwnerAddress < T::Struct
66
+ const :city, T.nilable(String), default: nil
67
+ const :country, String
68
+ const :line_1, T.nilable(String), default: nil
69
+ const :line_2, T.nilable(String), default: nil
70
+ const :name, T.nilable(String), default: nil
71
+ const :phone_number, T.nilable(String), default: nil
72
+ const :post_code, T.nilable(String), default: nil
73
+ const :region, T.nilable(String), default: nil
74
+ end
75
+ end
76
+ end
@@ -0,0 +1,35 @@
1
+ # frozen_string_literal: true
2
+ # typed: strict
3
+
4
+ # Generated from openapi/commerce.yml by bin/generate-openapi-types. Do not edit.
5
+
6
+ require_relative "base"
7
+ require_relative "owner_input_address"
8
+
9
+ module Inttegro
10
+ class PaymentMethod
11
+ # Typed representation of the owner input object in the Inttegro API.
12
+ #
13
+ # This generated model is immutable. Construct it with `.new`, or decode a string-keyed API
14
+ # payload with `.from_hash`. `#serialize` produces a string-keyed hash using the original wire
15
+ # field names and serialized enum values.
16
+ #
17
+ # @api public
18
+ #
19
+ # @!attribute [r] address
20
+ # Value of the `address` field in the Inttegro API payload.
21
+ #
22
+ # Required in the API payload. Wire name: `address`.
23
+ # @return [Inttegro::PaymentMethod::OwnerInputAddress]
24
+ #
25
+ # @!attribute [r] name
26
+ # Payment method owner's name.
27
+ #
28
+ # Required in the API payload. Wire name: `name`.
29
+ # @return [String]
30
+ class OwnerInput < T::Struct
31
+ const :address, Inttegro::PaymentMethod::OwnerInputAddress
32
+ const :name, String
33
+ end
34
+ end
35
+ end
@@ -0,0 +1,76 @@
1
+ # frozen_string_literal: true
2
+ # typed: strict
3
+
4
+ # Generated from openapi/commerce.yml by bin/generate-openapi-types. Do not edit.
5
+
6
+ require_relative "base"
7
+
8
+ module Inttegro
9
+ class PaymentMethod
10
+ # Typed representation of the owner input address object in the Inttegro API.
11
+ #
12
+ # This generated model is immutable. Construct it with `.new`, or decode a string-keyed API
13
+ # payload with `.from_hash`. `#serialize` produces a string-keyed hash using the original wire
14
+ # field names and serialized enum values.
15
+ #
16
+ # @api public
17
+ #
18
+ # @!attribute [r] city
19
+ # Value of the `city` field in the Inttegro API payload.
20
+ #
21
+ # Optional in the API payload; omitted values default to `nil`. Wire name: `city`.
22
+ # @return [String, nil]
23
+ #
24
+ # @!attribute [r] country
25
+ # Country associated with the owner address.
26
+ #
27
+ # Required in the API payload. Wire name: `country`.
28
+ # @return [String]
29
+ #
30
+ # @!attribute [r] line1
31
+ # Value of the `line1` field in the Inttegro API payload.
32
+ #
33
+ # Optional in the API payload; omitted values default to `nil`. Wire name: `line1`.
34
+ # @return [String, nil]
35
+ #
36
+ # @!attribute [r] line2
37
+ # Value of the `line2` field in the Inttegro API payload.
38
+ #
39
+ # Optional in the API payload; omitted values default to `nil`. Wire name: `line2`.
40
+ # @return [String, nil]
41
+ #
42
+ # @!attribute [r] name
43
+ # Value of the `name` field in the Inttegro API payload.
44
+ #
45
+ # Optional in the API payload; omitted values default to `nil`. Wire name: `name`.
46
+ # @return [String, nil]
47
+ #
48
+ # @!attribute [r] phone_number
49
+ # Value of the `phone_number` field in the Inttegro API payload.
50
+ #
51
+ # Optional in the API payload; omitted values default to `nil`. Wire name: `phone_number`.
52
+ # @return [String, nil]
53
+ #
54
+ # @!attribute [r] post_code
55
+ # Value of the `post_code` field in the Inttegro API payload.
56
+ #
57
+ # Optional in the API payload; omitted values default to `nil`. Wire name: `post_code`.
58
+ # @return [String, nil]
59
+ #
60
+ # @!attribute [r] region
61
+ # Value of the `region` field in the Inttegro API payload.
62
+ #
63
+ # Optional in the API payload; omitted values default to `nil`. Wire name: `region`.
64
+ # @return [String, nil]
65
+ class OwnerInputAddress < T::Struct
66
+ const :city, T.nilable(String), default: nil
67
+ const :country, String
68
+ const :line1, T.nilable(String), default: nil
69
+ const :line2, T.nilable(String), default: nil
70
+ const :name, T.nilable(String), default: nil
71
+ const :phone_number, T.nilable(String), default: nil
72
+ const :post_code, T.nilable(String), default: nil
73
+ const :region, T.nilable(String), default: nil
74
+ end
75
+ end
76
+ end
@@ -0,0 +1,42 @@
1
+ # frozen_string_literal: true
2
+ # typed: strict
3
+
4
+ # Generated from openapi/commerce.yml by bin/generate-openapi-types. Do not edit.
5
+
6
+ require_relative "base"
7
+ require_relative "payment_method"
8
+
9
+ module Inttegro
10
+ class PaymentMethod
11
+ # Typed representation of the page object in the Inttegro API.
12
+ #
13
+ # This generated model is immutable. Construct it with `.new`, or decode a string-keyed API
14
+ # payload with `.from_hash`. `#serialize` produces a string-keyed hash using the original wire
15
+ # field names and serialized enum values.
16
+ #
17
+ # @api public
18
+ #
19
+ # @!attribute [r] number
20
+ # The page number returned
21
+ #
22
+ # Required in the API payload. Wire name: `number`.
23
+ # @return [Integer]
24
+ #
25
+ # @!attribute [r] payment_methods
26
+ # Value of the `payment_methods` field in the Inttegro API payload.
27
+ #
28
+ # Required in the API payload. Wire name: `payment_methods`.
29
+ # @return [Array<Inttegro::PaymentMethod>]
30
+ #
31
+ # @!attribute [r] size
32
+ # The number of payment methods in this page
33
+ #
34
+ # Required in the API payload. Wire name: `size`.
35
+ # @return [Integer]
36
+ class Page < T::Struct
37
+ const :number, Integer
38
+ const :payment_methods, T::Array[Inttegro::PaymentMethod]
39
+ const :size, Integer
40
+ end
41
+ end
42
+ end
@@ -0,0 +1,42 @@
1
+ # frozen_string_literal: true
2
+ # typed: strict
3
+
4
+ # Generated from openapi/commerce.yml by bin/generate-openapi-types. Do not edit.
5
+
6
+ require_relative "base"
7
+
8
+ module Inttegro
9
+ class PaymentMethod
10
+ # Typed representation of the page request object in the Inttegro API.
11
+ #
12
+ # This generated model is immutable. Construct it with `.new`, or decode a string-keyed API
13
+ # payload with `.from_hash`. `#serialize` produces a string-keyed hash using the original wire
14
+ # field names and serialized enum values.
15
+ #
16
+ # @api public
17
+ #
18
+ # @!attribute [r] customer_id
19
+ # Optional customer ID to scope the page to a single customer
20
+ #
21
+ # Optional in the API payload; omitted values default to `nil`. Wire name: `customer_id`.
22
+ # @return [String, nil]
23
+ #
24
+ # @!attribute [r] page_number
25
+ # Page index to fetch. `0` is accepted and normalized to page 1; returned pages are numbered
26
+ # 1-10.
27
+ #
28
+ # Optional in the API payload; omitted values default to `nil`. Wire name: `page_number`.
29
+ # @return [Integer, nil]
30
+ #
31
+ # @!attribute [r] page_size
32
+ # Number of payment methods per page (1-256)
33
+ #
34
+ # Optional in the API payload; omitted values default to `nil`. Wire name: `page_size`.
35
+ # @return [Integer, nil]
36
+ class PageRequest < T::Struct
37
+ const :customer_id, T.nilable(String), default: nil
38
+ const :page_number, T.nilable(Integer), default: nil
39
+ const :page_size, T.nilable(Integer), default: nil
40
+ end
41
+ end
42
+ end
@@ -0,0 +1,28 @@
1
+ # frozen_string_literal: true
2
+ # typed: strict
3
+
4
+ # Generated from openapi/commerce.yml by bin/generate-openapi-types. Do not edit.
5
+
6
+ require_relative "base"
7
+ require_relative "page"
8
+
9
+ module Inttegro
10
+ class PaymentMethod
11
+ # Typed representation of the page response object in the Inttegro API.
12
+ #
13
+ # This generated model is immutable. Construct it with `.new`, or decode a string-keyed API
14
+ # payload with `.from_hash`. `#serialize` produces a string-keyed hash using the original wire
15
+ # field names and serialized enum values.
16
+ #
17
+ # @api public
18
+ #
19
+ # @!attribute [r] page
20
+ # Value of the `page` field in the Inttegro API payload.
21
+ #
22
+ # Required in the API payload. Wire name: `page`.
23
+ # @return [Inttegro::PaymentMethod::Page]
24
+ class PageResponse < T::Struct
25
+ const :page, Inttegro::PaymentMethod::Page
26
+ end
27
+ end
28
+ end
@@ -0,0 +1,138 @@
1
+ # frozen_string_literal: true
2
+ # typed: strict
3
+
4
+ # Generated from openapi/commerce.yml by bin/generate-openapi-types. Do not edit.
5
+
6
+ require_relative "base"
7
+ require_relative "bank_account"
8
+ require_relative "card"
9
+ require_relative "mobile_money"
10
+ require_relative "owner"
11
+ require_relative "supplied"
12
+ require_relative "type"
13
+ require_relative "verification"
14
+
15
+ module Inttegro
16
+ # A tokenized payment instrument tied to a customer
17
+ #
18
+ # This generated model is immutable. Construct it with `.new`, or decode a string-keyed API
19
+ # payload with `.from_hash`. `#serialize` produces a string-keyed hash using the original wire
20
+ # field names and serialized enum values.
21
+ #
22
+ # @api public
23
+ #
24
+ # @!attribute [r] active
25
+ # Whether this payment method is active and reusable in new payment flows
26
+ #
27
+ # Required in the API payload. Wire name: `active`.
28
+ # @return [Boolean]
29
+ #
30
+ # @!attribute [r] archived_at
31
+ # Timestamp when the payment method was archived. Omitted while unarchived.
32
+ #
33
+ # Optional in the API payload; omitted values default to `nil`. Wire name: `archived_at`.
34
+ # @return [Time, nil]
35
+ #
36
+ # @!attribute [r] bank_account
37
+ # Bank account details (present when type is bank_account)
38
+ #
39
+ # Optional in the API payload; omitted values default to `nil`. Wire name: `bank_account`.
40
+ # @return [Inttegro::PaymentMethod::BankAccount, nil]
41
+ #
42
+ # @!attribute [r] card
43
+ # Card marker. Nested card credentials are not returned.
44
+ #
45
+ # Optional in the API payload; omitted values default to `nil`. Wire name: `card`.
46
+ # @return [Inttegro::PaymentMethod::Card, nil]
47
+ #
48
+ # @!attribute [r] created_at
49
+ # When this payment method was tokenized
50
+ #
51
+ # Required in the API payload. Wire name: `created_at`.
52
+ # @return [Time]
53
+ #
54
+ # @!attribute [r] custom_data
55
+ # Merchant-defined string values attached to a resource. SDKs expose this as a semantic
56
+ # collection rather than a raw map.
57
+ #
58
+ # Optional in the API payload; omitted values default to `nil`. Wire name: `custom_data`.
59
+ # @return [Hash{String => String}, nil]
60
+ #
61
+ # @!attribute [r] customer_id
62
+ # Customer who owns this payment method
63
+ #
64
+ # Required in the API payload. Wire name: `customer_id`.
65
+ # @return [String]
66
+ #
67
+ # @!attribute [r] ephemeral
68
+ # Whether the method is limited to its originating flow and cannot be reused.
69
+ #
70
+ # Optional in the API payload; omitted values default to `nil`. Wire name: `ephemeral`.
71
+ # @return [Boolean, nil]
72
+ #
73
+ # @!attribute [r] expires_on
74
+ # When this payment method expires. Omitted when no expiry is available.
75
+ #
76
+ # Optional in the API payload; omitted values default to `nil`. Wire name: `expires_on`.
77
+ # @return [Time, nil]
78
+ #
79
+ # @!attribute [r] id
80
+ # Unique identifier for this payment method
81
+ #
82
+ # Required in the API payload. Wire name: `id`.
83
+ # @return [String]
84
+ #
85
+ # @!attribute [r] mobile_money
86
+ # Masked mobile-money wallet details (present when type is mobile_money)
87
+ #
88
+ # Optional in the API payload; omitted values default to `nil`. Wire name: `mobile_money`.
89
+ # @return [Inttegro::PaymentMethod::MobileMoney, nil]
90
+ #
91
+ # @!attribute [r] owner
92
+ # Owner identity captured during tokenization when provided
93
+ #
94
+ # Optional in the API payload; omitted values default to `nil`. Wire name: `owner`.
95
+ # @return [Inttegro::PaymentMethod::Owner, nil]
96
+ #
97
+ # @!attribute [r] type
98
+ # Payment rail type
99
+ #
100
+ # Required in the API payload. Wire name: `type`.
101
+ # @return [Inttegro::PaymentMethod::Type]
102
+ #
103
+ # @!attribute [r] supplied
104
+ # Public provenance for how the payment method was supplied.
105
+ #
106
+ # Optional in the API payload; omitted values default to `nil`. Wire name: `supplied`.
107
+ # @return [Inttegro::PaymentMethod::Supplied, nil]
108
+ #
109
+ # @!attribute [r] verification
110
+ # Most recent verification record when the payment method has entered a verification flow.
111
+ #
112
+ # Optional in the API payload; omitted values default to `nil`. Wire name: `verification`.
113
+ # @return [Inttegro::PaymentMethod::Verification, nil]
114
+ #
115
+ # @!attribute [r] verified_at
116
+ # When ownership verification was completed
117
+ #
118
+ # Optional in the API payload; omitted values default to `nil`. Wire name: `verified_at`.
119
+ # @return [Time, nil]
120
+ class PaymentMethod
121
+ const :active, T::Boolean
122
+ const :archived_at, T.nilable(Time), default: nil
123
+ const :bank_account, T.nilable(Inttegro::PaymentMethod::BankAccount), default: nil
124
+ const :card, T.nilable(Inttegro::PaymentMethod::Card), default: nil
125
+ const :created_at, Time
126
+ const :custom_data, T.nilable(T::Hash[String, String]), default: nil
127
+ const :customer_id, String
128
+ const :ephemeral, T.nilable(T::Boolean), default: nil
129
+ const :expires_on, T.nilable(Time), default: nil
130
+ const :id, String
131
+ const :mobile_money, T.nilable(Inttegro::PaymentMethod::MobileMoney), default: nil
132
+ const :owner, T.nilable(Inttegro::PaymentMethod::Owner), default: nil
133
+ const :type, Inttegro::PaymentMethod::Type
134
+ const :supplied, T.nilable(Inttegro::PaymentMethod::Supplied), default: nil
135
+ const :verification, T.nilable(Inttegro::PaymentMethod::Verification), default: nil
136
+ const :verified_at, T.nilable(Time), default: nil
137
+ end
138
+ end
@@ -0,0 +1,35 @@
1
+ # frozen_string_literal: true
2
+ # typed: strict
3
+
4
+ module Inttegro
5
+ class PaymentMethod
6
+ extend T::Sig
7
+
8
+ sig { returns(T::Boolean) }
9
+ # Determine whether the API supplied an archive timestamp.
10
+ #
11
+ # @return [Boolean] whether this payment method is archived
12
+ def archived?
13
+ !archived_at.nil?
14
+ end
15
+
16
+ sig { returns(T::Boolean) }
17
+ # Determine whether the API supplied a verification timestamp.
18
+ #
19
+ # @return [Boolean] whether this payment method is verified
20
+ def verified?
21
+ !verified_at.nil?
22
+ end
23
+
24
+ sig { returns(T::Boolean) }
25
+ # Determine whether the payment method can be treated as reusable by local application code.
26
+ #
27
+ # This predicate requires an active, non-archived, non-ephemeral method. It does not contact
28
+ # the API or guarantee that a future payment attempt will succeed.
29
+ #
30
+ # @return [Boolean] whether the current model satisfies the reusable-method conditions
31
+ def reusable?
32
+ active && !archived? && ephemeral != true
33
+ end
34
+ end
35
+ end