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
@@ -4,102 +4,149 @@ module Square
4
4
  module Terminal
5
5
  module Refunds
6
6
  class Client
7
- # @return [Square::Terminal::Refunds::Client]
7
+ # @param client [Square::Internal::Http::RawClient]
8
+ #
9
+ # @return [void]
8
10
  def initialize(client:)
9
11
  @client = client
10
12
  end
11
13
 
12
- # Creates a request to refund an Interac payment completed on a Square Terminal. Refunds for Interac payments on a Square Terminal are supported only for Interac debit cards in Canada. Other refunds for Terminal payments should use the Refunds API. For more information, see [Refunds API](api:Refunds).
14
+ # Creates a request to refund an Interac payment completed on a Square Terminal. Refunds for Interac payments on
15
+ # a Square Terminal are supported only for Interac debit cards in Canada. Other refunds for Terminal payments
16
+ # should use the Refunds API. For more information, see [Refunds API](api:Refunds).
17
+ #
18
+ # @param request_options [Hash]
19
+ # @param params [Square::Terminal::Refunds::Types::CreateTerminalRefundRequest]
20
+ # @option request_options [String] :base_url
21
+ # @option request_options [Hash{String => Object}] :additional_headers
22
+ # @option request_options [Hash{String => Object}] :additional_query_parameters
23
+ # @option request_options [Hash{String => Object}] :additional_body_parameters
24
+ # @option request_options [Integer] :timeout_in_seconds
13
25
  #
14
26
  # @return [Square::Types::CreateTerminalRefundResponse]
15
27
  def create(request_options: {}, **params)
