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
@@ -17,23 +17,33 @@ module Square
17
17
  #
18
18
  # @return [Square::Types::ListPaymentsResponse]
19
19
  def list(request_options: {}, **params)
20
- _query_param_names = %w[begin_time end_time sort_order cursor location_id total last_4
21
- card_brand limit is_offline_payment offline_begin_time offline_end_time updated_at_begin_time updated_at_end_time sort_field]
20
+ _query_param_names = [
21
+ %w[begin_time end_time sort_order cursor location_id total last_4 card_brand limit
22
+ is_offline_payment offline_begin_time offline_end_time updated_at_begin_time updated_at_end_time sort_field],
23
+ %i[begin_time end_time sort_order cursor location_id total last_4 card_brand limit is_offline_payment
24
+ offline_begin_time offline_end_time updated_at_begin_time updated_at_end_time sort_field]
25
+ ].flatten
22
26
  _query = params.slice(*_query_param_names)
23
27
  params.except(*_query_param_names)
24
28
 
25
29
  _request = Square::Internal::JSON::Request.new(
26
- base_url: request_options[:base_url] || Square::Environment::SANDBOX,
30
+ base_url: request_options[:base_url] || Square::Environment::PRODUCTION,
27
31
  method: "GET",
28
32
  path: "v2/payments",
29
33
  query: _query
30
34
  )
31
- _response = @client.send(_request)
32
- if _response.code >= "200" && _response.code < "300"
33
- return Square::Types::ListPaymentsResponse.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::ListPaymentsResponse.load(_response.body)
43
+ else
44
+ error_class = Square::Errors::ResponseError.subclass_for_code(code)
45
+ raise error_class.new(_response.body, code: code)
34
46
  end
35
-
36
- raise _response.body
37
47
  end
38
48
 
39
49
  # Creates a payment using the provided source. You can use this endpoint
@@ -48,17 +58,23 @@ module Square
48
58
  # @return [Square::Types::CreatePaymentResponse]
49
59
  def create(request_options: {}, **params)
50
60
  _request = Square::Internal::JSON::Request.new(
51
- base_url: request_options[:base_url] || Square::Environment::SANDBOX,
61
+ base_url: request_options[:base_url] || Square::Environment::PRODUCTION,
52
62
  method: "POST",
53
63
  path: "v2/payments",
54
64
  body: params
55
65
  )
56
- _response = @client.send(_request)
57
- if _response.code >= "200" && _response.code < "300"
58
- return Square::Types::CreatePaymentResponse.load(_response.body)
66
+ begin
67
+ _response = @client.send(_request)
68
+ rescue Net::HTTPRequestTimeout
69
+ raise Square::Errors::TimeoutError
70
+ end
71
+ code = _response.code.to_i
72
+ if code.between?(200, 299)
73
+ Square::Types::CreatePaymentResponse.load(_response.body)
74
+ else
75
+ error_class = Square::Errors::ResponseError.subclass_for_code(code)
76
+ raise error_class.new(_response.body, code: code)
59
77
  end
60
-
61
- raise _response.body
62
78
  end
63
79
 
64
80
  # Cancels (voids) a payment identified by the idempotency key that is specified in the
@@ -76,17 +92,23 @@ module Square
76
92
  # @return [Square::Types::CancelPaymentByIdempotencyKeyResponse]
77
93
  def cancel_by_idempotency_key(request_options: {}, **params)
78
94
  _request = Square::Internal::JSON::Request.new(
79
- base_url: request_options[:base_url] || Square::Environment::SANDBOX,
95
+ base_url: request_options[:base_url] || Square::Environment::PRODUCTION,
80
96
  method: "POST",
81
97
  path: "v2/payments/cancel",
82
98
  body: params
83
99
  )
84
- _response = @client.send(_request)
85
- if _response.code >= "200" && _response.code < "300"
86
- return Square::Types::CancelPaymentByIdempotencyKeyResponse.load(_response.body)
100
+ begin
101
+ _response = @client.send(_request)
102
+ rescue Net::HTTPRequestTimeout
103
+ raise Square::Errors::TimeoutError
104
+ end
105
+ code = _response.code.to_i
106
+ if code.between?(200, 299)
107
+ Square::Types::CancelPaymentByIdempotencyKeyResponse.load(_response.body)
108
+ else
109
+ error_class = Square::Errors::ResponseError.subclass_for_code(code)
110
+ raise error_class.new(_response.body, code: code)
87
111
  end
