square.rb 44.0.0.20250820 → 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 +9 -2
@@ -21,22 +21,31 @@ module Square
21
21
  #
22
22
  # @return [Square::Types::ListMerchantsResponse]
23
23
  def list(request_options: {}, **params)
24
- _query_param_names = ["cursor"]
24
+ _query_param_names = [
25
+ ["cursor"],
26
+ %i[cursor]
27
+ ].flatten
25
28
  _query = params.slice(*_query_param_names)
26
29
  params.except(*_query_param_names)
27
30
 
28
31
  _request = Square::Internal::JSON::Request.new(
29
- base_url: request_options[:base_url] || Square::Environment::SANDBOX,
32
+ base_url: request_options[:base_url] || Square::Environment::PRODUCTION,
30
33
  method: "GET",
31
34
  path: "v2/merchants",
32
35
  query: _query
33
36
  )
34
- _response = @client.send(_request)
35
- if _response.code >= "200" && _response.code < "300"
36
- return Square::Types::ListMerchantsResponse.load(_response.body)
37
+ begin
38
+ _response = @client.send(_request)
39
+ rescue Net::HTTPRequestTimeout
40
+ raise Square::Errors::TimeoutError
41
+ end
42
+ code = _response.code.to_i
43
+ if code.between?(200, 299)
44
+ Square::Types::ListMerchantsResponse.load(_response.body)
45
+ else
46
+ error_class = Square::Errors::ResponseError.subclass_for_code(code)
47
+ raise error_class.new(_response.body, code: code)
37
48
  end
38
-
39
- raise _response.body
40
49
  end
41
50
 
42
51
  # Retrieves the `Merchant` object for the given `merchant_id`.
@@ -44,16 +53,22 @@ module Square
44
53
  # @return [Square::Types::GetMerchantResponse]
45
54
  def get(request_options: {}, **params)
46
55
  _request = Square::Internal::JSON::Request.new(
47
- base_url: request_options[:base_url] || Square::Environment::SANDBOX,
56
+ base_url: request_options[:base_url] || Square::Environment::PRODUCTION,
48
57
  method: "GET",
49
58
  path: "v2/merchants/#{params[:merchant_id]}"
50
59
  )
51
- _response = @client.send(_request)
52
- if _response.code >= "200" && _response.code < "300"
53
- return Square::Types::GetMerchantResponse.load(_response.body)
60
+ begin
61
+ _response = @client.send(_request)
62
+ rescue Net::HTTPRequestTimeout
63
+ raise Square::Errors::TimeoutError
64
+ end
65
+ code = _response.code.to_i
66
+ if code.between?(200, 299)
67
+ Square::Types::GetMerchantResponse.load(_response.body)
68
+ else
69
+ error_class = Square::Errors::ResponseError.subclass_for_code(code)
70
+ raise error_class.new(_response.body, code: code)
54
71
  end
55
-
56
- raise _response.body
57
72
  end
58
73
 
59
74
  # @return [Square::CustomAttributeDefinitions::Client]
@@ -16,22 +16,31 @@ module Square
16
16
  #
17
17
  # @return [Square::Types::ListMerchantCustomAttributeDefinitionsResponse]
18
18
  def list(request_options: {}, **params)
19
- _query_param_names = %w[visibility_filter limit cursor]
19
+ _query_param_names = [
20
+ %w[visibility_filter limit cursor],
21
+ %i[visibility_filter limit cursor]
22
+ ].flatten
20
23
  _query = params.slice(*_query_param_names)
21
24
  params.except(*_query_param_names)
22
25
 
23
26
  _request = Square::Internal::JSON::Request.new(
24
- base_url: request_options[:base_url] || Square::Environment::SANDBOX,
27
+ base_url: request_options[:base_url] || Square::Environment::PRODUCTION,
25
28
  method: "GET",
26
29
  path: "v2/merchants/custom-attribute-definitions",
27
30
  query: _query
28
31
  )
