square.rb 44.0.0.0 → 44.0.1.20250820

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 (268) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +62 -9
  3. data/lib/square/apple_pay/client.rb +12 -6
  4. data/lib/square/bank_accounts/client.rb +40 -19
  5. data/lib/square/bookings/client.rb +124 -62
  6. data/lib/square/bookings/custom_attribute_definitions/client.rb +68 -32
  7. data/lib/square/bookings/custom_attributes/client.rb +80 -38
  8. data/lib/square/bookings/location_profiles/client.rb +16 -7
  9. data/lib/square/bookings/team_member_profiles/client.rb +28 -13
  10. data/lib/square/cards/client.rb +53 -24
  11. data/lib/square/cash_drawers/shifts/client.rb +48 -21
  12. data/lib/square/catalog/client.rb +112 -55
  13. data/lib/square/catalog/images/client.rb +22 -10
  14. data/lib/square/catalog/object/client.rb +40 -19
  15. data/lib/square/catalog/object/types/delete_object_request.rb +1 -1
  16. data/lib/square/catalog/object/types/get_object_request.rb +1 -1
  17. data/lib/square/checkout/client.rb +48 -24
  18. data/lib/square/checkout/payment_links/client.rb +64 -31
  19. data/lib/square/client.rb +1 -1
  20. data/lib/square/customers/cards/client.rb +24 -12
  21. data/lib/square/customers/client.rb +128 -62
  22. data/lib/square/customers/custom_attribute_definitions/client.rb +80 -38
  23. data/lib/square/customers/custom_attributes/client.rb +56 -26
  24. data/lib/square/customers/groups/client.rb +88 -43
  25. data/lib/square/customers/segments/client.rb +28 -13
  26. data/lib/square/devices/client.rb +28 -13
  27. data/lib/square/devices/codes/client.rb +40 -19
  28. data/lib/square/disputes/client.rb +75 -36
  29. data/lib/square/disputes/evidence/client.rb +40 -19
  30. data/lib/square/employees/client.rb +28 -13
  31. data/lib/square/errors/api_error.rb +8 -0
  32. data/lib/square/errors/client_error.rb +17 -0
  33. data/lib/square/errors/redirect_error.rb +8 -0
  34. data/lib/square/errors/response_error.rb +42 -0
  35. data/lib/square/errors/server_error.rb +11 -0
  36. data/lib/square/errors/timeout_error.rb +8 -0
  37. data/lib/square/events/client.rb +52 -25
  38. data/lib/square/gift_cards/activities/client.rb +28 -14
  39. data/lib/square/gift_cards/client.rb +88 -43
  40. data/lib/square/inventory/client.rb +164 -80
  41. data/lib/square/invoices/client.rb +127 -61
  42. data/lib/square/labor/break_types/client.rb +64 -31
  43. data/lib/square/labor/client.rb +132 -66
  44. data/lib/square/labor/employee_wages/client.rb +28 -13
  45. data/lib/square/labor/shifts/client.rb +60 -30
  46. data/lib/square/labor/team_member_wages/client.rb +28 -13
  47. data/lib/square/labor/workweek_configs/client.rb +28 -13
  48. data/lib/square/locations/client.rb +60 -30
  49. data/lib/square/locations/custom_attribute_definitions/client.rb +68 -32
  50. data/lib/square/locations/custom_attributes/client.rb +80 -38
  51. data/lib/square/locations/transactions/client.rb +52 -25
  52. data/lib/square/loyalty/accounts/client.rb +60 -30
  53. data/lib/square/loyalty/client.rb +12 -6
  54. data/lib/square/loyalty/programs/client.rb +36 -18
  55. data/lib/square/loyalty/programs/promotions/client.rb +52 -25
  56. data/lib/square/loyalty/rewards/client.rb +60 -30
  57. data/lib/square/merchants/client.rb +28 -13
  58. data/lib/square/merchants/custom_attribute_definitions/client.rb +68 -32
  59. data/lib/square/merchants/custom_attributes/client.rb +80 -38
  60. data/lib/square/mobile/client.rb +12 -6
  61. data/lib/square/o_auth/client.rb +46 -22
  62. data/lib/square/orders/client.rb +98 -46
  63. data/lib/square/orders/custom_attribute_definitions/client.rb +68 -32
  64. data/lib/square/orders/custom_attributes/client.rb +80 -38
  65. data/lib/square/payments/client.rb +90 -44
  66. data/lib/square/payouts/client.rb +44 -20
  67. data/lib/square/refunds/client.rb +42 -20
  68. data/lib/square/sites/client.rb +12 -6
  69. data/lib/square/snippets/client.rb +36 -18
  70. data/lib/square/subscriptions/client.rb +153 -73
  71. data/lib/square/team/client.rb +53 -24
  72. data/lib/square/team_members/client.rb +72 -36
  73. data/lib/square/team_members/wage_setting/client.rb +24 -12
  74. data/lib/square/terminal/actions/client.rb +48 -24
  75. data/lib/square/terminal/checkouts/client.rb +48 -24
  76. data/lib/square/terminal/client.rb +36 -18
  77. data/lib/square/terminal/refunds/client.rb +48 -24
  78. data/lib/square/types/action_cancel_reason.rb +2 -1
  79. data/lib/square/types/activity_type.rb +2 -1
  80. data/lib/square/types/application_details_external_square_product.rb +2 -1
  81. data/lib/square/types/archived_state.rb +2 -1
  82. data/lib/square/types/bank_account_status.rb +2 -1
  83. data/lib/square/types/bank_account_type.rb +2 -1
  84. data/lib/square/types/booking_booking_source.rb +2 -1
  85. data/lib/square/types/booking_creator_details_creator_type.rb +2 -1
  86. data/lib/square/types/booking_status.rb +2 -1
  87. data/lib/square/types/business_appointment_settings_alignment_time.rb +2 -1
  88. data/lib/square/types/business_appointment_settings_booking_location_type.rb +2 -1
  89. data/lib/square/types/business_appointment_settings_cancellation_policy.rb +2 -1
  90. data/lib/square/types/business_appointment_settings_max_appointments_per_day_limit_type.rb +2 -1
  91. data/lib/square/types/business_booking_profile_booking_policy.rb +2 -1
  92. data/lib/square/types/business_booking_profile_customer_timezone_choice.rb +2 -1
  93. data/lib/square/types/card_brand.rb +2 -1
  94. data/lib/square/types/card_co_brand.rb +2 -1
  95. data/lib/square/types/card_prepaid_type.rb +2 -1
  96. data/lib/square/types/card_type.rb +2 -1
  97. data/lib/square/types/cash_drawer_event_type.rb +2 -1
  98. data/lib/square/types/cash_drawer_shift_state.rb +2 -1
  99. data/lib/square/types/catalog_category_type.rb +2 -1
  100. data/lib/square/types/catalog_custom_attribute_definition_app_visibility.rb +2 -1
  101. data/lib/square/types/catalog_custom_attribute_definition_seller_visibility.rb +2 -1
  102. data/lib/square/types/catalog_custom_attribute_definition_type.rb +2 -1
  103. data/lib/square/types/catalog_discount_modify_tax_basis.rb +2 -1
  104. data/lib/square/types/catalog_discount_type.rb +2 -1
  105. data/lib/square/types/catalog_id_mapping.rb +1 -1
  106. data/lib/square/types/catalog_item_food_and_beverage_details_dietary_preference_standard_dietary_preference.rb +2 -1
  107. data/lib/square/types/catalog_item_food_and_beverage_details_dietary_preference_type.rb +2 -1
  108. data/lib/square/types/catalog_item_food_and_beverage_details_ingredient_standard_ingredient.rb +2 -1
  109. data/lib/square/types/catalog_item_product_type.rb +2 -1
  110. data/lib/square/types/catalog_modifier_list_modifier_type.rb +2 -1
  111. data/lib/square/types/catalog_modifier_list_selection_type.rb +2 -1
  112. data/lib/square/types/catalog_object_reference.rb +1 -1
  113. data/lib/square/types/catalog_object_type.rb +2 -1
  114. data/lib/square/types/catalog_pricing_type.rb +2 -1
  115. data/lib/square/types/catalog_quick_amount_type.rb +2 -1
  116. data/lib/square/types/catalog_quick_amounts_settings_option.rb +2 -1
  117. data/lib/square/types/change_timing.rb +2 -1
  118. data/lib/square/types/checkout_location_settings_branding_button_shape.rb +2 -1
  119. data/lib/square/types/checkout_location_settings_branding_header_type.rb +2 -1
  120. data/lib/square/types/checkout_options_payment_type.rb +2 -1
  121. data/lib/square/types/component_component_type.rb +2 -1
  122. data/lib/square/types/country.rb +2 -1
  123. data/lib/square/types/create_catalog_image_request.rb +1 -1
  124. data/lib/square/types/currency.rb +2 -1
  125. data/lib/square/types/custom_attribute_definition_visibility.rb +2 -1
  126. data/lib/square/types/customer_creation_source.rb +2 -1
  127. data/lib/square/types/customer_inclusion_exclusion.rb +2 -1
  128. data/lib/square/types/customer_sort_field.rb +2 -1
  129. data/lib/square/types/data_collection_options_input_type.rb +2 -1
  130. data/lib/square/types/day_of_week.rb +2 -1
  131. data/lib/square/types/destination_type.rb +2 -1
  132. data/lib/square/types/device_code_status.rb +2 -1
  133. data/lib/square/types/device_component_details_external_power.rb +2 -1
  134. data/lib/square/types/device_status_category.rb +2 -1
  135. data/lib/square/types/dispute_evidence_type.rb +2 -1
  136. data/lib/square/types/dispute_reason.rb +2 -1
  137. data/lib/square/types/dispute_state.rb +2 -1
  138. data/lib/square/types/ecom_visibility.rb +2 -1
  139. data/lib/square/types/employee_status.rb +2 -1
  140. data/lib/square/types/error_category.rb +2 -1
  141. data/lib/square/types/error_code.rb +2 -1
  142. data/lib/square/types/exclude_strategy.rb +2 -1
  143. data/lib/square/types/fulfillment_delivery_details_order_fulfillment_delivery_details_schedule_type.rb +2 -1
  144. data/lib/square/types/fulfillment_fulfillment_line_item_application.rb +2 -1
  145. data/lib/square/types/fulfillment_pickup_details_schedule_type.rb +2 -1
  146. data/lib/square/types/fulfillment_state.rb +2 -1
  147. data/lib/square/types/fulfillment_type.rb +2 -1
  148. data/lib/square/types/gift_card_activity_adjust_decrement_reason.rb +2 -1
  149. data/lib/square/types/gift_card_activity_adjust_increment_reason.rb +2 -1
  150. data/lib/square/types/gift_card_activity_clear_balance_reason.rb +2 -1
  151. data/lib/square/types/gift_card_activity_deactivate_reason.rb +2 -1
  152. data/lib/square/types/gift_card_activity_redeem_status.rb +2 -1
  153. data/lib/square/types/gift_card_activity_type.rb +2 -1
  154. data/lib/square/types/gift_card_gan_source.rb +2 -1
  155. data/lib/square/types/gift_card_status.rb +2 -1
  156. data/lib/square/types/gift_card_type.rb +2 -1
  157. data/lib/square/types/inventory_alert_type.rb +2 -1
  158. data/lib/square/types/inventory_change_type.rb +2 -1
  159. data/lib/square/types/inventory_state.rb +2 -1
  160. data/lib/square/types/invoice_attachment.rb +1 -1
  161. data/lib/square/types/invoice_automatic_payment_source.rb +2 -1
  162. data/lib/square/types/invoice_custom_field_placement.rb +2 -1
  163. data/lib/square/types/invoice_delivery_method.rb +2 -1
  164. data/lib/square/types/invoice_payment_reminder_status.rb +2 -1
  165. data/lib/square/types/invoice_request_method.rb +2 -1
  166. data/lib/square/types/invoice_request_type.rb +2 -1
  167. data/lib/square/types/invoice_status.rb +2 -1
  168. data/lib/square/types/job_assignment_pay_type.rb +2 -1
  169. data/lib/square/types/list_payment_refunds_request_sort_field.rb +2 -1
  170. data/lib/square/types/list_payments_request_sort_field.rb +2 -1
  171. data/lib/square/types/location_capability.rb +2 -1
  172. data/lib/square/types/location_status.rb +2 -1
  173. data/lib/square/types/location_type.rb +2 -1
  174. data/lib/square/types/loyalty_event_source.rb +2 -1
  175. data/lib/square/types/loyalty_event_type.rb +2 -1
  176. data/lib/square/types/loyalty_program_accrual_rule_tax_mode.rb +2 -1
  177. data/lib/square/types/loyalty_program_accrual_rule_type.rb +2 -1
  178. data/lib/square/types/loyalty_program_status.rb +2 -1
  179. data/lib/square/types/loyalty_promotion_incentive_type.rb +2 -1
  180. data/lib/square/types/loyalty_promotion_status.rb +2 -1
  181. data/lib/square/types/loyalty_promotion_trigger_limit_interval.rb +2 -1
  182. data/lib/square/types/loyalty_reward_status.rb +2 -1
  183. data/lib/square/types/measurement_unit_area.rb +2 -1
  184. data/lib/square/types/measurement_unit_length.rb +2 -1
  185. data/lib/square/types/measurement_unit_time.rb +2 -1
  186. data/lib/square/types/measurement_unit_unit_type.rb +2 -1
  187. data/lib/square/types/measurement_unit_volume.rb +2 -1
  188. data/lib/square/types/measurement_unit_weight.rb +2 -1
  189. data/lib/square/types/merchant_status.rb +2 -1
  190. data/lib/square/types/oauth_authorization_revoked_event_revoker_type.rb +2 -1
  191. data/lib/square/types/order_fulfillment_delivery_details_schedule_type.rb +2 -1
  192. data/lib/square/types/order_fulfillment_fulfillment_line_item_application.rb +2 -1
  193. data/lib/square/types/order_fulfillment_pickup_details_schedule_type.rb +2 -1
  194. data/lib/square/types/order_fulfillment_state.rb +2 -1
  195. data/lib/square/types/order_fulfillment_type.rb +2 -1
  196. data/lib/square/types/order_line_item_discount_scope.rb +2 -1
  197. data/lib/square/types/order_line_item_discount_type.rb +2 -1
  198. data/lib/square/types/order_line_item_item_type.rb +2 -1
  199. data/lib/square/types/order_line_item_tax_scope.rb +2 -1
  200. data/lib/square/types/order_line_item_tax_type.rb +2 -1
  201. data/lib/square/types/order_service_charge_calculation_phase.rb +2 -1
  202. data/lib/square/types/order_service_charge_scope.rb +2 -1
  203. data/lib/square/types/order_service_charge_treatment_type.rb +2 -1
  204. data/lib/square/types/order_service_charge_type.rb +2 -1
  205. data/lib/square/types/order_state.rb +2 -1
  206. data/lib/square/types/payment_options_delay_action.rb +2 -1
  207. data/lib/square/types/payout_fee_type.rb +2 -1
  208. data/lib/square/types/payout_status.rb +2 -1
  209. data/lib/square/types/payout_type.rb +2 -1
  210. data/lib/square/types/product.rb +2 -1
  211. data/lib/square/types/refund_status.rb +2 -1
  212. data/lib/square/types/register_domain_response_status.rb +2 -1
  213. data/lib/square/types/risk_evaluation_risk_level.rb +2 -1
  214. data/lib/square/types/scheduled_shift_filter_assignment_status.rb +2 -1
  215. data/lib/square/types/scheduled_shift_filter_scheduled_shift_status.rb +2 -1
  216. data/lib/square/types/scheduled_shift_notification_audience.rb +2 -1
  217. data/lib/square/types/scheduled_shift_sort_field.rb +2 -1
  218. data/lib/square/types/scheduled_shift_workday_matcher.rb +2 -1
  219. data/lib/square/types/search_catalog_items_request_stock_level.rb +2 -1
  220. data/lib/square/types/search_orders_sort_field.rb +2 -1
  221. data/lib/square/types/search_vendors_request_sort_field.rb +2 -1
  222. data/lib/square/types/shift_filter_status.rb +2 -1
  223. data/lib/square/types/shift_sort_field.rb +2 -1
  224. data/lib/square/types/shift_status.rb +2 -1
  225. data/lib/square/types/shift_workday_matcher.rb +2 -1
  226. data/lib/square/types/sort_order.rb +2 -1
  227. data/lib/square/types/subscription_action_type.rb +2 -1
  228. data/lib/square/types/subscription_cadence.rb +2 -1
  229. data/lib/square/types/subscription_event_info_code.rb +2 -1
  230. data/lib/square/types/subscription_event_subscription_event_type.rb +2 -1
  231. data/lib/square/types/subscription_pricing_type.rb +2 -1
  232. data/lib/square/types/subscription_status.rb +2 -1
  233. data/lib/square/types/tax_calculation_phase.rb +2 -1
  234. data/lib/square/types/tax_inclusion_type.rb +2 -1
  235. data/lib/square/types/team_member_assigned_locations_assignment_type.rb +2 -1
  236. data/lib/square/types/team_member_invitation_status.rb +2 -1
  237. data/lib/square/types/team_member_status.rb +2 -1
  238. data/lib/square/types/tender_bank_account_details_status.rb +2 -1
  239. data/lib/square/types/tender_buy_now_pay_later_details_brand.rb +2 -1
  240. data/lib/square/types/tender_buy_now_pay_later_details_status.rb +2 -1
  241. data/lib/square/types/tender_card_details_entry_method.rb +2 -1
  242. data/lib/square/types/tender_card_details_status.rb +2 -1
  243. data/lib/square/types/tender_square_account_details_status.rb +2 -1
  244. data/lib/square/types/tender_type.rb +2 -1
  245. data/lib/square/types/terminal_action_action_type.rb +2 -1
  246. data/lib/square/types/timecard_filter_status.rb +2 -1
  247. data/lib/square/types/timecard_sort_field.rb +2 -1
  248. data/lib/square/types/timecard_status.rb +2 -1
  249. data/lib/square/types/timecard_workday_matcher.rb +2 -1
  250. data/lib/square/types/transaction_product.rb +2 -1
  251. data/lib/square/types/transaction_type.rb +2 -1
  252. data/lib/square/types/v_1_order_history_entry_action.rb +2 -1
  253. data/lib/square/types/v_1_order_state.rb +2 -1
  254. data/lib/square/types/v_1_tender_card_brand.rb +2 -1
  255. data/lib/square/types/v_1_tender_entry_method.rb +2 -1
  256. data/lib/square/types/v_1_tender_type.rb +2 -1
  257. data/lib/square/types/v_1_update_order_request_action.rb +2 -1
  258. data/lib/square/types/vendor_status.rb +2 -1
  259. data/lib/square/types/visibility_filter.rb +2 -1
  260. data/lib/square/types/weekday.rb +2 -1
  261. data/lib/square/v_1_transactions/client.rb +40 -15
  262. data/lib/square/vendors/client.rb +84 -42
  263. data/lib/square/version.rb +5 -0
  264. data/lib/square/webhooks/event_types/client.rb +16 -7
  265. data/lib/square/webhooks/subscriptions/client.rb +88 -43
  266. data/lib/square.rb +7 -6
  267. data/test/square/integration/client_tests/test_catalog.rb +3 -0
  268. metadata +11 -4