88
-
89
- raise _response.body
90
112
  end
91
113
 
92
114
  # Retrieves details for a specific payment.
@@ -94,16 +116,22 @@ module Square
94
116
  # @return [Square::Types::GetPaymentResponse]
95
117
  def get(request_options: {}, **params)
96
118
  _request = Square::Internal::JSON::Request.new(
97
- base_url: request_options[:base_url] || Square::Environment::SANDBOX,
119
+ base_url: request_options[:base_url] || Square::Environment::PRODUCTION,
98
120
  method: "GET",
99
121
  path: "v2/payments/#{params[:payment_id]}"
100
122
  )
101
- _response = @client.send(_request)
102
- if _response.code >= "200" && _response.code < "300"
103
- return Square::Types::GetPaymentResponse.load(_response.body)
123
+ begin
124
+ _response = @client.send(_request)
125
+ rescue Net::HTTPRequestTimeout
126
+ raise Square::Errors::TimeoutError
127
+ end
128
+ code = _response.code.to_i
129
+ if code.between?(200, 299)
130
+ Square::Types::GetPaymentResponse.load(_response.body)
131
+ else
132
+ error_class = Square::Errors::ResponseError.subclass_for_code(code)
133
+ raise error_class.new(_response.body, code: code)
104
134
  end
105
-
106
- raise _response.body
107
135
  end
108
136
 
109
137
  # Updates a payment with the APPROVED status.
@@ -114,17 +142,23 @@ module Square
114
142
  _path_param_names = ["payment_id"]
115
143
 
116
144
  _request = Square::Internal::JSON::Request.new(
117
- base_url: request_options[:base_url] || Square::Environment::SANDBOX,
145
+ base_url: request_options[:base_url] || Square::Environment::PRODUCTION,
118
146
  method: "PUT",
119
147
  path: "v2/payments/#{params[:payment_id]}",
120
148
  body: params.except(*_path_param_names)
121
149
  )
122
- _response = @client.send(_request)
123
- if _response.code >= "200" && _response.code < "300"
124
- return Square::Types::UpdatePaymentResponse.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::UpdatePaymentResponse.load(_response.body)
158
+ else
159
+ error_class = Square::Errors::ResponseError.subclass_for_code(code)
160
+ raise error_class.new(_response.body, code: code)
125
161
  end
126
-
127
- raise _response.body
128
162
  end
129
163
 
130
164
  # Cancels (voids) a payment. You can use this endpoint to cancel a payment with
@@ -133,16 +167,22 @@ module Square
133
167
  # @return [Square::Types::CancelPaymentResponse]
134
168
  def cancel(request_options: {}, **params)
135
169
  _request = Square::Internal::JSON::Request.new(
136
- base_url: request_options[:base_url] || Square::Environment::SANDBOX,
170
+ base_url: request_options[:base_url] || Square::Environment::PRODUCTION,
137
171
  method: "POST",
138
172
  path: "v2/payments/#{params[:payment_id]}/cancel"
139
173
  )
140
- _response = @client.send(_request)
141
- if _response.code >= "200" && _response.code < "300"
142
- return Square::Types::CancelPaymentResponse.load(_response.body)
174
+ begin
175
+ _response = @client.send(_request)
176
+ rescue Net::HTTPRequestTimeout
177
+ raise Square::Errors::TimeoutError
178
+ end
179
+ code = _response.code.to_i
180
+ if code.between?(200, 299)
181
+ Square::Types::CancelPaymentResponse.load(_response.body)
182
+ else
183
+ error_class = Square::Errors::ResponseError.subclass_for_code(code)
184
+ raise error_class.new(_response.body, code: code)
143
185
  end
144
-
145
- raise _response.body
146
186
  end
147
187
 
148
188
  # Completes (captures) a payment.
@@ -155,17 +195,23 @@ module Square
155
195
  _path_param_names = ["payment_id"]
156
196
 
157
197
  _request = Square::Internal::JSON::Request.new(
158
- base_url: request_options[:base_url] || Square::Environment::SANDBOX,
198
+ base_url: request_options[:base_url] || Square::Environment::PRODUCTION,
159
199
  method: "POST",
160
200
  path: "v2/payments/#{params[:payment_id]}/complete",
161
201
  body: params.except(*_path_param_names)
162
202
  )
