square.rb 44.1.0.20250924 → 45.0.1.20260122

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 (541) hide show
  1. checksums.yaml +4 -4
  2. data/.fern/metadata.json +9 -0
  3. data/.fernignore +20 -0
  4. data/.rubocop.yml +60 -0
  5. data/LICENSE +1 -1
  6. data/Rakefile +29 -0
  7. data/custom.gemspec.rb +19 -0
  8. data/lib/square/apple_pay/client.rb +24 -10
  9. data/lib/square/bank_accounts/client.rb +144 -31
  10. data/lib/square/bank_accounts/types/create_bank_account_request.rb +13 -0
  11. data/lib/square/bank_accounts/types/disable_bank_account_request.rb +11 -0
  12. data/lib/square/bank_accounts/types/get_by_v_1_id_bank_accounts_request.rb +1 -1
  13. data/lib/square/bank_accounts/types/list_bank_accounts_request.rb +1 -0
  14. data/lib/square/bookings/client.rb +238 -100
  15. data/lib/square/bookings/custom_attribute_definitions/client.rb +139 -67
  16. data/lib/square/bookings/custom_attribute_definitions/types/create_booking_custom_attribute_definition_request.rb +1 -3
  17. data/lib/square/bookings/custom_attribute_definitions/types/update_booking_custom_attribute_definition_request.rb +1 -3
  18. data/lib/square/bookings/custom_attributes/client.rb +168 -76
  19. data/lib/square/bookings/custom_attributes/types/bulk_delete_booking_custom_attributes_request.rb +1 -3
  20. data/lib/square/bookings/custom_attributes/types/bulk_upsert_booking_custom_attributes_request.rb +1 -3
  21. data/lib/square/bookings/location_profiles/client.rb +44 -24
  22. data/lib/square/bookings/team_member_profiles/client.rb +66 -31
  23. data/lib/square/cards/client.rb +103 -45
  24. data/lib/square/cash_drawers/client.rb +3 -1
  25. data/lib/square/cash_drawers/shifts/client.rb +121 -61
  26. data/lib/square/catalog/client.rb +203 -91
  27. data/lib/square/catalog/images/client.rb +50 -20
  28. data/lib/square/catalog/object/client.rb +66 -29
  29. data/lib/square/catalog/object/types/delete_object_request.rb +1 -1
  30. data/lib/square/catalog/object/types/get_object_request.rb +1 -1
  31. data/lib/square/catalog/types/batch_upsert_catalog_objects_request.rb +1 -3
  32. data/lib/square/catalog/types/search_catalog_items_request.rb +3 -9
  33. data/lib/square/catalog/types/search_catalog_objects_request.rb +1 -3
  34. data/lib/square/channels/client.rb +131 -0
  35. data/lib/square/channels/types/bulk_retrieve_channels_request.rb +11 -0
  36. data/lib/square/channels/types/get_channels_request.rb +11 -0
  37. data/lib/square/channels/types/list_channels_request.rb +15 -0
  38. data/lib/square/checkout/client.rb +77 -31
  39. data/lib/square/checkout/payment_links/client.rb +120 -54
  40. data/lib/square/client.rb +18 -10
  41. data/lib/square/customers/cards/client.rb +43 -16
  42. data/lib/square/customers/client.rb +220 -97
  43. data/lib/square/customers/custom_attribute_definitions/client.rb +157 -74
  44. data/lib/square/customers/custom_attribute_definitions/types/batch_upsert_customer_custom_attributes_request.rb +1 -3
  45. data/lib/square/customers/custom_attribute_definitions/types/create_customer_custom_attribute_definition_request.rb +1 -3
  46. data/lib/square/customers/custom_attribute_definitions/types/update_customer_custom_attribute_definition_request.rb +1 -3
  47. data/lib/square/customers/custom_attributes/client.rb +117 -53
  48. data/lib/square/customers/groups/client.rb +156 -67
  49. data/lib/square/customers/segments/client.rb +62 -31
  50. data/lib/square/customers/types/bulk_create_customers_request.rb +1 -3
  51. data/lib/square/customers/types/bulk_update_customers_request.rb +1 -3
  52. data/lib/square/devices/client.rb +66 -31
  53. data/lib/square/devices/codes/client.rb +83 -38
  54. data/lib/square/disputes/client.rb +140 -60
  55. data/lib/square/disputes/evidence/client.rb +83 -39
  56. data/lib/square/employees/client.rb +66 -31
  57. data/lib/square/events/client.rb +80 -38
  58. data/lib/square/file_param.rb +77 -77
  59. data/lib/square/gift_cards/activities/client.rb +73 -31
  60. data/lib/square/gift_cards/client.rb +163 -69
  61. data/lib/square/internal/http/base_request.rb +6 -0
  62. data/lib/square/internal/http/raw_client.rb +111 -20
  63. data/lib/square/internal/iterators/cursor_item_iterator.rb +28 -0
  64. data/lib/square/internal/iterators/cursor_page_iterator.rb +51 -0
  65. data/lib/square/internal/iterators/item_iterator.rb +65 -0
  66. data/lib/square/internal/iterators/offset_item_iterator.rb +30 -0
  67. data/lib/square/internal/iterators/offset_page_iterator.rb +83 -0
  68. data/lib/square/internal/json/request.rb +2 -1
  69. data/lib/square/internal/multipart/multipart_request.rb +2 -1
  70. data/lib/square/internal/types/enum.rb +8 -0
  71. data/lib/square/internal/types/model/field.rb +11 -1
  72. data/lib/square/internal/types/model.rb +14 -4
  73. data/lib/square/internal/types/union.rb +88 -7
  74. data/lib/square/internal/types/utils.rb +20 -4
  75. data/lib/square/inventory/client.rb +100 -76
  76. data/lib/square/invoices/client.rb +228 -99
  77. data/lib/square/labor/break_types/client.rb +120 -53
  78. data/lib/square/labor/client.rb +205 -81
  79. data/lib/square/labor/employee_wages/client.rb +64 -31
  80. data/lib/square/labor/shifts/client.rb +94 -37
  81. data/lib/square/labor/team_member_wages/client.rb +64 -31
  82. data/lib/square/labor/types/bulk_publish_scheduled_shifts_request.rb +2 -6
  83. data/lib/square/labor/types/publish_scheduled_shift_request.rb +1 -3
  84. data/lib/square/labor/workweek_configs/client.rb +65 -32
  85. data/lib/square/locations/client.rb +102 -41
  86. data/lib/square/locations/custom_attribute_definitions/client.rb +135 -64
  87. data/lib/square/locations/custom_attribute_definitions/types/create_location_custom_attribute_definition_request.rb +1 -3
  88. data/lib/square/locations/custom_attribute_definitions/types/update_location_custom_attribute_definition_request.rb +1 -3
  89. data/lib/square/locations/custom_attributes/client.rb +156 -68
  90. data/lib/square/locations/custom_attributes/types/bulk_delete_location_custom_attributes_request.rb +1 -3
  91. data/lib/square/locations/custom_attributes/types/bulk_upsert_location_custom_attributes_request.rb +1 -3
  92. data/lib/square/locations/transactions/client.rb +93 -37
  93. data/lib/square/locations/types/create_checkout_request.rb +1 -3
  94. data/lib/square/loyalty/accounts/client.rb +109 -44
  95. data/lib/square/loyalty/accounts/types/search_loyalty_accounts_request.rb +1 -3
  96. data/lib/square/loyalty/client.rb +20 -8
  97. data/lib/square/loyalty/programs/client.rb +72 -29
  98. data/lib/square/loyalty/programs/promotions/client.rb +106 -46
  99. data/lib/square/loyalty/programs/promotions/types/cancel_promotions_request.rb +1 -1
  100. data/lib/square/loyalty/programs/promotions/types/get_promotions_request.rb +1 -1
  101. data/lib/square/loyalty/rewards/client.rb +96 -38
  102. data/lib/square/loyalty/rewards/types/search_loyalty_rewards_request.rb +1 -3
  103. data/lib/square/merchants/client.rb +60 -31
  104. data/lib/square/merchants/custom_attribute_definitions/client.rb +137 -65
  105. data/lib/square/merchants/custom_attribute_definitions/types/create_merchant_custom_attribute_definition_request.rb +1 -3
  106. data/lib/square/merchants/custom_attribute_definitions/types/update_merchant_custom_attribute_definition_request.rb +1 -3
  107. data/lib/square/merchants/custom_attributes/client.rb +156 -68
  108. data/lib/square/merchants/custom_attributes/types/bulk_delete_merchant_custom_attributes_request.rb +1 -3
  109. data/lib/square/merchants/custom_attributes/types/bulk_upsert_merchant_custom_attributes_request.rb +1 -3
  110. data/lib/square/o_auth/client.rb +76 -31
  111. data/lib/square/o_auth/types/obtain_token_request.rb +1 -0
  112. data/lib/square/orders/client.rb +156 -63
  113. data/lib/square/orders/custom_attribute_definitions/client.rb +137 -65
  114. data/lib/square/orders/custom_attribute_definitions/types/create_order_custom_attribute_definition_request.rb +1 -3
  115. data/lib/square/orders/custom_attribute_definitions/types/update_order_custom_attribute_definition_request.rb +1 -3
  116. data/lib/square/orders/custom_attributes/client.rb +159 -69
  117. data/lib/square/orders/custom_attributes/types/bulk_delete_order_custom_attributes_request.rb +1 -3
  118. data/lib/square/orders/custom_attributes/types/bulk_upsert_order_custom_attributes_request.rb +1 -3
  119. data/lib/square/orders/types/calculate_order_request.rb +1 -3
  120. data/lib/square/payments/client.rb +182 -70
  121. data/lib/square/payouts/client.rb +116 -54
  122. data/lib/square/refunds/client.rb +97 -40
  123. data/lib/square/refunds/types/refund_payment_request.rb +1 -3
  124. data/lib/square/sites/client.rb +26 -11
  125. data/lib/square/snippets/client.rb +73 -28
  126. data/lib/square/subscriptions/client.rb +271 -117
  127. data/lib/square/team/client.rb +81 -36
  128. data/lib/square/team_members/client.rb +119 -49
  129. data/lib/square/team_members/types/batch_create_team_members_request.rb +1 -3
  130. data/lib/square/team_members/types/batch_update_team_members_request.rb +1 -3
  131. data/lib/square/team_members/wage_setting/client.rb +48 -19
  132. data/lib/square/terminal/actions/client.rb +75 -30
  133. data/lib/square/terminal/checkouts/client.rb +76 -30
  134. data/lib/square/terminal/client.rb +60 -23
  135. data/lib/square/terminal/refunds/client.rb +78 -31
  136. data/lib/square/transfer_orders/client.rb +292 -0
  137. data/lib/square/transfer_orders/types/cancel_transfer_order_request.rb +13 -0
  138. data/lib/square/transfer_orders/types/create_transfer_order_request.rb +12 -0
  139. data/lib/square/transfer_orders/types/delete_transfer_orders_request.rb +12 -0
  140. data/lib/square/transfer_orders/types/get_transfer_orders_request.rb +11 -0
  141. data/lib/square/transfer_orders/types/receive_transfer_order_request.rb +14 -0
  142. data/lib/square/transfer_orders/types/search_transfer_orders_request.rb +13 -0
  143. data/lib/square/transfer_orders/types/start_transfer_order_request.rb +13 -0
  144. data/lib/square/transfer_orders/types/update_transfer_order_request.rb +14 -0
  145. data/lib/square/types/address.rb +2 -1
  146. data/lib/square/types/application_details.rb +1 -3
  147. data/lib/square/types/application_type.rb +23 -0
  148. data/lib/square/types/availability.rb +3 -4
  149. data/lib/square/types/bank_account.rb +1 -0
  150. data/lib/square/types/batch_create_team_members_response.rb +1 -3
  151. data/lib/square/types/batch_create_vendors_response.rb +1 -3
  152. data/lib/square/types/batch_get_catalog_objects_response.rb +1 -3
  153. data/lib/square/types/batch_get_vendors_response.rb +1 -3
  154. data/lib/square/types/batch_update_team_members_response.rb +1 -3
  155. data/lib/square/types/batch_update_vendors_response.rb +1 -3
  156. data/lib/square/types/batch_upsert_catalog_objects_response.rb +1 -3
  157. data/lib/square/types/batch_upsert_customer_custom_attributes_request_customer_custom_attribute_upsert_request.rb +2 -1
  158. data/lib/square/types/batch_upsert_customer_custom_attributes_response.rb +4 -4
  159. data/lib/square/types/batch_upsert_customer_custom_attributes_response_customer_custom_attribute_upsert_response.rb +3 -1
  160. data/lib/square/types/booking.rb +2 -6
  161. data/lib/square/types/booking_created_event.rb +2 -1
  162. data/lib/square/types/booking_custom_attribute_definition_visible_created_event.rb +2 -1
  163. data/lib/square/types/booking_custom_attribute_definition_visible_deleted_event.rb +2 -1
  164. data/lib/square/types/booking_custom_attribute_definition_visible_updated_event.rb +2 -1
  165. data/lib/square/types/booking_custom_attribute_delete_request.rb +4 -2
  166. data/lib/square/types/booking_custom_attribute_delete_response.rb +3 -1
  167. data/lib/square/types/booking_custom_attribute_upsert_request.rb +2 -1
  168. data/lib/square/types/booking_custom_attribute_upsert_response.rb +3 -1
  169. data/lib/square/types/booking_updated_event.rb +2 -1
  170. data/lib/square/types/bulk_create_customers_response.rb +1 -3
  171. data/lib/square/types/bulk_delete_booking_custom_attributes_response.rb +4 -4
  172. data/lib/square/types/bulk_delete_customers_response.rb +1 -3
  173. data/lib/square/types/bulk_delete_location_custom_attributes_request_location_custom_attribute_delete_request.rb +2 -1
  174. data/lib/square/types/bulk_delete_location_custom_attributes_response.rb +4 -4
  175. data/lib/square/types/bulk_delete_location_custom_attributes_response_location_custom_attribute_delete_response.rb +2 -1
  176. data/lib/square/types/bulk_delete_merchant_custom_attributes_request_merchant_custom_attribute_delete_request.rb +2 -1
  177. data/lib/square/types/bulk_delete_merchant_custom_attributes_response.rb +4 -4
  178. data/lib/square/types/bulk_delete_merchant_custom_attributes_response_merchant_custom_attribute_delete_response.rb +2 -1
  179. data/lib/square/types/bulk_delete_order_custom_attributes_response.rb +1 -3
  180. data/lib/square/types/bulk_publish_scheduled_shifts_response.rb +1 -3
  181. data/lib/square/types/bulk_retrieve_bookings_response.rb +1 -3
  182. data/lib/square/types/bulk_retrieve_channels_request_constants.rb +23 -0
  183. data/lib/square/types/bulk_retrieve_channels_response.rb +12 -0
  184. data/lib/square/types/bulk_retrieve_customers_response.rb +1 -3
  185. data/lib/square/types/bulk_retrieve_team_member_booking_profiles_response.rb +3 -4
  186. data/lib/square/types/bulk_update_customers_response.rb +1 -3
  187. data/lib/square/types/bulk_upsert_booking_custom_attributes_response.rb +4 -4
  188. data/lib/square/types/bulk_upsert_location_custom_attributes_request_location_custom_attribute_upsert_request.rb +2 -1
  189. data/lib/square/types/bulk_upsert_location_custom_attributes_response.rb +4 -4
  190. data/lib/square/types/bulk_upsert_location_custom_attributes_response_location_custom_attribute_upsert_response.rb +3 -1
  191. data/lib/square/types/bulk_upsert_merchant_custom_attributes_request_merchant_custom_attribute_upsert_request.rb +2 -1
  192. data/lib/square/types/bulk_upsert_merchant_custom_attributes_response.rb +4 -4
  193. data/lib/square/types/bulk_upsert_merchant_custom_attributes_response_merchant_custom_attribute_upsert_response.rb +3 -1
  194. data/lib/square/types/bulk_upsert_order_custom_attributes_response.rb +1 -3
  195. data/lib/square/types/business_appointment_settings.rb +4 -12
  196. data/lib/square/types/business_booking_profile.rb +2 -6
  197. data/lib/square/types/buy_now_pay_later_details.rb +1 -0
  198. data/lib/square/types/cancel_transfer_order_response.rb +11 -0
  199. data/lib/square/types/card.rb +2 -0
  200. data/lib/square/types/card_issuer_alert.rb +23 -0
  201. data/lib/square/types/catalog_category.rb +1 -3
  202. data/lib/square/types/catalog_custom_attribute_definition.rb +6 -18
  203. data/lib/square/types/catalog_custom_attribute_definition_selection_config.rb +1 -3
  204. data/lib/square/types/catalog_id_mapping.rb +1 -1
  205. data/lib/square/types/catalog_info_response.rb +1 -3
  206. data/lib/square/types/catalog_item.rb +6 -12
  207. data/lib/square/types/catalog_item_food_and_beverage_details.rb +2 -6
  208. data/lib/square/types/catalog_item_food_and_beverage_details_dietary_preference.rb +2 -6
  209. data/lib/square/types/catalog_item_food_and_beverage_details_ingredient.rb +2 -6
  210. data/lib/square/types/catalog_item_modifier_list_info.rb +6 -9
  211. data/lib/square/types/catalog_item_variation.rb +17 -13
  212. data/lib/square/types/catalog_modifier.rb +4 -4
  213. data/lib/square/types/catalog_modifier_list.rb +4 -2
  214. data/lib/square/types/catalog_modifier_override.rb +2 -2
  215. data/lib/square/types/catalog_modifier_toggle_override_type.rb +13 -0
  216. data/lib/square/types/catalog_object.rb +7 -3
  217. data/lib/square/types/catalog_object_base.rb +2 -4
  218. data/lib/square/types/catalog_object_category.rb +3 -4
  219. data/lib/square/types/catalog_object_custom_attribute_definition.rb +1 -3
  220. data/lib/square/types/catalog_object_quick_amounts_settings.rb +1 -3
  221. data/lib/square/types/catalog_object_reference.rb +1 -1
  222. data/lib/square/types/catalog_object_subscription_plan_variation.rb +1 -3
  223. data/lib/square/types/catalog_query.rb +11 -13
  224. data/lib/square/types/catalog_query_prefix.rb +2 -1
  225. data/lib/square/types/catalog_query_text.rb +2 -1
  226. data/lib/square/types/catalog_subscription_plan.rb +5 -5
  227. data/lib/square/types/catalog_subscription_plan_variation.rb +4 -2
  228. data/lib/square/types/catalog_v_1_id.rb +1 -1
  229. data/lib/square/types/catalog_version_updated_event_object.rb +1 -3
  230. data/lib/square/types/channel.rb +16 -0
  231. data/lib/square/types/channel_status.rb +12 -0
  232. data/lib/square/types/checkout.rb +1 -3
  233. data/lib/square/types/checkout_location_settings.rb +1 -3
  234. data/lib/square/types/checkout_location_settings_branding.rb +2 -6
  235. data/lib/square/types/checkout_merchant_settings.rb +1 -3
  236. data/lib/square/types/checkout_merchant_settings_payment_methods.rb +4 -12
  237. data/lib/square/types/checkout_merchant_settings_payment_methods_afterpay_clearpay.rb +2 -6
  238. data/lib/square/types/component.rb +4 -12
  239. data/lib/square/types/create_bank_account_response.rb +11 -0
  240. data/lib/square/types/create_booking_custom_attribute_definition_response.rb +4 -4
  241. data/lib/square/types/create_catalog_image_request.rb +1 -1
  242. data/lib/square/types/create_customer_custom_attribute_definition_response.rb +4 -4
  243. data/lib/square/types/create_location_custom_attribute_definition_response.rb +4 -4
  244. data/lib/square/types/create_merchant_custom_attribute_definition_response.rb +4 -4
  245. data/lib/square/types/create_order_custom_attribute_definition_response.rb +1 -3
  246. data/lib/square/types/create_transfer_order_data.rb +19 -0
  247. data/lib/square/types/create_transfer_order_line_data.rb +12 -0
  248. data/lib/square/types/create_transfer_order_response.rb +11 -0
  249. data/lib/square/types/create_webhook_subscription_response.rb +2 -1
  250. data/lib/square/types/custom_attribute.rb +1 -1
  251. data/lib/square/types/custom_attribute_definition.rb +1 -3
  252. data/lib/square/types/custom_attribute_definition_event_data_object.rb +1 -3
  253. data/lib/square/types/custom_field.rb +2 -1
  254. data/lib/square/types/customer_address_filter.rb +2 -1
  255. data/lib/square/types/customer_created_event.rb +4 -2
  256. data/lib/square/types/customer_created_event_event_context_merge.rb +2 -1
  257. data/lib/square/types/customer_creation_source_filter.rb +1 -3
  258. data/lib/square/types/customer_custom_attribute_filter.rb +2 -1
  259. data/lib/square/types/customer_custom_attribute_filter_value.rb +2 -1
  260. data/lib/square/types/customer_custom_attribute_filters.rb +7 -6
  261. data/lib/square/types/customer_custom_attribute_visible_updated_event.rb +6 -3
  262. data/lib/square/types/customer_deleted_event.rb +4 -2
  263. data/lib/square/types/customer_deleted_event_event_context_merge.rb +2 -1
  264. data/lib/square/types/customer_tax_ids.rb +4 -2
  265. data/lib/square/types/customer_updated_event.rb +4 -2
  266. data/lib/square/types/delete_booking_custom_attribute_definition_response.rb +5 -2
  267. data/lib/square/types/delete_booking_custom_attribute_response.rb +2 -1
  268. data/lib/square/types/delete_customer_custom_attribute_response.rb +2 -1
  269. data/lib/square/types/delete_location_custom_attribute_response.rb +2 -1
  270. data/lib/square/types/delete_merchant_custom_attribute_response.rb +2 -1
  271. data/lib/square/types/delete_subscription_action_response.rb +2 -1
  272. data/lib/square/types/delete_transfer_order_response.rb +10 -0
  273. data/lib/square/types/delete_webhook_subscription_response.rb +2 -1
  274. data/lib/square/types/destination_details.rb +1 -3
  275. data/lib/square/types/device_checkout_options.rb +1 -0
  276. data/lib/square/types/device_component_details_ethernet_details.rb +1 -1
  277. data/lib/square/types/device_component_details_wi_fi_details.rb +1 -1
  278. data/lib/square/types/digital_wallet_details.rb +1 -0
  279. data/lib/square/types/disable_bank_account_response.rb +11 -0
  280. data/lib/square/types/dispute.rb +2 -1
  281. data/lib/square/types/dispute_evidence_added_event.rb +2 -1
  282. data/lib/square/types/dispute_evidence_created_event.rb +2 -1
  283. data/lib/square/types/employee_wage.rb +2 -1
  284. data/lib/square/types/error_code.rb +2 -0
  285. data/lib/square/types/event_data.rb +1 -3
  286. data/lib/square/types/fulfillment.rb +4 -7
  287. data/lib/square/types/fulfillment_delivery_details.rb +1 -3
  288. data/lib/square/types/fulfillment_pickup_details.rb +1 -3
  289. data/lib/square/types/get_bank_account_response.rb +1 -1
  290. data/lib/square/types/get_booking_request.rb +23 -0
  291. data/lib/square/types/get_business_booking_profile_request.rb +23 -0
  292. data/lib/square/types/get_card_request.rb +23 -0
  293. data/lib/square/types/get_catalog_object_response.rb +1 -3
  294. data/lib/square/types/get_customer_custom_attribute_definition_response.rb +4 -4
  295. data/lib/square/types/get_customer_custom_attribute_response.rb +2 -1
  296. data/lib/square/types/get_customer_group_request.rb +23 -0
  297. data/lib/square/types/get_customer_request.rb +23 -0
  298. data/lib/square/types/get_customer_segment_request.rb +23 -0
  299. data/lib/square/types/get_dispute_evidence_request.rb +23 -0
  300. data/lib/square/types/get_dispute_request.rb +23 -0
  301. data/lib/square/types/get_employee_request.rb +23 -0
  302. data/lib/square/types/get_gift_card_request.rb +23 -0
  303. data/lib/square/types/get_inventory_adjustment_request.rb +23 -0
  304. data/lib/square/types/get_inventory_physical_count_request.rb +23 -0
  305. data/lib/square/types/get_inventory_transfer_request.rb +23 -0
  306. data/lib/square/types/get_location_request.rb +23 -0
  307. data/lib/square/types/get_loyalty_account_request.rb +23 -0
  308. data/lib/square/types/get_loyalty_program_request.rb +23 -0
  309. data/lib/square/types/get_loyalty_promotion_request.rb +23 -0
  310. data/lib/square/types/get_loyalty_reward_request.rb +23 -0
  311. data/lib/square/types/get_merchant_request.rb +23 -0
  312. data/lib/square/types/get_order_request.rb +23 -0
  313. data/lib/square/types/get_payment_link_request.rb +23 -0
  314. data/lib/square/types/get_snippet_request.rb +23 -0
  315. data/lib/square/types/get_team_member_booking_profile_request.rb +23 -0
  316. data/lib/square/types/get_team_member_booking_profile_response.rb +1 -3
  317. data/lib/square/types/get_team_member_request.rb +23 -0
  318. data/lib/square/types/get_transaction_request.rb +23 -0
  319. data/lib/square/types/get_vendor_request.rb +23 -0
  320. data/lib/square/types/get_wage_setting_request.rb +23 -0
  321. data/lib/square/types/get_webhook_subscription_request.rb +23 -0
  322. data/lib/square/types/get_webhook_subscription_response.rb +2 -1
  323. data/lib/square/types/gift_card_activity.rb +8 -24
  324. data/lib/square/types/gift_card_activity_block_reason.rb +23 -0
  325. data/lib/square/types/gift_card_activity_unblock_reason.rb +23 -0
  326. data/lib/square/types/gift_card_activity_updated_event.rb +2 -1
  327. data/lib/square/types/inventory_count_updated_event_object.rb +1 -3
  328. data/lib/square/types/invoice.rb +6 -13
  329. data/lib/square/types/invoice_accepted_payment_methods.rb +2 -1
  330. data/lib/square/types/invoice_attachment.rb +1 -1
  331. data/lib/square/types/invoice_custom_field.rb +2 -1
  332. data/lib/square/types/invoice_payment_made_event.rb +2 -1
  333. data/lib/square/types/invoice_payment_request.rb +6 -8
  334. data/lib/square/types/invoice_refunded_event.rb +2 -1
  335. data/lib/square/types/invoice_sort_field.rb +23 -0
  336. data/lib/square/types/labor_scheduled_shift_created_event_object.rb +1 -1
  337. data/lib/square/types/labor_scheduled_shift_published_event_object.rb +1 -1
  338. data/lib/square/types/labor_scheduled_shift_updated_event_object.rb +1 -1
  339. data/lib/square/types/list_bank_accounts_response.rb +1 -1
  340. data/lib/square/types/list_booking_custom_attribute_definitions_response.rb +4 -4
  341. data/lib/square/types/list_booking_custom_attributes_response.rb +3 -4
  342. data/lib/square/types/list_cash_drawer_shift_events_response.rb +1 -3
  343. data/lib/square/types/list_cash_drawer_shifts_response.rb +1 -3
  344. data/lib/square/types/list_channels_request_constants.rb +23 -0
  345. data/lib/square/types/list_channels_response.rb +11 -0
  346. data/lib/square/types/list_customer_custom_attribute_definitions_response.rb +4 -4
  347. data/lib/square/types/list_customer_custom_attributes_response.rb +3 -4
  348. data/lib/square/types/list_gift_card_activities_response.rb +1 -3
  349. data/lib/square/types/list_location_booking_profiles_response.rb +1 -3
  350. data/lib/square/types/list_location_custom_attribute_definitions_response.rb +4 -4
  351. data/lib/square/types/list_location_custom_attributes_response.rb +3 -4
  352. data/lib/square/types/list_loyalty_promotions_response.rb +1 -3
  353. data/lib/square/types/list_merchant_custom_attribute_definitions_response.rb +4 -4
  354. data/lib/square/types/list_merchant_custom_attributes_response.rb +3 -4
  355. data/lib/square/types/list_order_custom_attribute_definitions_response.rb +1 -3
  356. data/lib/square/types/list_order_custom_attributes_response.rb +1 -3
  357. data/lib/square/types/list_subscription_events_response.rb +1 -3
  358. data/lib/square/types/list_team_member_booking_profiles_response.rb +1 -3
  359. data/lib/square/types/list_team_member_wages_response.rb +1 -3
  360. data/lib/square/types/list_webhook_subscriptions_response.rb +1 -3
  361. data/lib/square/types/list_workweek_configs_response.rb +1 -3
  362. data/lib/square/types/location.rb +1 -3
  363. data/lib/square/types/location_booking_profile.rb +2 -1
  364. data/lib/square/types/location_custom_attribute_visible_updated_event.rb +6 -3
  365. data/lib/square/types/loyalty_account.rb +1 -3
  366. data/lib/square/types/loyalty_account_mapping_type.rb +23 -0
  367. data/lib/square/types/loyalty_event.rb +3 -4
  368. data/lib/square/types/loyalty_event_filter.rb +1 -3
  369. data/lib/square/types/loyalty_program.rb +4 -7
  370. data/lib/square/types/loyalty_program_accrual_rule.rb +3 -4
  371. data/lib/square/types/loyalty_program_reward_tier.rb +3 -1
  372. data/lib/square/types/loyalty_promotion_incentive.rb +2 -6
  373. data/lib/square/types/loyalty_promotion_incentive_points_addition_data.rb +2 -1
  374. data/lib/square/types/loyalty_promotion_incentive_points_multiplier_data.rb +2 -1
  375. data/lib/square/types/loyalty_promotion_trigger_limit.rb +2 -1
  376. data/lib/square/types/loyalty_reward.rb +4 -2
  377. data/lib/square/types/measurement_unit_generic.rb +23 -0
  378. data/lib/square/types/oauth_authorization_revoked_event_object.rb +1 -3
  379. data/lib/square/types/oauth_authorization_revoked_event_revocation_object.rb +1 -3
  380. data/lib/square/types/order.rb +2 -6
  381. data/lib/square/types/order_card_surcharge_treatment_type.rb +12 -0
  382. data/lib/square/types/order_custom_attribute_definition_owned_created_event.rb +2 -1
  383. data/lib/square/types/order_custom_attribute_definition_owned_deleted_event.rb +2 -1
  384. data/lib/square/types/order_custom_attribute_definition_owned_updated_event.rb +2 -1
  385. data/lib/square/types/order_custom_attribute_definition_visible_created_event.rb +2 -1
  386. data/lib/square/types/order_custom_attribute_definition_visible_deleted_event.rb +2 -1
  387. data/lib/square/types/order_custom_attribute_definition_visible_updated_event.rb +2 -1
  388. data/lib/square/types/order_custom_attribute_owned_deleted_event.rb +2 -1
  389. data/lib/square/types/order_custom_attribute_owned_updated_event.rb +2 -1
  390. data/lib/square/types/order_custom_attribute_visible_deleted_event.rb +2 -1
  391. data/lib/square/types/order_custom_attribute_visible_updated_event.rb +2 -1
  392. data/lib/square/types/order_fulfillment_updated.rb +1 -3
  393. data/lib/square/types/order_line_item.rb +4 -12
  394. data/lib/square/types/order_line_item_applied_tax.rb +1 -0
  395. data/lib/square/types/order_line_item_pricing_blocklists.rb +3 -6
  396. data/lib/square/types/order_line_item_pricing_blocklists_blocked_service_charge.rb +14 -0
  397. data/lib/square/types/order_return.rb +3 -9
  398. data/lib/square/types/order_return_line_item.rb +4 -12
  399. data/lib/square/types/order_return_service_charge.rb +3 -6
  400. data/lib/square/types/order_service_charge.rb +2 -6
  401. data/lib/square/types/payment.rb +1 -3
  402. data/lib/square/types/payment_link_related_resources.rb +1 -3
  403. data/lib/square/types/payment_refund.rb +1 -3
  404. data/lib/square/types/payout_entry.rb +24 -72
  405. data/lib/square/types/pre_populated_data.rb +2 -1
  406. data/lib/square/types/product_type.rb +23 -0
  407. data/lib/square/types/receive_transfer_order_response.rb +11 -0
  408. data/lib/square/types/reference.rb +10 -0
  409. data/lib/square/types/reference_type.rb +25 -0
  410. data/lib/square/types/refund.rb +1 -3
  411. data/lib/square/types/retrieve_booking_custom_attribute_definition_response.rb +4 -4
  412. data/lib/square/types/retrieve_booking_custom_attribute_response.rb +2 -1
  413. data/lib/square/types/retrieve_channel_response.rb +10 -0
  414. data/lib/square/types/retrieve_location_custom_attribute_definition_response.rb +4 -4
  415. data/lib/square/types/retrieve_location_custom_attribute_response.rb +2 -1
  416. data/lib/square/types/retrieve_merchant_custom_attribute_definition_response.rb +4 -4
  417. data/lib/square/types/retrieve_merchant_custom_attribute_response.rb +2 -1
  418. data/lib/square/types/retrieve_order_custom_attribute_definition_response.rb +1 -3
  419. data/lib/square/types/retrieve_transfer_order_response.rb +11 -0
  420. data/lib/square/types/scheduled_shift_filter.rb +3 -7
  421. data/lib/square/types/scheduled_shift_workday.rb +1 -3
  422. data/lib/square/types/search_availability_filter.rb +1 -3
  423. data/lib/square/types/search_catalog_items_response.rb +2 -1
  424. data/lib/square/types/search_catalog_objects_response.rb +1 -3
  425. data/lib/square/types/search_events_sort_field.rb +23 -0
  426. data/lib/square/types/search_loyalty_accounts_request_loyalty_account_query.rb +1 -3
  427. data/lib/square/types/search_loyalty_accounts_response.rb +1 -3
  428. data/lib/square/types/search_orders_date_time_filter.rb +2 -1
  429. data/lib/square/types/search_orders_fulfillment_filter.rb +2 -6
  430. data/lib/square/types/search_orders_source_filter.rb +2 -0
  431. data/lib/square/types/search_scheduled_shifts_response.rb +1 -3
  432. data/lib/square/types/search_transfer_orders_response.rb +12 -0
  433. data/lib/square/types/shift_filter.rb +3 -2
  434. data/lib/square/types/shift_query.rb +2 -1
  435. data/lib/square/types/shift_sort.rb +2 -1
  436. data/lib/square/types/shift_wage.rb +2 -1
  437. data/lib/square/types/shift_workday.rb +2 -1
  438. data/lib/square/types/snippet.rb +2 -1
  439. data/lib/square/types/standard_unit_description_group.rb +1 -3
  440. data/lib/square/types/start_transfer_order_response.rb +11 -0
  441. data/lib/square/types/subscription_event.rb +1 -3
  442. data/lib/square/types/subscription_phase.rb +2 -1
  443. data/lib/square/types/subscription_test_result.rb +5 -3
  444. data/lib/square/types/team_member_assigned_locations.rb +1 -3
  445. data/lib/square/types/team_member_booking_profile.rb +2 -1
  446. data/lib/square/types/tender.rb +2 -6
  447. data/lib/square/types/tender_buy_now_pay_later_details.rb +1 -3
  448. data/lib/square/types/terminal_refund.rb +2 -1
  449. data/lib/square/types/test_webhook_subscription_response.rb +5 -5
  450. data/lib/square/types/timecard_filter.rb +1 -1
  451. data/lib/square/types/transfer_order.rb +35 -0
  452. data/lib/square/types/transfer_order_created_event.rb +14 -0
  453. data/lib/square/types/transfer_order_created_event_data.rb +11 -0
  454. data/lib/square/types/transfer_order_created_event_object.rb +9 -0
  455. data/lib/square/types/transfer_order_deleted_event.rb +14 -0
  456. data/lib/square/types/transfer_order_deleted_event_data.rb +11 -0
  457. data/lib/square/types/transfer_order_filter.rb +12 -0
  458. data/lib/square/types/transfer_order_goods_receipt.rb +27 -0
  459. data/lib/square/types/transfer_order_goods_receipt_line_item.rb +13 -0
  460. data/lib/square/types/transfer_order_line.rb +18 -0
  461. data/lib/square/types/transfer_order_query.rb +11 -0
  462. data/lib/square/types/transfer_order_sort.rb +11 -0
  463. data/lib/square/types/transfer_order_sort_field.rb +12 -0
  464. data/lib/square/types/transfer_order_status.rb +15 -0
  465. data/lib/square/types/transfer_order_updated_event.rb +14 -0
  466. data/lib/square/types/transfer_order_updated_event_data.rb +11 -0
  467. data/lib/square/types/transfer_order_updated_event_object.rb +9 -0
  468. data/lib/square/types/update_booking_custom_attribute_definition_response.rb +4 -4
  469. data/lib/square/types/update_customer_custom_attribute_definition_response.rb +4 -4
  470. data/lib/square/types/update_location_custom_attribute_definition_response.rb +4 -4
  471. data/lib/square/types/update_merchant_custom_attribute_definition_response.rb +4 -4
  472. data/lib/square/types/update_order_custom_attribute_definition_response.rb +1 -3
  473. data/lib/square/types/update_transfer_order_data.rb +15 -0
  474. data/lib/square/types/update_transfer_order_line_data.rb +13 -0
  475. data/lib/square/types/update_transfer_order_response.rb +11 -0
  476. data/lib/square/types/update_webhook_subscription_response.rb +2 -1
  477. data/lib/square/types/update_webhook_subscription_signature_key_response.rb +3 -1
  478. data/lib/square/types/upsert_booking_custom_attribute_response.rb +2 -1
  479. data/lib/square/types/upsert_catalog_object_response.rb +1 -3
  480. data/lib/square/types/upsert_customer_custom_attribute_response.rb +2 -1
  481. data/lib/square/types/upsert_location_custom_attribute_response.rb +2 -1
  482. data/lib/square/types/upsert_merchant_custom_attribute_response.rb +2 -1
  483. data/lib/square/types/v_1_get_payment_request.rb +23 -0
  484. data/lib/square/types/v_1_get_settlement_request.rb +23 -0
  485. data/lib/square/types/v_1_order.rb +1 -3
  486. data/lib/square/types/vendor_created_event_object_operation.rb +23 -0
  487. data/lib/square/types/vendor_updated_event_object_operation.rb +23 -0
  488. data/lib/square/types/wage_setting.rb +1 -3
  489. data/lib/square/v_1_transactions/client.rb +72 -29
  490. data/lib/square/vendors/client.rb +126 -51
  491. data/lib/square/vendors/types/batch_update_vendors_request.rb +1 -3
  492. data/lib/square/version.rb +1 -1
  493. data/lib/square/webhooks/client.rb +3 -1
  494. data/lib/square/webhooks/event_types/client.rb +25 -14
  495. data/lib/square/webhooks/subscriptions/client.rb +164 -69
  496. data/lib/square.rb +106 -5
  497. data/lib/square_legacy/utilities/webhooks_helper.rb +1 -1
  498. data/reference.md +29588 -0
  499. data/wiremock/docker-compose.test.yml +14 -0
  500. data/wiremock/wiremock-mappings.json +1 -0
  501. metadata +118 -45
  502. data/lib/square/mobile/client.rb +0 -50
  503. data/lib/square/mobile/types/create_mobile_authorization_code_request.rb +0 -11
  504. data/lib/square/types/create_mobile_authorization_code_response.rb +0 -13
  505. data/test/square/integration/client_tests/test_cash_drawers.rb +0 -27
  506. data/test/square/integration/client_tests/test_catalog.rb +0 -704
  507. data/test/square/integration/client_tests/test_customers.rb +0 -65
  508. data/test/square/integration/client_tests/test_customers_groups.rb +0 -144
  509. data/test/square/integration/client_tests/test_customers_segments.rb +0 -36
  510. data/test/square/integration/client_tests/test_devices.rb +0 -67
  511. data/test/square/integration/client_tests/test_inventory.rb +0 -28
  512. data/test/square/integration/client_tests/test_locations.rb +0 -18
  513. data/test/square/integration/client_tests/test_merchants.rb +0 -40
  514. data/test/square/integration/client_tests/test_mobile.rb +0 -21
  515. data/test/square/integration/client_tests/test_orders.rb +0 -177
  516. data/test/square/integration/client_tests/test_payments.rb +0 -167
  517. data/test/square/integration/client_tests/test_refunds.rb +0 -133
  518. data/test/square/integration/client_tests/test_team_members.rb +0 -97
  519. data/test/square/integration/client_tests/test_terminal.rb +0 -107
  520. data/test/square/integration/integration_test_base.rb +0 -16
  521. data/test/square/integration/testdata/image.jpeg +0 -0
  522. data/test/square/internal/multipart/test_form_data.rb +0 -311
  523. data/test/square/internal/types/test_array.rb +0 -37
  524. data/test/square/internal/types/test_boolean.rb +0 -35
  525. data/test/square/internal/types/test_enum.rb +0 -42
  526. data/test/square/internal/types/test_hash.rb +0 -50
  527. data/test/square/internal/types/test_model.rb +0 -105
  528. data/test/square/internal/types/test_union.rb +0 -52
  529. data/test/square/internal/types/test_utils.rb +0 -216
  530. data/test/square_legacy/api/api_test_base.rb +0 -27
  531. data/test/square_legacy/api/test_catalog_api.rb +0 -57
  532. data/test/square_legacy/api/test_customers_api.rb +0 -43
  533. data/test/square_legacy/api/test_employees_api.rb +0 -34
  534. data/test/square_legacy/api/test_labor_api.rb +0 -82
  535. data/test/square_legacy/api/test_locations_api.rb +0 -22
  536. data/test/square_legacy/api/test_merchants_api.rb +0 -38
  537. data/test/square_legacy/api/test_payments_api.rb +0 -40
  538. data/test/square_legacy/api/test_refunds_api.rb +0 -42
  539. data/test/square_legacy/http_response_catcher.rb +0 -14
  540. data/test/square_legacy/webhooks/test_webhooks_helper.rb +0 -153
  541. data/test/test_helper.rb +0 -123