@@ -19,17 +19,23 @@ module Square
19
19
  # @return [Square::Types::CreateOrderResponse]
20
20
  def create(request_options: {}, **params)
21
21
  _request = Square::Internal::JSON::Request.new(
22
- base_url: request_options[:base_url] || Square::Environment::SANDBOX,
22
+ base_url: request_options[:base_url] || Square::Environment::PRODUCTION,
23
23
  method: "POST",
24
24
  path: "v2/orders",
25
25
  body: Square::Types::CreateOrderRequest.new(params).to_h
26
26
  )
27
- _response = @client.send(_request)
28
- if _response.code >= "200" && _response.code < "300"
29
- return Square::Types::CreateOrderResponse.load(_response.body)
27
+ begin
28
+ _response = @client.send(_request)
29
+ rescue Net::HTTPRequestTimeout
30
+ raise Square::Errors::TimeoutError
31
+ end
32
+ code = _response.code.to_i
33
+ if code.between?(200, 299)
34
+ Square::Types::CreateOrderResponse.load(_response.body)
35
+ else
36
+ error_class = Square::Errors::ResponseError.subclass_for_code(code)
37
+ raise error_class.new(_response.body, code: code)
30
38
  end
31
-
32
- raise _response.body
33
39
  end
34
40
 
35
41
  # Retrieves a set of [orders](entity:Order) by their IDs.
