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,64 @@
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 "variable_item"
8
+ require_relative "variable_type"
9
+
10
+ module Inttegro
11
+ class MessageTemplate
12
+ # Typed representation of the variable object in the Inttegro API.
13
+ #
14
+ # This generated model is immutable. Construct it with `.new`, or decode a string-keyed API
15
+ # payload with `.from_hash`. `#serialize` produces a string-keyed hash using the original wire
16
+ # field names and serialized enum values.
17
+ #
18
+ # @api public
19
+ #
20
+ # @!attribute [r] about
21
+ # Value of the `about` field in the Inttegro API payload.
22
+ #
23
+ # Optional in the API payload; omitted values default to `nil`. Wire name: `about`.
24
+ # @return [String, nil]
25
+ #
26
+ # @!attribute [r] default
27
+ # Value of the `default` field in the Inttegro API payload.
28
+ #
29
+ # Optional in the API payload; omitted values default to `nil`. Wire name: `default`.
30
+ # @return [Object, nil]
31
+ #
32
+ # @!attribute [r] items
33
+ # Value of the `items` field in the Inttegro API payload.
34
+ #
35
+ # Optional in the API payload; omitted values default to `nil`. Wire name: `items`.
36
+ # @return [Array<Inttegro::MessageTemplate::VariableItem>, nil]
37
+ #
38
+ # @!attribute [r] name
39
+ # Value of the `name` field in the Inttegro API payload.
40
+ #
41
+ # Required in the API payload. Wire name: `name`.
42
+ # @return [String]
43
+ #
44
+ # @!attribute [r] required
45
+ # Value of the `required` field in the Inttegro API payload.
46
+ #
47
+ # Required in the API payload. Wire name: `required`.
48
+ # @return [Boolean]
49
+ #
50
+ # @!attribute [r] type
51
+ # Value of the `type` field in the Inttegro API payload.
52
+ #
53
+ # Required in the API payload. Wire name: `type`.
54
+ # @return [Inttegro::MessageTemplate::VariableType]
55
+ class Variable < T::Struct
56
+ const :about, T.nilable(String), default: nil
57
+ const :default, T.nilable(Object), default: nil
58
+ const :items, T.nilable(T::Array[Inttegro::MessageTemplate::VariableItem]), default: nil
59
+ const :name, String
60
+ const :required, T::Boolean
61
+ const :type, Inttegro::MessageTemplate::VariableType
62
+ end
63
+ end
64
+ end
@@ -0,0 +1,64 @@
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 "variable_item_input"
8
+ require_relative "variable_type"
9
+
10
+ module Inttegro
11
+ class MessageTemplate
12
+ # Typed representation of the variable input object in the Inttegro API.
13
+ #
14
+ # This generated model is immutable. Construct it with `.new`, or decode a string-keyed API
15
+ # payload with `.from_hash`. `#serialize` produces a string-keyed hash using the original wire
16
+ # field names and serialized enum values.
17
+ #
18
+ # @api public
19
+ #
20
+ # @!attribute [r] name
21
+ # Value of the `name` field in the Inttegro API payload.
22
+ #
23
+ # Required in the API payload. Wire name: `name`.
24
+ # @return [String]
25
+ #
26
+ # @!attribute [r] type
27
+ # Value of the `type` field in the Inttegro API payload.
28
+ #
29
+ # Required in the API payload. Wire name: `type`.
30
+ # @return [Inttegro::MessageTemplate::VariableType]
31
+ #
32
+ # @!attribute [r] required
33
+ # Value of the `required` field in the Inttegro API payload.
34
+ #
35
+ # Optional in the API payload; omitted values default to `nil`. Wire name: `required`.
36
+ # @return [Boolean, nil]
37
+ #
38
+ # @!attribute [r] default
39
+ # Default value used when this variable is omitted.
40
+ #
41
+ # Optional in the API payload; omitted values default to `nil`. Wire name: `default`.
42
+ # @return [Object, nil]
43
+ #
44
+ # @!attribute [r] about
45
+ # Optional description of the variable.
46
+ #
47
+ # Optional in the API payload; omitted values default to `nil`. Wire name: `about`.
48
+ # @return [String, nil]
49
+ #
50
+ # @!attribute [r] items
51
+ # Field schema for array item objects. Nested arrays are not supported.
52
+ #
53
+ # Optional in the API payload; omitted values default to `nil`. Wire name: `items`.
54
+ # @return [Array<Inttegro::MessageTemplate::VariableItemInput>, nil]
55
+ class VariableInput < T::Struct
56
+ const :name, String
57
+ const :type, Inttegro::MessageTemplate::VariableType
58
+ const :required, T.nilable(T::Boolean), default: nil
59
+ const :default, T.nilable(Object), default: nil
60
+ const :about, T.nilable(String), default: nil
61
+ const :items, T.nilable(T::Array[Inttegro::MessageTemplate::VariableItemInput]), default: nil
62
+ end
63
+ end
64
+ end
@@ -0,0 +1,56 @@
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 "variable_item_type"
8
+
9
+ module Inttegro
10
+ class MessageTemplate
11
+ # Typed representation of the variable item 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] about
20
+ # Value of the `about` field in the Inttegro API payload.
21
+ #
22
+ # Optional in the API payload; omitted values default to `nil`. Wire name: `about`.
23
+ # @return [String, nil]
24
+ #
25
+ # @!attribute [r] default
26
+ # Value of the `default` field in the Inttegro API payload.
27
+ #
28
+ # Optional in the API payload; omitted values default to `nil`. Wire name: `default`.
29
+ # @return [Object, nil]
30
+ #
31
+ # @!attribute [r] name
32
+ # Value of the `name` field in the Inttegro API payload.
33
+ #
34
+ # Required in the API payload. Wire name: `name`.
35
+ # @return [String]
36
+ #
37
+ # @!attribute [r] required
38
+ # Value of the `required` field in the Inttegro API payload.
39
+ #
40
+ # Required in the API payload. Wire name: `required`.
41
+ # @return [Boolean]
42
+ #
43
+ # @!attribute [r] type
44
+ # Value of the `type` field in the Inttegro API payload.
45
+ #
46
+ # Required in the API payload. Wire name: `type`.
47
+ # @return [Inttegro::MessageTemplate::VariableItemType]
48
+ class VariableItem < T::Struct
49
+ const :about, T.nilable(String), default: nil
50
+ const :default, T.nilable(Object), default: nil
51
+ const :name, String
52
+ const :required, T::Boolean
53
+ const :type, Inttegro::MessageTemplate::VariableItemType
54
+ end
55
+ end
56
+ end
@@ -0,0 +1,56 @@
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 "variable_item_type"
8
+
9
+ module Inttegro
10
+ class MessageTemplate
11
+ # Typed representation of the variable item 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] about
20
+ # Value of the `about` field in the Inttegro API payload.
21
+ #
22
+ # Optional in the API payload; omitted values default to `nil`. Wire name: `about`.
23
+ # @return [String, nil]
24
+ #
25
+ # @!attribute [r] default
26
+ # Value of the `default` field in the Inttegro API payload.
27
+ #
28
+ # Optional in the API payload; omitted values default to `nil`. Wire name: `default`.
29
+ # @return [Object, nil]
30
+ #
31
+ # @!attribute [r] name
32
+ # Value of the `name` field in the Inttegro API payload.
33
+ #
34
+ # Required in the API payload. Wire name: `name`.
35
+ # @return [String]
36
+ #
37
+ # @!attribute [r] required
38
+ # Value of the `required` field in the Inttegro API payload.
39
+ #
40
+ # Optional in the API payload; omitted values default to `nil`. Wire name: `required`.
41
+ # @return [Boolean, nil]
42
+ #
43
+ # @!attribute [r] type
44
+ # Value of the `type` field in the Inttegro API payload.
45
+ #
46
+ # Required in the API payload. Wire name: `type`.
47
+ # @return [Inttegro::MessageTemplate::VariableItemType]
48
+ class VariableItemInput < T::Struct
49
+ const :about, T.nilable(String), default: nil
50
+ const :default, T.nilable(Object), default: nil
51
+ const :name, String
52
+ const :required, T.nilable(T::Boolean), default: nil
53
+ const :type, Inttegro::MessageTemplate::VariableItemType
54
+ end
55
+ end
56
+ end
@@ -0,0 +1,49 @@
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 MessageTemplate
10
+ # String-backed values accepted by the Inttegro API for
11
+ # Inttegro::MessageTemplate::VariableItemType.
12
+ #
13
+ # Use the constants below when constructing a request. `#serialize` returns the documented
14
+ # string wire value received from or sent to the API.
15
+ #
16
+ # @api public
17
+ class VariableItemType < T::Enum
18
+ enums do
19
+ # Serialized wire value: `string`.
20
+ # @return [Inttegro::MessageTemplate::VariableItemType]
21
+ STRING = new("string")
22
+ # Serialized wire value: `number`.
23
+ # @return [Inttegro::MessageTemplate::VariableItemType]
24
+ NUMBER = new("number")
25
+ # Serialized wire value: `integer`.
26
+ # @return [Inttegro::MessageTemplate::VariableItemType]
27
+ INTEGER = new("integer")
28
+ # Serialized wire value: `boolean`.
29
+ # @return [Inttegro::MessageTemplate::VariableItemType]
30
+ BOOLEAN = new("boolean")
31
+ # Serialized wire value: `url`.
32
+ # @return [Inttegro::MessageTemplate::VariableItemType]
33
+ URL = new("url")
34
+ # Serialized wire value: `email`.
35
+ # @return [Inttegro::MessageTemplate::VariableItemType]
36
+ EMAIL = new("email")
37
+ # Serialized wire value: `phone`.
38
+ # @return [Inttegro::MessageTemplate::VariableItemType]
39
+ PHONE = new("phone")
40
+ # Serialized wire value: `date`.
41
+ # @return [Inttegro::MessageTemplate::VariableItemType]
42
+ DATE = new("date")
43
+ # Serialized wire value: `datetime`.
44
+ # @return [Inttegro::MessageTemplate::VariableItemType]
45
+ DATETIME = new("datetime")
46
+ end
47
+ end
48
+ end
49
+ end
@@ -0,0 +1,52 @@
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 MessageTemplate
10
+ # String-backed values accepted by the Inttegro API for
11
+ # Inttegro::MessageTemplate::VariableType.
12
+ #
13
+ # Use the constants below when constructing a request. `#serialize` returns the documented
14
+ # string wire value received from or sent to the API.
15
+ #
16
+ # @api public
17
+ class VariableType < T::Enum
18
+ enums do
19
+ # Serialized wire value: `string`.
20
+ # @return [Inttegro::MessageTemplate::VariableType]
21
+ STRING = new("string")
22
+ # Serialized wire value: `number`.
23
+ # @return [Inttegro::MessageTemplate::VariableType]
24
+ NUMBER = new("number")
25
+ # Serialized wire value: `integer`.
26
+ # @return [Inttegro::MessageTemplate::VariableType]
27
+ INTEGER = new("integer")
28
+ # Serialized wire value: `boolean`.
29
+ # @return [Inttegro::MessageTemplate::VariableType]
30
+ BOOLEAN = new("boolean")
31
+ # Serialized wire value: `url`.
32
+ # @return [Inttegro::MessageTemplate::VariableType]
33
+ URL = new("url")
34
+ # Serialized wire value: `email`.
35
+ # @return [Inttegro::MessageTemplate::VariableType]
36
+ EMAIL = new("email")
37
+ # Serialized wire value: `phone`.
38
+ # @return [Inttegro::MessageTemplate::VariableType]
39
+ PHONE = new("phone")
40
+ # Serialized wire value: `date`.
41
+ # @return [Inttegro::MessageTemplate::VariableType]
42
+ DATE = new("date")
43
+ # Serialized wire value: `datetime`.
44
+ # @return [Inttegro::MessageTemplate::VariableType]
45
+ DATETIME = new("datetime")
46
+ # Serialized wire value: `array`.
47
+ # @return [Inttegro::MessageTemplate::VariableType]
48
+ ARRAY = new("array")
49
+ end
50
+ end
51
+ end
52
+ end
@@ -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 MessageTemplate
10
+ # Variable values used when rendering a template.
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 Variables < T::Struct
18
+ # This object intentionally has no fields.
19
+ end
20
+ end
21
+ end
@@ -0,0 +1,85 @@
1
+ # frozen_string_literal: true
2
+ # typed: strict
3
+
4
+ require "set"
5
+ require "sorbet-runtime"
6
+ require "time"
7
+
8
+ module Inttegro
9
+ extend T::Sig
10
+
11
+ # Field names whose OpenAPI values are RFC 3339 timestamps rather than opaque strings.
12
+ #
13
+ # The deserializer uses this allowlist only after it has entered a generated model payload.
14
+ # Timestamp-like strings inside merchant-controlled metadata remain unchanged.
15
+ TEMPORAL_FIELDS = T.let(%w[
16
+ after archived_at as_of at attempted_at available_at canceled_at checked_at
17
+ claimed_at completed_at created_after created_at created_before deleted_at
18
+ delivered_at disconnected_at due_at enabled_at execute_after executed_at
19
+ expected_at expired_at expires_at expires_on failed_at fulfilled_at inactive_at
20
+ includes_transactions_before initialized_at initiated_at issued_at last_accessed_at
21
+ last_attempted_at last_email_event_at last_used_at occurred_at paid_at payment_due_at
22
+ processing_at published_at queued_at reviewed_at revoked_at scheduled_at sealed_at
23
+ send_after sent_at succeeded_at supplied_at suppressed_at token_sent_at updated_at
24
+ uploading_at valid_until verified_at
25
+ ].to_set.freeze, T::Set[String])
26
+ # Containers whose contents belong to the caller and must not be interpreted as model fields.
27
+ OPAQUE_TIMESTAMP_CONTAINERS = T.let(%w[
28
+ custom_data details headers json_ld mandate metadata variables
29
+ ].to_set.freeze, T::Set[String])
30
+
31
+ sig { params(value: Object, klass: T::Class[T::Struct]).returns(T::Struct) }
32
+ # Decode a JSON-compatible API object into a generated Sorbet model.
33
+ #
34
+ # Keys are normalized to strings and known RFC 3339 timestamp fields are converted to
35
+ # +Time+ instances before Sorbet validates the declared model shape. Arbitrary data stored
36
+ # in metadata-like containers is preserved verbatim.
37
+ #
38
+ # @param value [Hash, T::Struct] string- or symbol-keyed API data to decode
39
+ # @param klass [Class<T::Struct>] generated model class that describes the payload
40
+ # @return [T::Struct] an instance of +klass+
41
+ # @raise [TypeError] if +value+ is not an object after normalization
42
+ # @raise [ArgumentError] if a recognized timestamp lacks an explicit UTC offset
43
+ def self.deserialize(value, klass)
44
+ data = stringify_json_keys(value, decode_timestamps: true)
45
+ raise TypeError, "expected an object for #{klass}, got #{data.class}" unless data.is_a?(Hash)
46
+
47
+ T.cast(klass, T.class_of(T::Struct)).from_hash(data)
48
+ end
49
+
50
+ sig { params(value: Object, decode_timestamps: T::Boolean).returns(Object) }
51
+ # Recursively normalize API data for Sorbet deserialization.
52
+ #
53
+ # @param value [Object] value to normalize
54
+ # @param decode_timestamps [Boolean] whether recognized timestamp fields should become +Time+ objects
55
+ # @return [Object] normalized value
56
+ # @api private
57
+ def self.stringify_json_keys(value, decode_timestamps: false)
58
+ case value
59
+ when T::Struct
60
+ stringify_json_keys(value.serialize, decode_timestamps: decode_timestamps)
61
+ when T::Enum
62
+ value.serialize
63
+ when Hash
64
+ value.each_with_object({}) do |(key, item), output|
65
+ field = key.to_s
66
+ child_decode = decode_timestamps && !OPAQUE_TIMESTAMP_CONTAINERS.include?(field)
67
+ output[field] = if child_decode && TEMPORAL_FIELDS.include?(field) && item.is_a?(String)
68
+ unless item.match?(/(?:Z|[+-]\d{2}:\d{2})\z/)
69
+ raise ArgumentError, "timestamp #{field} must include a UTC offset"
70
+ end
71
+ Time.iso8601(item)
72
+ else
73
+ stringify_json_keys(item, decode_timestamps: child_decode)
74
+ end
75
+ end
76
+ when Array
77
+ value.map { |item| stringify_json_keys(item, decode_timestamps: decode_timestamps) }
78
+ when Time
79
+ value.iso8601(9)
80
+ else
81
+ value
82
+ end
83
+ end
84
+ private_class_method :stringify_json_keys
85
+ end
@@ -1,133 +1,17 @@
1
1
  # frozen_string_literal: true