163
- _response = @client.send(_request)
164
- if _response.code >= "200" && _response.code < "300"
165
- return Square::Types::CompletePaymentResponse.load(_response.body)
203
+ begin
204
+ _response = @client.send(_request)
205
+ rescue Net::HTTPRequestTimeout
206
+ raise Square::Errors::TimeoutError
207
+ end
208
+ code = _response.code.to_i
209
+ if code.between?(200, 299)
210
+ Square::Types::CompletePaymentResponse.load(_response.body)
211
+ else
212
+ error_class = Square::Errors::ResponseError.subclass_for_code(code)
213
+ raise error_class.new(_response.body, code: code)
166
214
  end
167
-
168
- raise _response.body
169
215
  end
170
216
  end
171
217
  end
@@ -14,22 +14,31 @@ module Square
14
14
  #
15
15
  # @return [Square::Types::ListPayoutsResponse]
16
16
  def list(request_options: {}, **params)
17
- _query_param_names = %w[location_id status begin_time end_time sort_order cursor limit]
17
+ _query_param_names = [
18
+ %w[location_id status begin_time end_time sort_order cursor limit],
19
+ %i[location_id status begin_time end_time sort_order cursor limit]
20
+ ].flatten
18
21
  _query = params.slice(*_query_param_names)
19
22
  params.except(*_query_param_names)
20
23
 
21
24
  _request = Square::Internal::JSON::Request.new(
22
- base_url: request_options[:base_url] || Square::Environment::SANDBOX,
25
+ base_url: request_options[:base_url] || Square::Environment::PRODUCTION,
23
26
  method: "GET",
24
27
  path: "v2/payouts",
25
28
  query: _query
26
29
  )
27
- _response = @client.send(_request)
28
- if _response.code >= "200" && _response.code < "300"
29
- return Square::Types::ListPayoutsResponse.load(_response.body)
30
+ begin
31
+ _response = @client.send(_request)
32
+ rescue Net::HTTPRequestTimeout
33
+ raise Square::Errors::TimeoutError
34
+ end
35
+ code = _response.code.to_i
36
+ if code.between?(200, 299)
37
+ Square::Types::ListPayoutsResponse.load(_response.body)
38
+ else
39
+ error_class = Square::Errors::ResponseError.subclass_for_code(code)
40
+ raise error_class.new(_response.body, code: code)
30
41
  end
31
-
32
- raise _response.body
33
42
  end
34
43
 
35
44
  # Retrieves details of a specific payout identified by a payout ID.
@@ -38,16 +47,22 @@ module Square
38
47
  # @return [Square::Types::GetPayoutResponse]
39
48
  def get(request_options: {}, **params)
40
49
  _request = Square::Internal::JSON::Request.new(
41
- base_url: request_options[:base_url] || Square::Environment::SANDBOX,
50
+ base_url: request_options[:base_url] || Square::Environment::PRODUCTION,
42
51
  method: "GET",
43
52
  path: "v2/payouts/#{params[:payout_id]}"
44
53
  )
45
- _response = @client.send(_request)
46
- if _response.code >= "200" && _response.code < "300"
47
- return Square::Types::GetPayoutResponse.load(_response.body)
54
+ begin
55
+ _response = @client.send(_request)
56
+ rescue Net::HTTPRequestTimeout
57
+ raise Square::Errors::TimeoutError
58
+ end
59
+ code = _response.code.to_i
60
+ if code.between?(200, 299)
61
+ Square::Types::GetPayoutResponse.load(_response.body)
62
+ else
63
+ error_class = Square::Errors::ResponseError.subclass_for_code(code)
64
+ raise error_class.new(_response.body, code: code)
48
65
  end
49
-
50
- raise _response.body
51
66
  end
52
67
 
53
68
  # Retrieves a list of all payout entries for a specific payout.
@@ -55,22 +70,31 @@ module Square
55
70
  #
56
71
  # @return [Square::Types::ListPayoutEntriesResponse]
57
72
  def list_entries(request_options: {}, **params)
58
- _query_param_names = %w[sort_order cursor limit]
73
+ _query_param_names = [
74
+ %w[sort_order cursor limit],
75
+ %i[sort_order cursor limit]
76
+ ].flatten
59
77
  _query = params.slice(*_query_param_names)
60
78
  params = params.except(*_query_param_names)
61
79
 
62
80
  _request = Square::Internal::JSON::Request.new(
63
- base_url: request_options[:base_url] || Square::Environment::SANDBOX,
81
+ base_url: request_options[:base_url] || Square::Environment::PRODUCTION,
64
82
  method: "GET",
65
83
  path: "v2/payouts/#{params[:payout_id]}/payout-entries",
66
84
  query: _query
67
85
  )