@@ -39,17 +45,23 @@ module Square
39
45
  # @return [Square::Types::BatchGetOrdersResponse]
40
46
  def batch_get(request_options: {}, **params)
41
47
  _request = Square::Internal::JSON::Request.new(
42
- base_url: request_options[:base_url] || Square::Environment::SANDBOX,
48
+ base_url: request_options[:base_url] || Square::Environment::PRODUCTION,
43
49
  method: "POST",
44
50
  path: "v2/orders/batch-retrieve",
45
51
  body: params
46
52
  )
47
- _response = @client.send(_request)
48
- if _response.code >= "200" && _response.code < "300"
49
- return Square::Types::BatchGetOrdersResponse.load(_response.body)
53
+ begin
54
+ _response = @client.send(_request)
55
+ rescue Net::HTTPRequestTimeout
56
+ raise Square::Errors::TimeoutError
57
+ end
58
+ code = _response.code.to_i
59
+ if code.between?(200, 299)
60
+ Square::Types::BatchGetOrdersResponse.load(_response.body)
61
+ else
62
+ error_class = Square::Errors::ResponseError.subclass_for_code(code)
63
+ raise error_class.new(_response.body, code: code)
50
64
  end
51
-
52
- raise _response.body
53
65
  end
54
66
 
55
67
  # Enables applications to preview order pricing without creating an order.
