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
@@ -13,16 +13,22 @@ module Square
13
13
  # @return [Square::Types::RetrieveLocationSettingsResponse]
14
14
  def retrieve_location_settings(request_options: {}, **params)
15
15
  _request = Square::Internal::JSON::Request.new(
16
- base_url: request_options[:base_url] || Square::Environment::SANDBOX,
16
+ base_url: request_options[:base_url] || Square::Environment::PRODUCTION,
17
17
  method: "GET",
18
18
  path: "v2/online-checkout/location-settings/#{params[:location_id]}"
19
19
  )
20
- _response = @client.send(_request)
21
- if _response.code >= "200" && _response.code < "300"
22
- return Square::Types::RetrieveLocationSettingsResponse.load(_response.body)
20
+ begin
21
+ _response = @client.send(_request)
22
+ rescue Net::HTTPRequestTimeout
23
+ raise Square::Errors::TimeoutError
24
+ end
25
+ code = _response.code.to_i
26
+ if code.between?(200, 299)
27
+ Square::Types::RetrieveLocationSettingsResponse.load(_response.body)
28
+ else
29
+ error_class = Square::Errors::ResponseError.subclass_for_code(code)
30
+ raise error_class.new(_response.body, code: code)
23
31
  end
24
-
25
- raise _response.body
26
32
  end
27
33
 
28
34
  # Updates the location-level settings for a Square-hosted checkout page.
@@ -32,17 +38,23 @@ module Square
32
38
  _path_param_names = ["location_id"]
33
39
 
34
40
  _request = Square::Internal::JSON::Request.new(
35
- base_url: request_options[:base_url] || Square::Environment::SANDBOX,
41
+ base_url: request_options[:base_url] || Square::Environment::PRODUCTION,
36
42
  method: "PUT",
37
43
  path: "v2/online-checkout/location-settings/#{params[:location_id]}",
38
44
  body: params.except(*_path_param_names)
39
45
  )
40
- _response = @client.send(_request)
41
- if _response.code >= "200" && _response.code < "300"
42
- return Square::Types::UpdateLocationSettingsResponse.load(_response.body)
46
+ begin
47
+ _response = @client.send(_request)
48
+ rescue Net::HTTPRequestTimeout
49
+ raise Square::Errors::TimeoutError
50
+ end
51
+ code = _response.code.to_i
52
+ if code.between?(200, 299)
53
+ Square::Types::UpdateLocationSettingsResponse.load(_response.body)
54
+ else
55
+ error_class = Square::Errors::ResponseError.subclass_for_code(code)
56
+ raise error_class.new(_response.body, code: code)
43
57
  end
44
-
45
- raise _response.body
46
58
  end
47
59
 
48
60
  # Retrieves the merchant-level settings for a Square-hosted checkout page.
@@ -50,16 +62,22 @@ module Square
50
62
  # @return [Square::Types::RetrieveMerchantSettingsResponse]
51
63
  def retrieve_merchant_settings(request_options: {}, **_params)
52
64
  _request = Square::Internal::JSON::Request.new(
53
- base_url: request_options[:base_url] || Square::Environment::SANDBOX,
65
+ base_url: request_options[:base_url] || Square::Environment::PRODUCTION,
54
66
  method: "GET",
55
67
  path: "v2/online-checkout/merchant-settings"
56
68
  )
57
- _response = @client.send(_request)
58
- if _response.code >= "200" && _response.code < "300"
59
- return Square::Types::RetrieveMerchantSettingsResponse.load(_response.body)
69
+ begin
70
+ _response = @client.send(_request)
71
+ rescue Net::HTTPRequestTimeout
72
+ raise Square::Errors::TimeoutError
73
+ end
74
+ code = _response.code.to_i
75
+ if code.between?(200, 299)
76
+ Square::Types::RetrieveMerchantSettingsResponse.load(_response.body)
77
+ else
78
+ error_class = Square::Errors::ResponseError.subclass_for_code(code)
79
+ raise error_class.new(_response.body, code: code)
60
80
  end