16
- _request = Square::Internal::JSON::Request.new(
17
- base_url: request_options[:base_url] || Square::Environment::PRODUCTION,
28
+ params = Square::Internal::Types::Utils.normalize_keys(params)
29
+ request = Square::Internal::JSON::Request.new(
30
+ base_url: request_options[:base_url],
18
31
  method: "POST",
19
32
  path: "v2/terminals/refunds",
20
- body: params
33
+ body: Square::Terminal::Refunds::Types::CreateTerminalRefundRequest.new(params).to_h,
34
+ request_options: request_options
21
35
  )
22
36
  begin
23
- _response = @client.send(_request)
37
+ response = @client.send(request)
24
38
  rescue Net::HTTPRequestTimeout
25
39
  raise Square::Errors::TimeoutError
26
40
  end
27
- code = _response.code.to_i
41
+ code = response.code.to_i
28
42
  if code.between?(200, 299)
29
- Square::Types::CreateTerminalRefundResponse.load(_response.body)
43
+ Square::Types::CreateTerminalRefundResponse.load(response.body)
30
44
  else
31
45
  error_class = Square::Errors::ResponseError.subclass_for_code(code)
32
- raise error_class.new(_response.body, code: code)
46
+ raise error_class.new(response.body, code: code)
33
47
  end
34
48
  end
35
49
 
36
- # Retrieves a filtered list of Interac Terminal refund requests created by the seller making the request. Terminal refund requests are available for 30 days.
50
+ # Retrieves a filtered list of Interac Terminal refund requests created by the seller making the request.
51
+ # Terminal refund requests are available for 30 days.
52
+ #
53
+ # @param request_options [Hash]
54
+ # @param params [Square::Terminal::Refunds::Types::SearchTerminalRefundsRequest]
55
+ # @option request_options [String] :base_url
56
+ # @option request_options [Hash{String => Object}] :additional_headers
57
+ # @option request_options [Hash{String => Object}] :additional_query_parameters
58
+ # @option request_options [Hash{String => Object}] :additional_body_parameters
59
+ # @option request_options [Integer] :timeout_in_seconds
37
60
  #
38
61
  # @return [Square::Types::SearchTerminalRefundsResponse]
39
62
  def search(request_options: {}, **params)
40
- _request = Square::Internal::JSON::Request.new(
41
- base_url: request_options[:base_url] || Square::Environment::PRODUCTION,
63
+ params = Square::Internal::Types::Utils.normalize_keys(params)
64
+ request = Square::Internal::JSON::Request.new(
65
+ base_url: request_options[:base_url],
42
66
  method: "POST",
43
67
  path: "v2/terminals/refunds/search",
44
- body: params
68
+ body: Square::Terminal::Refunds::Types::SearchTerminalRefundsRequest.new(params).to_h,
69
+ request_options: request_options
45
70
  )
46
71
  begin
47
- _response = @client.send(_request)
72
+ response = @client.send(request)
48
73
  rescue Net::HTTPRequestTimeout
49
74
  raise Square::Errors::TimeoutError
50
75
  end
51
- code = _response.code.to_i
76
+ code = response.code.to_i
52
77
  if code.between?(200, 299)
53
- Square::Types::SearchTerminalRefundsResponse.load(_response.body)
78
+ Square::Types::SearchTerminalRefundsResponse.load(response.body)
54
79
  else
55
80
  error_class = Square::Errors::ResponseError.subclass_for_code(code)
56
- raise error_class.new(_response.body, code: code)
81
+ raise error_class.new(response.body, code: code)
57
82
  end
58
83
  end
59
84
 
60
85
  # Retrieves an Interac Terminal refund object by ID. Terminal refund objects are available for 30 days.
61
86
  #
87
+ # @param request_options [Hash]
88
+ # @param params [Hash]
89
+ # @option request_options [String] :base_url
90
+ # @option request_options [Hash{String => Object}] :additional_headers
91
+ # @option request_options [Hash{String => Object}] :additional_query_parameters
92
+ # @option request_options [Hash{String => Object}] :additional_body_parameters
93
+ # @option request_options [Integer] :timeout_in_seconds
94
+ # @option params [String] :terminal_refund_id
95
+ #
62
96
  # @return [Square::Types::GetTerminalRefundResponse]
63
97
  def get(request_options: {}, **params)
64
- _request = Square::Internal::JSON::Request.new(
65
- base_url: request_options[:base_url] || Square::Environment::PRODUCTION,
98
+ params = Square::Internal::Types::Utils.normalize_keys(params)
99
+ request = Square::Internal::JSON::Request.new(
100
+ base_url: request_options[:base_url],
66
101
  method: "GET",
67
- path: "v2/terminals/refunds/#{params[:terminal_refund_id]}"
102
+ path: "v2/terminals/refunds/#{params[:terminal_refund_id]}",
103
+ request_options: request_options
68
104
  )
69
105
  begin
70
- _response = @client.send(_request)
106
+ response = @client.send(request)
71
107
  rescue Net::HTTPRequestTimeout
72
108
  raise Square::Errors::TimeoutError
73
109
  end
74
- code = _response.code.to_i
110
+ code = response.code.to_i
75
111
  if code.between?(200, 299)
76
- Square::Types::GetTerminalRefundResponse.load(_response.body)
112
+ Square::Types::GetTerminalRefundResponse.load(response.body)
77
113
  else
78
114
  error_class = Square::Errors::ResponseError.subclass_for_code(code)
79
- raise error_class.new(_response.body, code: code)
115
+ raise error_class.new(response.body, code: code)
80
116
  end
81
117
  end
82
118
 
83
119
  # Cancels an Interac Terminal refund request by refund request ID if the status of the request permits it.
84
120
  #
121
+ # @param request_options [Hash]
122
+ # @param params [Hash]
123
+ # @option request_options [String] :base_url
124
+ # @option request_options [Hash{String => Object}] :additional_headers
125
+ # @option request_options [Hash{String => Object}] :additional_query_parameters
126
+ # @option request_options [Hash{String => Object}] :additional_body_parameters
127
+ # @option request_options [Integer] :timeout_in_seconds
128
+ # @option params [String] :terminal_refund_id
129
+ #
85
130
  # @return [Square::Types::CancelTerminalRefundResponse]
86
131
  def cancel(request_options: {}, **params)
87
- _request = Square::Internal::JSON::Request.new(
88
- base_url: request_options[:base_url] || Square::Environment::PRODUCTION,
132
+ params = Square::Internal::Types::Utils.normalize_keys(params)
133
+ request = Square::Internal::JSON::Request.new(
134
+ base_url: request_options[:base_url],
89
135
  method: "POST",
90
- path: "v2/terminals/refunds/#{params[:terminal_refund_id]}/cancel"
136
+ path: "v2/terminals/refunds/#{params[:terminal_refund_id]}/cancel",
137
+ request_options: request_options
91
138
  )
92
139
  begin
93
- _response = @client.send(_request)
140
+ response = @client.send(request)
94
141
  rescue Net::HTTPRequestTimeout
95
142
  raise Square::Errors::TimeoutError
96
143
  end
97
- code = _response.code.to_i
144
+ code = response.code.to_i
98
145
  if code.between?(200, 299)
99
- Square::Types::CancelTerminalRefundResponse.load(_response.body)
146
+ Square::Types::CancelTerminalRefundResponse.load(response.body)
100
147
  else
101
148
  error_class = Square::Errors::ResponseError.subclass_for_code(code)
102
- raise error_class.new(_response.body, code: code)
149
+ raise error_class.new(response.body, code: code)
103
150
  end
104
151
  end
105
152
  end
@@ -0,0 +1,292 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Square
4
+ module TransferOrders
5
+ class Client
6
+ # @return [Square::TransferOrders::Client]
7
+ def initialize(client:)
8
+ @client = client
9
+ end
10
+
11
+ # Creates a new transfer order in [DRAFT](entity:TransferOrderStatus) status. A transfer order represents the intent
12
+ # to move [CatalogItemVariation](entity:CatalogItemVariation)s from one [Location](entity:Location) to another.
13
+ # The source and destination locations must be different and must belong to your Square account.
14
+ #
15
+ # In [DRAFT](entity:TransferOrderStatus) status, you can:
16
+ # - Add or remove items
17
+ # - Modify quantities
18
+ # - Update shipping information
19
+ # - Delete the entire order via [DeleteTransferOrder](api-endpoint:TransferOrders-DeleteTransferOrder)
20
+ #
21
+ # The request requires source_location_id and destination_location_id.
22
+ # Inventory levels are not affected until the order is started via
23
+ # [StartTransferOrder](api-endpoint:TransferOrders-StartTransferOrder).
24
+ #
25
+ # Common integration points:
26
+ # - Sync with warehouse management systems
27
+ # - Automate regular stock transfers
28
+ # - Initialize transfers from inventory optimization systems
29
+ #
30
+ # Creates a [transfer_order.created](webhook:transfer_order.created) webhook event.
31
+ #
32
+ # @return [Square::Types::CreateTransferOrderResponse]
33
+ def create(request_options: {}, **params)
34
+ _request = Square::Internal::JSON::Request.new(
35
+ base_url: request_options[:base_url] || Square::Environment::PRODUCTION,
36
+ method: "POST",
37
+ path: "v2/transfer-orders",
38
+ body: params
39
+ )
40
+ begin
41
+ _response = @client.send(_request)
42
+ rescue Net::HTTPRequestTimeout
43
+ raise Square::Errors::TimeoutError
44
+ end
45
+ code = _response.code.to_i
46
+ if code.between?(200, 299)
47
+ Square::Types::CreateTransferOrderResponse.load(_response.body)
48
+ else
49
+ error_class = Square::Errors::ResponseError.subclass_for_code(code)
50
+ raise error_class.new(_response.body, code: code)
51
+ end
52
+ end
53
+
54
+ # Searches for transfer orders using filters. Returns a paginated list of matching
55
+ # [TransferOrder](entity:TransferOrder)s sorted by creation date.
56
+ #
57
+ # Common search scenarios:
58
+ # - Find orders for a source [Location](entity:Location)
59
+ # - Find orders for a destination [Location](entity:Location)
60
+ # - Find orders in a particular [TransferOrderStatus](entity:TransferOrderStatus)
61
+ #
62
+ # @return [Square::Types::SearchTransferOrdersResponse]
63
+ def search(request_options: {}, **params)
64
+ Square::Internal::CursorItemIterator.new(
65
+ cursor_field: :cursor,
66
+ item_field: :transfer_orders,
67
+ initial_cursor: params[:cursor]
68
+ ) do |next_cursor|
69
+ params[:cursor] = next_cursor
70
+ _request = Square::Internal::JSON::Request.new(
71
+ base_url: request_options[:base_url] || Square::Environment::PRODUCTION,
72
+ method: "POST",
73
+ path: "v2/transfer-orders/search",
74
+ body: params
75
+ )
76
+ begin
77
+ _response = @client.send(_request)
78
+ rescue Net::HTTPRequestTimeout
79
+ raise Square::Errors::TimeoutError
80
+ end
81
+ code = _response.code.to_i
82
+ if code.between?(200, 299)
83
+ Square::Types::SearchTransferOrdersResponse.load(_response.body)
84
+ else
85
+ error_class = Square::Errors::ResponseError.subclass_for_code(code)
86
+ raise error_class.new(_response.body, code: code)
87
+ end
88
+ end
89
+ end
90
+
91
+ # Retrieves a specific [TransferOrder](entity:TransferOrder) by ID. Returns the complete
92
+ # order details including:
93
+ #
94
+ # - Basic information (status, dates, notes)
95
+ # - Line items with ordered and received quantities
96
+ # - Source and destination [Location](entity:Location)s
97
+ # - Tracking information (if available)
98
+ #
99
+ # @return [Square::Types::RetrieveTransferOrderResponse]
100
+ def get(request_options: {}, **params)
101
+ _request = Square::Internal::JSON::Request.new(
102
+ base_url: request_options[:base_url] || Square::Environment::PRODUCTION,
103
+ method: "GET",
104
+ path: "v2/transfer-orders/#{params[:transfer_order_id]}"
105
+ )
106
+ begin
107
+ _response = @client.send(_request)
108
+ rescue Net::HTTPRequestTimeout
109
+ raise Square::Errors::TimeoutError
110
+ end
111
+ code = _response.code.to_i
112
+ if code.between?(200, 299)
113
+ Square::Types::RetrieveTransferOrderResponse.load(_response.body)
114
+ else
115
+ error_class = Square::Errors::ResponseError.subclass_for_code(code)
116
+ raise error_class.new(_response.body, code: code)
117
+ end
118
+ end
119
+
120
+ # Updates an existing transfer order. This endpoint supports sparse updates,
121
+ # allowing you to modify specific fields without affecting others.
122
+ #
123
+ # Creates a [transfer_order.updated](webhook:transfer_order.updated) webhook event.
124
+ #
125
+ # @return [Square::Types::UpdateTransferOrderResponse]
126
+ def update(request_options: {}, **params)
127
+ _path_param_names = ["transfer_order_id"]
128
+
129
+ _request = Square::Internal::JSON::Request.new(
130
+ base_url: request_options[:base_url] || Square::Environment::PRODUCTION,
131
+ method: "PUT",
132
+ path: "v2/transfer-orders/#{params[:transfer_order_id]}",
133
+ body: params.except(*_path_param_names)
134
+ )
135
+ begin
136
+ _response = @client.send(_request)
137
+ rescue Net::HTTPRequestTimeout
138
+ raise Square::Errors::TimeoutError
139
+ end
140
+ code = _response.code.to_i
141
+ if code.between?(200, 299)
142
+ Square::Types::UpdateTransferOrderResponse.load(_response.body)
143
+ else
144
+ error_class = Square::Errors::ResponseError.subclass_for_code(code)
145
+ raise error_class.new(_response.body, code: code)
146
+ end
147
+ end
148
+
149
+ # Deletes a transfer order in [DRAFT](entity:TransferOrderStatus) status.
150
+ # Only draft orders can be deleted. Once an order is started via
151
+ # [StartTransferOrder](api-endpoint:TransferOrders-StartTransferOrder), it can no longer be deleted.
152
+ #
153
+ # Creates a [transfer_order.deleted](webhook:transfer_order.deleted) webhook event.
154
+ #
155
+ # @return [Square::Types::DeleteTransferOrderResponse]
156
+ def delete(request_options: {}, **params)
157
+ params = Square::Internal::Types::Utils.symbolize_keys(params)
158
+ _query_param_names = %i[version]
159
+ _query = params.slice(*_query_param_names)
160
+ params = params.except(*_query_param_names)
161
+
162
+ _request = Square::Internal::JSON::Request.new(
163
+ base_url: request_options[:base_url] || Square::Environment::PRODUCTION,
164
+ method: "DELETE",
165
+ path: "v2/transfer-orders/#{params[:transfer_order_id]}",
166
+ query: _query
167
+ )
168
+ begin
169
+ _response = @client.send(_request)
170
+ rescue Net::HTTPRequestTimeout
171
+ raise Square::Errors::TimeoutError
172
+ end
173
+ code = _response.code.to_i
174
+ if code.between?(200, 299)
175
+ Square::Types::DeleteTransferOrderResponse.load(_response.body)
176
+ else
177
+ error_class = Square::Errors::ResponseError.subclass_for_code(code)
178
+ raise error_class.new(_response.body, code: code)
179
+ end
180
+ end
181
+
182
+ # Cancels a transfer order in [STARTED](entity:TransferOrderStatus) or
183
+ # [PARTIALLY_RECEIVED](entity:TransferOrderStatus) status. Any unreceived quantities will no
184
+ # longer be receivable and will be immediately returned to the source [Location](entity:Location)'s inventory.
185
+ #
186
+ # Common reasons for cancellation:
187
+ # - Items no longer needed at destination
188
+ # - Source location needs the inventory
189
+ # - Order created in error
190
+ #
191
+ # Creates a [transfer_order.updated](webhook:transfer_order.updated) webhook event.
192
+ #
193
+ # @return [Square::Types::CancelTransferOrderResponse]
194
+ def cancel(request_options: {}, **params)
195
+ _path_param_names = ["transfer_order_id"]
196
+
197
+ _request = Square::Internal::JSON::Request.new(
198
+ base_url: request_options[:base_url] || Square::Environment::PRODUCTION,
199
+ method: "POST",
200
+ path: "v2/transfer-orders/#{params[:transfer_order_id]}/cancel",
201
+ body: params.except(*_path_param_names)
202
+ )
203
+ begin
204
+ _response = @client.send(_request)
205
+ rescue Net::HTTPRequestTimeout
206
+ raise Square::Errors::TimeoutError
207
+ end
208
+ code = _response.code.to_i
209
+ if code.between?(200, 299)
210
+ Square::Types::CancelTransferOrderResponse.load(_response.body)
211
+ else
212
+ error_class = Square::Errors::ResponseError.subclass_for_code(code)
213
+ raise error_class.new(_response.body, code: code)
214
+ end
215
+ end
216
+
217
+ # Records receipt of [CatalogItemVariation](entity:CatalogItemVariation)s for a transfer order.
218
+ # This endpoint supports partial receiving - you can receive items in multiple batches.
219
+ #
220
+ # For each line item, you can specify:
221
+ # - Quantity received in good condition (added to destination inventory with [InventoryState](entity:InventoryState) of IN_STOCK)
222
+ # - Quantity damaged during transit/handling (added to destination inventory with [InventoryState](entity:InventoryState) of WASTE)
223
+ # - Quantity canceled (returned to source location's inventory)
224
+ #
225
+ # The order must be in [STARTED](entity:TransferOrderStatus) or [PARTIALLY_RECEIVED](entity:TransferOrderStatus) status.
226
+ # Received quantities are added to the destination [Location](entity:Location)'s inventory according to their condition.
227
+ # Canceled quantities are immediately returned to the source [Location](entity:Location)'s inventory.
228
+ #
229
+ # When all items are either received, damaged, or canceled, the order moves to
230
+ # [COMPLETED](entity:TransferOrderStatus) status.
231
+ #
232
+ # Creates a [transfer_order.updated](webhook:transfer_order.updated) webhook event.
233
+ #
234
+ # @return [Square::Types::ReceiveTransferOrderResponse]
235
+ def receive(request_options: {}, **params)
236
+ _path_param_names = ["transfer_order_id"]
237
+
238
+ _request = Square::Internal::JSON::Request.new(
239
+ base_url: request_options[:base_url] || Square::Environment::PRODUCTION,
240
+ method: "POST",
241
+ path: "v2/transfer-orders/#{params[:transfer_order_id]}/receive",
242
+ body: params.except(*_path_param_names)
243
+ )
244
+ begin
245
+ _response = @client.send(_request)
246
+ rescue Net::HTTPRequestTimeout
247
+ raise Square::Errors::TimeoutError
248
+ end
249
+ code = _response.code.to_i
250
+ if code.between?(200, 299)
251
+ Square::Types::ReceiveTransferOrderResponse.load(_response.body)
252
+ else
253
+ error_class = Square::Errors::ResponseError.subclass_for_code(code)
254
+ raise error_class.new(_response.body, code: code)
255
+ end
256
+ end
257
+
258
+ # Changes a [DRAFT](entity:TransferOrderStatus) transfer order to [STARTED](entity:TransferOrderStatus) status.
259
+ # This decrements inventory at the source [Location](entity:Location) and marks it as in-transit.
260
+ #
261
+ # The order must be in [DRAFT](entity:TransferOrderStatus) status and have all required fields populated.
262
+ # Once started, the order can no longer be deleted, but it can be canceled via
263
+ # [CancelTransferOrder](api-endpoint:TransferOrders-CancelTransferOrder).
264
+ #
265
+ # Creates a [transfer_order.updated](webhook:transfer_order.updated) webhook event.
266
+ #
267
+ # @return [Square::Types::StartTransferOrderResponse]
268
+ def start(request_options: {}, **params)
269
+ _path_param_names = ["transfer_order_id"]
270
+
271
+ _request = Square::Internal::JSON::Request.new(
272
+ base_url: request_options[:base_url] || Square::Environment::PRODUCTION,
273
+ method: "POST",
274
+ path: "v2/transfer-orders/#{params[:transfer_order_id]}/start",
275
+ body: params.except(*_path_param_names)
276
+ )
277
+ begin
278
+ _response = @client.send(_request)
279
+ rescue Net::HTTPRequestTimeout
280
+ raise Square::Errors::TimeoutError
281
+ end
282
+ code = _response.code.to_i
283
+ if code.between?(200, 299)
284
+ Square::Types::StartTransferOrderResponse.load(_response.body)
285
+ else
286
+ error_class = Square::Errors::ResponseError.subclass_for_code(code)
287
+ raise error_class.new(_response.body, code: code)
288
+ end
289
+ end
290
+ end
291
+ end
292
+ end
@@ -0,0 +1,13 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Square
4
+ module TransferOrders
5
+ module Types
6
+ class CancelTransferOrderRequest < Internal::Types::Model
7
+ field :transfer_order_id, -> { String }, optional: false, nullable: false
8
+ field :idempotency_key, -> { String }, optional: false, nullable: false
9
+ field :version, -> { Integer }, optional: true, nullable: false
10
+ end
11
+ end
12
+ end
13
+ end
@@ -0,0 +1,12 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Square
4
+ module TransferOrders
5
+ module Types
6
+ class CreateTransferOrderRequest < Internal::Types::Model
7
+ field :idempotency_key, -> { String }, optional: false, nullable: false
8
+ field :transfer_order, -> { Square::Types::CreateTransferOrderData }, optional: false, nullable: false
9
+ end
10
+ end
11
+ end
12
+ end
@@ -0,0 +1,12 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Square
4
+ module TransferOrders
5
+ module Types
6
+ class DeleteTransferOrdersRequest < Internal::Types::Model
7
+ field :transfer_order_id, -> { String }, optional: false, nullable: false
8
+ field :version, -> { Integer }, optional: true, nullable: false
9
+ end
10
+ end
11
+ end
12
+ end
@@ -0,0 +1,11 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Square
4
+ module TransferOrders
5
+ module Types
6
+ class GetTransferOrdersRequest < Internal::Types::Model
7
+ field :transfer_order_id, -> { String }, optional: false, nullable: false
8
+ end
9
+ end
10
+ end
11
+ end
@@ -0,0 +1,14 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Square
4
+ module TransferOrders
5
+ module Types
6
+ class ReceiveTransferOrderRequest < Internal::Types::Model
7
+ field :transfer_order_id, -> { String }, optional: false, nullable: false
8
+ field :idempotency_key, -> { String }, optional: false, nullable: false
9
+ field :receipt, -> { Square::Types::TransferOrderGoodsReceipt }, optional: false, nullable: false
10
+ field :version, -> { Integer }, optional: true, nullable: false
11
+ end
12
+ end
13
+ end
14
+ end
@@ -0,0 +1,13 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Square
4
+ module TransferOrders
5
+ module Types
6
+ class SearchTransferOrdersRequest < Internal::Types::Model
7
+ field :query, -> { Square::Types::TransferOrderQuery }, optional: true, nullable: false
8
+ field :cursor, -> { String }, optional: true, nullable: false
9
+ field :limit, -> { Integer }, optional: true, nullable: false
10
+ end
11
+ end
12
+ end
13
+ end
@@ -0,0 +1,13 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Square
4
+ module TransferOrders
5
+ module Types
6
+ class StartTransferOrderRequest < Internal::Types::Model
7
+ field :transfer_order_id, -> { String }, optional: false, nullable: false
8
+ field :idempotency_key, -> { String }, optional: false, nullable: false
9
+ field :version, -> { Integer }, optional: true, nullable: false
10
+ end
11
+ end
12
+ end
13
+ end
@@ -0,0 +1,14 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Square
4
+ module TransferOrders
5
+ module Types
6
+ class UpdateTransferOrderRequest < Internal::Types::Model
7
+ field :transfer_order_id, -> { String }, optional: false, nullable: false
8
+ field :idempotency_key, -> { String }, optional: false, nullable: false
9
+ field :transfer_order, -> { Square::Types::UpdateTransferOrderData }, optional: false, nullable: false
10
+ field :version, -> { Integer }, optional: true, nullable: false
11
+ end
12
+ end
13
+ end
14
+ end
@@ -3,7 +3,8 @@
3
3
  module Square
4
4
  module Types
5
5
  # Represents a postal address in a country.
6
- # For more information, see [Working with Addresses](https://developer.squareup.com/docs/build-basics/working-with-addresses).
6
+ # For more information, see [Working with
7
+ # Addresses](https://developer.squareup.com/docs/build-basics/working-with-addresses).
7
8
  class Address < Internal::Types::Model
8
9
  field :address_line_1, -> { String }, optional: true, nullable: false
9
10
  field :address_line_2, -> { String }, optional: true, nullable: false
@@ -4,9 +4,7 @@ module Square
4
4
  module Types
5
5
  # Details about the application that took the payment.
6
6
  class ApplicationDetails < Internal::Types::Model
7
- field :square_product, lambda {
8
- Square::Types::ApplicationDetailsExternalSquareProduct
9
- }, optional: true, nullable: false
7
+ field :square_product, -> { Square::Types::ApplicationDetailsExternalSquareProduct }, optional: true, nullable: false
10
8
  field :application_id, -> { String }, optional: true, nullable: false
11
9
  end
12
10
  end
@@ -0,0 +1,23 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Square
4
+ module Types
5
+ module ApplicationType
6
+ # ApplicationType is an alias for Object
7
+
8
+ # @option str [String]
9
+ #
10
+ # @return [untyped]
11
+ def self.load(str)
12
+ ::JSON.parse(str)
13
+ end
14
+
15
+ # @option value [untyped]
16
+ #
17
+ # @return [String]
18
+ def self.dump(value)
19
+ ::JSON.generate(value)
20
+ end
21
+ end
22
+ end
23
+ end
@@ -2,13 +2,12 @@
2
2
 
3
3
  module Square
4
4
  module Types
5
- # Defines an appointment slot that encapsulates the appointment segments, location and starting time available for booking.
5
+ # Defines an appointment slot that encapsulates the appointment segments, location and starting time available for
6
+ # booking.
6
7
  class Availability < Internal::Types::Model
7
8
  field :start_at, -> { String }, optional: true, nullable: false
8
9
  field :location_id, -> { String }, optional: true, nullable: false
9
- field :appointment_segments, lambda {
10
- Internal::Types::Array[Square::Types::AppointmentSegment]
11
- }, optional: true, nullable: false
10
+ field :appointment_segments, -> { Internal::Types::Array[Square::Types::AppointmentSegment] }, optional: true, nullable: false
12
11
  end
13
12
  end
14
13
  end
@@ -23,6 +23,7 @@ module Square
23
23
  field :fingerprint, -> { String }, optional: true, nullable: false
24
24
  field :version, -> { Integer }, optional: true, nullable: false
25
25
  field :bank_name, -> { String }, optional: true, nullable: false
26
+ field :customer_id, -> { String }, optional: true, nullable: false
26
27
  end
27
28
  end
28
29
  end