payabli 1.0.1

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 (683) hide show
  1. checksums.yaml +7 -0
  2. data/.fern/metadata.json +5 -0
  3. data/.fernignore +3 -0
  4. data/.rubocop.yml +39 -0
  5. data/README.md +108 -0
  6. data/Rakefile +20 -0
  7. data/custom.gemspec.rb +16 -0
  8. data/lib/payabli/bill/client.rb +368 -0
  9. data/lib/payabli/bill/types/add_bill_request.rb +13 -0
  10. data/lib/payabli/bill/types/bill_out_data.rb +34 -0
  11. data/lib/payabli/bill/types/bill_out_data_scheduled_options.rb +11 -0
  12. data/lib/payabli/bill/types/bill_response.rb +18 -0
  13. data/lib/payabli/bill/types/bill_response_data.rb +57 -0
  14. data/lib/payabli/bill/types/delete_attached_from_bill_request.rb +13 -0
  15. data/lib/payabli/bill/types/edit_bill_response.rb +16 -0
  16. data/lib/payabli/bill/types/get_attached_from_bill_request.rb +13 -0
  17. data/lib/payabli/bill/types/get_bill_response.rb +19 -0
  18. data/lib/payabli/bill/types/list_bills_org_request.rb +18 -0
  19. data/lib/payabli/bill/types/list_bills_request.rb +18 -0
  20. data/lib/payabli/bill/types/modify_approval_bill_response.rb +11 -0
  21. data/lib/payabli/bill/types/send_to_approval_bill_request.rb +16 -0
  22. data/lib/payabli/bill/types/set_approved_bill_request.rb +13 -0
  23. data/lib/payabli/bill/types/set_approved_bill_response.rb +11 -0
  24. data/lib/payabli/boarding/client.rb +347 -0
  25. data/lib/payabli/boarding/types/add_application_request.rb +16 -0
  26. data/lib/payabli/boarding/types/get_external_application_request.rb +13 -0
  27. data/lib/payabli/boarding/types/list_applications_request.rb +18 -0
  28. data/lib/payabli/boarding/types/list_boarding_links_request.rb +15 -0
  29. data/lib/payabli/boarding/types/request_app_by_auth.rb +13 -0
  30. data/lib/payabli/charge_backs/client.rb +97 -0
  31. data/lib/payabli/charge_backs/types/add_response_response.rb +11 -0
  32. data/lib/payabli/charge_backs/types/charge_back_response.rb +16 -0
  33. data/lib/payabli/charge_backs/types/chargeback_message.rb +20 -0
  34. data/lib/payabli/charge_backs/types/chargeback_query_records.rb +52 -0
  35. data/lib/payabli/charge_backs/types/response_charge_back.rb +16 -0
  36. data/lib/payabli/check_capture/client.rb +45 -0
  37. data/lib/payabli/check_capture/types/check_capture_request.rb +15 -0
  38. data/lib/payabli/check_capture/types/check_capture_request_body.rb +14 -0
  39. data/lib/payabli/check_capture/types/check_capture_response.rb +41 -0
  40. data/lib/payabli/client.rb +160 -0
  41. data/lib/payabli/cloud/client.rb +135 -0
  42. data/lib/payabli/cloud/types/add_device_response.rb +12 -0
  43. data/lib/payabli/cloud/types/device_entry.rb +14 -0
  44. data/lib/payabli/cloud/types/list_device_request.rb +12 -0
  45. data/lib/payabli/cloud/types/remove_device_response.rb +12 -0
  46. data/lib/payabli/customer/client.rb +190 -0
  47. data/lib/payabli/customer/types/add_customer_request.rb +17 -0
  48. data/lib/payabli/environment.rb +8 -0
  49. data/lib/payabli/errors/api_error.rb +8 -0
  50. data/lib/payabli/errors/client_error.rb +17 -0
  51. data/lib/payabli/errors/redirect_error.rb +8 -0
  52. data/lib/payabli/errors/response_error.rb +42 -0
  53. data/lib/payabli/errors/server_error.rb +11 -0
  54. data/lib/payabli/errors/timeout_error.rb +8 -0
  55. data/lib/payabli/export/client.rb +1085 -0
  56. data/lib/payabli/export/types/export_applications_request.rb +16 -0
  57. data/lib/payabli/export/types/export_batch_details_org_request.rb +16 -0
  58. data/lib/payabli/export/types/export_batch_details_request.rb +16 -0
  59. data/lib/payabli/export/types/export_batches_org_request.rb +16 -0
  60. data/lib/payabli/export/types/export_batches_out_org_request.rb +16 -0
  61. data/lib/payabli/export/types/export_batches_out_request.rb +16 -0
  62. data/lib/payabli/export/types/export_batches_request.rb +16 -0
  63. data/lib/payabli/export/types/export_bills_org_request.rb +16 -0
  64. data/lib/payabli/export/types/export_bills_request.rb +16 -0
  65. data/lib/payabli/export/types/export_chargebacks_org_request.rb +16 -0
  66. data/lib/payabli/export/types/export_chargebacks_request.rb +16 -0
  67. data/lib/payabli/export/types/export_customers_org_request.rb +16 -0
  68. data/lib/payabli/export/types/export_customers_request.rb +16 -0
  69. data/lib/payabli/export/types/export_format_1.rb +14 -0
  70. data/lib/payabli/export/types/export_invoices_org_request.rb +16 -0
  71. data/lib/payabli/export/types/export_invoices_request.rb +16 -0
  72. data/lib/payabli/export/types/export_organizations_request.rb +16 -0
  73. data/lib/payabli/export/types/export_payout_org_request.rb +16 -0
  74. data/lib/payabli/export/types/export_payout_request.rb +16 -0
  75. data/lib/payabli/export/types/export_paypoints_request.rb +16 -0
  76. data/lib/payabli/export/types/export_settlements_org_request.rb +16 -0
  77. data/lib/payabli/export/types/export_settlements_request.rb +16 -0
  78. data/lib/payabli/export/types/export_subscriptions_org_request.rb +16 -0
  79. data/lib/payabli/export/types/export_subscriptions_request.rb +16 -0
  80. data/lib/payabli/export/types/export_transactions_org_request.rb +16 -0
  81. data/lib/payabli/export/types/export_transactions_request.rb +16 -0
  82. data/lib/payabli/export/types/export_transfer_details_request.rb +18 -0
  83. data/lib/payabli/export/types/export_transfers_request.rb +16 -0
  84. data/lib/payabli/export/types/export_vendors_org_request.rb +16 -0
  85. data/lib/payabli/export/types/export_vendors_request.rb +16 -0
  86. data/lib/payabli/hosted_payment_pages/client.rb +102 -0
  87. data/lib/payabli/hosted_payment_pages/types/new_page_request.rb +13 -0
  88. data/lib/payabli/import/client.rb +107 -0
  89. data/lib/payabli/import/types/import_bills_request.rb +11 -0
  90. data/lib/payabli/import/types/import_customer_request.rb +12 -0
  91. data/lib/payabli/import/types/import_vendor_request.rb +11 -0
  92. data/lib/payabli/internal/errors/constraint_error.rb +10 -0
  93. data/lib/payabli/internal/errors/type_error.rb +10 -0
  94. data/lib/payabli/internal/http/base_request.rb +31 -0
  95. data/lib/payabli/internal/http/raw_client.rb +105 -0
  96. data/lib/payabli/internal/iterators/cursor_item_iterator.rb +27 -0
  97. data/lib/payabli/internal/iterators/cursor_page_iterator.rb +51 -0
  98. data/lib/payabli/internal/iterators/item_iterator.rb +59 -0
  99. data/lib/payabli/internal/iterators/offset_item_iterator.rb +29 -0
  100. data/lib/payabli/internal/iterators/offset_page_iterator.rb +83 -0
  101. data/lib/payabli/internal/json/request.rb +38 -0
  102. data/lib/payabli/internal/json/serializable.rb +25 -0
  103. data/lib/payabli/internal/multipart/multipart_encoder.rb +141 -0
  104. data/lib/payabli/internal/multipart/multipart_form_data.rb +78 -0
  105. data/lib/payabli/internal/multipart/multipart_form_data_part.rb +51 -0
  106. data/lib/payabli/internal/multipart/multipart_request.rb +37 -0
  107. data/lib/payabli/internal/types/array.rb +47 -0
  108. data/lib/payabli/internal/types/boolean.rb +34 -0
  109. data/lib/payabli/internal/types/enum.rb +48 -0
  110. data/lib/payabli/internal/types/hash.rb +36 -0
  111. data/lib/payabli/internal/types/model/field.rb +28 -0
  112. data/lib/payabli/internal/types/model.rb +198 -0
  113. data/lib/payabli/internal/types/type.rb +35 -0
  114. data/lib/payabli/internal/types/union.rb +109 -0
  115. data/lib/payabli/internal/types/unknown.rb +15 -0
  116. data/lib/payabli/internal/types/utils.rb +100 -0
  117. data/lib/payabli/invoice/client.rb +370 -0
  118. data/lib/payabli/invoice/types/add_invoice_request.rb +16 -0
  119. data/lib/payabli/invoice/types/edit_invoice_request.rb +15 -0
  120. data/lib/payabli/invoice/types/get_attached_file_from_invoice_request.rb +13 -0
  121. data/lib/payabli/invoice/types/get_invoice_record.rb +66 -0
  122. data/lib/payabli/invoice/types/invoice_data_request.rb +17 -0
  123. data/lib/payabli/invoice/types/invoice_number_response.rb +14 -0
  124. data/lib/payabli/invoice/types/invoice_response_without_data.rb +19 -0
  125. data/lib/payabli/invoice/types/list_invoices_org_request.rb +18 -0
  126. data/lib/payabli/invoice/types/list_invoices_request.rb +18 -0
  127. data/lib/payabli/invoice/types/query_invoice_response.rb +14 -0
  128. data/lib/payabli/invoice/types/query_invoice_response_records_item.rb +70 -0
  129. data/lib/payabli/invoice/types/send_invoice_request.rb +13 -0
  130. data/lib/payabli/invoice/types/send_invoice_response.rb +12 -0
  131. data/lib/payabli/line_item/client.rb +164 -0
  132. data/lib/payabli/line_item/types/add_item_request.rb +13 -0
  133. data/lib/payabli/line_item/types/delete_item_response.rb +12 -0
  134. data/lib/payabli/line_item/types/list_line_items_request.rb +15 -0
  135. data/lib/payabli/money_in/client.rb +424 -0
  136. data/lib/payabli/money_in/types/auth_response.rb +17 -0
  137. data/lib/payabli/money_in/types/auth_response_response_data.rb +18 -0
  138. data/lib/payabli/money_in/types/capture_payment_details.rb +12 -0
  139. data/lib/payabli/money_in/types/capture_request.rb +13 -0
  140. data/lib/payabli/money_in/types/capture_response.rb +19 -0
  141. data/lib/payabli/money_in/types/capture_response_data.rb +19 -0
  142. data/lib/payabli/money_in/types/get_paid_response_data.rb +22 -0
  143. data/lib/payabli/money_in/types/invalid_trans_status_error_type.rb +11 -0
  144. data/lib/payabli/money_in/types/payabli_api_response_get_paid.rb +17 -0
  145. data/lib/payabli/money_in/types/receipt_response.rb +14 -0
  146. data/lib/payabli/money_in/types/refund_response.rb +16 -0
  147. data/lib/payabli/money_in/types/refund_with_instructions_response.rb +16 -0
  148. data/lib/payabli/money_in/types/request_credit.rb +29 -0
  149. data/lib/payabli/money_in/types/request_credit_payment_method.rb +19 -0
  150. data/lib/payabli/money_in/types/request_payment.rb +22 -0
  151. data/lib/payabli/money_in/types/request_payment_authorize.rb +15 -0
  152. data/lib/payabli/money_in/types/request_payment_authorize_payment_method.rb +16 -0
  153. data/lib/payabli/money_in/types/request_payment_validate.rb +18 -0
  154. data/lib/payabli/money_in/types/request_payment_validate_payment_method.rb +18 -0
  155. data/lib/payabli/money_in/types/request_payment_validate_payment_method_method.rb +14 -0
  156. data/lib/payabli/money_in/types/request_refund.rb +20 -0
  157. data/lib/payabli/money_in/types/response_data_refunds.rb +21 -0
  158. data/lib/payabli/money_in/types/reverse_response.rb +18 -0
  159. data/lib/payabli/money_in/types/send_receipt_2_trans_request.rb +12 -0
  160. data/lib/payabli/money_in/types/trans_request_body.rb +28 -0
  161. data/lib/payabli/money_in/types/transaction_detail_customer.rb +33 -0
  162. data/lib/payabli/money_in/types/transaction_detail_event.rb +14 -0
  163. data/lib/payabli/money_in/types/transaction_detail_invoice_data.rb +43 -0
  164. data/lib/payabli/money_in/types/transaction_detail_payment_data.rb +28 -0
  165. data/lib/payabli/money_in/types/transaction_detail_payment_details.rb +33 -0
  166. data/lib/payabli/money_in/types/transaction_detail_record.rb +87 -0
  167. data/lib/payabli/money_in/types/transaction_detail_record_method.rb +14 -0
  168. data/lib/payabli/money_in/types/transaction_detail_response_data.rb +25 -0
  169. data/lib/payabli/money_in/types/validate_response.rb +16 -0
  170. data/lib/payabli/money_in/types/validate_response_data.rb +19 -0
  171. data/lib/payabli/money_in/types/void_response.rb +19 -0
  172. data/lib/payabli/money_in/types/void_response_data.rb +19 -0
  173. data/lib/payabli/money_out/client.rb +300 -0
  174. data/lib/payabli/money_out/types/capture_all_out_request.rb +12 -0
  175. data/lib/payabli/money_out/types/capture_out_request.rb +12 -0
  176. data/lib/payabli/money_out/types/money_out_types_request_out_authorize.rb +21 -0
  177. data/lib/payabli/money_out/types/send_v_card_link_request.rb +11 -0
  178. data/lib/payabli/money_out_types/types/auth_capture_payout_response.rb +18 -0
  179. data/lib/payabli/money_out_types/types/auth_capture_payout_response_data.rb +18 -0
  180. data/lib/payabli/money_out_types/types/authorize_payment_method.rb +30 -0
  181. data/lib/payabli/money_out_types/types/authorize_payout_body.rb +29 -0
  182. data/lib/payabli/money_out_types/types/capture_all_out_response.rb +17 -0
  183. data/lib/payabli/money_out_types/types/capture_all_out_response_response_data_item.rb +14 -0
  184. data/lib/payabli/money_out_types/types/operation_result.rb +12 -0
  185. data/lib/payabli/money_out_types/types/request_out_authorize_invoice_data.rb +23 -0
  186. data/lib/payabli/money_out_types/types/request_out_authorize_payment_details.rb +16 -0
  187. data/lib/payabli/money_out_types/types/request_out_authorize_vendor_billing_data.rb +20 -0
  188. data/lib/payabli/money_out_types/types/request_out_authorize_vendor_data.rb +51 -0
  189. data/lib/payabli/money_out_types/types/request_out_authorize_vendor_data_old.rb +51 -0
  190. data/lib/payabli/money_out_types/types/v_card_get_response.rb +39 -0
  191. data/lib/payabli/money_out_types/types/v_card_get_response_associated_vendor.rb +63 -0
  192. data/lib/payabli/money_out_types/types/v_card_get_response_associated_vendor_billing_data.rb +31 -0
  193. data/lib/payabli/money_out_types/types/v_card_get_response_associated_vendor_summary.rb +31 -0
  194. data/lib/payabli/money_out_types/types/v_card_get_response_contact.rb +15 -0
  195. data/lib/payabli/notification/client.rb +151 -0
  196. data/lib/payabli/notification/types/add_notification_request.rb +14 -0
  197. data/lib/payabli/notification/types/update_notification_request.rb +14 -0
  198. data/lib/payabli/notificationlogs/client.rb +138 -0
  199. data/lib/payabli/notificationlogs/types/key_value_array.rb +12 -0
  200. data/lib/payabli/notificationlogs/types/notification_log.rb +24 -0
  201. data/lib/payabli/notificationlogs/types/notification_log_detail.rb +17 -0
  202. data/lib/payabli/notificationlogs/types/notification_log_search_request.rb +16 -0
  203. data/lib/payabli/notificationlogs/types/search_notification_logs_request.rb +15 -0
  204. data/lib/payabli/notificationlogs/types/string_string_key_value_pair.rb +12 -0
  205. data/lib/payabli/ocr/client.rb +66 -0
  206. data/lib/payabli/ocr/types/file_content_image_only.rb +14 -0
  207. data/lib/payabli/ocr/types/ocr_attachment.rb +15 -0
  208. data/lib/payabli/ocr/types/ocr_bill_item.rb +24 -0
  209. data/lib/payabli/ocr/types/ocr_bill_item_additional_data.rb +14 -0
  210. data/lib/payabli/ocr/types/ocr_response_data.rb +13 -0
  211. data/lib/payabli/ocr/types/ocr_result_data.rb +33 -0
  212. data/lib/payabli/ocr/types/ocr_vendor.rb +47 -0
  213. data/lib/payabli/ocr/types/ocr_vendor_additional_data.rb +11 -0
  214. data/lib/payabli/ocr/types/ocr_vendor_billing_data.rb +22 -0
  215. data/lib/payabli/ocr/types/payabli_api_response_ocr.rb +16 -0
  216. data/lib/payabli/organization/client.rb +215 -0
  217. data/lib/payabli/organization/types/add_organization_request.rb +30 -0
  218. data/lib/payabli/organization/types/add_organization_response.rb +15 -0
  219. data/lib/payabli/organization/types/delete_organization_response.rb +15 -0
  220. data/lib/payabli/organization/types/edit_organization_response.rb +17 -0
  221. data/lib/payabli/organization/types/organization_data.rb +30 -0
  222. data/lib/payabli/payment_link/client.rb +318 -0
  223. data/lib/payabli/payment_link/types/get_pay_link_from_id_response.rb +13 -0
  224. data/lib/payabli/payment_link/types/get_pay_link_from_id_response_response_data.rb +9 -0
  225. data/lib/payabli/payment_link/types/pay_link_data_bill.rb +15 -0
  226. data/lib/payabli/payment_link/types/pay_link_data_invoice.rb +15 -0
  227. data/lib/payabli/payment_link/types/pay_link_data_out.rb +16 -0
  228. data/lib/payabli/payment_link/types/pay_link_update_data.rb +26 -0
  229. data/lib/payabli/payment_link/types/payabli_api_response_payment_links.rb +13 -0
  230. data/lib/payabli/payment_link/types/payment_page_request_body.rb +27 -0
  231. data/lib/payabli/payment_link/types/refresh_pay_link_from_id_request.rb +12 -0
  232. data/lib/payabli/payment_link/types/send_pay_link_from_id_request.rb +13 -0
  233. data/lib/payabli/payment_method_domain/client.rb +223 -0
  234. data/lib/payabli/payment_method_domain/types/add_payment_method_domain_request.rb +19 -0
  235. data/lib/payabli/payment_method_domain/types/add_payment_method_domain_request_apple_pay.rb +12 -0
  236. data/lib/payabli/payment_method_domain/types/add_payment_method_domain_request_google_pay.rb +12 -0
  237. data/lib/payabli/payment_method_domain/types/delete_payment_method_domain_response.rb +16 -0
  238. data/lib/payabli/payment_method_domain/types/list_payment_method_domains_request.rb +14 -0
  239. data/lib/payabli/payment_method_domain/types/list_payment_method_domains_response.rb +14 -0
  240. data/lib/payabli/payment_method_domain/types/update_payment_method_domain_request.rb +17 -0
  241. data/lib/payabli/payment_method_domain/types/update_payment_method_domain_request_wallet.rb +11 -0
  242. data/lib/payabli/paypoint/client.rb +239 -0
  243. data/lib/payabli/paypoint/types/get_basic_entry_by_id_response.rb +17 -0
  244. data/lib/payabli/paypoint/types/get_basic_entry_response.rb +17 -0
  245. data/lib/payabli/paypoint/types/get_entry_config_request.rb +12 -0
  246. data/lib/payabli/paypoint/types/get_entry_config_response.rb +17 -0
  247. data/lib/payabli/paypoint/types/migrate_paypoint_response.rb +13 -0
  248. data/lib/payabli/paypoint/types/notification_request.rb +14 -0
  249. data/lib/payabli/paypoint/types/paypoint_move_request.rb +17 -0
  250. data/lib/payabli/paypoint/types/web_header_parameter.rb +12 -0
  251. data/lib/payabli/query/client.rb +1284 -0
  252. data/lib/payabli/query/types/list_batch_details_org_request.rb +18 -0
  253. data/lib/payabli/query/types/list_batch_details_request.rb +18 -0
  254. data/lib/payabli/query/types/list_batches_org_request.rb +18 -0
  255. data/lib/payabli/query/types/list_batches_out_org_request.rb +18 -0
  256. data/lib/payabli/query/types/list_batches_out_request.rb +18 -0
  257. data/lib/payabli/query/types/list_batches_request.rb +18 -0
  258. data/lib/payabli/query/types/list_chargebacks_org_request.rb +18 -0
  259. data/lib/payabli/query/types/list_chargebacks_request.rb +18 -0
  260. data/lib/payabli/query/types/list_customers_org_request.rb +18 -0
  261. data/lib/payabli/query/types/list_customers_request.rb +18 -0
  262. data/lib/payabli/query/types/list_notification_reports_org_request.rb +15 -0
  263. data/lib/payabli/query/types/list_notification_reports_request.rb +15 -0
  264. data/lib/payabli/query/types/list_notifications_org_request.rb +15 -0
  265. data/lib/payabli/query/types/list_notifications_request.rb +15 -0
  266. data/lib/payabli/query/types/list_organizations_request.rb +18 -0
  267. data/lib/payabli/query/types/list_payout_org_request.rb +18 -0
  268. data/lib/payabli/query/types/list_payout_request.rb +18 -0
  269. data/lib/payabli/query/types/list_paypoints_request.rb +18 -0
  270. data/lib/payabli/query/types/list_settlements_org_request.rb +18 -0
  271. data/lib/payabli/query/types/list_settlements_request.rb +18 -0
  272. data/lib/payabli/query/types/list_subscriptions_org_request.rb +18 -0
  273. data/lib/payabli/query/types/list_subscriptions_request.rb +18 -0
  274. data/lib/payabli/query/types/list_transactions_org_request.rb +18 -0
  275. data/lib/payabli/query/types/list_transactions_request.rb +18 -0
  276. data/lib/payabli/query/types/list_transfers_paypoint_request.rb +19 -0
  277. data/lib/payabli/query/types/list_transfers_request.rb +18 -0
  278. data/lib/payabli/query/types/list_transfers_request_org.rb +18 -0
  279. data/lib/payabli/query/types/list_users_org_request.rb +15 -0
  280. data/lib/payabli/query/types/list_users_paypoint_request.rb +15 -0
  281. data/lib/payabli/query/types/list_vcards_org_request.rb +18 -0
  282. data/lib/payabli/query/types/list_vcards_request.rb +18 -0
  283. data/lib/payabli/query/types/list_vendors_org_request.rb +18 -0
  284. data/lib/payabli/query/types/list_vendors_request.rb +18 -0
  285. data/lib/payabli/query_types/types/batch_detail_response_record.rb +81 -0
  286. data/lib/payabli/query_types/types/batch_detail_response_summary.rb +20 -0
  287. data/lib/payabli/query_types/types/list_organizations_response.rb +14 -0
  288. data/lib/payabli/query_types/types/query_batches_detail_response.rb +17 -0
  289. data/lib/payabli/query_types/types/query_batches_response.rb +15 -0
  290. data/lib/payabli/query_types/types/query_batches_response_records_item.rb +44 -0
  291. data/lib/payabli/query_types/types/query_batches_transfer.rb +27 -0
  292. data/lib/payabli/query_types/types/query_transfer_detail_response.rb +16 -0
  293. data/lib/payabli/query_types/types/query_transfer_response.rb +16 -0
  294. data/lib/payabli/query_types/types/query_transfer_summary.rb +32 -0
  295. data/lib/payabli/query_types/types/transfer_detail_record.rb +106 -0
  296. data/lib/payabli/statistic/client.rb +144 -0
  297. data/lib/payabli/statistic/types/basic_stats_request.rb +17 -0
  298. data/lib/payabli/statistic/types/customer_basic_stats_request.rb +14 -0
  299. data/lib/payabli/statistic/types/stat_basic_query_record.rb +19 -0
  300. data/lib/payabli/statistic/types/statistics_vendor_query_record.rb +29 -0
  301. data/lib/payabli/statistic/types/sub_stats_request.rb +14 -0
  302. data/lib/payabli/statistic/types/subscription_stats_query_record.rb +13 -0
  303. data/lib/payabli/statistic/types/vendor_basic_stats_request.rb +14 -0
  304. data/lib/payabli/subscription/client.rb +136 -0
  305. data/lib/payabli/subscription/types/add_subscription_response.rb +15 -0
  306. data/lib/payabli/subscription/types/remove_subscription_response.rb +14 -0
  307. data/lib/payabli/subscription/types/request_schedule.rb +15 -0
  308. data/lib/payabli/subscription/types/request_schedule_payment_method.rb +16 -0
  309. data/lib/payabli/subscription/types/request_schedule_payment_method_initiator.rb +16 -0
  310. data/lib/payabli/subscription/types/request_update_schedule.rb +18 -0
  311. data/lib/payabli/subscription/types/subscription_request_body.rb +27 -0
  312. data/lib/payabli/subscription/types/update_subscription_response.rb +15 -0
  313. data/lib/payabli/templates/client.rb +132 -0
  314. data/lib/payabli/templates/types/list_templates_request.rb +15 -0
  315. data/lib/payabli/token_storage/client.rb +152 -0
  316. data/lib/payabli/token_storage/types/add_method_request.rb +22 -0
  317. data/lib/payabli/token_storage/types/add_method_response.rb +13 -0
  318. data/lib/payabli/token_storage/types/add_method_response_response_data.rb +15 -0
  319. data/lib/payabli/token_storage/types/convert_token.rb +13 -0
  320. data/lib/payabli/token_storage/types/get_method_request.rb +15 -0
  321. data/lib/payabli/token_storage/types/get_method_response.rb +15 -0
  322. data/lib/payabli/token_storage/types/get_method_response_response_data.rb +29 -0
  323. data/lib/payabli/token_storage/types/get_method_response_response_data_customers_item.rb +42 -0
  324. data/lib/payabli/token_storage/types/request_token_storage.rb +22 -0
  325. data/lib/payabli/token_storage/types/request_token_storage_payment_method.rb +16 -0
  326. data/lib/payabli/token_storage/types/tokenize_ach.rb +22 -0
  327. data/lib/payabli/token_storage/types/tokenize_card.rb +16 -0
  328. data/lib/payabli/token_storage/types/update_method_request.rb +15 -0
  329. data/lib/payabli/types/a_section.rb +15 -0
  330. data/lib/payabli/types/ach.rb +20 -0
  331. data/lib/payabli/types/ach_absorb_section.rb +11 -0
  332. data/lib/payabli/types/ach_acceptance_element.rb +14 -0
  333. data/lib/payabli/types/ach_fee_section.rb +45 -0
  334. data/lib/payabli/types/ach_holder_type.rb +12 -0
  335. data/lib/payabli/types/ach_link_types.rb +11 -0
  336. data/lib/payabli/types/ach_pass_through_section.rb +11 -0
  337. data/lib/payabli/types/ach_payment_method.rb +11 -0
  338. data/lib/payabli/types/ach_section.rb +11 -0
  339. data/lib/payabli/types/ach_service.rb +49 -0
  340. data/lib/payabli/types/ach_setup.rb +11 -0
  341. data/lib/payabli/types/ach_types.rb +11 -0
  342. data/lib/payabli/types/ach_types_pass.rb +11 -0
  343. data/lib/payabli/types/ach_types_tiers.rb +11 -0
  344. data/lib/payabli/types/achaccounttype.rb +12 -0
  345. data/lib/payabli/types/add_payment_method_domain_api_response.rb +15 -0
  346. data/lib/payabli/types/amount_element.rb +11 -0
  347. data/lib/payabli/types/apple_pay_data.rb +11 -0
  348. data/lib/payabli/types/apple_pay_metadata.rb +18 -0
  349. data/lib/payabli/types/apple_pay_organization_update_data.rb +16 -0
  350. data/lib/payabli/types/apple_pay_paypoint_registration_data.rb +14 -0
  351. data/lib/payabli/types/apple_pay_status_data.rb +11 -0
  352. data/lib/payabli/types/apple_wallet_data.rb +21 -0
  353. data/lib/payabli/types/application_data.rb +77 -0
  354. data/lib/payabli/types/application_data_managed.rb +56 -0
  355. data/lib/payabli/types/application_data_managed_contacts_item.rb +7 -0
  356. data/lib/payabli/types/application_data_managed_ownership_item.rb +7 -0
  357. data/lib/payabli/types/application_data_odp.rb +68 -0
  358. data/lib/payabli/types/application_data_odp_contacts_item.rb +7 -0
  359. data/lib/payabli/types/application_data_odp_ownership_item.rb +7 -0
  360. data/lib/payabli/types/application_data_pay_in.rb +79 -0
  361. data/lib/payabli/types/application_data_pay_in_bank_data.rb +7 -0
  362. data/lib/payabli/types/application_data_pay_in_contacts_item.rb +7 -0
  363. data/lib/payabli/types/application_data_pay_in_ownership_item.rb +7 -0
  364. data/lib/payabli/types/application_data_pay_in_services.rb +11 -0
  365. data/lib/payabli/types/application_data_pay_in_services_ach.rb +7 -0
  366. data/lib/payabli/types/application_data_pay_in_services_card.rb +7 -0
  367. data/lib/payabli/types/application_details_record.rb +85 -0
  368. data/lib/payabli/types/application_details_record_messages_item.rb +27 -0
  369. data/lib/payabli/types/application_query_record.rb +85 -0
  370. data/lib/payabli/types/associated_vendor.rb +55 -0
  371. data/lib/payabli/types/auto_element.rb +15 -0
  372. data/lib/payabli/types/b_address.rb +20 -0
  373. data/lib/payabli/types/b_details.rb +19 -0
  374. data/lib/payabli/types/b_section.rb +10 -0
  375. data/lib/payabli/types/bank.rb +24 -0
  376. data/lib/payabli/types/bank_account_holder_type.rb +12 -0
  377. data/lib/payabli/types/bank_section.rb +20 -0
  378. data/lib/payabli/types/basic_table.rb +10 -0
  379. data/lib/payabli/types/basic_template_element.rb +11 -0
  380. data/lib/payabli/types/batch_summary.rb +14 -0
  381. data/lib/payabli/types/bill_data.rb +42 -0
  382. data/lib/payabli/types/bill_data_payment_terms.rb +31 -0
  383. data/lib/payabli/types/bill_detail_response.rb +55 -0
  384. data/lib/payabli/types/bill_details_response.rb +17 -0
  385. data/lib/payabli/types/bill_item.rb +22 -0
  386. data/lib/payabli/types/bill_options.rb +12 -0
  387. data/lib/payabli/types/bill_pay_out_data.rb +20 -0
  388. data/lib/payabli/types/bill_pay_out_data_request.rb +20 -0
  389. data/lib/payabli/types/bill_query_record_2.rb +57 -0
  390. data/lib/payabli/types/bill_query_record_2_bill_approvals_item.rb +13 -0
  391. data/lib/payabli/types/bill_query_record_2_payment_method.rb +15 -0
  392. data/lib/payabli/types/bill_query_response.rb +14 -0
  393. data/lib/payabli/types/bill_query_response_summary.rb +33 -0
  394. data/lib/payabli/types/billing_data.rb +18 -0
  395. data/lib/payabli/types/billing_data_response.rb +30 -0
  396. data/lib/payabli/types/billing_fee_detail.rb +19 -0
  397. data/lib/payabli/types/bin_data.rb +29 -0
  398. data/lib/payabli/types/bnk.rb +14 -0
  399. data/lib/payabli/types/boarding_application_attachments.rb +10 -0
  400. data/lib/payabli/types/boarding_link_api_response.rb +10 -0
  401. data/lib/payabli/types/boarding_link_query_record.rb +24 -0
  402. data/lib/payabli/types/boarding_query_links.rb +20 -0
  403. data/lib/payabli/types/builder_data.rb +14 -0
  404. data/lib/payabli/types/business_section.rb +36 -0
  405. data/lib/payabli/types/button_element.rb +10 -0
  406. data/lib/payabli/types/button_element_size.rb +13 -0
  407. data/lib/payabli/types/c_list.rb +12 -0
  408. data/lib/payabli/types/card_acceptance_element.rb +14 -0
  409. data/lib/payabli/types/card_fee_section.rb +42 -0
  410. data/lib/payabli/types/card_flat_section.rb +10 -0
  411. data/lib/payabli/types/card_icp_section.rb +10 -0
  412. data/lib/payabli/types/card_link_types.rb +12 -0
  413. data/lib/payabli/types/card_pass_through_section.rb +11 -0
  414. data/lib/payabli/types/card_section.rb +11 -0
  415. data/lib/payabli/types/card_service.rb +83 -0
  416. data/lib/payabli/types/card_setup.rb +16 -0
  417. data/lib/payabli/types/card_type.rb +12 -0
  418. data/lib/payabli/types/card_type_pass.rb +12 -0
  419. data/lib/payabli/types/card_types.rb +14 -0
  420. data/lib/payabli/types/cascade_job_details.rb +14 -0
  421. data/lib/payabli/types/cash.rb +9 -0
  422. data/lib/payabli/types/check.rb +10 -0
  423. data/lib/payabli/types/cloud_query_api_response.rb +14 -0
  424. data/lib/payabli/types/configure_apple_pay_organization_api_response.rb +15 -0
  425. data/lib/payabli/types/configure_apple_paypoint_api_response.rb +16 -0
  426. data/lib/payabli/types/configure_google_paypoint_api_response.rb +16 -0
  427. data/lib/payabli/types/contact_element.rb +14 -0
  428. data/lib/payabli/types/contacts.rb +13 -0
  429. data/lib/payabli/types/contacts_response.rb +12 -0
  430. data/lib/payabli/types/customer_data.rb +39 -0
  431. data/lib/payabli/types/customer_query_records.rb +63 -0
  432. data/lib/payabli/types/customer_query_records_customer_consent.rb +12 -0
  433. data/lib/payabli/types/customer_query_records_customer_consent_e_communication.rb +11 -0
  434. data/lib/payabli/types/customer_query_records_customer_consent_sms.rb +11 -0
  435. data/lib/payabli/types/customer_summary_record.rb +18 -0
  436. data/lib/payabli/types/d_section.rb +12 -0
  437. data/lib/payabli/types/display_property.rb +11 -0
  438. data/lib/payabli/types/document_section.rb +25 -0
  439. data/lib/payabli/types/document_section_terms_and_conditions.rb +12 -0
  440. data/lib/payabli/types/document_section_terms_and_conditions_tc_links_item.rb +10 -0
  441. data/lib/payabli/types/documents_ref.rb +10 -0
  442. data/lib/payabli/types/element.rb +10 -0
  443. data/lib/payabli/types/export_format.rb +12 -0
  444. data/lib/payabli/types/file_content.rb +13 -0
  445. data/lib/payabli/types/file_content_ftype.rb +18 -0
  446. data/lib/payabli/types/finishtype.rb +12 -0
  447. data/lib/payabli/types/frequency.rb +17 -0
  448. data/lib/payabli/types/frequency_list.rb +15 -0
  449. data/lib/payabli/types/frequencynotification.rb +19 -0
  450. data/lib/payabli/types/general_events.rb +15 -0
  451. data/lib/payabli/types/google_pay_data.rb +11 -0
  452. data/lib/payabli/types/google_pay_metadata.rb +12 -0
  453. data/lib/payabli/types/google_pay_paypoint_registration_data.rb +14 -0
  454. data/lib/payabli/types/google_pay_status_data.rb +11 -0
  455. data/lib/payabli/types/google_wallet_data.rb +11 -0
  456. data/lib/payabli/types/header_element.rb +11 -0
  457. data/lib/payabli/types/instrument.rb +15 -0
  458. data/lib/payabli/types/invoice_element.rb +14 -0
  459. data/lib/payabli/types/key_value.rb +11 -0
  460. data/lib/payabli/types/key_value_duo.rb +10 -0
  461. data/lib/payabli/types/label_element.rb +11 -0
  462. data/lib/payabli/types/line_item.rb +19 -0
  463. data/lib/payabli/types/line_item_query_record.rb +27 -0
  464. data/lib/payabli/types/link_data.rb +12 -0
  465. data/lib/payabli/types/link_row.rb +9 -0
  466. data/lib/payabli/types/method_element.rb +16 -0
  467. data/lib/payabli/types/method_element_settings.rb +12 -0
  468. data/lib/payabli/types/method_element_settings_apple_pay.rb +15 -0
  469. data/lib/payabli/types/method_element_settings_apple_pay_button_style.rb +13 -0
  470. data/lib/payabli/types/method_element_settings_apple_pay_button_type.rb +23 -0
  471. data/lib/payabli/types/method_element_settings_apple_pay_language.rb +49 -0
  472. data/lib/payabli/types/method_query_records.rb +17 -0
  473. data/lib/payabli/types/methodall.rb +15 -0
  474. data/lib/payabli/types/methodnotification.rb +15 -0
  475. data/lib/payabli/types/methods_list.rb +15 -0
  476. data/lib/payabli/types/mfa_data.rb +10 -0
  477. data/lib/payabli/types/note_element.rb +13 -0
  478. data/lib/payabli/types/notification_content.rb +25 -0
  479. data/lib/payabli/types/notification_content_event_type.rb +88 -0
  480. data/lib/payabli/types/notification_content_file_format.rb +13 -0
  481. data/lib/payabli/types/notification_content_report_name.rb +14 -0
  482. data/lib/payabli/types/notification_query_record.rb +20 -0
  483. data/lib/payabli/types/notification_report_request.rb +18 -0
  484. data/lib/payabli/types/notification_report_request_content.rb +23 -0
  485. data/lib/payabli/types/notification_report_request_content_file_format.rb +13 -0
  486. data/lib/payabli/types/notification_report_request_content_report_name.rb +14 -0
  487. data/lib/payabli/types/notification_report_request_frequency.rb +18 -0
  488. data/lib/payabli/types/notification_report_request_method.rb +12 -0
  489. data/lib/payabli/types/notification_standard_request.rb +18 -0
  490. data/lib/payabli/types/notification_standard_request_content.rb +18 -0
  491. data/lib/payabli/types/notification_standard_request_content_event_type.rb +167 -0
  492. data/lib/payabli/types/notification_standard_request_frequency.rb +12 -0
  493. data/lib/payabli/types/notification_standard_request_method.rb +13 -0
  494. data/lib/payabli/types/o_list.rb +23 -0
  495. data/lib/payabli/types/o_section.rb +10 -0
  496. data/lib/payabli/types/odp_setup.rb +16 -0
  497. data/lib/payabli/types/odp_setup_processing_region.rb +12 -0
  498. data/lib/payabli/types/org_data.rb +14 -0
  499. data/lib/payabli/types/org_scope.rb +10 -0
  500. data/lib/payabli/types/org_x_scope.rb +11 -0
  501. data/lib/payabli/types/organization_query_record.rb +39 -0
  502. data/lib/payabli/types/organization_query_record_services_item.rb +16 -0
  503. data/lib/payabli/types/organization_updates.rb +10 -0
  504. data/lib/payabli/types/own_type.rb +18 -0
  505. data/lib/payabli/types/owners.rb +24 -0
  506. data/lib/payabli/types/owners_section.rb +52 -0
  507. data/lib/payabli/types/p_section.rb +20 -0
  508. data/lib/payabli/types/page_content.rb +29 -0
  509. data/lib/payabli/types/page_element.rb +12 -0
  510. data/lib/payabli/types/page_setting.rb +21 -0
  511. data/lib/payabli/types/pagelink_setting.rb +18 -0
  512. data/lib/payabli/types/pair_files.rb +11 -0
  513. data/lib/payabli/types/pay_category.rb +19 -0
  514. data/lib/payabli/types/pay_method_ach.rb +20 -0
  515. data/lib/payabli/types/pay_method_body_all_fields.rb +29 -0
  516. data/lib/payabli/types/pay_method_cloud.rb +13 -0
  517. data/lib/payabli/types/pay_method_credit.rb +18 -0
  518. data/lib/payabli/types/pay_method_stored_method.rb +15 -0
  519. data/lib/payabli/types/pay_method_stored_method_method.rb +12 -0
  520. data/lib/payabli/types/payabli_api_response.rb +13 -0
  521. data/lib/payabli/types/payabli_api_response_0.rb +15 -0
  522. data/lib/payabli/types/payabli_api_response_00.rb +15 -0
  523. data/lib/payabli/types/payabli_api_response_0000.rb +16 -0
  524. data/lib/payabli/types/payabli_api_response_00_responsedatanonobject.rb +16 -0
  525. data/lib/payabli/types/payabli_api_response_0_response_data.rb +16 -0
  526. data/lib/payabli/types/payabli_api_response_6.rb +15 -0
  527. data/lib/payabli/types/payabli_api_response_customer_query.rb +13 -0
  528. data/lib/payabli/types/payabli_api_response_error_400.rb +15 -0
  529. data/lib/payabli/types/payabli_api_response_error_400_response_data.rb +11 -0
  530. data/lib/payabli/types/payabli_api_response_generic_2_part.rb +10 -0
  531. data/lib/payabli/types/payabli_api_response_import.rb +15 -0
  532. data/lib/payabli/types/payabli_api_response_import_response_data.rb +12 -0
  533. data/lib/payabli/types/payabli_api_response_mfa_basic.rb +14 -0
  534. data/lib/payabli/types/payabli_api_response_notifications.rb +15 -0
  535. data/lib/payabli/types/payabli_api_response_notifications_response_data.rb +14 -0
  536. data/lib/payabli/types/payabli_api_response_paylinks.rb +15 -0
  537. data/lib/payabli/types/payabli_api_response_paymethod_delete.rb +14 -0
  538. data/lib/payabli/types/payabli_api_response_paymethod_delete_response_data.rb +11 -0
  539. data/lib/payabli/types/payabli_api_response_template_id.rb +15 -0
  540. data/lib/payabli/types/payabli_api_response_user_mfa.rb +15 -0
  541. data/lib/payabli/types/payabli_api_response_vendors.rb +13 -0
  542. data/lib/payabli/types/payabli_credentials.rb +18 -0
  543. data/lib/payabli/types/payabli_credentials_pascal.rb +22 -0
  544. data/lib/payabli/types/payabli_pages.rb +27 -0
  545. data/lib/payabli/types/payment_categories.rb +12 -0
  546. data/lib/payabli/types/payment_detail.rb +22 -0
  547. data/lib/payabli/types/payment_detail_credit.rb +12 -0
  548. data/lib/payabli/types/payment_method.rb +18 -0
  549. data/lib/payabli/types/payment_method_domain_api_response.rb +21 -0
  550. data/lib/payabli/types/payment_method_domain_general_response.rb +14 -0
  551. data/lib/payabli/types/payor_data_request.rb +34 -0
  552. data/lib/payabli/types/payor_data_response.rb +35 -0
  553. data/lib/payabli/types/payor_element.rb +12 -0
  554. data/lib/payabli/types/payor_fields.rb +18 -0
  555. data/lib/payabli/types/payout_gateway_connector.rb +19 -0
  556. data/lib/payabli/types/paypoint_data.rb +34 -0
  557. data/lib/payabli/types/paypoint_entry_config.rb +18 -0
  558. data/lib/payabli/types/paypoint_summary.rb +13 -0
  559. data/lib/payabli/types/poi_device.rb +22 -0
  560. data/lib/payabli/types/processing_section.rb +31 -0
  561. data/lib/payabli/types/push_pay_link_request.rb +15 -0
  562. data/lib/payabli/types/push_pay_link_request_email.rb +12 -0
  563. data/lib/payabli/types/push_pay_link_request_sms.rb +7 -0
  564. data/lib/payabli/types/query_batches_out_response.rb +13 -0
  565. data/lib/payabli/types/query_batches_out_response_records_item.rb +51 -0
  566. data/lib/payabli/types/query_boarding_apps_list_response.rb +12 -0
  567. data/lib/payabli/types/query_boarding_links_response.rb +12 -0
  568. data/lib/payabli/types/query_boarding_links_response_records_item.rb +20 -0
  569. data/lib/payabli/types/query_c_fee_transaction.rb +18 -0
  570. data/lib/payabli/types/query_chargebacks_response.rb +13 -0
  571. data/lib/payabli/types/query_chargebacks_response_records_item.rb +41 -0
  572. data/lib/payabli/types/query_customer_response.rb +12 -0
  573. data/lib/payabli/types/query_entrypoint_response.rb +12 -0
  574. data/lib/payabli/types/query_entrypoint_response_records_item.rb +76 -0
  575. data/lib/payabli/types/query_payment_data.rb +24 -0
  576. data/lib/payabli/types/query_payout_transaction.rb +14 -0
  577. data/lib/payabli/types/query_payout_transaction_records_item.rb +55 -0
  578. data/lib/payabli/types/query_payout_transaction_records_item_payment_data.rb +30 -0
  579. data/lib/payabli/types/query_payout_transaction_summary.rb +28 -0
  580. data/lib/payabli/types/query_response.rb +12 -0
  581. data/lib/payabli/types/query_response_data.rb +22 -0
  582. data/lib/payabli/types/query_response_items.rb +13 -0
  583. data/lib/payabli/types/query_response_items_records_item.rb +13 -0
  584. data/lib/payabli/types/query_response_notification_reports.rb +12 -0
  585. data/lib/payabli/types/query_response_notification_reports_records_item.rb +14 -0
  586. data/lib/payabli/types/query_response_notifications.rb +13 -0
  587. data/lib/payabli/types/query_response_notifications_records_item.rb +20 -0
  588. data/lib/payabli/types/query_response_settlements.rb +15 -0
  589. data/lib/payabli/types/query_response_settlements_records_item.rb +50 -0
  590. data/lib/payabli/types/query_response_settlements_summary.rb +18 -0
  591. data/lib/payabli/types/query_response_transactions.rb +13 -0
  592. data/lib/payabli/types/query_response_vendors.rb +13 -0
  593. data/lib/payabli/types/query_subscription_response.rb +13 -0
  594. data/lib/payabli/types/query_summary.rb +14 -0
  595. data/lib/payabli/types/query_summary_no_amt.rb +12 -0
  596. data/lib/payabli/types/query_transaction_events.rb +13 -0
  597. data/lib/payabli/types/query_transaction_events_event_data.rb +13 -0
  598. data/lib/payabli/types/query_transaction_payor_data.rb +32 -0
  599. data/lib/payabli/types/query_transaction_payor_data_customer.rb +34 -0
  600. data/lib/payabli/types/query_user_response.rb +12 -0
  601. data/lib/payabli/types/receipt_content.rb +24 -0
  602. data/lib/payabli/types/refund_detail.rb +15 -0
  603. data/lib/payabli/types/responsedatanonobject.rb +13 -0
  604. data/lib/payabli/types/s_section.rb +10 -0
  605. data/lib/payabli/types/sales_section.rb +10 -0
  606. data/lib/payabli/types/schedule_detail.rb +12 -0
  607. data/lib/payabli/types/service_cost.rb +16 -0
  608. data/lib/payabli/types/services.rb +12 -0
  609. data/lib/payabli/types/services_section.rb +14 -0
  610. data/lib/payabli/types/setting_element.rb +13 -0
  611. data/lib/payabli/types/settings_query_record.rb +22 -0
  612. data/lib/payabli/types/signer_data.rb +31 -0
  613. data/lib/payabli/types/signer_data_request.rb +30 -0
  614. data/lib/payabli/types/signer_section.rb +27 -0
  615. data/lib/payabli/types/split_funding_content.rb +12 -0
  616. data/lib/payabli/types/split_funding_refund_content.rb +12 -0
  617. data/lib/payabli/types/subscription_query_records.rb +45 -0
  618. data/lib/payabli/types/summary_org.rb +14 -0
  619. data/lib/payabli/types/template_additional_data_field.rb +16 -0
  620. data/lib/payabli/types/template_additional_data_section.rb +12 -0
  621. data/lib/payabli/types/template_content.rb +27 -0
  622. data/lib/payabli/types/template_content_response.rb +27 -0
  623. data/lib/payabli/types/template_data.rb +17 -0
  624. data/lib/payabli/types/template_element.rb +13 -0
  625. data/lib/payabli/types/template_query_record.rb +27 -0
  626. data/lib/payabli/types/template_query_response.rb +12 -0
  627. data/lib/payabli/types/tier_item.rb +12 -0
  628. data/lib/payabli/types/tier_item_pass.rb +14 -0
  629. data/lib/payabli/types/transaction_out_query_record.rb +55 -0
  630. data/lib/payabli/types/transaction_query_records.rb +65 -0
  631. data/lib/payabli/types/transaction_query_records_customer.rb +65 -0
  632. data/lib/payabli/types/transfer.rb +44 -0
  633. data/lib/payabli/types/transfer_bank_account.rb +10 -0
  634. data/lib/payabli/types/transfer_message.rb +18 -0
  635. data/lib/payabli/types/transfer_message_properties.rb +12 -0
  636. data/lib/payabli/types/transfer_query_response.rb +12 -0
  637. data/lib/payabli/types/transfer_summary.rb +11 -0
  638. data/lib/payabli/types/type_account.rb +12 -0
  639. data/lib/payabli/types/under_writing_method.rb +13 -0
  640. data/lib/payabli/types/underwriting_data.rb +11 -0
  641. data/lib/payabli/types/underwriting_data_response.rb +11 -0
  642. data/lib/payabli/types/user_data.rb +21 -0
  643. data/lib/payabli/types/user_query_record.rb +29 -0
  644. data/lib/payabli/types/usr_access.rb +10 -0
  645. data/lib/payabli/types/v_card_query_response.rb +12 -0
  646. data/lib/payabli/types/v_card_record.rb +39 -0
  647. data/lib/payabli/types/v_card_summary.rb +16 -0
  648. data/lib/payabli/types/vendor_data.rb +42 -0
  649. data/lib/payabli/types/vendor_data_response.rb +64 -0
  650. data/lib/payabli/types/vendor_data_response_payment_method.rb +14 -0
  651. data/lib/payabli/types/vendor_out_data.rb +44 -0
  652. data/lib/payabli/types/vendor_payment_method.rb +15 -0
  653. data/lib/payabli/types/vendor_query_record.rb +58 -0
  654. data/lib/payabli/types/vendor_response_billing_data.rb +25 -0
  655. data/lib/payabli/types/vendor_response_stored_method.rb +27 -0
  656. data/lib/payabli/types/vendor_response_summary.rb +27 -0
  657. data/lib/payabli/types/vendor_summary.rb +26 -0
  658. data/lib/payabli/types/whencharged.rb +12 -0
  659. data/lib/payabli/types/whendelivered.rb +14 -0
  660. data/lib/payabli/types/whenprovided.rb +13 -0
  661. data/lib/payabli/types/whenrefunded.rb +14 -0
  662. data/lib/payabli/user/client.rb +345 -0
  663. data/lib/payabli/user/types/add_user_response.rb +13 -0
  664. data/lib/payabli/user/types/auth_reset_user_response.rb +12 -0
  665. data/lib/payabli/user/types/change_psw_user_response.rb +12 -0
  666. data/lib/payabli/user/types/delete_user_response.rb +11 -0
  667. data/lib/payabli/user/types/edit_mfa_user_response.rb +12 -0
  668. data/lib/payabli/user/types/get_user_request.rb +13 -0
  669. data/lib/payabli/user/types/logout_user_response.rb +12 -0
  670. data/lib/payabli/user/types/mfa_validation_data.rb +12 -0
  671. data/lib/payabli/user/types/user_auth_psw_reset_request.rb +11 -0
  672. data/lib/payabli/user/types/user_auth_request.rb +17 -0
  673. data/lib/payabli/user/types/user_auth_reset_request.rb +13 -0
  674. data/lib/payabli/vendor/client.rb +124 -0
  675. data/lib/payabli/version.rb +5 -0
  676. data/lib/payabli/wallet/client.rb +138 -0
  677. data/lib/payabli/wallet/types/configure_organization_request_apple_pay.rb +13 -0
  678. data/lib/payabli/wallet/types/configure_organization_request_google_pay.rb +13 -0
  679. data/lib/payabli/wallet/types/configure_paypoint_request_apple_pay.rb +12 -0
  680. data/lib/payabli/wallet/types/configure_paypoint_request_google_pay.rb +12 -0
  681. data/lib/payabli.rb +678 -0
  682. data/reference.md +21293 -0
  683. metadata +719 -0