29
- _response = @client.send(_request)
30
- if _response.code >= "200" && _response.code < "300"
31
- return Square::Types::ListMerchantCustomAttributeDefinitionsResponse.load(_response.body)
32
+ begin
33
+ _response = @client.send(_request)
34
+ rescue Net::HTTPRequestTimeout
35
+ raise Square::Errors::TimeoutError
36
+ end
37
+ code = _response.code.to_i
38
+ if code.between?(200, 299)
39
+ Square::Types::ListMerchantCustomAttributeDefinitionsResponse.load(_response.body)
40
+ else
41
+ error_class = Square::Errors::ResponseError.subclass_for_code(code)
42
+ raise error_class.new(_response.body, code: code)
32
43
  end
33
-
34
- raise _response.body
35
44
  end
36
45
 
37
46
  # Creates a merchant-related [custom attribute definition](entity:CustomAttributeDefinition) for a Square seller account.
@@ -45,17 +54,23 @@ module Square
45
54
  # @return [Square::Types::CreateMerchantCustomAttributeDefinitionResponse]
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/merchants/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::CreateMerchantCustomAttributeDefinitionResponse.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::CreateMerchantCustomAttributeDefinitionResponse.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 a merchant-related [custom attribute definition](entity:CustomAttributeDefinition) from a Square seller account.
@@ -64,22 +79,31 @@ module Square
64
79
  #
65
80
  # @return [Square::Types::RetrieveMerchantCustomAttributeDefinitionResponse]
66
81
  def get(request_options: {}, **params)
67
- _query_param_names = ["version"]
82
+ _query_param_names = [
83
+ ["version"],
84
+ %i[version]
85
+ ].flatten
68
86
  _query = params.slice(*_query_param_names)
69
87
  params = params.except(*_query_param_names)
70
88
 
71
89
  _request = Square::Internal::JSON::Request.new(
72
- base_url: request_options[:base_url] || Square::Environment::SANDBOX,
90
+ base_url: request_options[:base_url] || Square::Environment::PRODUCTION,
73
91
  method: "GET",
74
92
  path: "v2/merchants/custom-attribute-definitions/#{params[:key]}",
75
93
  query: _query
76
94
  )
77
- _response = @client.send(_request)
78
- if _response.code >= "200" && _response.code < "300"
79
- return Square::Types::RetrieveMerchantCustomAttributeDefinitionResponse.load(_response.body)
95
+ begin
96
+ _response = @client.send(_request)
97
+ rescue Net::HTTPRequestTimeout
98
+ raise Square::Errors::TimeoutError
99
+ end
100
+ code = _response.code.to_i
101
+ if code.between?(200, 299)
102
+ Square::Types::RetrieveMerchantCustomAttributeDefinitionResponse.load(_response.body)
103
+ else
104
+ error_class = Square::Errors::ResponseError.subclass_for_code(code)
105
+ raise error_class.new(_response.body, code: code)
80
106
  end
81
-
82
- raise _response.body
83
107
  end
84
108
 
85
109
  # Updates a merchant-related [custom attribute definition](entity:CustomAttributeDefinition) for a Square seller account.
@@ -92,17 +116,23 @@ module Square
92
116
  _path_param_names = ["key"]
93
117
 
94
118
  _request = Square::Internal::JSON::Request.new(
95
- base_url: request_options[:base_url] || Square::Environment::SANDBOX,
119
+ base_url: request_options[:base_url] || Square::Environment::PRODUCTION,
96
120
  method: "PUT",
97
121
  path: "v2/merchants/custom-attribute-definitions/#{params[:key]}",
98
122
  body: params.except(*_path_param_names)
99
123
  )