2
2
  # typed: strict
3
3
 
4
- require "sorbet-runtime"
5
-
4
+ # Generated resource models are loaded in dependency order by this manifest.
6
5
  require_relative "generated/models"
7
- require_relative "types"
8
-
9
- module Inttegro
10
- extend T::Sig
11
-
12
- # Amount primitives live under Money so the namespace can grow to include
13
- # currency conversion and formatting helpers without treating money as a
14
- # single value type.
15
- module Money
16
- Amount = Inttegro::Amount
17
- AmountParams = Inttegro::AmountParams
18
- Currency = Inttegro::Currency
19
- end
20
-
21
- # Wallet variants used by financial accounts.
22
- module Wallets
23
- Wallet = Inttegro::FinancialAccountWallet
24
- MobileMoney = Inttegro::FinancialAccountWalletMobileMoney
25
- UpdatedWallet = Inttegro::UpdatedFinancialAccountWallet
26
- WalletParams = Inttegro::FinancialAccountWalletRequestWallet
27
- MobileMoneyParams = Inttegro::FinancialAccountWalletRequestWalletMobileMoney
28
- WalletType = Inttegro::WalletType
29
- end
30
-
31
- # Bank-account variants used by financial accounts. Payment-method bank
32
- # snapshots remain in the payment-method domain.
33
- module BankAccounts
34
- BankAccount = Inttegro::FinancialAccountBank
35
- CreatedBankAccount = Inttegro::CreatedFinancialAccountBank
36
- UpdatedBankAccount = Inttegro::UpdatedFinancialAccountBank
37
- GhanaBankAccount = Inttegro::GhanaBankAccount
38
- CreatedGhanaBankAccount = Inttegro::CreatedGhanaBankAccount
39
- UpdatedGhanaBankAccount = Inttegro::UpdatedGhanaBankAccount
40
- Owner = Inttegro::FinancialAccountOwner
41
- CreatedOwner = Inttegro::CreatedFinancialAccountOwner
42
- UpdatedOwner = Inttegro::UpdatedFinancialAccountOwner
43
- OwnerAddress = Inttegro::FinancialAccountAddress
44
- CreatedOwnerAddress = Inttegro::CreatedFinancialAccountAddress
45
- UpdatedOwnerAddress = Inttegro::UpdatedFinancialAccountAddress
46
- BankAccountParams = Inttegro::FinancialAccountBankRequestBankAccount
47
- GhanaBankAccountParams = Inttegro::FinancialAccountBankRequestBankAccountGhanaBankAccount
48
- BankAccountType = Inttegro::BankAccountType
49
- end
50
-
51
- # Currency identifiers serialize to lowercase wire values while accepting
52
- # legacy uppercase response values during deserialization.
53
- class Currency
54
- class << self
55
- extend T::Sig
56
-
57
- sig { params(value: String).returns(Inttegro::Currency) }
58
- def deserialize(value)
59
- super(value.strip.downcase)
60
- end
61
- end
62
- end
63
-
64
- # Backward-compatible acronym spellings for domain objects.
65
- OtpTransaction = OTPTransaction
66
- OtpTransmission = OTPTransmission
67
- OtpVerificationAttempt = OTPVerificationAttempt
68
-
69
- class PaymentMethodDeletion < T::Struct
70
- const :deleted, T::Boolean
71
- const :payment_method_id, String
72
- end
73
-
74
- class SetDefaultUnitPriceRequest < T::Struct
75
- const :product_id, String
76
- const :price_id, String
77
- end
78
-
79
- class BalanceTransaction
80
- extend T::Sig
81
-
82
- sig { returns(T.nilable(String)) }
83
- def source_id
84
- payment = payment_id
85
- refund = refund_id
86
- if type == Inttegro::BalanceTransactionType::PAYMENT && payment && !payment.empty? && refund.nil?
87
- return payment
88
- end
89
- if type == Inttegro::BalanceTransactionType::REFUND && refund && !refund.empty? && payment.nil?
90
- return refund
91
- end
92
-
93
- nil
94
- end
95
-
96
- sig { returns(T::Boolean) }
97
- def valid_source?
98
- !source_id.nil?
99
- end
100
-
101
- sig { returns(T::Boolean) }
102
- def valid?
103
- !id.empty? && !order_id.empty? && !created_at.empty? && valid_source?
104
- end
105
- end
106
-
107
- sig { params(value: Object, klass: T::Class[T::Struct]).returns(T::Struct) }
108
- def self.deserialize(value, klass)
109
- data = stringify_json_keys(value)
110
- raise TypeError, "expected an object for #{klass}, got #{data.class}" unless data.is_a?(Hash)
111
-
112
- T.cast(klass, T.class_of(T::Struct)).from_hash(data)
113
- end
114
6
 