61
-
62
- raise _response.body
63
81
  end
64
82
 
65
83
  # Updates the merchant-level settings for a Square-hosted checkout page.
@@ -67,17 +85,23 @@ module Square
67
85
  # @return [Square::Types::UpdateMerchantSettingsResponse]
68
86
  def update_merchant_settings(request_options: {}, **params)
69
87
  _request = Square::Internal::JSON::Request.new(
70
- base_url: request_options[:base_url] || Square::Environment::SANDBOX,
88
+ base_url: request_options[:base_url] || Square::Environment::PRODUCTION,
71
89
  method: "PUT",
72
90
  path: "v2/online-checkout/merchant-settings",
73
91
  body: params
74
92
  )
75
- _response = @client.send(_request)
76
- if _response.code >= "200" && _response.code < "300"
77
- return Square::Types::UpdateMerchantSettingsResponse.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::UpdateMerchantSettingsResponse.load(_response.body)
101
+ else
102
+ error_class = Square::Errors::ResponseError.subclass_for_code(code)
103
+ raise error_class.new(_response.body, code: code)
78
104
  end
79
-
80
- raise _response.body
81
105
  end
82
106
 
83
107
  # @return [Square::PaymentLinks::Client]
@@ -13,22 +13,31 @@ module Square
13
13
  #
14
14
  # @return [Square::Types::ListPaymentLinksResponse]
15
15
  def list(request_options: {}, **params)
16
- _query_param_names = %w[cursor limit]
16
+ _query_param_names = [
17
+ %w[cursor limit],
18
+ %i[cursor limit]
19
+ ].flatten
17
20
  _query = params.slice(*_query_param_names)
18
21
  params.except(*_query_param_names)
19
22
 
20
23
  _request = Square::Internal::JSON::Request.new(
21
- base_url: request_options[:base_url] || Square::Environment::SANDBOX,
24
+ base_url: request_options[:base_url] || Square::Environment::PRODUCTION,
22
25
  method: "GET",
23
26
  path: "v2/online-checkout/payment-links",
24
27
  query: _query
25
28
  )
26
- _response = @client.send(_request)
27
- if _response.code >= "200" && _response.code < "300"
28
- return Square::Types::ListPaymentLinksResponse.load(_response.body)
29
+ begin
30
+ _response = @client.send(_request)
31
+ rescue Net::HTTPRequestTimeout
32
+ raise Square::Errors::TimeoutError
33
+ end
34
+ code = _response.code.to_i
35
+ if code.between?(200, 299)
36
+ Square::Types::ListPaymentLinksResponse.load(_response.body)
37
+ else
38
+ error_class = Square::Errors::ResponseError.subclass_for_code(code)
39
+ raise error_class.new(_response.body, code: code)
29
40
  end
30
-
31
- raise _response.body
32
41
  end
33
42
 
34
43
  # Creates a Square-hosted checkout page. Applications can share the resulting payment link with their buyer to pay for goods and services.
@@ -36,17 +45,23 @@ module Square
36
45
  # @return [Square::Types::CreatePaymentLinkResponse]
37
46
  def create(request_options: {}, **params)
38
47
  _request = Square::Internal::JSON::Request.new(
39
- base_url: request_options[:base_url] || Square::Environment::SANDBOX,
48
+ base_url: request_options[:base_url] || Square::Environment::PRODUCTION,
40
49
  method: "POST",
41
50
  path: "v2/online-checkout/payment-links",
42
51
  body: params
43
52
  )
44
- _response = @client.send(_request)
45
- if _response.code >= "200" && _response.code < "300"
46
- return Square::Types::CreatePaymentLinkResponse.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::CreatePaymentLinkResponse.load(_response.body)
61
+ else
62
+ error_class = Square::Errors::ResponseError.subclass_for_code(code)
63
+ raise error_class.new(_response.body, code: code)
47
64
  end