100
- _response = @client.send(_request)
101
- if _response.code >= "200" && _response.code < "300"
102
- return Square::Types::UpdateMerchantCustomAttributeDefinitionResponse.load(_response.body)
124
+ begin
125
+ _response = @client.send(_request)
126
+ rescue Net::HTTPRequestTimeout
127
+ raise Square::Errors::TimeoutError
128
+ end
129
+ code = _response.code.to_i
130
+ if code.between?(200, 299)
131
+ Square::Types::UpdateMerchantCustomAttributeDefinitionResponse.load(_response.body)
132
+ else
133
+ error_class = Square::Errors::ResponseError.subclass_for_code(code)
134
+ raise error_class.new(_response.body, code: code)
103
135
  end
104
-
105
- raise _response.body
106
136
  end
107
137
 
108
138
  # Deletes a merchant-related [custom attribute definition](entity:CustomAttributeDefinition) from a Square seller account.
@@ -113,16 +143,22 @@ module Square
113
143
  # @return [Square::Types::DeleteMerchantCustomAttributeDefinitionResponse]
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/merchants/custom-attribute-definitions/#{params[:key]}"
119
149
  )
120
- _response = @client.send(_request)
121
- if _response.code >= "200" && _response.code < "300"
122
- return Square::Types::DeleteMerchantCustomAttributeDefinitionResponse.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::DeleteMerchantCustomAttributeDefinitionResponse.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
@@ -16,17 +16,23 @@ module Square
16
16
  # @return [Square::Types::BulkDeleteMerchantCustomAttributesResponse]
17
17
  def batch_delete(request_options: {}, **params)
18
18
  _request = Square::Internal::JSON::Request.new(
19
- base_url: request_options[:base_url] || Square::Environment::SANDBOX,
19
+ base_url: request_options[:base_url] || Square::Environment::PRODUCTION,
20
20
  method: "POST",
21
21
  path: "v2/merchants/custom-attributes/bulk-delete",
22
22
  body: params
23
23
  )
24
- _response = @client.send(_request)
25
- if _response.code >= "200" && _response.code < "300"
26
- return Square::Types::BulkDeleteMerchantCustomAttributesResponse.load(_response.body)
24
+ begin
25
+ _response = @client.send(_request)
26
+ rescue Net::HTTPRequestTimeout
27
+ raise Square::Errors::TimeoutError
28
+ end
29
+ code = _response.code.to_i
30
+ if code.between?(200, 299)
31
+ Square::Types::BulkDeleteMerchantCustomAttributesResponse.load(_response.body)
32
+ else
33
+ error_class = Square::Errors::ResponseError.subclass_for_code(code)
34
+ raise error_class.new(_response.body, code: code)
27
35
  end
28
-
29
- raise _response.body
30
36
  end
31
37
 
32
38
  # Creates or updates [custom attributes](entity:CustomAttribute) for a merchant as a bulk operation.
@@ -43,17 +49,23 @@ module Square
43
49
  # @return [Square::Types::BulkUpsertMerchantCustomAttributesResponse]
44
50
  def batch_upsert(request_options: {}, **params)
45
51
  _request = Square::Internal::JSON::Request.new(
46
- base_url: request_options[:base_url] || Square::Environment::SANDBOX,
52
+ base_url: request_options[:base_url] || Square::Environment::PRODUCTION,
47
53
  method: "POST",
48
54
  path: "v2/merchants/custom-attributes/bulk-upsert",
49
55
  body: params
50
56
  )
51
- _response = @client.send(_request)
52
- if _response.code >= "200" && _response.code < "300"
53
- return Square::Types::BulkUpsertMerchantCustomAttributesResponse.load(_response.body)
57
+ begin
58
+ _response = @client.send(_request)
59
+ rescue Net::HTTPRequestTimeout
60
+ raise Square::Errors::TimeoutError
61
+ end
62
+ code = _response.code.to_i
63
+ if code.between?(200, 299)
64
+ Square::Types::BulkUpsertMerchantCustomAttributesResponse.load(_response.body)
65
+ else
66
+ error_class = Square::Errors::ResponseError.subclass_for_code(code)
67
+ raise error_class.new(_response.body, code: code)
54
68
  end