68
- _response = @client.send(_request)
69
- if _response.code >= "200" && _response.code < "300"
70
- return Square::Types::ListPayoutEntriesResponse.load(_response.body)
86
+ begin
87
+ _response = @client.send(_request)
88
+ rescue Net::HTTPRequestTimeout
89
+ raise Square::Errors::TimeoutError
90
+ end
91
+ code = _response.code.to_i
92
+ if code.between?(200, 299)
93
+ Square::Types::ListPayoutEntriesResponse.load(_response.body)
94
+ else
95
+ error_class = Square::Errors::ResponseError.subclass_for_code(code)
96
+ raise error_class.new(_response.body, code: code)
71
97
  end
72
-
73
- raise _response.body
74
98
  end
75
99
  end
76
100
  end
@@ -17,23 +17,33 @@ module Square
17
17
  #
18
18
  # @return [Square::Types::ListPaymentRefundsResponse]
19
19
  def list(request_options: {}, **params)
20
- _query_param_names = %w[begin_time end_time sort_order cursor location_id status source_type
21
- limit updated_at_begin_time updated_at_end_time sort_field]
20
+ _query_param_names = [
21
+ %w[begin_time end_time sort_order cursor location_id status source_type limit
22
+ updated_at_begin_time updated_at_end_time sort_field],
23
+ %i[begin_time end_time sort_order cursor location_id status source_type limit updated_at_begin_time
24
+ updated_at_end_time sort_field]
25
+ ].flatten
22
26
  _query = params.slice(*_query_param_names)
23
27
  params.except(*_query_param_names)
24
28
 
25
29
  _request = Square::Internal::JSON::Request.new(
26
- base_url: request_options[:base_url] || Square::Environment::SANDBOX,
30
+ base_url: request_options[:base_url] || Square::Environment::PRODUCTION,
27
31
  method: "GET",
28
32
  path: "v2/refunds",
29
33
  query: _query
30
34
  )
31
- _response = @client.send(_request)
32
- if _response.code >= "200" && _response.code < "300"
33
- return Square::Types::ListPaymentRefundsResponse.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::ListPaymentRefundsResponse.load(_response.body)
43
+ else
44
+ error_class = Square::Errors::ResponseError.subclass_for_code(code)
45
+ raise error_class.new(_response.body, code: code)
34
46
  end
35
-
36
- raise _response.body
37
47
  end
38
48
 
39
49
  # Refunds a payment. You can refund the entire payment amount or a
@@ -44,17 +54,23 @@ module Square
44
54
  # @return [Square::Types::RefundPaymentResponse]
45
55
  def refund_payment(request_options: {}, **params)
46
56
  _request = Square::Internal::JSON::Request.new(
47
- base_url: request_options[:base_url] || Square::Environment::SANDBOX,
57
+ base_url: request_options[:base_url] || Square::Environment::PRODUCTION,
48
58
  method: "POST",
49
59
  path: "v2/refunds",
50
60
  body: params
51
61
  )
52
- _response = @client.send(_request)
53
- if _response.code >= "200" && _response.code < "300"
54
- return Square::Types::RefundPaymentResponse.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::RefundPaymentResponse.load(_response.body)
70
+ else
71
+ error_class = Square::Errors::ResponseError.subclass_for_code(code)
72
+ raise error_class.new(_response.body, code: code)
55
73
  end
56
-
57
- raise _response.body
58
74
  end
59
75
 
60
76
  # Retrieves a specific refund using the `refund_id`.
@@ -62,16 +78,22 @@ module Square
62
78
  # @return [Square::Types::GetPaymentRefundResponse]
63
79
  def get(request_options: {}, **params)
64
80
  _request = Square::Internal::JSON::Request.new(
65
- base_url: request_options[:base_url] || Square::Environment::SANDBOX,
81
+ base_url: request_options[:base_url] || Square::Environment::PRODUCTION,
66
82
  method: "GET",
67
83
  path: "v2/refunds/#{params[:refund_id]}"
68
84
  )
69
- _response = @client.send(_request)
70
- if _response.code >= "200" && _response.code < "300"
71
- return Square::Types::GetPaymentRefundResponse.load(_response.body)
85
+ begin
86
+ _response = @client.send(_request)
87
+ rescue Net::HTTPRequestTimeout
88
+ raise Square::Errors::TimeoutError
89
+ end
90
+ code = _response.code.to_i
91
+ if code.between?(200, 299)
92
+ Square::Types::GetPaymentRefundResponse.load(_response.body)
93
+ else
94
+ error_class = Square::Errors::ResponseError.subclass_for_code(code)
95
+ raise error_class.new(_response.body, code: code)
72
96
  end