48
-
49
- raise _response.body
50
65
  end
51
66
 
52
67
  # Retrieves a payment link.
@@ -54,16 +69,22 @@ module Square
54
69
  # @return [Square::Types::GetPaymentLinkResponse]
55
70
  def get(request_options: {}, **params)
56
71
  _request = Square::Internal::JSON::Request.new(
57
- base_url: request_options[:base_url] || Square::Environment::SANDBOX,
72
+ base_url: request_options[:base_url] || Square::Environment::PRODUCTION,
58
73
  method: "GET",
59
74
  path: "v2/online-checkout/payment-links/#{params[:id]}"
60
75
  )
61
- _response = @client.send(_request)
62
- if _response.code >= "200" && _response.code < "300"
63
- return Square::Types::GetPaymentLinkResponse.load(_response.body)
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::GetPaymentLinkResponse.load(_response.body)
84
+ else
85
+ error_class = Square::Errors::ResponseError.subclass_for_code(code)
86
+ raise error_class.new(_response.body, code: code)
64
87
  end
65
-
66
- raise _response.body
67
88
  end
68
89
 
69
90
  # Updates a payment link. You can update the `payment_link` fields such as
@@ -75,17 +96,23 @@ module Square
75
96
  _path_param_names = ["id"]
76
97
 
77
98
  _request = Square::Internal::JSON::Request.new(
78
- base_url: request_options[:base_url] || Square::Environment::SANDBOX,
99
+ base_url: request_options[:base_url] || Square::Environment::PRODUCTION,
79
100
  method: "PUT",
80
101
  path: "v2/online-checkout/payment-links/#{params[:id]}",
81
102
  body: params.except(*_path_param_names)
82
103
  )
83
- _response = @client.send(_request)
84
- if _response.code >= "200" && _response.code < "300"
85
- return Square::Types::UpdatePaymentLinkResponse.load(_response.body)
104
+ begin
105
+ _response = @client.send(_request)
106
+ rescue Net::HTTPRequestTimeout
107
+ raise Square::Errors::TimeoutError
108
+ end
109
+ code = _response.code.to_i
110
+ if code.between?(200, 299)
111
+ Square::Types::UpdatePaymentLinkResponse.load(_response.body)
112
+ else
113
+ error_class = Square::Errors::ResponseError.subclass_for_code(code)
114
+ raise error_class.new(_response.body, code: code)
86
115
  end
87
-
88
- raise _response.body
89
116
  end
90
117
 
91
118
  # Deletes a payment link.
@@ -93,16 +120,22 @@ module Square
93
120
  # @return [Square::Types::DeletePaymentLinkResponse]
94
121
  def delete(request_options: {}, **params)
95
122
  _request = Square::Internal::JSON::Request.new(
96
- base_url: request_options[:base_url] || Square::Environment::SANDBOX,
123
+ base_url: request_options[:base_url] || Square::Environment::PRODUCTION,
97
124
  method: "DELETE",
98
125
  path: "v2/online-checkout/payment-links/#{params[:id]}"
99
126
  )
100
- _response = @client.send(_request)
101
- if _response.code >= "200" && _response.code < "300"
102
- return Square::Types::DeletePaymentLinkResponse.load(_response.body)
127
+ begin
128
+ _response = @client.send(_request)
129
+ rescue Net::HTTPRequestTimeout
130
+ raise Square::Errors::TimeoutError
131
+ end
132
+ code = _response.code.to_i
133
+ if code.between?(200, 299)
134
+ Square::Types::DeletePaymentLinkResponse.load(_response.body)
135
+ else
136
+ error_class = Square::Errors::ResponseError.subclass_for_code(code)
137
+ raise error_class.new(_response.body, code: code)
103
138
  end
104
-
105
- raise _response.body
106
139
  end
107
140
  end
108
141
  end