@@ -3,7 +3,9 @@
3
3
  module Square
4
4
  module Invoices
5
5
  class Client
6
- # @return [Square::Invoices::Client]
6
+ # @param client [Square::Internal::Http::RawClient]
7
+ #
8
+ # @return [void]
7
9
  def initialize(client:)
8
10
  @client = client
9
11
  end
@@ -12,32 +14,52 @@ module Square
12
14
  # is paginated. If truncated, the response includes a `cursor` that you
13
15
  # use in a subsequent request to retrieve the next set of invoices.
14
16
  #
17
+ # @param request_options [Hash]
18
+ # @param params [Hash]
19
+ # @option request_options [String] :base_url
20
+ # @option request_options [Hash{String => Object}] :additional_headers
21
+ # @option request_options [Hash{String => Object}] :additional_query_parameters
22
+ # @option request_options [Hash{String => Object}] :additional_body_parameters
23
+ # @option request_options [Integer] :timeout_in_seconds
24
+ # @option params [String] :location_id
25
+ # @option params [String, nil] :cursor
26
+ # @option params [Integer, nil] :limit
27
+ #
15
28
  # @return [Square::Types::ListInvoicesResponse]
16
29
  def list(request_options: {}, **params)
17
- _query_param_names = [
18
- %w[location_id cursor limit],
19
- %i[location_id cursor limit]
20
- ].flatten
21
- _query = params.slice(*_query_param_names)
22
- params.except(*_query_param_names)
30
+ params = Square::Internal::Types::Utils.normalize_keys(params)
31
+ query_param_names = %i[location_id cursor limit]
32
+ query_params = {}
33
+ query_params["location_id"] = params[:location_id] if params.key?(:location_id)
34
+ query_params["cursor"] = params[:cursor] if params.key?(:cursor)
35
+ query_params["limit"] = params[:limit] if params.key?(:limit)
36
+ params.except(*query_param_names)
23
37
 