@@ -0,0 +1,35 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Payabli
4
+ module Internal
5
+ module Types
6
+ # @abstract
7
+ module Type
8
+ include Payabli::Internal::JSON::Serializable
9
+
10
+ # Coerces a value to this type
11
+ #
12
+ # @param value [unknown]
13
+ # @option strict [Boolean] If we should strictly coerce this value
14
+ def coerce(value, strict: strict?)
15
+ raise NotImplementedError
16
+ end
17
+
18
+ # Returns if strictness is on for this type, defaults to `false`
19
+ #
20
+ # @return [Boolean]
21
+ def strict?
22
+ @strict ||= false
23
+ end
24
+
25
+ # Enable strictness by default for this type
26
+ #
27
+ # @return [void]
28
+ def strict!
29
+ @strict = true
30
+ self
31
+ end
32
+ end
33
+ end
34
+ end
35
+ end
@@ -0,0 +1,109 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Payabli
4
+ module Internal
5
+ module Types
6
+ # Define a union between two types
7
+ module Union
8
+ include Payabli::Internal::Types::Type
9
+
10
+ def members
11
+ @members ||= []
12
+ end
13
+
14
+ # Add a member to this union
15
+ #
16
+ # @param type [Object]
17
+ # @option key [Symbol, String]
18
+ # @return [void]
19
+ def member(type, key: nil)
20
+ members.push([key, Utils.wrap_type(type)])
21
+ self
22
+ end
23
+
24
+ def member?(type)
25
+ members.any? { |_key, type_fn| type == type_fn.call }
26
+ end
27
+
28
+ # Set the discriminant for this union
29
+ #
30
+ # @param key [Symbol, String]
31
+ # @return [void]
32
+ def discriminant(key)
33
+ @discriminant = key
34
+ end
35
+
36
+ # @api private
37
+ private def discriminated?
38
+ !@discriminant.nil?
39
+ end
40
+
41
+ # Resolves the type of a value to be one of the members
42
+ #
43
+ # @param value [Object]
44
+ # @return [Class]
45
+ private def resolve_member(value)
46
+ if discriminated? && value.is_a?(::Hash)
47
+ discriminant_value = value.fetch(@discriminant, nil)
48
+
49
+ return if discriminant_value.nil?
50
+
51
+ members.to_h[discriminant_value]&.call
52
+ else
53
+ # First try exact type matching
54
+ result = members.find do |_key, mem|
55
+ member_type = Utils.unwrap_type(mem)
56
+ value.is_a?(member_type)
57
+ end&.last&.call
58
+
59
+ return result if result
60
+
61
+ # For Hash values, try to coerce into Model member types
62
+ if value.is_a?(::Hash)
63
+ members.find do |_key, mem|
64
+ member_type = Utils.unwrap_type(mem)
65
+ # Check if member_type is a Model class
66
+ next unless member_type.is_a?(Class) && member_type <= Model
67
+
68
+ # Try to coerce the hash into this model type with strict mode
69
+ begin
70
+ candidate = Utils.coerce(member_type, value, strict: true)
71
+
72
+ # Validate that all required (non-optional) fields are present
73
+ # This ensures undiscriminated unions properly distinguish between member types
74
+ member_type.fields.each do |field_name, field|
75
+ if candidate.instance_variable_get(:@data)[field_name].nil? && !field.optional
76
+ raise Errors::TypeError,
77
+ "Required field `#{field_name}` missing for union member #{member_type.name}"
78
+ end
79
+ end
80
+
81
+ true
82
+ rescue Errors::TypeError
83
+ false
84
+ end
85
+ end&.last&.call
86
+ end
87
+ end
88
+ end
89
+
90
+ def coerce(value, strict: strict?)
91
+ type = resolve_member(value)
92
+
93
+ unless type
94
+ return value unless strict
95
+
96
+ if discriminated?
97
+ raise Errors::TypeError,
98
+ "value of type `#{value.class}` not member of union #{self}"
99
+ end
100
+
101
+ raise Errors::TypeError, "could not resolve to member of union #{self}"
102
+ end
103
+
104
+ Utils.coerce(type, value, strict: strict)
105
+ end
106
+ end
107
+ end
108
+ end
109
+ end
@@ -0,0 +1,15 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Payabli
4
+ module Internal
5
+ module Types
6
+ module Unknown
7
+ include Payabli::Internal::Types::Type
8
+
9
+ def coerce(value)
10
+ value
11
+ end
12
+ end
13
+ end
14
+ end
15
+ end
@@ -0,0 +1,100 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Payabli
4
+ module Internal
5
+ module Types
6
+ # Utilities for dealing with and checking types
7
+ module Utils
8
+ # Wraps a type into a type function
9
+ #
10
+ # @param type [Proc, Object]
11
+ # @return [Proc]
12
+ def self.wrap_type(type)
13
+ case type
14
+ when Proc
15
+ type
16
+ else
17
+ -> { type }
18
+ end
19
+ end
20
+
21
+ # Resolves a type or type function into a type
22
+ #
23
+ # @param type [Proc, Object]
24
+ # @return [Object]
25
+ def self.unwrap_type(type)
26
+ type.is_a?(Proc) ? type.call : type
27
+ end
28
+
29
+ def self.coerce(target, value, strict: false) # rubocop:disable Metrics/CyclomaticComplexity
30
+ type = unwrap_type(target)
31
+
32
+ case type
33
+ in Array
34
+ case value
35
+ when ::Array
36
+ return type.coerce(value, strict: strict)
37
+ when Set, ::Hash
38
+ return coerce(type, value.to_a)
39
+ end
40
+ in Hash
41
+ case value
42
+ when ::Hash
43
+ return type.coerce(value, strict: strict)
44
+ when ::Array
45
+ return coerce(type, value.to_h)
46
+ end
47
+ in ->(t) { t <= NilClass }
48
+ return nil
49
+ in ->(t) { t <= String }
50
+ case value
51
+ when String, Symbol, Numeric, TrueClass, FalseClass
52
+ return value.to_s
53
+ end
54
+ in ->(t) { t <= Symbol }
55
+ case value
56
+ when Symbol, String
57
+ return value.to_sym
58
+ end
59
+ in ->(t) { t <= Integer }
60
+ case value
61
+ when Numeric, String, Time
62
+ return value.to_i
63
+ end
64
+ in ->(t) { t <= Float }
65
+ case value
66
+ when Numeric, Time, String
67
+ return value.to_f
68
+ end
69
+ in ->(t) { t <= Model }
70
+ case value
71
+ when type
72
+ return value
73
+ when ::Hash
74
+ return type.coerce(value, strict: strict)
75
+ end
76
+ in Module
77
+ case type
78
+ in ->(t) { t.singleton_class.included_modules.include?(Enum) }
79
+ return type.coerce(value, strict: strict)
80
+ in ->(t) { t.singleton_class.included_modules.include?(Union) }
81
+ return type.coerce(value, strict: strict)
82
+ else
83
+ value
84
+ end
85
+ else
86
+ value
87
+ end
88
+
89
+ raise Errors::TypeError, "cannot coerce value of type `#{value.class}` to `#{target}`" if strict
90
+
91
+ value
92
+ end
93
+
94
+ def self.symbolize_keys(hash)
95
+ hash.transform_keys(&:to_sym)
96
+ end
97
+ end
98
+ end
99
+ end
100
+ end
@@ -0,0 +1,370 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Payabli
4
+ module Invoice
5
+ class Client
6
+ # @param client [Payabli::Internal::Http::RawClient]
7
+ #
8
+ # @return [Payabli::Invoice::Client]
9
+ def initialize(client:)
10
+ @client = client
11
+ end
12
+
13
+ # Creates an invoice in an entrypoint.
14
+ #
15
+ # @param request_options [Payabli::RequestOptions]
16
+ #
17
+ # @param params [Payabli::Invoice::Types::InvoiceDataRequest]
18
+ #
19
+ # @return [Payabli::Invoice::Types::InvoiceResponseWithoutData]
20
+ def add_invoice(request_options: {}, **params)
21
+ _path_param_names = %i[entry]
22
+ _body = params.except(*_path_param_names)
23
+
24
+ params = Payabli::Internal::Types::Utils.symbolize_keys(params)
25
+ _query_param_names = %i[force_customer_creation]
26
+ _query = {}
27
+ _query["forceCustomerCreation"] = params[:force_customer_creation] if params.key?(:force_customer_creation)
28
+ params = params.except(*_query_param_names)
29
+
30
+ _request = Payabli::Internal::JSON::Request.new(
31
+ base_url: request_options[:base_url] || Payabli::Environment::SANDBOX,
32
+ method: "POST",
33
+ path: "Invoice/#{params[:entry]}",
34
+ query: _query,
35
+ body: Payabli::Invoice::Types::InvoiceDataRequest.new(_body).to_h
36
+ )
37
+ begin
38
+ _response = @client.send(_request)
39
+ rescue Net::HTTPRequestTimeout
40
+ raise Payabli::Errors::TimeoutError
41
+ end
42
+ code = _response.code.to_i
43
+ if code.between?(200, 299)
44
+ Payabli::Invoice::Types::InvoiceResponseWithoutData.load(_response.body)
45
+ else
46
+ error_class = Payabli::Errors::ResponseError.subclass_for_code(code)
47
+ raise error_class.new(_response.body, code: code)
48
+ end
49
+ end
50
+
51
+ # Deletes an invoice that's attached to a file.
52
+ #
53
+ # @param request_options [Payabli::RequestOptions]
54
+ #
55
+ # @param params [Hash[untyped, untyped]]
56
+ #
57
+ # @return [Payabli::Invoice::Types::InvoiceResponseWithoutData]
58
+ def delete_attached_from_invoice(request_options: {}, **params)
59
+ _request = Payabli::Internal::JSON::Request.new(
60
+ base_url: request_options[:base_url] || Payabli::Environment::SANDBOX,
61
+ method: "DELETE",
62
+ path: "Invoice/attachedFileFromInvoice/#{params[:id_invoice]}/#{params[:filename]}"
63
+ )
64
+ begin
65
+ _response = @client.send(_request)
66
+ rescue Net::HTTPRequestTimeout
67
+ raise Payabli::Errors::TimeoutError
68
+ end
69
+ code = _response.code.to_i
70
+ if code.between?(200, 299)
71
+ Payabli::Invoice::Types::InvoiceResponseWithoutData.load(_response.body)
72
+ else
73
+ error_class = Payabli::Errors::ResponseError.subclass_for_code(code)
74
+ raise error_class.new(_response.body, code: code)
75
+ end
76
+ end
77
+
78
+ # Deletes a single invoice from an entrypoint.
79
+ #
80
+ # @param request_options [Payabli::RequestOptions]
81
+ #
82
+ # @param params [Hash[untyped, untyped]]
83
+ #
84
+ # @return [Payabli::Invoice::Types::InvoiceResponseWithoutData]
85
+ def delete_invoice(request_options: {}, **params)
86
+ _request = Payabli::Internal::JSON::Request.new(
87
+ base_url: request_options[:base_url] || Payabli::Environment::SANDBOX,
88
+ method: "DELETE",
89
+ path: "Invoice/#{params[:id_invoice]}"
90
+ )
91
+ begin
92
+ _response = @client.send(_request)
93
+ rescue Net::HTTPRequestTimeout
94
+ raise Payabli::Errors::TimeoutError
95
+ end
96
+ code = _response.code.to_i
97
+ if code.between?(200, 299)
98
+ Payabli::Invoice::Types::InvoiceResponseWithoutData.load(_response.body)
99
+ else
100
+ error_class = Payabli::Errors::ResponseError.subclass_for_code(code)
101
+ raise error_class.new(_response.body, code: code)
102
+ end
103
+ end
104
+
105
+ # Updates details for a single invoice in an entrypoint.
106
+ #
107
+ # @param request_options [Payabli::RequestOptions]
108
+ #
109
+ # @param params [Payabli::Invoice::Types::InvoiceDataRequest]
110
+ #
111
+ # @return [Payabli::Invoice::Types::InvoiceResponseWithoutData]
112
+ def edit_invoice(request_options: {}, **params)
113
+ _path_param_names = %i[id_invoice]
114
+ _body = params.except(*_path_param_names)
115
+
116
+ params = Payabli::Internal::Types::Utils.symbolize_keys(params)
117
+ _query_param_names = %i[force_customer_creation]
118
+ _query = {}
119
+ _query["forceCustomerCreation"] = params[:force_customer_creation] if params.key?(:force_customer_creation)
120
+ params = params.except(*_query_param_names)
121
+
122
+ _request = Payabli::Internal::JSON::Request.new(
123
+ base_url: request_options[:base_url] || Payabli::Environment::SANDBOX,
124
+ method: "PUT",
125
+ path: "Invoice/#{params[:id_invoice]}",
126
+ query: _query,
127
+ body: Payabli::Invoice::Types::InvoiceDataRequest.new(_body).to_h
128
+ )
129
+ begin
130
+ _response = @client.send(_request)
131
+ rescue Net::HTTPRequestTimeout
132
+ raise Payabli::Errors::TimeoutError
133
+ end
134
+ code = _response.code.to_i
135
+ if code.between?(200, 299)
136
+ Payabli::Invoice::Types::InvoiceResponseWithoutData.load(_response.body)
137
+ else
138
+ error_class = Payabli::Errors::ResponseError.subclass_for_code(code)
139
+ raise error_class.new(_response.body, code: code)
140
+ end
141
+ end
142
+
143
+ # Retrieves a file attached to an invoice.
144
+ #
145
+ # @param request_options [Payabli::RequestOptions]
146
+ #
147
+ # @param params [Hash[untyped, untyped]]
148
+ #
149
+ # @return [Payabli::Types::FileContent]
150
+ def get_attached_file_from_invoice(request_options: {}, **params)
151
+ params = Payabli::Internal::Types::Utils.symbolize_keys(params)
152
+ _query_param_names = %i[return_object]
153
+ _query = {}
154
+ _query["returnObject"] = params[:return_object] if params.key?(:return_object)
155
+ params = params.except(*_query_param_names)
156
+
157
+ _request = Payabli::Internal::JSON::Request.new(
158
+ base_url: request_options[:base_url] || Payabli::Environment::SANDBOX,
159
+ method: "GET",
160
+ path: "Invoice/attachedFileFromInvoice/#{params[:id_invoice]}/#{params[:filename]}",
161
+ query: _query
162
+ )
163
+ begin
164
+ _response = @client.send(_request)
165
+ rescue Net::HTTPRequestTimeout
166
+ raise Payabli::Errors::TimeoutError
167
+ end
168
+ code = _response.code.to_i
169
+ if code.between?(200, 299)
170
+ Payabli::Types::FileContent.load(_response.body)
171
+ else
172
+ error_class = Payabli::Errors::ResponseError.subclass_for_code(code)
173
+ raise error_class.new(_response.body, code: code)
174
+ end
175
+ end
176
+
177
+ # Retrieves a single invoice by ID.
178
+ #
179
+ # @param request_options [Payabli::RequestOptions]
180
+ #
181
+ # @param params [Hash[untyped, untyped]]
182
+ #
183
+ # @return [Payabli::Invoice::Types::GetInvoiceRecord]
184
+ def get_invoice(request_options: {}, **params)
185
+ _request = Payabli::Internal::JSON::Request.new(
186
+ base_url: request_options[:base_url] || Payabli::Environment::SANDBOX,
187
+ method: "GET",
188
+ path: "Invoice/#{params[:id_invoice]}"
189
+ )
190
+ begin
191
+ _response = @client.send(_request)
192
+ rescue Net::HTTPRequestTimeout
193
+ raise Payabli::Errors::TimeoutError
194
+ end
195
+ code = _response.code.to_i
196
+ if code.between?(200, 299)
197
+ Payabli::Invoice::Types::GetInvoiceRecord.load(_response.body)
198
+ else
199
+ error_class = Payabli::Errors::ResponseError.subclass_for_code(code)
200
+ raise error_class.new(_response.body, code: code)
201
+ end
202
+ end
203
+
204
+ # Retrieves the next available invoice number for a paypoint.
205
+ #
206
+ # @param request_options [Payabli::RequestOptions]
207
+ #
208
+ # @param params [Hash[untyped, untyped]]
209
+ #
210
+ # @return [Payabli::Invoice::Types::InvoiceNumberResponse]
211
+ def get_invoice_number(request_options: {}, **params)
212
+ _request = Payabli::Internal::JSON::Request.new(
213
+ base_url: request_options[:base_url] || Payabli::Environment::SANDBOX,
214
+ method: "GET",
215
+ path: "Invoice/getNumber/#{params[:entry]}"
216
+ )
217
+ begin
218
+ _response = @client.send(_request)
219
+ rescue Net::HTTPRequestTimeout
220
+ raise Payabli::Errors::TimeoutError
221
+ end
222
+ code = _response.code.to_i
223
+ if code.between?(200, 299)
224
+ Payabli::Invoice::Types::InvoiceNumberResponse.load(_response.body)
225
+ else
226
+ error_class = Payabli::Errors::ResponseError.subclass_for_code(code)
227
+ raise error_class.new(_response.body, code: code)
228
+ end
229
+ end
230
+
231
+ # Returns a list of invoices for an entrypoint. Use filters to limit results. Include the `exportFormat` query parameter to return the results as a file instead of a JSON response.
232
+ #
233
+ # @param request_options [Payabli::RequestOptions]
234
+ #
235
+ # @param params [Hash[untyped, untyped]]
236
+ #
237
+ # @return [Payabli::Invoice::Types::QueryInvoiceResponse]
238
+ def list_invoices(request_options: {}, **params)
239
+ params = Payabli::Internal::Types::Utils.symbolize_keys(params)
240
+ _query_param_names = %i[export_format from_record limit_record parameters sort_by]
241
+ _query = {}
242
+ _query["exportFormat"] = params[:export_format] if params.key?(:export_format)
243
+ _query["fromRecord"] = params[:from_record] if params.key?(:from_record)
244
+ _query["limitRecord"] = params[:limit_record] if params.key?(:limit_record)
245
+ _query["parameters"] = params[:parameters] if params.key?(:parameters)
246
+ _query["sortBy"] = params[:sort_by] if params.key?(:sort_by)
247
+ params = params.except(*_query_param_names)
248
+
249
+ _request = Payabli::Internal::JSON::Request.new(
250
+ base_url: request_options[:base_url] || Payabli::Environment::SANDBOX,
251
+ method: "GET",
252
+ path: "Query/invoices/#{params[:entry]}",
253
+ query: _query
254
+ )
255
+ begin
256
+ _response = @client.send(_request)
257
+ rescue Net::HTTPRequestTimeout
258
+ raise Payabli::Errors::TimeoutError
259
+ end
260
+ code = _response.code.to_i
261
+ if code.between?(200, 299)
262
+ Payabli::Invoice::Types::QueryInvoiceResponse.load(_response.body)
263
+ else
264
+ error_class = Payabli::Errors::ResponseError.subclass_for_code(code)
265
+ raise error_class.new(_response.body, code: code)
266
+ end
267
+ end
268
+
269
+ # Returns a list of invoices for an org. Use filters to limit results. Include the `exportFormat` query parameter to return the results as a file instead of a JSON response.
270
+ #
271
+ # @param request_options [Payabli::RequestOptions]
272
+ #
273
+ # @param params [Hash[untyped, untyped]]
274
+ #
275
+ # @return [Payabli::Invoice::Types::QueryInvoiceResponse]
276
+ def list_invoices_org(request_options: {}, **params)
277
+ params = Payabli::Internal::Types::Utils.symbolize_keys(params)
278
+ _query_param_names = %i[export_format from_record limit_record parameters sort_by]
279
+ _query = {}
280
+ _query["exportFormat"] = params[:export_format] if params.key?(:export_format)
281
+ _query["fromRecord"] = params[:from_record] if params.key?(:from_record)
282
+ _query["limitRecord"] = params[:limit_record] if params.key?(:limit_record)
283
+ _query["parameters"] = params[:parameters] if params.key?(:parameters)
284
+ _query["sortBy"] = params[:sort_by] if params.key?(:sort_by)
285
+ params = params.except(*_query_param_names)
286
+
287
+ _request = Payabli::Internal::JSON::Request.new(
288
+ base_url: request_options[:base_url] || Payabli::Environment::SANDBOX,
289
+ method: "GET",
290
+ path: "Query/invoices/org/#{params[:org_id]}",
291
+ query: _query
292
+ )
293
+ begin
294
+ _response = @client.send(_request)
295
+ rescue Net::HTTPRequestTimeout
296
+ raise Payabli::Errors::TimeoutError
297
+ end
298
+ code = _response.code.to_i
299
+ if code.between?(200, 299)
300
+ Payabli::Invoice::Types::QueryInvoiceResponse.load(_response.body)
301
+ else
302
+ error_class = Payabli::Errors::ResponseError.subclass_for_code(code)
303
+ raise error_class.new(_response.body, code: code)
304
+ end
305
+ end
306
+
307
+ # Sends an invoice from an entrypoint via email.
308
+ #
309
+ # @param request_options [Payabli::RequestOptions]
310
+ #
311
+ # @param params [Hash[untyped, untyped]]
312
+ #
313
+ # @return [Payabli::Invoice::Types::SendInvoiceResponse]
314
+ def send_invoice(request_options: {}, **params)
315
+ params = Payabli::Internal::Types::Utils.symbolize_keys(params)
316
+ _query_param_names = %i[attachfile mail_2]
317
+ _query = {}
318
+ _query["attachfile"] = params[:attachfile] if params.key?(:attachfile)
319
+ _query["mail2"] = params[:mail_2] if params.key?(:mail_2)
320
+ params = params.except(*_query_param_names)
321
+
322
+ _request = Payabli::Internal::JSON::Request.new(
323
+ base_url: request_options[:base_url] || Payabli::Environment::SANDBOX,
324
+ method: "GET",
325
+ path: "Invoice/send/#{params[:id_invoice]}",
326
+ query: _query
327
+ )
328
+ begin
329
+ _response = @client.send(_request)
330
+ rescue Net::HTTPRequestTimeout
331
+ raise Payabli::Errors::TimeoutError
332
+ end
333
+ code = _response.code.to_i
334
+ if code.between?(200, 299)
335
+ Payabli::Invoice::Types::SendInvoiceResponse.load(_response.body)
336
+ else
337
+ error_class = Payabli::Errors::ResponseError.subclass_for_code(code)
338
+ raise error_class.new(_response.body, code: code)
339
+ end
340
+ end
341
+
342
+ # Export a single invoice in PDF format.
343
+ #
344
+ # @param request_options [Payabli::RequestOptions]
345
+ #
346
+ # @param params [Hash[untyped, untyped]]
347
+ #
348
+ # @return [Hash[String, Hash[String, Object]]]
349
+ def get_invoice_pdf(request_options: {}, **params)
350
+ _request = Payabli::Internal::JSON::Request.new(
351
+ base_url: request_options[:base_url] || Payabli::Environment::SANDBOX,
352
+ method: "GET",
353
+ path: "Export/invoicePdf/#{params[:id_invoice]}"
354
+ )
355
+ begin
356
+ _response = @client.send(_request)
357
+ rescue Net::HTTPRequestTimeout
358
+ raise Payabli::Errors::TimeoutError
359
+ end
360
+ code = _response.code.to_i
361
+ if code.between?(200, 299)
362
+ Payabli::Types::File.load(_response.body)
363
+ else
364
+ error_class = Payabli::Errors::ResponseError.subclass_for_code(code)
365
+ raise error_class.new(_response.body, code: code)
366
+ end
367
+ end
368
+ end
369
+ end
370
+ end
@@ -0,0 +1,16 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Payabli
4
+ module Invoice
5
+ module Types
6
+ class AddInvoiceRequest < Internal::Types::Model
7
+ field :entry, -> { String }, optional: false, nullable: false
8
+ field :force_customer_creation, lambda {
9
+ Internal::Types::Boolean
10
+ }, optional: true, nullable: false, api_name: "forceCustomerCreation"
11
+ field :idempotency_key, -> { String }, optional: true, nullable: false, api_name: "idempotencyKey"
12
+ field :body, -> { Payabli::Invoice::Types::InvoiceDataRequest }, optional: false, nullable: false
13
+ end
14
+ end
15
+ end
16
+ end
@@ -0,0 +1,15 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Payabli
4
+ module Invoice
5
+ module Types
6
+ class EditInvoiceRequest < Internal::Types::Model
7
+ field :id_invoice, -> { Integer }, optional: false, nullable: false, api_name: "idInvoice"
8
+ field :force_customer_creation, lambda {
9
+ Internal::Types::Boolean
10
+ }, optional: true, nullable: false, api_name: "forceCustomerCreation"
11
+ field :body, -> { Payabli::Invoice::Types::InvoiceDataRequest }, optional: false, nullable: false
12
+ end
13
+ end
14
+ end
15
+ end
@@ -0,0 +1,13 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Payabli
4
+ module Invoice
5
+ module Types
6
+ class GetAttachedFileFromInvoiceRequest < Internal::Types::Model
7
+ field :id_invoice, -> { Integer }, optional: false, nullable: false, api_name: "idInvoice"
8
+ field :filename, -> { String }, optional: false, nullable: false
9
+ field :return_object, -> { Internal::Types::Boolean }, optional: true, nullable: false, api_name: "returnObject"
10
+ end
11
+ end
12
+ end
13
+ end