@@ -57,17 +69,23 @@ module Square
57
69
  # @return [Square::Types::CalculateOrderResponse]
58
70
  def calculate(request_options: {}, **params)
59
71
  _request = Square::Internal::JSON::Request.new(
60
- base_url: request_options[:base_url] || Square::Environment::SANDBOX,
72
+ base_url: request_options[:base_url] || Square::Environment::PRODUCTION,
61
73
  method: "POST",
62
74
  path: "v2/orders/calculate",
63
75
  body: params
64
76
  )
65
- _response = @client.send(_request)
66
- if _response.code >= "200" && _response.code < "300"
67
- return Square::Types::CalculateOrderResponse.load(_response.body)
77
+ begin
78
+ _response = @client.send(_request)
79
+ rescue Net::HTTPRequestTimeout
80
+ raise Square::Errors::TimeoutError
81
+ end
82
+ code = _response.code.to_i
83
+ if code.between?(200, 299)
84
+ Square::Types::CalculateOrderResponse.load(_response.body)
85
+ else
86
+ error_class = Square::Errors::ResponseError.subclass_for_code(code)
87
+ raise error_class.new(_response.body, code: code)
68
88
  end
69
-
70
- raise _response.body
71
89
  end
72
90
 
73
91
  # Creates a new order, in the `DRAFT` state, by duplicating an existing order. The newly created order has