data/lib/square/client.rb CHANGED
@@ -7,7 +7,7 @@ module Square
7
7
  @raw_client = Square::Internal::Http::RawClient.new(
8
8
  base_url: base_url,
9
9
  headers: {
10
- "User-Agent": "square.rb/44.0.0.20250820",
10
+ "User-Agent": "square.rb/44.0.1.20250820",
11
11
  "X-Fern-Language": "Ruby",
12
12
  Authorization: "Bearer #{token}"
13
13
  }
@@ -20,17 +20,23 @@ module Square
20
20
  _path_param_names = ["customer_id"]
21
21
 
22
22
  _request = Square::Internal::JSON::Request.new(
23
- base_url: request_options[:base_url] || Square::Environment::SANDBOX,
23
+ base_url: request_options[:base_url] || Square::Environment::PRODUCTION,
24
24
  method: "POST",
25
25
  path: "v2/customers/#{params[:customer_id]}/cards",
26
26
  body: params.except(*_path_param_names)
27
27
  )
28
- _response = @client.send(_request)
29
- if _response.code >= "200" && _response.code < "300"
30
- return Square::Types::CreateCustomerCardResponse.load(_response.body)
28
+ begin
29
+ _response = @client.send(_request)
30
+ rescue Net::HTTPRequestTimeout
31
+ raise Square::Errors::TimeoutError
32
+ end
33
+ code = _response.code.to_i
34
+ if code.between?(200, 299)
35
+ Square::Types::CreateCustomerCardResponse.load(_response.body)
36
+ else
37
+ error_class = Square::Errors::ResponseError.subclass_for_code(code)
38
+ raise error_class.new(_response.body, code: code)
31
39
  end
32
-
33
- raise _response.body
34
40
  end
35
41
 
36
42
  # Removes a card on file from a customer.
@@ -38,16 +44,22 @@ module Square
38
44
  # @return [Square::Types::DeleteCustomerCardResponse]
39
45
  def delete(request_options: {}, **params)
40
46
  _request = Square::Internal::JSON::Request.new(
41
- base_url: request_options[:base_url] || Square::Environment::SANDBOX,
47
+ base_url: request_options[:base_url] || Square::Environment::PRODUCTION,
42
48
  method: "DELETE",
43
49
  path: "v2/customers/#{params[:customer_id]}/cards/#{params[:card_id]}"
44
50
  )
45
- _response = @client.send(_request)
46
- if _response.code >= "200" && _response.code < "300"
47
- return Square::Types::DeleteCustomerCardResponse.load(_response.body)
51
+ begin
52
+ _response = @client.send(_request)
53
+ rescue Net::HTTPRequestTimeout
54
+ raise Square::Errors::TimeoutError
55
+ end
56
+ code = _response.code.to_i
57
+ if code.between?(200, 299)
58
+ Square::Types::DeleteCustomerCardResponse.load(_response.body)
59
+ else
60
+ error_class = Square::Errors::ResponseError.subclass_for_code(code)
61
+ raise error_class.new(_response.body, code: code)
48
62
  end
49
-
50
- raise _response.body
51
63
  end
52
64
  end
53
65
  end
@@ -16,22 +16,31 @@ module Square
16
16
  #
17
17
  # @return [Square::Types::ListCustomersResponse]
18
18
  def list(request_options: {}, **params)
19
- _query_param_names = %w[cursor limit sort_field sort_order count]
19
+ _query_param_names = [
20
+ %w[cursor limit sort_field sort_order count],
21
+ %i[cursor limit sort_field sort_order count]
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/customers",
27
30
  query: _query
28
31
  )
29
- _response = @client.send(_request)
30
- if _response.code >= "200" && _response.code < "300"
31
- return Square::Types::ListCustomersResponse.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::ListCustomersResponse.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 new customer for a business.
@@ -48,17 +57,23 @@ module Square
48
57
  # @return [Square::Types::CreateCustomerResponse]
49
58
  def create(request_options: {}, **params)
50
59
  _request = Square::Internal::JSON::Request.new(
51
- base_url: request_options[:base_url] || Square::Environment::SANDBOX,
60
+ base_url: request_options[:base_url] || Square::Environment::PRODUCTION,
52
61
  method: "POST",
53
62
  path: "v2/customers",
54
63
  body: params
55
64
  )
56
- _response = @client.send(_request)
57
- if _response.code >= "200" && _response.code < "300"
58
- return Square::Types::CreateCustomerResponse.load(_response.body)
65
+ begin
66
+ _response = @client.send(_request)
67
+ rescue Net::HTTPRequestTimeout
68
+ raise Square::Errors::TimeoutError
69
+ end
70
+ code = _response.code.to_i
71
+ if code.between?(200, 299)
72
+ Square::Types::CreateCustomerResponse.load(_response.body)
73
+ else
74
+ error_class = Square::Errors::ResponseError.subclass_for_code(code)
75
+ raise error_class.new(_response.body, code: code)
59
76
  end
60
-
61
- raise _response.body
62
77
  end
63
78
 
64
79
  # Creates multiple [customer profiles](entity:Customer) for a business.
@@ -76,17 +91,23 @@ module Square
76
91
  # @return [Square::Types::BulkCreateCustomersResponse]
77
92
  def batch_create(request_options: {}, **params)
78
93
  _request = Square::Internal::JSON::Request.new(
79
- base_url: request_options[:base_url] || Square::Environment::SANDBOX,
94
+ base_url: request_options[:base_url] || Square::Environment::PRODUCTION,
80
95
  method: "POST",
81
96
  path: "v2/customers/bulk-create",
82
97
  body: params
83
98
  )
84
- _response = @client.send(_request)
85
- if _response.code >= "200" && _response.code < "300"
86
- return Square::Types::BulkCreateCustomersResponse.load(_response.body)
99
+ begin
100
+ _response = @client.send(_request)
101
+ rescue Net::HTTPRequestTimeout
102
+ raise Square::Errors::TimeoutError
103
+ end
104
+ code = _response.code.to_i
105
+ if code.between?(200, 299)
106
+ Square::Types::BulkCreateCustomersResponse.load(_response.body)
107
+ else
108
+ error_class = Square::Errors::ResponseError.subclass_for_code(code)
109
+ raise error_class.new(_response.body, code: code)
87
110
  end
88
-
89
- raise _response.body
90
111
  end
91
112
 
92
113
  # Deletes multiple customer profiles.
@@ -96,17 +117,23 @@ module Square
96
117
  # @return [Square::Types::BulkDeleteCustomersResponse]
97
118
  def bulk_delete_customers(request_options: {}, **params)
98
119
  _request = Square::Internal::JSON::Request.new(
99
- base_url: request_options[:base_url] || Square::Environment::SANDBOX,
120
+ base_url: request_options[:base_url] || Square::Environment::PRODUCTION,
100
121
  method: "POST",
101
122
  path: "v2/customers/bulk-delete",
102
123
  body: params
103
124
  )
104
- _response = @client.send(_request)
105
- if _response.code >= "200" && _response.code < "300"
106
- return Square::Types::BulkDeleteCustomersResponse.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::BulkDeleteCustomersResponse.load(_response.body)
133
+ else
134
+ error_class = Square::Errors::ResponseError.subclass_for_code(code)
135
+ raise error_class.new(_response.body, code: code)
107
136
  end
108
-
109
- raise _response.body
110
137
  end
111
138
 
112
139
  # Retrieves multiple customer profiles.
@@ -116,17 +143,23 @@ module Square
116
143
  # @return [Square::Types::BulkRetrieveCustomersResponse]
117
144
  def bulk_retrieve_customers(request_options: {}, **params)
118
145
  _request = Square::Internal::JSON::Request.new(
119
- base_url: request_options[:base_url] || Square::Environment::SANDBOX,
146
+ base_url: request_options[:base_url] || Square::Environment::PRODUCTION,
120
147
  method: "POST",
121
148
  path: "v2/customers/bulk-retrieve",
122
149
  body: params
123
150
  )
124
- _response = @client.send(_request)
125
- if _response.code >= "200" && _response.code < "300"
126
- return Square::Types::BulkRetrieveCustomersResponse.load(_response.body)
151
+ begin
152
+ _response = @client.send(_request)
153
+ rescue Net::HTTPRequestTimeout
154
+ raise Square::Errors::TimeoutError
155
+ end
156
+ code = _response.code.to_i
157
+ if code.between?(200, 299)
158
+ Square::Types::BulkRetrieveCustomersResponse.load(_response.body)
159
+ else
160
+ error_class = Square::Errors::ResponseError.subclass_for_code(code)
161
+ raise error_class.new(_response.body, code: code)
127
162
  end
128
-
129
- raise _response.body
130
163
  end
131
164
 
132
165
  # Updates multiple customer profiles.
@@ -136,17 +169,23 @@ module Square
136
169
  # @return [Square::Types::BulkUpdateCustomersResponse]
137
170
  def bulk_update_customers(request_options: {}, **params)
138
171
  _request = Square::Internal::JSON::Request.new(
139
- base_url: request_options[:base_url] || Square::Environment::SANDBOX,
172
+ base_url: request_options[:base_url] || Square::Environment::PRODUCTION,
140
173
  method: "POST",
141
174
  path: "v2/customers/bulk-update",
142
175
  body: params
143
176
  )
144
- _response = @client.send(_request)
145
- if _response.code >= "200" && _response.code < "300"
146
- return Square::Types::BulkUpdateCustomersResponse.load(_response.body)
177
+ begin
178
+ _response = @client.send(_request)
179
+ rescue Net::HTTPRequestTimeout
180
+ raise Square::Errors::TimeoutError
181
+ end
182
+ code = _response.code.to_i
183
+ if code.between?(200, 299)
184
+ Square::Types::BulkUpdateCustomersResponse.load(_response.body)
185
+ else
186
+ error_class = Square::Errors::ResponseError.subclass_for_code(code)
187
+ raise error_class.new(_response.body, code: code)
147
188
  end
148
-
149
- raise _response.body
150
189
  end
151
190
 
152
191
  # Searches the customer profiles associated with a Square account using one or more supported query filters.
@@ -162,17 +201,23 @@ module Square
162
201
  # @return [Square::Types::SearchCustomersResponse]
163
202
  def search(request_options: {}, **params)
164
203
  _request = Square::Internal::JSON::Request.new(
165
- base_url: request_options[:base_url] || Square::Environment::SANDBOX,
204
+ base_url: request_options[:base_url] || Square::Environment::PRODUCTION,
166
205
  method: "POST",
167
206
  path: "v2/customers/search",
168
207
  body: params
169
208
  )
170
- _response = @client.send(_request)
171
- if _response.code >= "200" && _response.code < "300"
172
- return Square::Types::SearchCustomersResponse.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::SearchCustomersResponse.load(_response.body)
217
+ else
218
+ error_class = Square::Errors::ResponseError.subclass_for_code(code)
219
+ raise error_class.new(_response.body, code: code)
173
220
  end
174
-
175
- raise _response.body
176
221
  end
177
222
 
178
223
  # Returns details for a single customer.
@@ -180,16 +225,22 @@ module Square
180
225
  # @return [Square::Types::GetCustomerResponse]
181
226
  def get(request_options: {}, **params)
182
227
  _request = Square::Internal::JSON::Request.new(
183
- base_url: request_options[:base_url] || Square::Environment::SANDBOX,
228
+ base_url: request_options[:base_url] || Square::Environment::PRODUCTION,
184
229
  method: "GET",
185
230
  path: "v2/customers/#{params[:customer_id]}"
186
231
  )
187
- _response = @client.send(_request)
188
- if _response.code >= "200" && _response.code < "300"
189
- return Square::Types::GetCustomerResponse.load(_response.body)
232
+ begin
233
+ _response = @client.send(_request)
234
+ rescue Net::HTTPRequestTimeout
235
+ raise Square::Errors::TimeoutError
236
+ end
237
+ code = _response.code.to_i
238
+ if code.between?(200, 299)
239
+ Square::Types::GetCustomerResponse.load(_response.body)
240
+ else
241
+ error_class = Square::Errors::ResponseError.subclass_for_code(code)
242
+ raise error_class.new(_response.body, code: code)
190
243
  end
191
-
192
- raise _response.body
193
244
  end
194
245
 
195
246
  # Updates a customer profile. This endpoint supports sparse updates, so only new or changed fields are required in the request.
@@ -202,17 +253,23 @@ module Square
202
253
  _path_param_names = ["customer_id"]
203
254
 
204
255
  _request = Square::Internal::JSON::Request.new(
205
- base_url: request_options[:base_url] || Square::Environment::SANDBOX,
256
+ base_url: request_options[:base_url] || Square::Environment::PRODUCTION,
206
257
  method: "PUT",
207
258
  path: "v2/customers/#{params[:customer_id]}",
208
259
  body: params.except(*_path_param_names)
209
260
  )
210
- _response = @client.send(_request)
211
- if _response.code >= "200" && _response.code < "300"
212
- return Square::Types::UpdateCustomerResponse.load(_response.body)
261
+ begin
262
+ _response = @client.send(_request)
263
+ rescue Net::HTTPRequestTimeout
264
+ raise Square::Errors::TimeoutError
265
+ end
266
+ code = _response.code.to_i
267
+ if code.between?(200, 299)
268
+ Square::Types::UpdateCustomerResponse.load(_response.body)
269
+ else
270
+ error_class = Square::Errors::ResponseError.subclass_for_code(code)
271
+ raise error_class.new(_response.body, code: code)
213
272
  end
214
-
215
- raise _response.body
216
273
  end
217
274
 
218
275
  # Deletes a customer profile from a business.
@@ -221,22 +278,31 @@ module Square
221
278
  #
222
279
  # @return [Square::Types::DeleteCustomerResponse]
223
280
  def delete(request_options: {}, **params)
224
- _query_param_names = ["version"]
281
+ _query_param_names = [
282
+ ["version"],
283
+ %i[version]
284
+ ].flatten
225
285
  _query = params.slice(*_query_param_names)
226
286
  params = params.except(*_query_param_names)
227
287
 
228
288
  _request = Square::Internal::JSON::Request.new(
229
- base_url: request_options[:base_url] || Square::Environment::SANDBOX,
289
+ base_url: request_options[:base_url] || Square::Environment::PRODUCTION,
230
290
  method: "DELETE",
231
291
  path: "v2/customers/#{params[:customer_id]}",
232
292
  query: _query
233
293
  )
234
- _response = @client.send(_request)
235
- if _response.code >= "200" && _response.code < "300"
236
- return Square::Types::DeleteCustomerResponse.load(_response.body)
294
+ begin
295
+ _response = @client.send(_request)
296
+ rescue Net::HTTPRequestTimeout
297
+ raise Square::Errors::TimeoutError
298
+ end
299
+ code = _response.code.to_i
300
+ if code.between?(200, 299)
301
+ Square::Types::DeleteCustomerResponse.load(_response.body)
302
+ else
303
+ error_class = Square::Errors::ResponseError.subclass_for_code(code)
304
+ raise error_class.new(_response.body, code: code)
237
305
  end
238
-
239
- raise _response.body
240
306
  end
241
307
 
242
308
  # @return [Square::CustomAttributeDefinitions::Client]