73
-
74
- raise _response.body
75
97
  end
76
98
  end
77
99
  end
@@ -16,16 +16,22 @@ module Square
16
16
  # @return [Square::Types::ListSitesResponse]
17
17
  def list(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: "GET",
21
21
  path: "v2/sites"
22
22
  )
23
- _response = @client.send(_request)
24
- if _response.code >= "200" && _response.code < "300"
25
- return Square::Types::ListSitesResponse.load(_response.body)
23
+ begin
24
+ _response = @client.send(_request)
25
+ rescue Net::HTTPRequestTimeout
26
+ raise Square::Errors::TimeoutError
27
+ end
28
+ code = _response.code.to_i
29
+ if code.between?(200, 299)
30
+ Square::Types::ListSitesResponse.load(_response.body)
31
+ else
32
+ error_class = Square::Errors::ResponseError.subclass_for_code(code)
33
+ raise error_class.new(_response.body, code: code)
26
34
  end
27
-
28
- raise _response.body
29
35
  end
30
36
  end
31
37
  end
@@ -18,16 +18,22 @@ module Square
18
18
  # @return [Square::Types::GetSnippetResponse]
19
19
  def get(request_options: {}, **params)
20
20
  _request = Square::Internal::JSON::Request.new(
21
- base_url: request_options[:base_url] || Square::Environment::SANDBOX,
21
+ base_url: request_options[:base_url] || Square::Environment::PRODUCTION,
22
22
  method: "GET",
23
23
  path: "v2/sites/#{params[:site_id]}/snippet"
24
24
  )
25
- _response = @client.send(_request)
26
- if _response.code >= "200" && _response.code < "300"
27
- return Square::Types::GetSnippetResponse.load(_response.body)
25
+ begin
26
+ _response = @client.send(_request)
27
+ rescue Net::HTTPRequestTimeout
28
+ raise Square::Errors::TimeoutError
29
+ end
30
+ code = _response.code.to_i
31
+ if code.between?(200, 299)
32
+ Square::Types::GetSnippetResponse.load(_response.body)
33
+ else
34
+ error_class = Square::Errors::ResponseError.subclass_for_code(code)
35
+ raise error_class.new(_response.body, code: code)
28
36
  end
29
-
30
- raise _response.body
31
37
  end
32
38
 
33
39
  # Adds a snippet to a Square Online site or updates the existing snippet on the site.
@@ -43,17 +49,23 @@ module Square
43
49
  _path_param_names = ["site_id"]
44
50
 
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/sites/#{params[:site_id]}/snippet",
49
55
  body: params.except(*_path_param_names)
50
56
  )
51
- _response = @client.send(_request)
52
- if _response.code >= "200" && _response.code < "300"
53
- return Square::Types::UpsertSnippetResponse.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::UpsertSnippetResponse.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
  # Removes your snippet from a Square Online site.
@@ -66,16 +78,22 @@ module Square
66
78
  # @return [Square::Types::DeleteSnippetResponse]
67
79
  def delete(request_options: {}, **params)
68
80
  _request = Square::Internal::JSON::Request.new(
69
- base_url: request_options[:base_url] || Square::Environment::SANDBOX,
81
+ base_url: request_options[:base_url] || Square::Environment::PRODUCTION,
70
82
  method: "DELETE",
71
83
  path: "v2/sites/#{params[:site_id]}/snippet"
72
84
  )
73
- _response = @client.send(_request)
74
- if _response.code >= "200" && _response.code < "300"
75
- return Square::Types::DeleteSnippetResponse.load(_response.body)
85
+ begin
86
+ _response = @client.send(_request)
87
+ rescue Net::HTTPRequestTimeout
88
+ raise Square::Errors::TimeoutError
89
+ end
90
+ code = _response.code.to_i
91
+ if code.between?(200, 299)
92
+ Square::Types::DeleteSnippetResponse.load(_response.body)
93
+ else
94
+ error_class = Square::Errors::ResponseError.subclass_for_code(code)
95
+ raise error_class.new(_response.body, code: code)
76
96
  end
77
-
78
- raise _response.body
79
97
  end
80
98
  end
81
99
  end