55
-
56
- raise _response.body
57
69
  end
58
70
 
59
71
  # Lists the [custom attributes](entity:CustomAttribute) associated with a merchant.
@@ -65,22 +77,31 @@ module Square
65
77
  #
66
78
  # @return [Square::Types::ListMerchantCustomAttributesResponse]
67
79
  def list(request_options: {}, **params)
68
- _query_param_names = %w[visibility_filter limit cursor with_definitions]
80
+ _query_param_names = [
81
+ %w[visibility_filter limit cursor with_definitions],
82
+ %i[visibility_filter limit cursor with_definitions]
83
+ ].flatten
69
84
  _query = params.slice(*_query_param_names)
70
85
  params = params.except(*_query_param_names)
71
86
 
72
87
  _request = Square::Internal::JSON::Request.new(
73
- base_url: request_options[:base_url] || Square::Environment::SANDBOX,
88
+ base_url: request_options[:base_url] || Square::Environment::PRODUCTION,
74
89
  method: "GET",
75
90
  path: "v2/merchants/#{params[:merchant_id]}/custom-attributes",
76
91
  query: _query
77
92
  )
78
- _response = @client.send(_request)
79
- if _response.code >= "200" && _response.code < "300"
80
- return Square::Types::ListMerchantCustomAttributesResponse.load(_response.body)
93
+ begin
94
+ _response = @client.send(_request)
95
+ rescue Net::HTTPRequestTimeout
96
+ raise Square::Errors::TimeoutError
97
+ end
98
+ code = _response.code.to_i
99
+ if code.between?(200, 299)
100
+ Square::Types::ListMerchantCustomAttributesResponse.load(_response.body)
101
+ else
102
+ error_class = Square::Errors::ResponseError.subclass_for_code(code)
103
+ raise error_class.new(_response.body, code: code)
81
104
  end
82
-
83
- raise _response.body
84
105
  end
85
106
 
86
107
  # Retrieves a [custom attribute](entity:CustomAttribute) associated with a merchant.
@@ -91,22 +112,31 @@ module Square
91
112
  #
92
113
  # @return [Square::Types::RetrieveMerchantCustomAttributeResponse]
93
114
  def get(request_options: {}, **params)
94
- _query_param_names = %w[with_definition version]
115
+ _query_param_names = [
116
+ %w[with_definition version],
117
+ %i[with_definition version]
118
+ ].flatten
95
119
  _query = params.slice(*_query_param_names)
96
120
  params = params.except(*_query_param_names)
97
121
 
98
122
  _request = Square::Internal::JSON::Request.new(
99
- base_url: request_options[:base_url] || Square::Environment::SANDBOX,
123
+ base_url: request_options[:base_url] || Square::Environment::PRODUCTION,
100
124
  method: "GET",
101
125
  path: "v2/merchants/#{params[:merchant_id]}/custom-attributes/#{params[:key]}",
102
126
  query: _query
103
127
  )
104
- _response = @client.send(_request)
105
- if _response.code >= "200" && _response.code < "300"
106
- return Square::Types::RetrieveMerchantCustomAttributeResponse.load(_response.body)
128
+ begin
129
+ _response = @client.send(_request)
130
+ rescue Net::HTTPRequestTimeout
131
+ raise Square::Errors::TimeoutError
132
+ end
133
+ code = _response.code.to_i
134
+ if code.between?(200, 299)
135
+ Square::Types::RetrieveMerchantCustomAttributeResponse.load(_response.body)
136
+ else
137
+ error_class = Square::Errors::ResponseError.subclass_for_code(code)
138
+ raise error_class.new(_response.body, code: code)
107
139
  end
108
-
109
- raise _response.body
110
140
  end
111
141
 
112
142
  # Creates or updates a [custom attribute](entity:CustomAttribute) for a merchant.
@@ -121,17 +151,23 @@ module Square
121
151
  _path_param_names = %w[merchant_id key]