115
- sig { params(value: Object).returns(Object) }
116
- def self.stringify_json_keys(value)
117
- case value
118
- when T::Struct
119
- stringify_json_keys(value.serialize)
120
- when T::Enum
121
- value.serialize
122
- when Hash
123
- value.each_with_object({}) do |(key, item), output|
124
- output[key.to_s] = stringify_json_keys(item)
125
- end
126
- when Array
127
- value.map { |item| stringify_json_keys(item) }
128
- else
129
- value
130
- end
131
- end
132
- private_class_method :stringify_json_keys
133
- end
7
+ # Hand-written behavior lives beside the resource it extends.
8
+ require_relative "model_serialization"
9
+ require_relative "money/currency_deserialization"
10
+ require_relative "balance_transaction/questions"
11
+ require_relative "payment/questions"
12
+ require_relative "order/questions"
13
+ require_relative "purchase_intent/questions"
14
+ require_relative "product/questions"
15
+ require_relative "payment_method/questions"
16
+ require_relative "payment_method/deletion"
17
+ require_relative "product/set_default_unit_price_request"
@@ -0,0 +1,36 @@
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 "currency"
8
+
9
+ module Inttegro
10
+ module Money
11
+ # Typed representation of the amount 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] currency
20
+ # A currency code recognized by the Inttegro API. Individual operations can support a subset
21
+ # of these currencies.
22
+ #
23
+ # Required in the API payload. Wire name: `currency`.
24
+ # @return [Inttegro::Money::Currency]
25
+ #
26
+ # @!attribute [r] value
27
+ # Amount in the currency's smallest unit.
28
+ #
29
+ # Required in the API payload. Wire name: `value`.
30
+ # @return [Integer]
31
+ class Amount < T::Struct
32
+ const :currency, Inttegro::Money::Currency
33
+ const :value, Integer
34
+ end
35
+ end
36
+ end
@@ -0,0 +1,36 @@
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 "currency"
8
+
9
+ module Inttegro
10
+ module Money
11
+ # Typed representation of the amount params 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] currency
20
+ # A currency code recognized by the Inttegro API. Individual operations can support a subset
21
+ # of these currencies.
22
+ #
23
+ # Required in the API payload. Wire name: `currency`.
24
+ # @return [Inttegro::Money::Currency]
25
+ #
26
+ # @!attribute [r] value
27
+ # Amount in smallest currency unit (e.g., pesewas for GHS)
28
+ #
29
+ # Required in the API payload. Wire name: `value`.
30
+ # @return [Integer]
31
+ class AmountParams < T::Struct
32
+ const :currency, Inttegro::Money::Currency
33
+ const :value, Integer
34
+ end
35
+ end
36
+ end