24
- _request = Square::Internal::JSON::Request.new(
25
- base_url: request_options[:base_url] || Square::Environment::PRODUCTION,
26
- method: "GET",
27
- path: "v2/invoices",
28
- query: _query
29
- )
30
- begin
31
- _response = @client.send(_request)
32
- rescue Net::HTTPRequestTimeout
33
- raise Square::Errors::TimeoutError
34
- end
35
- code = _response.code.to_i
36
- if code.between?(200, 299)
37
- Square::Types::ListInvoicesResponse.load(_response.body)
38
- else
39
- error_class = Square::Errors::ResponseError.subclass_for_code(code)
40
- raise error_class.new(_response.body, code: code)
38
+ Square::Internal::CursorItemIterator.new(
39
+ cursor_field: :cursor,
40
+ item_field: :invoices,
41
+ initial_cursor: query_params[:cursor]
42
+ ) do |next_cursor|
43
+ query_params[:cursor] = next_cursor
44
+ request = Square::Internal::JSON::Request.new(
45
+ base_url: request_options[:base_url],
46
+ method: "GET",
47
+ path: "v2/invoices",
48
+ query: query_params,
49
+ request_options: request_options
50
+ )
51
+ begin
52
+ response = @client.send(request)
53
+ rescue Net::HTTPRequestTimeout
54
+ raise Square::Errors::TimeoutError
55
+ end
56
+ code = response.code.to_i
57
+ if code.between?(200, 299)
58
+ Square::Types::ListInvoicesResponse.load(response.body)
59
+ else
60
+ error_class = Square::Errors::ResponseError.subclass_for_code(code)
61
+ raise error_class.new(response.body, code: code)
62
+ end
41
63
  end