122
152
 
123
153
  _request = Square::Internal::JSON::Request.new(
124
- base_url: request_options[:base_url] || Square::Environment::SANDBOX,
154
+ base_url: request_options[:base_url] || Square::Environment::PRODUCTION,
125
155
  method: "POST",
126
156
  path: "v2/merchants/#{params[:merchant_id]}/custom-attributes/#{params[:key]}",
127
157
  body: params.except(*_path_param_names)
128
158
  )
129
- _response = @client.send(_request)
130
- if _response.code >= "200" && _response.code < "300"
131
- return Square::Types::UpsertMerchantCustomAttributeResponse.load(_response.body)
159
+ begin
160
+ _response = @client.send(_request)
161
+ rescue Net::HTTPRequestTimeout
162
+ raise Square::Errors::TimeoutError
163
+ end
164
+ code = _response.code.to_i
165
+ if code.between?(200, 299)
166
+ Square::Types::UpsertMerchantCustomAttributeResponse.load(_response.body)
167
+ else
168
+ error_class = Square::Errors::ResponseError.subclass_for_code(code)
169
+ raise error_class.new(_response.body, code: code)
132
170
  end
133
-
134
- raise _response.body
135
171
  end
136
172
 
137
173
  # Deletes a [custom attribute](entity:CustomAttribute) associated with a merchant.
@@ -141,16 +177,22 @@ module Square
141
177
  # @return [Square::Types::DeleteMerchantCustomAttributeResponse]
142
178
  def delete(request_options: {}, **params)
143
179
  _request = Square::Internal::JSON::Request.new(
144
- base_url: request_options[:base_url] || Square::Environment::SANDBOX,
180
+ base_url: request_options[:base_url] || Square::Environment::PRODUCTION,
145
181
  method: "DELETE",
146
182
  path: "v2/merchants/#{params[:merchant_id]}/custom-attributes/#{params[:key]}"
147
183
  )
148
- _response = @client.send(_request)
149
- if _response.code >= "200" && _response.code < "300"
150
- return Square::Types::DeleteMerchantCustomAttributeResponse.load(_response.body)
184
+ begin
185
+ _response = @client.send(_request)
186
+ rescue Net::HTTPRequestTimeout
187
+ raise Square::Errors::TimeoutError
188
+ end
189
+ code = _response.code.to_i
190
+ if code.between?(200, 299)
191
+ Square::Types::DeleteMerchantCustomAttributeResponse.load(_response.body)
192
+ else
193
+ error_class = Square::Errors::ResponseError.subclass_for_code(code)
194
+ raise error_class.new(_response.body, code: code)
151
195
  end
152
-
153
- raise _response.body
154
196
  end
155
197
  end
156
198
  end
@@ -27,17 +27,23 @@ module Square
27
27
  # @return [Square::Types::CreateMobileAuthorizationCodeResponse]
28
28
  def authorization_code(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: "mobile/authorization-code",
33
33
  body: params
34
34
  )
35
- _response = @client.send(_request)
36
- if _response.code >= "200" && _response.code < "300"
37
- return Square::Types::CreateMobileAuthorizationCodeResponse.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::CreateMobileAuthorizationCodeResponse.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
  end
43
49
  end
@@ -26,17 +26,23 @@ module Square
26
26
  # @return [Square::Types::RevokeTokenResponse]
27
27
  def revoke_token(request_options: {}, **params)
28
28
  _request = Square::Internal::JSON::Request.new(
29
- base_url: request_options[:base_url] || Square::Environment::SANDBOX,
29
+ base_url: request_options[:base_url] || Square::Environment::PRODUCTION,
30
30
  method: "POST",
31
31
  path: "oauth2/revoke",
32
32
  body: params
33
33
  )