@@ -76,17 +94,23 @@ module Square
76
94
  # @return [Square::Types::CloneOrderResponse]
77
95
  def clone(request_options: {}, **params)
78
96
  _request = Square::Internal::JSON::Request.new(
79
- base_url: request_options[:base_url] || Square::Environment::SANDBOX,
97
+ base_url: request_options[:base_url] || Square::Environment::PRODUCTION,
80
98
  method: "POST",
81
99
  path: "v2/orders/clone",
82
100
  body: params
83
101
  )
84
- _response = @client.send(_request)
85
- if _response.code >= "200" && _response.code < "300"
86
- return Square::Types::CloneOrderResponse.load(_response.body)
102
+ begin
103
+ _response = @client.send(_request)
104
+ rescue Net::HTTPRequestTimeout
105
+ raise Square::Errors::TimeoutError
106
+ end
107
+ code = _response.code.to_i
108
+ if code.between?(200, 299)
109
+ Square::Types::CloneOrderResponse.load(_response.body)
110
+ else
111
+ error_class = Square::Errors::ResponseError.subclass_for_code(code)
112
+ raise error_class.new(_response.body, code: code)
87
113
  end
88
-
89
- raise _response.body
90
114
  end
91
115
 
92
116
  # Search all orders for one or more locations. Orders include all sales,
@@ -110,17 +134,23 @@ module Square
110
134
  # @return [Square::Types::SearchOrdersResponse]
111
135
  def search(request_options: {}, **params)
112
136
  _request = Square::Internal::JSON::Request.new(
113
- base_url: request_options[:base_url] || Square::Environment::SANDBOX,
137
+ base_url: request_options[:base_url] || Square::Environment::PRODUCTION,
114
138
  method: "POST",
115
139
  path: "v2/orders/search",
116
140
  body: params
117
141
  )
118
- _response = @client.send(_request)
119
- if _response.code >= "200" && _response.code < "300"
120
- return Square::Types::SearchOrdersResponse.load(_response.body)
142
+ begin
143
+ _response = @client.send(_request)
144
+ rescue Net::HTTPRequestTimeout
145
+ raise Square::Errors::TimeoutError
146
+ end
147
+ code = _response.code.to_i
148
+ if code.between?(200, 299)
149
+ Square::Types::SearchOrdersResponse.load(_response.body)
150
+ else
151
+ error_class = Square::Errors::ResponseError.subclass_for_code(code)
152
+ raise error_class.new(_response.body, code: code)
121
153
  end
122
-
123
- raise _response.body
124
154
  end
125
155
 
126
156
  # Retrieves an [Order](entity:Order) by ID.
@@ -128,14 +158,22 @@ module Square
128
158
  # @return [Square::Types::GetOrderResponse]
129
159
  def get(request_options: {}, **params)
130
160
  _request = Square::Internal::JSON::Request.new(
131
- base_url: request_options[:base_url] || Square::Environment::SANDBOX,
161
+ base_url: request_options[:base_url] || Square::Environment::PRODUCTION,
132
162
  method: "GET",
133
163
  path: "v2/orders/#{params[:order_id]}"
134
164
  )
135
- _response = @client.send(_request)
136
- return Square::Types::GetOrderResponse.load(_response.body) if _response.code >= "200" && _response.code < "300"
137
-
138
- raise _response.body
165
+ begin
166
+ _response = @client.send(_request)
167
+ rescue Net::HTTPRequestTimeout
168
+ raise Square::Errors::TimeoutError
169
+ end
170
+ code = _response.code.to_i
171
+ if code.between?(200, 299)
172
+ Square::Types::GetOrderResponse.load(_response.body)
173
+ else
174
+ error_class = Square::Errors::ResponseError.subclass_for_code(code)
175
+ raise error_class.new(_response.body, code: code)
176
+ end
139
177
  end
140
178
 
141
179
  # Updates an open [order](entity:Order) by adding, replacing, or deleting
@@ -159,17 +197,23 @@ module Square
159
197
  _path_param_names = ["order_id"]
160
198
 
161
199
  _request = Square::Internal::JSON::Request.new(
162
- base_url: request_options[:base_url] || Square::Environment::SANDBOX,
200
+ base_url: request_options[:base_url] || Square::Environment::PRODUCTION,
163
201
  method: "PUT",
164
202
  path: "v2/orders/#{params[:order_id]}",
165
203
  body: params.except(*_path_param_names)
166
204
  )
167
- _response = @client.send(_request)
168
- if _response.code >= "200" && _response.code < "300"
169
- return Square::Types::UpdateOrderResponse.load(_response.body)
205
+ begin
206
+ _response = @client.send(_request)
207
+ rescue Net::HTTPRequestTimeout
208
+ raise Square::Errors::TimeoutError
209
+ end
210
+ code = _response.code.to_i
211
+ if code.between?(200, 299)
212
+ Square::Types::UpdateOrderResponse.load(_response.body)
213
+ else
214
+ error_class = Square::Errors::ResponseError.subclass_for_code(code)
215
+ raise error_class.new(_response.body, code: code)
170
216
  end
171
-
172
- raise _response.body
173
217
  end
174
218
 
175
219
  # Pay for an [order](entity:Order) using one or more approved [payments](entity:Payment)
@@ -192,15 +236,23 @@ module Square
192
236
  _path_param_names = ["order_id"]
193
237
 