42
64
  end
43
65
 
@@ -45,27 +67,38 @@ module Square
45
67
  # for an order created using the Orders API.
46
68
  #
47
69
  # A draft invoice remains in your account and no action is taken.
48
- # You must publish the invoice before Square can process it (send it to the customer's email address or charge the customer’s card on file).
70
+ # You must publish the invoice before Square can process it (send it to the customer's email address or charge the
71
+ # customer’s card on file).
72
+ #
73
+ # @param request_options [Hash]
74
+ # @param params [Square::Invoices::Types::CreateInvoiceRequest]
75
+ # @option request_options [String] :base_url
76
+ # @option request_options [Hash{String => Object}] :additional_headers
77
+ # @option request_options [Hash{String => Object}] :additional_query_parameters
78
+ # @option request_options [Hash{String => Object}] :additional_body_parameters
79
+ # @option request_options [Integer] :timeout_in_seconds
49
80
  #
50
81
  # @return [Square::Types::CreateInvoiceResponse]
51
82
  def create(request_options: {}, **params)
52
- _request = Square::Internal::JSON::Request.new(
53
- base_url: request_options[:base_url] || Square::Environment::PRODUCTION,
83
+ params = Square::Internal::Types::Utils.normalize_keys(params)
84
+ request = Square::Internal::JSON::Request.new(
85
+ base_url: request_options[:base_url],
54
86
  method: "POST",
55
87
  path: "v2/invoices",
56
- body: params
88
+ body: Square::Invoices::Types::CreateInvoiceRequest.new(params).to_h,
89
+ request_options: request_options
57
90
  )
58
91
  begin
59
- _response = @client.send(_request)
92
+ response = @client.send(request)
60
93
  rescue Net::HTTPRequestTimeout
61
94
  raise Square::Errors::TimeoutError
62
95
  end
63
- code = _response.code.to_i
96
+ code = response.code.to_i
64
97
  if code.between?(200, 299)
65
- Square::Types::CreateInvoiceResponse.load(_response.body)
98
+ Square::Types::CreateInvoiceResponse.load(response.body)
66
99
  else
67
100
  error_class = Square::Errors::ResponseError.subclass_for_code(code)
68
- raise error_class.new(_response.body, code: code)
101
+ raise error_class.new(response.body, code: code)
69
102
  end
70
103
  end
71
104
 
@@ -77,48 +110,69 @@ module Square
77
110
  # The response is paginated. If truncated, the response includes a `cursor`
78
111
  # that you use in a subsequent request to retrieve the next set of invoices.
79
112
  #
113
+ # @param request_options [Hash]
114
+ # @param params [Square::Invoices::Types::SearchInvoicesRequest]
115
+ # @option request_options [String] :base_url
116
+ # @option request_options [Hash{String => Object}] :additional_headers
117
+ # @option request_options [Hash{String => Object}] :additional_query_parameters
118
+ # @option request_options [Hash{String => Object}] :additional_body_parameters
119
+ # @option request_options [Integer] :timeout_in_seconds
120
+ #
80
121
  # @return [Square::Types::SearchInvoicesResponse]
81
122
  def search(request_options: {}, **params)
82
- _request = Square::Internal::JSON::Request.new(
83
- base_url: request_options[:base_url] || Square::Environment::PRODUCTION,
123
+ params = Square::Internal::Types::Utils.normalize_keys(params)
124
+ request = Square::Internal::JSON::Request.new(
125
+ base_url: request_options[:base_url],
84
126
  method: "POST",
85
127
  path: "v2/invoices/search",
86
- body: params
128
+ body: Square::Invoices::Types::SearchInvoicesRequest.new(params).to_h,
129
+ request_options: request_options
87
130
  )
88
131
  begin
89
- _response = @client.send(_request)
132
+ response = @client.send(request)
90
133
  rescue Net::HTTPRequestTimeout
91
134
  raise Square::Errors::TimeoutError
92
135
  end
93
- code = _response.code.to_i
136
+ code = response.code.to_i
94
137
  if code.between?(200, 299)
95
- Square::Types::SearchInvoicesResponse.load(_response.body)
138
+ Square::Types::SearchInvoicesResponse.load(response.body)
96
139
  else
97
140
  error_class = Square::Errors::ResponseError.subclass_for_code(code)
98
- raise error_class.new(_response.body, code: code)
141
+ raise error_class.new(response.body, code: code)
99
142
  end
100
143
  end
101
144
 
102
145
  # Retrieves an invoice by invoice ID.
103
146
  #
147
+ # @param request_options [Hash]
148
+ # @param params [Hash]
149
+ # @option request_options [String] :base_url
150
+ # @option request_options [Hash{String => Object}] :additional_headers
151
+ # @option request_options [Hash{String => Object}] :additional_query_parameters
152
+ # @option request_options [Hash{String => Object}] :additional_body_parameters
153
+ # @option request_options [Integer] :timeout_in_seconds
154
+ # @option params [String] :invoice_id
155
+ #
104
156
  # @return [Square::Types::GetInvoiceResponse]
105
157
  def get(request_options: {}, **params)
106
- _request = Square::Internal::JSON::Request.new(
107
- base_url: request_options[:base_url] || Square::Environment::PRODUCTION,
158
+ params = Square::Internal::Types::Utils.normalize_keys(params)
159
+ request = Square::Internal::JSON::Request.new(
160
+ base_url: request_options[:base_url],
108
161
  method: "GET",
109
- path: "v2/invoices/#{params[:invoice_id]}"
162
+ path: "v2/invoices/#{params[:invoice_id]}",
163
+ request_options: request_options
110
164
  )
111
165
  begin
112
- _response = @client.send(_request)
166
+ response = @client.send(request)
113
167
  rescue Net::HTTPRequestTimeout
114
168
  raise Square::Errors::TimeoutError
115
169
  end
116
- code = _response.code.to_i
170
+ code = response.code.to_i
117
171
  if code.between?(200, 299)
118
- Square::Types::GetInvoiceResponse.load(_response.body)
172
+ Square::Types::GetInvoiceResponse.load(response.body)
119
173
  else
120
174
  error_class = Square::Errors::ResponseError.subclass_for_code(code)
121
- raise error_class.new(_response.body, code: code)
175
+ raise error_class.new(response.body, code: code)
122
176
  end
123
177
  end
124
178
 
@@ -127,27 +181,40 @@ module Square
127
181
  # Some restrictions apply to updating invoices. For example, you cannot change the
128
182
  # `order_id` or `location_id` field.
129
183
  #
184
+ # @param request_options [Hash]
185
+ # @param params [Square::Invoices::Types::UpdateInvoiceRequest]
186
+ # @option request_options [String] :base_url
187
+ # @option request_options [Hash{String => Object}] :additional_headers
188
+ # @option request_options [Hash{String => Object}] :additional_query_parameters
189
+ # @option request_options [Hash{String => Object}] :additional_body_parameters
190
+ # @option request_options [Integer] :timeout_in_seconds
191
+ # @option params [String] :invoice_id
192
+ #
130
193
  # @return [Square::Types::UpdateInvoiceResponse]
131
194
  def update(request_options: {}, **params)
132
- _path_param_names = ["invoice_id"]
195
+ params = Square::Internal::Types::Utils.normalize_keys(params)
196
+ request_data = Square::Invoices::Types::UpdateInvoiceRequest.new(params).to_h
197
+ non_body_param_names = ["invoice_id"]
198
+ body = request_data.except(*non_body_param_names)
133
199
 
134
- _request = Square::Internal::JSON::Request.new(
135
- base_url: request_options[:base_url] || Square::Environment::PRODUCTION,
200
+ request = Square::Internal::JSON::Request.new(
201
+ base_url: request_options[:base_url],
136
202
  method: "PUT",
137
203
  path: "v2/invoices/#{params[:invoice_id]}",
138
- body: params.except(*_path_param_names)
204
+ body: body,
205
+ request_options: request_options
139
206
  )
140
207
  begin
141
- _response = @client.send(_request)
208
+ response = @client.send(request)
142
209
  rescue Net::HTTPRequestTimeout
143
210
  raise Square::Errors::TimeoutError
144
211
  end
145
- code = _response.code.to_i
212
+ code = response.code.to_i
146
213
  if code.between?(200, 299)
147
- Square::Types::UpdateInvoiceResponse.load(_response.body)
214
+ Square::Types::UpdateInvoiceResponse.load(response.body)
148
215
  else
149
216
  error_class = Square::Errors::ResponseError.subclass_for_code(code)
150
- raise error_class.new(_response.body, code: code)
217
+ raise error_class.new(response.body, code: code)
151
218
  end
152
219
  end
153
220
 
@@ -155,32 +222,42 @@ module Square
155
222
  # associated order status changes to CANCELED. You can only delete a draft
156
223
  # invoice (you cannot delete a published invoice, including one that is scheduled for processing).
157
224
  #
225
+ # @param request_options [Hash]
226
+ # @param params [Hash]
227
+ # @option request_options [String] :base_url
228
+ # @option request_options [Hash{String => Object}] :additional_headers
229
+ # @option request_options [Hash{String => Object}] :additional_query_parameters
230
+ # @option request_options [Hash{String => Object}] :additional_body_parameters
231
+ # @option request_options [Integer] :timeout_in_seconds
232
+ # @option params [String] :invoice_id
233
+ # @option params [Integer, nil] :version
234
+ #
158
235
  # @return [Square::Types::DeleteInvoiceResponse]
159
236
  def delete(request_options: {}, **params)
160
- _query_param_names = [
161
- ["version"],
162
- %i[version]
163
- ].flatten
164
- _query = params.slice(*_query_param_names)
165
- params = params.except(*_query_param_names)
237
+ params = Square::Internal::Types::Utils.normalize_keys(params)
238
+ query_param_names = %i[version]
239
+ query_params = {}
240
+ query_params["version"] = params[:version] if params.key?(:version)
241
+ params = params.except(*query_param_names)
166
242
 
167
- _request = Square::Internal::JSON::Request.new(
168
- base_url: request_options[:base_url] || Square::Environment::PRODUCTION,
243
+ request = Square::Internal::JSON::Request.new(
244
+ base_url: request_options[:base_url],
169
245
  method: "DELETE",
170
246
  path: "v2/invoices/#{params[:invoice_id]}",
171
- query: _query
247
+ query: query_params,
248
+ request_options: request_options
172
249
  )
173
250
  begin
174
- _response = @client.send(_request)
251
+ response = @client.send(request)
175
252
  rescue Net::HTTPRequestTimeout
176
253
  raise Square::Errors::TimeoutError
177
254
  end
178
- code = _response.code.to_i
255
+ code = response.code.to_i
179
256
  if code.between?(200, 299)
180
- Square::Types::DeleteInvoiceResponse.load(_response.body)
257
+ Square::Types::DeleteInvoiceResponse.load(response.body)
181
258
  else
182
259
  error_class = Square::Errors::ResponseError.subclass_for_code(code)
183
- raise error_class.new(_response.body, code: code)
260
+ raise error_class.new(response.body, code: code)
184
261
  end
185
262
  end
186
263
 
@@ -188,13 +265,24 @@ module Square
188
265
  # with a JSON `request` part and a `file` part. The `file` part must be a `readable stream` that contains a file
189
266
  # in a supported format: GIF, JPEG, PNG, TIFF, BMP, or PDF.
190
267
  #
191
- # Invoices can have up to 10 attachments with a total file size of 25 MB. Attachments can be added only to invoices
268
+ # Invoices can have up to 10 attachments with a total file size of 25 MB. Attachments can be added only to
269
+ # invoices
192
270
  # in the `DRAFT`, `SCHEDULED`, `UNPAID`, or `PARTIALLY_PAID` state.
193
271
  #
194
272
  # __NOTE:__ When testing in the Sandbox environment, the total file size is limited to 1 KB.
195
273
  #
274
+ # @param request_options [Hash]
275
+ # @param params [void]
276
+ # @option request_options [String] :base_url
277
+ # @option request_options [Hash{String => Object}] :additional_headers
278
+ # @option request_options [Hash{String => Object}] :additional_query_parameters
279
+ # @option request_options [Hash{String => Object}] :additional_body_parameters
280
+ # @option request_options [Integer] :timeout_in_seconds
281
+ # @option params [String] :invoice_id
282
+ #
196
283
  # @return [Square::Types::CreateInvoiceAttachmentResponse]
197
284
  def create_invoice_attachment(request_options: {}, **params)
285
+ params = Square::Internal::Types::Utils.normalize_keys(params)
198
286
  body = Internal::Multipart::FormData.new
199
287
 
200
288
  if params[:request]
@@ -206,75 +294,103 @@ module Square
206
294
  end
207
295
  body.add_part(params[:image_file].to_form_data_part(name: "image_file")) if params[:image_file]
208
296
 
209
- _request = Square::Internal::Multipart::Request.new(
210
- method: POST,
297
+ request = Square::Internal::Multipart::Request.new(
298
+ base_url: request_options[:base_url],
299
+ method: "POST",
211
300
  path: "v2/invoices/#{params[:invoice_id]}/attachments",
212
- body: body
301
+ body: body,
302
+ request_options: request_options
213
303
  )
214
304
  begin
215
- _response = @client.send(_request)
305
+ response = @client.send(request)
216
306
  rescue Net::HTTPRequestTimeout
217
307
  raise Square::Errors::TimeoutError
218
308
  end
219
- code = _response.code.to_i
309
+ code = response.code.to_i
220
310
  if code.between?(200, 299)
221
- Square::Types::CreateInvoiceAttachmentResponse.load(_response.body)
311
+ Square::Types::CreateInvoiceAttachmentResponse.load(response.body)
222
312
  else
223
313
  error_class = Square::Errors::ResponseError.subclass_for_code(code)
224
- raise error_class.new(_response.body, code: code)
314
+ raise error_class.new(response.body, code: code)
225
315
  end
226
316
  end
227
317
 
228
318
  # Removes an attachment from an invoice and permanently deletes the file. Attachments can be removed only
229
319
  # from invoices in the `DRAFT`, `SCHEDULED`, `UNPAID`, or `PARTIALLY_PAID` state.
230
320
  #
321
+ # @param request_options [Hash]
322
+ # @param params [Hash]
323
+ # @option request_options [String] :base_url
324
+ # @option request_options [Hash{String => Object}] :additional_headers
325
+ # @option request_options [Hash{String => Object}] :additional_query_parameters
326
+ # @option request_options [Hash{String => Object}] :additional_body_parameters
327
+ # @option request_options [Integer] :timeout_in_seconds
328
+ # @option params [String] :invoice_id
329
+ # @option params [String] :attachment_id
330
+ #
231
331
  # @return [Square::Types::DeleteInvoiceAttachmentResponse]
232
332
  def delete_invoice_attachment(request_options: {}, **params)
233
- _request = Square::Internal::JSON::Request.new(
234
- base_url: request_options[:base_url] || Square::Environment::PRODUCTION,
333
+ params = Square::Internal::Types::Utils.normalize_keys(params)
334
+ request = Square::Internal::JSON::Request.new(
335
+ base_url: request_options[:base_url],
235
336
  method: "DELETE",
236
- path: "v2/invoices/#{params[:invoice_id]}/attachments/#{params[:attachment_id]}"
337
+ path: "v2/invoices/#{params[:invoice_id]}/attachments/#{params[:attachment_id]}",
338
+ request_options: request_options
237
339
  )
238
340
  begin
239
- _response = @client.send(_request)
341
+ response = @client.send(request)
240
342
  rescue Net::HTTPRequestTimeout
241
343
  raise Square::Errors::TimeoutError
242
344
  end
243
- code = _response.code.to_i
345
+ code = response.code.to_i
244
346
  if code.between?(200, 299)
245
- Square::Types::DeleteInvoiceAttachmentResponse.load(_response.body)
347
+ Square::Types::DeleteInvoiceAttachmentResponse.load(response.body)
246
348
  else
247
349
  error_class = Square::Errors::ResponseError.subclass_for_code(code)
248
- raise error_class.new(_response.body, code: code)
350
+ raise error_class.new(response.body, code: code)
249
351
  end
250
352
  end
251
353
 
252
354
  # Cancels an invoice. The seller cannot collect payments for
253
355
  # the canceled invoice.
254
356
  #
255
- # You cannot cancel an invoice in the `DRAFT` state or in a terminal state: `PAID`, `REFUNDED`, `CANCELED`, or `FAILED`.
357
+ # You cannot cancel an invoice in the `DRAFT` state or in a terminal state: `PAID`, `REFUNDED`, `CANCELED`, or
358
+ # `FAILED`.
359
+ #
360
+ # @param request_options [Hash]
361
+ # @param params [Square::Invoices::Types::CancelInvoiceRequest]
362
+ # @option request_options [String] :base_url
363
+ # @option request_options [Hash{String => Object}] :additional_headers
364
+ # @option request_options [Hash{String => Object}] :additional_query_parameters
365
+ # @option request_options [Hash{String => Object}] :additional_body_parameters
366
+ # @option request_options [Integer] :timeout_in_seconds
367
+ # @option params [String] :invoice_id
256
368
  #
257
369
  # @return [Square::Types::CancelInvoiceResponse]
258
370
  def cancel(request_options: {}, **params)
259
- _path_param_names = ["invoice_id"]
371
+ params = Square::Internal::Types::Utils.normalize_keys(params)
372
+ request_data = Square::Invoices::Types::CancelInvoiceRequest.new(params).to_h
373
+ non_body_param_names = ["invoice_id"]
374
+ body = request_data.except(*non_body_param_names)
260
375
 
261
- _request = Square::Internal::JSON::Request.new(
262
- base_url: request_options[:base_url] || Square::Environment::PRODUCTION,
376
+ request = Square::Internal::JSON::Request.new(
377
+ base_url: request_options[:base_url],
263
378
  method: "POST",
264
379
  path: "v2/invoices/#{params[:invoice_id]}/cancel",
265
- body: params.except(*_path_param_names)
380
+ body: body,
381
+ request_options: request_options
266
382
  )
267
383
  begin
268
- _response = @client.send(_request)
384
+ response = @client.send(request)
269
385
  rescue Net::HTTPRequestTimeout
270
386
  raise Square::Errors::TimeoutError
271
387
  end
272
- code = _response.code.to_i
388
+ code = response.code.to_i
273
389
  if code.between?(200, 299)
274
- Square::Types::CancelInvoiceResponse.load(_response.body)
390
+ Square::Types::CancelInvoiceResponse.load(response.body)
275
391
  else
276
392
  error_class = Square::Errors::ResponseError.subclass_for_code(code)
277
- raise error_class.new(_response.body, code: code)
393
+ raise error_class.new(response.body, code: code)
278
394
  end
279
395
  end
280
396
 
@@ -293,27 +409,40 @@ module Square
293
409
  # In addition to the required `ORDERS_WRITE` and `INVOICES_WRITE` permissions, `CUSTOMERS_READ`
294
410
  # and `PAYMENTS_WRITE` are required when publishing invoices configured for card-on-file payments.
295
411
  #
412
+ # @param request_options [Hash]
413
+ # @param params [Square::Invoices::Types::PublishInvoiceRequest]
414
+ # @option request_options [String] :base_url
415
+ # @option request_options [Hash{String => Object}] :additional_headers
416
+ # @option request_options [Hash{String => Object}] :additional_query_parameters
417
+ # @option request_options [Hash{String => Object}] :additional_body_parameters
418
+ # @option request_options [Integer] :timeout_in_seconds
419
+ # @option params [String] :invoice_id
420
+ #
296
421
  # @return [Square::Types::PublishInvoiceResponse]
297
422
  def publish(request_options: {}, **params)
298
- _path_param_names = ["invoice_id"]
423
+ params = Square::Internal::Types::Utils.normalize_keys(params)
424
+ request_data = Square::Invoices::Types::PublishInvoiceRequest.new(params).to_h
425
+ non_body_param_names = ["invoice_id"]
426
+ body = request_data.except(*non_body_param_names)
299
427
 
300
- _request = Square::Internal::JSON::Request.new(
301
- base_url: request_options[:base_url] || Square::Environment::PRODUCTION,
428
+ request = Square::Internal::JSON::Request.new(
429
+ base_url: request_options[:base_url],
302
430
  method: "POST",
303
431
  path: "v2/invoices/#{params[:invoice_id]}/publish",
304
- body: params.except(*_path_param_names)
432
+ body: body,
433
+ request_options: request_options
305
434
  )
306
435
  begin
307
- _response = @client.send(_request)
436
+ response = @client.send(request)
308
437
  rescue Net::HTTPRequestTimeout
309
438
  raise Square::Errors::TimeoutError
310
439
  end
311
- code = _response.code.to_i
440
+ code = response.code.to_i
312
441
  if code.between?(200, 299)
313
- Square::Types::PublishInvoiceResponse.load(_response.body)
442
+ Square::Types::PublishInvoiceResponse.load(response.body)
314
443
  else
315
444
  error_class = Square::Errors::ResponseError.subclass_for_code(code)
316
- raise error_class.new(_response.body, code: code)
445
+ raise error_class.new(response.body, code: code)
317
446
  end
318
447
  end
319
448
  end