34
- _response = @client.send(_request)
35
- if _response.code >= "200" && _response.code < "300"
36
- return Square::Types::RevokeTokenResponse.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::RevokeTokenResponse.load(_response.body)
42
+ else
43
+ error_class = Square::Errors::ResponseError.subclass_for_code(code)
44
+ raise error_class.new(_response.body, code: code)
37
45
  end
38
-
39
- raise _response.body
40
46
  end
41
47
 
42
48
  # Returns an OAuth access token and refresh token using the `authorization_code`
@@ -64,17 +70,23 @@ module Square
64
70
  # @return [Square::Types::ObtainTokenResponse]
65
71
  def obtain_token(request_options: {}, **params)
66
72
  _request = Square::Internal::JSON::Request.new(
67
- base_url: request_options[:base_url] || Square::Environment::SANDBOX,
73
+ base_url: request_options[:base_url] || Square::Environment::PRODUCTION,
68
74
  method: "POST",
69
75
  path: "oauth2/token",
70
76
  body: params
71
77
  )
72
- _response = @client.send(_request)
73
- if _response.code >= "200" && _response.code < "300"
74
- return Square::Types::ObtainTokenResponse.load(_response.body)
78
+ begin
79
+ _response = @client.send(_request)
80
+ rescue Net::HTTPRequestTimeout
81
+ raise Square::Errors::TimeoutError
82
+ end
83
+ code = _response.code.to_i
84
+ if code.between?(200, 299)
85
+ Square::Types::ObtainTokenResponse.load(_response.body)
86
+ else
87
+ error_class = Square::Errors::ResponseError.subclass_for_code(code)
88
+ raise error_class.new(_response.body, code: code)
75
89
  end
76
-
77
- raise _response.body
78
90
  end
79
91
 
80
92
  # Returns information about an [OAuth access token](https://developer.squareup.com/docs/build-basics/access-tokens#get-an-oauth-access-token) or an application’s [personal access token](https://developer.squareup.com/docs/build-basics/access-tokens#get-a-personal-access-token).
@@ -95,29 +107,41 @@ module Square
95
107
  # @return [Square::Types::RetrieveTokenStatusResponse]
96
108
  def retrieve_token_status(request_options: {}, **_params)
97
109
  _request = Square::Internal::JSON::Request.new(
98
- base_url: request_options[:base_url] || Square::Environment::SANDBOX,
110
+ base_url: request_options[:base_url] || Square::Environment::PRODUCTION,
99
111
  method: "POST",
100
112
  path: "oauth2/token/status"
101
113
  )
102
- _response = @client.send(_request)
103
- if _response.code >= "200" && _response.code < "300"
104
- return Square::Types::RetrieveTokenStatusResponse.load(_response.body)
114
+ begin
115
+ _response = @client.send(_request)
116
+ rescue Net::HTTPRequestTimeout
117
+ raise Square::Errors::TimeoutError
118
+ end
119
+ code = _response.code.to_i
120
+ if code.between?(200, 299)
121
+ Square::Types::RetrieveTokenStatusResponse.load(_response.body)
122
+ else
123
+ error_class = Square::Errors::ResponseError.subclass_for_code(code)
124
+ raise error_class.new(_response.body, code: code)
105
125
  end
106
-
107
- raise _response.body
108
126
  end
109
127
 
110
128
  # @return [untyped]
111
129
  def authorize(request_options: {}, **_params)
112
130
  _request = Square::Internal::JSON::Request.new(
113
- base_url: request_options[:base_url] || Square::Environment::SANDBOX,
131
+ base_url: request_options[:base_url] || Square::Environment::PRODUCTION,
114
132
  method: "GET",
115
133
  path: "oauth2/authorize"
116
134
  )
117
- _response = @client.send(_request)
118
- return if _response.code >= "200" && _response.code < "300"
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
+ return if code.between?(200, 299)
119
142
 
120
- raise _response.body
143
+ error_class = Square::Errors::ResponseError.subclass_for_code(code)
144
+ raise error_class.new(_response.body, code: code)
121
145
  end
122
146
  end
123
147
  end