194
238
  _request = Square::Internal::JSON::Request.new(
195
- base_url: request_options[:base_url] || Square::Environment::SANDBOX,
239
+ base_url: request_options[:base_url] || Square::Environment::PRODUCTION,
196
240
  method: "POST",
197
241
  path: "v2/orders/#{params[:order_id]}/pay",
198
242
  body: params.except(*_path_param_names)
199
243
  )
200
- _response = @client.send(_request)
201
- return Square::Types::PayOrderResponse.load(_response.body) if _response.code >= "200" && _response.code < "300"
202
-
203
- raise _response.body
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::PayOrderResponse.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
204
256
  end
205
257
 
206
258
  # @return [Square::CustomAttributeDefinitions::Client]
@@ -18,22 +18,31 @@ module Square
18
18
  #
19
19
  # @return [Square::Types::ListOrderCustomAttributeDefinitionsResponse]
20
20
  def list(request_options: {}, **params)
21
- _query_param_names = %w[visibility_filter cursor limit]
21
+ _query_param_names = [
22
+ %w[visibility_filter cursor limit],
23
+ %i[visibility_filter cursor limit]
24
+ ].flatten
22
25
  _query = params.slice(*_query_param_names)
23
26
  params.except(*_query_param_names)
24
27
 
25
28
  _request = Square::Internal::JSON::Request.new(
26
- base_url: request_options[:base_url] || Square::Environment::SANDBOX,
29
+ base_url: request_options[:base_url] || Square::Environment::PRODUCTION,
27
30
  method: "GET",
28
31
  path: "v2/orders/custom-attribute-definitions",
29
32
  query: _query
30
33
  )
31
- _response = @client.send(_request)
32
- if _response.code >= "200" && _response.code < "300"
33
- return Square::Types::ListOrderCustomAttributeDefinitionsResponse.load(_response.body)
34
+ begin
35
+ _response = @client.send(_request)
36
+ rescue Net::HTTPRequestTimeout
37
+ raise Square::Errors::TimeoutError
38
+ end
39
+ code = _response.code.to_i
40
+ if code.between?(200, 299)
41
+ Square::Types::ListOrderCustomAttributeDefinitionsResponse.load(_response.body)
42
+ else
43
+ error_class = Square::Errors::ResponseError.subclass_for_code(code)
44
+ raise error_class.new(_response.body, code: code)
34
45
  end
35
-
36
- raise _response.body
37
46
  end
38
47
 
39
48
  # Creates an order-related custom attribute definition. Use this endpoint to
@@ -45,17 +54,23 @@ module Square
45
54
  # @return [Square::Types::CreateOrderCustomAttributeDefinitionResponse]
46
55
  def create(request_options: {}, **params)
47
56
  _request = Square::Internal::JSON::Request.new(
48
- base_url: request_options[:base_url] || Square::Environment::SANDBOX,
57
+ base_url: request_options[:base_url] || Square::Environment::PRODUCTION,
49
58
  method: "POST",
50
59
  path: "v2/orders/custom-attribute-definitions",
51
60
  body: params
52
61
  )
53
- _response = @client.send(_request)
54
- if _response.code >= "200" && _response.code < "300"
55
- return Square::Types::CreateOrderCustomAttributeDefinitionResponse.load(_response.body)
62
+ begin
63
+ _response = @client.send(_request)
64
+ rescue Net::HTTPRequestTimeout
65
+ raise Square::Errors::TimeoutError
66
+ end
67
+ code = _response.code.to_i
68
+ if code.between?(200, 299)
69
+ Square::Types::CreateOrderCustomAttributeDefinitionResponse.load(_response.body)
70
+ else
71
+ error_class = Square::Errors::ResponseError.subclass_for_code(code)
72
+ raise error_class.new(_response.body, code: code)
56
73
  end
57
-
58
- raise _response.body
59
74
  end
60
75
 
61
76
  # Retrieves an order-related [custom attribute definition](entity:CustomAttributeDefinition) from a Square seller account.
@@ -66,22 +81,31 @@ module Square
66
81
  #
67
82
  # @return [Square::Types::RetrieveOrderCustomAttributeDefinitionResponse]
68
83
  def get(request_options: {}, **params)
69
- _query_param_names = ["version"]
84
+ _query_param_names = [
85
+ ["version"],
86
+ %i[version]
87
+ ].flatten
70
88
  _query = params.slice(*_query_param_names)
71
89
  params = params.except(*_query_param_names)
72
90
 
73
91
  _request = Square::Internal::JSON::Request.new(
74
- base_url: request_options[:base_url] || Square::Environment::SANDBOX,
92
+ base_url: request_options[:base_url] || Square::Environment::PRODUCTION,
75
93
  method: "GET",
76
94
  path: "v2/orders/custom-attribute-definitions/#{params[:key]}",
77
95
  query: _query
78
96
  )
79
- _response = @client.send(_request)
80
- if _response.code >= "200" && _response.code < "300"
81
- return Square::Types::RetrieveOrderCustomAttributeDefinitionResponse.load(_response.body)
97
+ begin
98
+ _response = @client.send(_request)
99
+ rescue Net::HTTPRequestTimeout
100
+ raise Square::Errors::TimeoutError
101
+ end
102
+ code = _response.code.to_i
103
+ if code.between?(200, 299)
104
+ Square::Types::RetrieveOrderCustomAttributeDefinitionResponse.load(_response.body)
105
+ else
106
+ error_class = Square::Errors::ResponseError.subclass_for_code(code)
107
+ raise error_class.new(_response.body, code: code)
82
108
  end
83
-
84
- raise _response.body
85
109
  end
86
110
 
87
111
  # Updates an order-related custom attribute definition for a Square seller account.
@@ -93,17 +117,23 @@ module Square
93
117
  _path_param_names = ["key"]
94
118
 
95
119
  _request = Square::Internal::JSON::Request.new(
96
- base_url: request_options[:base_url] || Square::Environment::SANDBOX,
120
+ base_url: request_options[:base_url] || Square::Environment::PRODUCTION,
97
121
  method: "PUT",
98
122
  path: "v2/orders/custom-attribute-definitions/#{params[:key]}",
99
123
  body: params.except(*_path_param_names)
100
124
  )
101
- _response = @client.send(_request)
102
- if _response.code >= "200" && _response.code < "300"
103
- return Square::Types::UpdateOrderCustomAttributeDefinitionResponse.load(_response.body)
125
+ begin
126
+ _response = @client.send(_request)
127
+ rescue Net::HTTPRequestTimeout
128
+ raise Square::Errors::TimeoutError
129
+ end
130
+ code = _response.code.to_i
131
+ if code.between?(200, 299)
132
+ Square::Types::UpdateOrderCustomAttributeDefinitionResponse.load(_response.body)
133
+ else
134
+ error_class = Square::Errors::ResponseError.subclass_for_code(code)
135
+ raise error_class.new(_response.body, code: code)
104
136
  end
105
-
106
- raise _response.body
107
137
  end
108
138
 
109
139
  # Deletes an order-related [custom attribute definition](entity:CustomAttributeDefinition) from a Square seller account.
@@ -113,16 +143,22 @@ module Square
113
143
  # @return [Square::Types::DeleteOrderCustomAttributeDefinitionResponse]
114
144
  def delete(request_options: {}, **params)
115
145
  _request = Square::Internal::JSON::Request.new(
116
- base_url: request_options[:base_url] || Square::Environment::SANDBOX,
146
+ base_url: request_options[:base_url] || Square::Environment::PRODUCTION,
117
147
  method: "DELETE",
118
148
  path: "v2/orders/custom-attribute-definitions/#{params[:key]}"
119
149
  )
120
- _response = @client.send(_request)
121
- if _response.code >= "200" && _response.code < "300"
122
- return Square::Types::DeleteOrderCustomAttributeDefinitionResponse.load(_response.body)
150
+ begin
151
+ _response = @client.send(_request)
152
+ rescue Net::HTTPRequestTimeout
153
+ raise Square::Errors::TimeoutError
154
+ end
155
+ code = _response.code.to_i
156
+ if code.between?(200, 299)
157
+ Square::Types::DeleteOrderCustomAttributeDefinitionResponse.load(_response.body)
158
+ else
159
+ error_class = Square::Errors::ResponseError.subclass_for_code(code)
160
+ raise error_class.new(_response.body, code: code)
123
161
  end
124
-
125
- raise _response.body
126
162
  end
127
163
  end
128
164
  end
@@ -27,17 +27,23 @@ module Square
27
27
  # @return [Square::Types::BulkDeleteOrderCustomAttributesResponse]
28
28
  def batch_delete(request_options: {}, **params)
29
29
  _request = Square::Internal::JSON::Request.new(
30
- base_url: request_options[:base_url] || Square::Environment::SANDBOX,
30
+ base_url: request_options[:base_url] || Square::Environment::PRODUCTION,
31
31
  method: "POST",
32
32
  path: "v2/orders/custom-attributes/bulk-delete",
33
33
  body: params
34
34
  )
35
- _response = @client.send(_request)
36
- if _response.code >= "200" && _response.code < "300"
37
- return Square::Types::BulkDeleteOrderCustomAttributesResponse.load(_response.body)
35
+ begin
36
+ _response = @client.send(_request)
37
+ rescue Net::HTTPRequestTimeout
38
+ raise Square::Errors::TimeoutError
39
+ end
40
+ code = _response.code.to_i
41
+ if code.between?(200, 299)
42
+ Square::Types::BulkDeleteOrderCustomAttributesResponse.load(_response.body)
43
+ else
44
+ error_class = Square::Errors::ResponseError.subclass_for_code(code)
45
+ raise error_class.new(_response.body, code: code)
38
46
  end
39
-
40
- raise _response.body
41
47
  end
42
48
 
43
49
  # Creates or updates order [custom attributes](entity:CustomAttribute) as a bulk operation.
@@ -58,17 +64,23 @@ module Square
58
64
  # @return [Square::Types::BulkUpsertOrderCustomAttributesResponse]
59
65
  def batch_upsert(request_options: {}, **params)
60
66
  _request = Square::Internal::JSON::Request.new(
61
- base_url: request_options[:base_url] || Square::Environment::SANDBOX,
67
+ base_url: request_options[:base_url] || Square::Environment::PRODUCTION,
62
68
  method: "POST",
63
69
  path: "v2/orders/custom-attributes/bulk-upsert",
64
70
  body: params
65
71
  )
66
- _response = @client.send(_request)
67
- if _response.code >= "200" && _response.code < "300"
68
- return Square::Types::BulkUpsertOrderCustomAttributesResponse.load(_response.body)
72
+ begin
73
+ _response = @client.send(_request)
74
+ rescue Net::HTTPRequestTimeout
75
+ raise Square::Errors::TimeoutError
76
+ end
77
+ code = _response.code.to_i
78
+ if code.between?(200, 299)
79
+ Square::Types::BulkUpsertOrderCustomAttributesResponse.load(_response.body)
80
+ else
81
+ error_class = Square::Errors::ResponseError.subclass_for_code(code)
82
+ raise error_class.new(_response.body, code: code)
69
83
  end
70
-
71
- raise _response.body
72
84
  end
73
85
 
74
86
  # Lists the [custom attributes](entity:CustomAttribute) associated with an order.
@@ -82,22 +94,31 @@ module Square
82
94
  #
83
95
  # @return [Square::Types::ListOrderCustomAttributesResponse]
84
96
  def list(request_options: {}, **params)
85
- _query_param_names = %w[visibility_filter cursor limit with_definitions]
97
+ _query_param_names = [
98
+ %w[visibility_filter cursor limit with_definitions],
99
+ %i[visibility_filter cursor limit with_definitions]
100
+ ].flatten
86
101
  _query = params.slice(*_query_param_names)
87
102
  params = params.except(*_query_param_names)
88
103
 
89
104
  _request = Square::Internal::JSON::Request.new(
90
- base_url: request_options[:base_url] || Square::Environment::SANDBOX,
105
+ base_url: request_options[:base_url] || Square::Environment::PRODUCTION,
91
106
  method: "GET",
92
107
  path: "v2/orders/#{params[:order_id]}/custom-attributes",
93
108
  query: _query
94
109
  )
95
- _response = @client.send(_request)
96
- if _response.code >= "200" && _response.code < "300"
97
- return Square::Types::ListOrderCustomAttributesResponse.load(_response.body)
110
+ begin
111
+ _response = @client.send(_request)
112
+ rescue Net::HTTPRequestTimeout
113
+ raise Square::Errors::TimeoutError
114
+ end
115
+ code = _response.code.to_i
116
+ if code.between?(200, 299)
117
+ Square::Types::ListOrderCustomAttributesResponse.load(_response.body)
118
+ else
119
+ error_class = Square::Errors::ResponseError.subclass_for_code(code)
120
+ raise error_class.new(_response.body, code: code)
98
121
  end
99
-
100
- raise _response.body
101
122
  end
102
123
 
103
124
  # Retrieves a [custom attribute](entity:CustomAttribute) associated with an order.
@@ -111,22 +132,31 @@ module Square
111
132
  #
112
133
  # @return [Square::Types::RetrieveOrderCustomAttributeResponse]
113
134
  def get(request_options: {}, **params)
114
- _query_param_names = %w[version with_definition]
135
+ _query_param_names = [
136
+ %w[version with_definition],
137
+ %i[version with_definition]
138
+ ].flatten
115
139
  _query = params.slice(*_query_param_names)
116
140
  params = params.except(*_query_param_names)
117
141
 
118
142
  _request = Square::Internal::JSON::Request.new(
119
- base_url: request_options[:base_url] || Square::Environment::SANDBOX,
143
+ base_url: request_options[:base_url] || Square::Environment::PRODUCTION,
120
144
  method: "GET",
121
145
  path: "v2/orders/#{params[:order_id]}/custom-attributes/#{params[:custom_attribute_key]}",
122
146
  query: _query
123
147
  )
124
- _response = @client.send(_request)
125
- if _response.code >= "200" && _response.code < "300"
126
- return Square::Types::RetrieveOrderCustomAttributeResponse.load(_response.body)
148
+ begin
149
+ _response = @client.send(_request)
150
+ rescue Net::HTTPRequestTimeout
151
+ raise Square::Errors::TimeoutError
152
+ end
153
+ code = _response.code.to_i
154
+ if code.between?(200, 299)
155
+ Square::Types::RetrieveOrderCustomAttributeResponse.load(_response.body)
156
+ else
157
+ error_class = Square::Errors::ResponseError.subclass_for_code(code)
158
+ raise error_class.new(_response.body, code: code)
127
159
  end
128
-
129
- raise _response.body
130
160
  end
131
161
 
132
162
  # Creates or updates a [custom attribute](entity:CustomAttribute) for an order.
@@ -144,17 +174,23 @@ module Square
144
174
  _path_param_names = %w[order_id custom_attribute_key]
145
175
 
146
176
  _request = Square::Internal::JSON::Request.new(
147
- base_url: request_options[:base_url] || Square::Environment::SANDBOX,
177
+ base_url: request_options[:base_url] || Square::Environment::PRODUCTION,
148
178
  method: "POST",
149
179
  path: "v2/orders/#{params[:order_id]}/custom-attributes/#{params[:custom_attribute_key]}",
150
180
  body: params.except(*_path_param_names)
151
181
  )
152
- _response = @client.send(_request)
153
- if _response.code >= "200" && _response.code < "300"
154
- return Square::Types::UpsertOrderCustomAttributeResponse.load(_response.body)
182
+ begin
183
+ _response = @client.send(_request)
184
+ rescue Net::HTTPRequestTimeout
185
+ raise Square::Errors::TimeoutError
186
+ end
187
+ code = _response.code.to_i
188
+ if code.between?(200, 299)
189
+ Square::Types::UpsertOrderCustomAttributeResponse.load(_response.body)
190
+ else
191
+ error_class = Square::Errors::ResponseError.subclass_for_code(code)
192
+ raise error_class.new(_response.body, code: code)
155
193
  end
156
-
157
- raise _response.body
158
194
  end
159
195
 
160
196
  # Deletes a [custom attribute](entity:CustomAttribute) associated with a customer profile.
@@ -166,16 +202,22 @@ module Square
166
202
  # @return [Square::Types::DeleteOrderCustomAttributeResponse]
167
203
  def delete(request_options: {}, **params)
168
204
  _request = Square::Internal::JSON::Request.new(
169
- base_url: request_options[:base_url] || Square::Environment::SANDBOX,
205
+ base_url: request_options[:base_url] || Square::Environment::PRODUCTION,
170
206
  method: "DELETE",
171
207
  path: "v2/orders/#{params[:order_id]}/custom-attributes/#{params[:custom_attribute_key]}"
172
208
  )
173
- _response = @client.send(_request)
174
- if _response.code >= "200" && _response.code < "300"
175
- return Square::Types::DeleteOrderCustomAttributeResponse.load(_response.body)
209
+ begin
210
+ _response = @client.send(_request)
211
+ rescue Net::HTTPRequestTimeout
212
+ raise Square::Errors::TimeoutError
213
+ end
214
+ code = _response.code.to_i
215
+ if code.between?(200, 299)
216
+ Square::Types::DeleteOrderCustomAttributeResponse.load(_response.body)
217
+ else
218
+ error_class = Square::Errors::ResponseError.subclass_for_code(code)
219
+ raise error_class.new(_response.body, code: code)
176
220
  end
177
-
178
- raise _response.body
179
221
  end
180
222
  end
181
223
  end