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.
- checksums.yaml +4 -4
- data/README.md +62 -9
- data/lib/square/apple_pay/client.rb +12 -6
- data/lib/square/bank_accounts/client.rb +40 -19
- data/lib/square/bookings/client.rb +124 -62
- data/lib/square/bookings/custom_attribute_definitions/client.rb +68 -32
- data/lib/square/bookings/custom_attributes/client.rb +80 -38
- data/lib/square/bookings/location_profiles/client.rb +16 -7
- data/lib/square/bookings/team_member_profiles/client.rb +28 -13
- data/lib/square/cards/client.rb +53 -24
- data/lib/square/cash_drawers/shifts/client.rb +48 -21
- data/lib/square/catalog/client.rb +112 -55
- data/lib/square/catalog/images/client.rb +22 -10
- data/lib/square/catalog/object/client.rb +40 -19
- data/lib/square/catalog/object/types/delete_object_request.rb +1 -1
- data/lib/square/catalog/object/types/get_object_request.rb +1 -1
- data/lib/square/checkout/client.rb +48 -24
- data/lib/square/checkout/payment_links/client.rb +64 -31
- data/lib/square/client.rb +1 -1
- data/lib/square/customers/cards/client.rb +24 -12
- data/lib/square/customers/client.rb +128 -62
- data/lib/square/customers/custom_attribute_definitions/client.rb +80 -38
- data/lib/square/customers/custom_attributes/client.rb +56 -26
- data/lib/square/customers/groups/client.rb +88 -43
- data/lib/square/customers/segments/client.rb +28 -13
- data/lib/square/devices/client.rb +28 -13
- data/lib/square/devices/codes/client.rb +40 -19
- data/lib/square/disputes/client.rb +75 -36
- data/lib/square/disputes/evidence/client.rb +40 -19
- data/lib/square/employees/client.rb +28 -13
- data/lib/square/errors/api_error.rb +8 -0
- data/lib/square/errors/client_error.rb +17 -0
- data/lib/square/errors/redirect_error.rb +8 -0
- data/lib/square/errors/response_error.rb +42 -0
- data/lib/square/errors/server_error.rb +11 -0
- data/lib/square/errors/timeout_error.rb +8 -0
- data/lib/square/events/client.rb +52 -25
- data/lib/square/gift_cards/activities/client.rb +28 -14
- data/lib/square/gift_cards/client.rb +88 -43
- data/lib/square/inventory/client.rb +164 -80
- data/lib/square/invoices/client.rb +127 -61
- data/lib/square/labor/break_types/client.rb +64 -31
- data/lib/square/labor/client.rb +132 -66
- data/lib/square/labor/employee_wages/client.rb +28 -13
- data/lib/square/labor/shifts/client.rb +60 -30
- data/lib/square/labor/team_member_wages/client.rb +28 -13
- data/lib/square/labor/workweek_configs/client.rb +28 -13
- data/lib/square/locations/client.rb +60 -30
- data/lib/square/locations/custom_attribute_definitions/client.rb +68 -32
- data/lib/square/locations/custom_attributes/client.rb +80 -38
- data/lib/square/locations/transactions/client.rb +52 -25
- data/lib/square/loyalty/accounts/client.rb +60 -30
- data/lib/square/loyalty/client.rb +12 -6
- data/lib/square/loyalty/programs/client.rb +36 -18
- data/lib/square/loyalty/programs/promotions/client.rb +52 -25
- data/lib/square/loyalty/rewards/client.rb +60 -30
- data/lib/square/merchants/client.rb +28 -13
- data/lib/square/merchants/custom_attribute_definitions/client.rb +68 -32
- data/lib/square/merchants/custom_attributes/client.rb +80 -38
- data/lib/square/mobile/client.rb +12 -6
- data/lib/square/o_auth/client.rb +46 -22
- data/lib/square/orders/client.rb +98 -46
- data/lib/square/orders/custom_attribute_definitions/client.rb +68 -32
- data/lib/square/orders/custom_attributes/client.rb +80 -38
- data/lib/square/payments/client.rb +90 -44
- data/lib/square/payouts/client.rb +44 -20
- data/lib/square/refunds/client.rb +42 -20
- data/lib/square/sites/client.rb +12 -6
- data/lib/square/snippets/client.rb +36 -18
- data/lib/square/subscriptions/client.rb +153 -73
- data/lib/square/team/client.rb +53 -24
- data/lib/square/team_members/client.rb +72 -36
- data/lib/square/team_members/wage_setting/client.rb +24 -12
- data/lib/square/terminal/actions/client.rb +48 -24
- data/lib/square/terminal/checkouts/client.rb +48 -24
- data/lib/square/terminal/client.rb +36 -18
- data/lib/square/terminal/refunds/client.rb +48 -24
- data/lib/square/types/action_cancel_reason.rb +2 -1
- data/lib/square/types/activity_type.rb +2 -1
- data/lib/square/types/application_details_external_square_product.rb +2 -1
- data/lib/square/types/archived_state.rb +2 -1
- data/lib/square/types/bank_account_status.rb +2 -1
- data/lib/square/types/bank_account_type.rb +2 -1
- data/lib/square/types/booking_booking_source.rb +2 -1
- data/lib/square/types/booking_creator_details_creator_type.rb +2 -1
- data/lib/square/types/booking_status.rb +2 -1
- data/lib/square/types/business_appointment_settings_alignment_time.rb +2 -1
- data/lib/square/types/business_appointment_settings_booking_location_type.rb +2 -1
- data/lib/square/types/business_appointment_settings_cancellation_policy.rb +2 -1
- data/lib/square/types/business_appointment_settings_max_appointments_per_day_limit_type.rb +2 -1
- data/lib/square/types/business_booking_profile_booking_policy.rb +2 -1
- data/lib/square/types/business_booking_profile_customer_timezone_choice.rb +2 -1
- data/lib/square/types/card_brand.rb +2 -1
- data/lib/square/types/card_co_brand.rb +2 -1
- data/lib/square/types/card_prepaid_type.rb +2 -1
- data/lib/square/types/card_type.rb +2 -1
- data/lib/square/types/cash_drawer_event_type.rb +2 -1
- data/lib/square/types/cash_drawer_shift_state.rb +2 -1
- data/lib/square/types/catalog_category_type.rb +2 -1
- data/lib/square/types/catalog_custom_attribute_definition_app_visibility.rb +2 -1
- data/lib/square/types/catalog_custom_attribute_definition_seller_visibility.rb +2 -1
- data/lib/square/types/catalog_custom_attribute_definition_type.rb +2 -1
- data/lib/square/types/catalog_discount_modify_tax_basis.rb +2 -1
- data/lib/square/types/catalog_discount_type.rb +2 -1
- data/lib/square/types/catalog_id_mapping.rb +1 -1
- data/lib/square/types/catalog_item_food_and_beverage_details_dietary_preference_standard_dietary_preference.rb +2 -1
- data/lib/square/types/catalog_item_food_and_beverage_details_dietary_preference_type.rb +2 -1
- data/lib/square/types/catalog_item_food_and_beverage_details_ingredient_standard_ingredient.rb +2 -1
- data/lib/square/types/catalog_item_product_type.rb +2 -1
- data/lib/square/types/catalog_modifier_list_modifier_type.rb +2 -1
- data/lib/square/types/catalog_modifier_list_selection_type.rb +2 -1
- data/lib/square/types/catalog_object_reference.rb +1 -1
- data/lib/square/types/catalog_object_type.rb +2 -1
- data/lib/square/types/catalog_pricing_type.rb +2 -1
- data/lib/square/types/catalog_quick_amount_type.rb +2 -1
- data/lib/square/types/catalog_quick_amounts_settings_option.rb +2 -1
- data/lib/square/types/change_timing.rb +2 -1
- data/lib/square/types/checkout_location_settings_branding_button_shape.rb +2 -1
- data/lib/square/types/checkout_location_settings_branding_header_type.rb +2 -1
- data/lib/square/types/checkout_options_payment_type.rb +2 -1
- data/lib/square/types/component_component_type.rb +2 -1
- data/lib/square/types/country.rb +2 -1
- data/lib/square/types/create_catalog_image_request.rb +1 -1
- data/lib/square/types/currency.rb +2 -1
- data/lib/square/types/custom_attribute_definition_visibility.rb +2 -1
- data/lib/square/types/customer_creation_source.rb +2 -1
- data/lib/square/types/customer_inclusion_exclusion.rb +2 -1
- data/lib/square/types/customer_sort_field.rb +2 -1
- data/lib/square/types/data_collection_options_input_type.rb +2 -1
- data/lib/square/types/day_of_week.rb +2 -1
- data/lib/square/types/destination_type.rb +2 -1
- data/lib/square/types/device_code_status.rb +2 -1
- data/lib/square/types/device_component_details_external_power.rb +2 -1
- data/lib/square/types/device_status_category.rb +2 -1
- data/lib/square/types/dispute_evidence_type.rb +2 -1
- data/lib/square/types/dispute_reason.rb +2 -1
- data/lib/square/types/dispute_state.rb +2 -1
- data/lib/square/types/ecom_visibility.rb +2 -1
- data/lib/square/types/employee_status.rb +2 -1
- data/lib/square/types/error_category.rb +2 -1
- data/lib/square/types/error_code.rb +2 -1
- data/lib/square/types/exclude_strategy.rb +2 -1
- data/lib/square/types/fulfillment_delivery_details_order_fulfillment_delivery_details_schedule_type.rb +2 -1
- data/lib/square/types/fulfillment_fulfillment_line_item_application.rb +2 -1
- data/lib/square/types/fulfillment_pickup_details_schedule_type.rb +2 -1
- data/lib/square/types/fulfillment_state.rb +2 -1
- data/lib/square/types/fulfillment_type.rb +2 -1
- data/lib/square/types/gift_card_activity_adjust_decrement_reason.rb +2 -1
- data/lib/square/types/gift_card_activity_adjust_increment_reason.rb +2 -1
- data/lib/square/types/gift_card_activity_clear_balance_reason.rb +2 -1
- data/lib/square/types/gift_card_activity_deactivate_reason.rb +2 -1
- data/lib/square/types/gift_card_activity_redeem_status.rb +2 -1
- data/lib/square/types/gift_card_activity_type.rb +2 -1
- data/lib/square/types/gift_card_gan_source.rb +2 -1
- data/lib/square/types/gift_card_status.rb +2 -1
- data/lib/square/types/gift_card_type.rb +2 -1
- data/lib/square/types/inventory_alert_type.rb +2 -1
- data/lib/square/types/inventory_change_type.rb +2 -1
- data/lib/square/types/inventory_state.rb +2 -1
- data/lib/square/types/invoice_attachment.rb +1 -1
- data/lib/square/types/invoice_automatic_payment_source.rb +2 -1
- data/lib/square/types/invoice_custom_field_placement.rb +2 -1
- data/lib/square/types/invoice_delivery_method.rb +2 -1
- data/lib/square/types/invoice_payment_reminder_status.rb +2 -1
- data/lib/square/types/invoice_request_method.rb +2 -1
- data/lib/square/types/invoice_request_type.rb +2 -1
- data/lib/square/types/invoice_status.rb +2 -1
- data/lib/square/types/job_assignment_pay_type.rb +2 -1
- data/lib/square/types/list_payment_refunds_request_sort_field.rb +2 -1
- data/lib/square/types/list_payments_request_sort_field.rb +2 -1
- data/lib/square/types/location_capability.rb +2 -1
- data/lib/square/types/location_status.rb +2 -1
- data/lib/square/types/location_type.rb +2 -1
- data/lib/square/types/loyalty_event_source.rb +2 -1
- data/lib/square/types/loyalty_event_type.rb +2 -1
- data/lib/square/types/loyalty_program_accrual_rule_tax_mode.rb +2 -1
- data/lib/square/types/loyalty_program_accrual_rule_type.rb +2 -1
- data/lib/square/types/loyalty_program_status.rb +2 -1
- data/lib/square/types/loyalty_promotion_incentive_type.rb +2 -1
- data/lib/square/types/loyalty_promotion_status.rb +2 -1
- data/lib/square/types/loyalty_promotion_trigger_limit_interval.rb +2 -1
- data/lib/square/types/loyalty_reward_status.rb +2 -1
- data/lib/square/types/measurement_unit_area.rb +2 -1
- data/lib/square/types/measurement_unit_length.rb +2 -1
- data/lib/square/types/measurement_unit_time.rb +2 -1
- data/lib/square/types/measurement_unit_unit_type.rb +2 -1
- data/lib/square/types/measurement_unit_volume.rb +2 -1
- data/lib/square/types/measurement_unit_weight.rb +2 -1
- data/lib/square/types/merchant_status.rb +2 -1
- data/lib/square/types/oauth_authorization_revoked_event_revoker_type.rb +2 -1
- data/lib/square/types/order_fulfillment_delivery_details_schedule_type.rb +2 -1
- data/lib/square/types/order_fulfillment_fulfillment_line_item_application.rb +2 -1
- data/lib/square/types/order_fulfillment_pickup_details_schedule_type.rb +2 -1
- data/lib/square/types/order_fulfillment_state.rb +2 -1
- data/lib/square/types/order_fulfillment_type.rb +2 -1
- data/lib/square/types/order_line_item_discount_scope.rb +2 -1
- data/lib/square/types/order_line_item_discount_type.rb +2 -1
- data/lib/square/types/order_line_item_item_type.rb +2 -1
- data/lib/square/types/order_line_item_tax_scope.rb +2 -1
- data/lib/square/types/order_line_item_tax_type.rb +2 -1
- data/lib/square/types/order_service_charge_calculation_phase.rb +2 -1
- data/lib/square/types/order_service_charge_scope.rb +2 -1
- data/lib/square/types/order_service_charge_treatment_type.rb +2 -1
- data/lib/square/types/order_service_charge_type.rb +2 -1
- data/lib/square/types/order_state.rb +2 -1
- data/lib/square/types/payment_options_delay_action.rb +2 -1
- data/lib/square/types/payout_fee_type.rb +2 -1
- data/lib/square/types/payout_status.rb +2 -1
- data/lib/square/types/payout_type.rb +2 -1
- data/lib/square/types/product.rb +2 -1
- data/lib/square/types/refund_status.rb +2 -1
- data/lib/square/types/register_domain_response_status.rb +2 -1
- data/lib/square/types/risk_evaluation_risk_level.rb +2 -1
- data/lib/square/types/scheduled_shift_filter_assignment_status.rb +2 -1
- data/lib/square/types/scheduled_shift_filter_scheduled_shift_status.rb +2 -1
- data/lib/square/types/scheduled_shift_notification_audience.rb +2 -1
- data/lib/square/types/scheduled_shift_sort_field.rb +2 -1
- data/lib/square/types/scheduled_shift_workday_matcher.rb +2 -1
- data/lib/square/types/search_catalog_items_request_stock_level.rb +2 -1
- data/lib/square/types/search_orders_sort_field.rb +2 -1
- data/lib/square/types/search_vendors_request_sort_field.rb +2 -1
- data/lib/square/types/shift_filter_status.rb +2 -1
- data/lib/square/types/shift_sort_field.rb +2 -1
- data/lib/square/types/shift_status.rb +2 -1
- data/lib/square/types/shift_workday_matcher.rb +2 -1
- data/lib/square/types/sort_order.rb +2 -1
- data/lib/square/types/subscription_action_type.rb +2 -1
- data/lib/square/types/subscription_cadence.rb +2 -1
- data/lib/square/types/subscription_event_info_code.rb +2 -1
- data/lib/square/types/subscription_event_subscription_event_type.rb +2 -1
- data/lib/square/types/subscription_pricing_type.rb +2 -1
- data/lib/square/types/subscription_status.rb +2 -1
- data/lib/square/types/tax_calculation_phase.rb +2 -1
- data/lib/square/types/tax_inclusion_type.rb +2 -1
- data/lib/square/types/team_member_assigned_locations_assignment_type.rb +2 -1
- data/lib/square/types/team_member_invitation_status.rb +2 -1
- data/lib/square/types/team_member_status.rb +2 -1
- data/lib/square/types/tender_bank_account_details_status.rb +2 -1
- data/lib/square/types/tender_buy_now_pay_later_details_brand.rb +2 -1
- data/lib/square/types/tender_buy_now_pay_later_details_status.rb +2 -1
- data/lib/square/types/tender_card_details_entry_method.rb +2 -1
- data/lib/square/types/tender_card_details_status.rb +2 -1
- data/lib/square/types/tender_square_account_details_status.rb +2 -1
- data/lib/square/types/tender_type.rb +2 -1
- data/lib/square/types/terminal_action_action_type.rb +2 -1
- data/lib/square/types/timecard_filter_status.rb +2 -1
- data/lib/square/types/timecard_sort_field.rb +2 -1
- data/lib/square/types/timecard_status.rb +2 -1
- data/lib/square/types/timecard_workday_matcher.rb +2 -1
- data/lib/square/types/transaction_product.rb +2 -1
- data/lib/square/types/transaction_type.rb +2 -1
- data/lib/square/types/v_1_order_history_entry_action.rb +2 -1
- data/lib/square/types/v_1_order_state.rb +2 -1
- data/lib/square/types/v_1_tender_card_brand.rb +2 -1
- data/lib/square/types/v_1_tender_entry_method.rb +2 -1
- data/lib/square/types/v_1_tender_type.rb +2 -1
- data/lib/square/types/v_1_update_order_request_action.rb +2 -1
- data/lib/square/types/vendor_status.rb +2 -1
- data/lib/square/types/visibility_filter.rb +2 -1
- data/lib/square/types/weekday.rb +2 -1
- data/lib/square/v_1_transactions/client.rb +40 -15
- data/lib/square/vendors/client.rb +84 -42
- data/lib/square/version.rb +5 -0
- data/lib/square/webhooks/event_types/client.rb +16 -7
- data/lib/square/webhooks/subscriptions/client.rb +88 -43
- data/lib/square.rb +7 -6
- data/test/square/integration/client_tests/test_catalog.rb +3 -0
- metadata +9 -2
@@ -13,22 +13,31 @@ module Square
|
|
13
13
|
#
|
14
14
|
# @return [Square::Types::ListDevicesResponse]
|
15
15
|
def list(request_options: {}, **params)
|
16
|
-
_query_param_names =
|
16
|
+
_query_param_names = [
|
17
|
+
%w[cursor sort_order limit location_id],
|
18
|
+
%i[cursor sort_order limit location_id]
|
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::
|
24
|
+
base_url: request_options[:base_url] || Square::Environment::PRODUCTION,
|
22
25
|
method: "GET",
|
23
26
|
path: "v2/devices",
|
24
27
|
query: _query
|
25
28
|
)
|
26
|
-
|
27
|
-
|
28
|
-
|
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::ListDevicesResponse.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
|
# Retrieves Device with the associated `device_id`.
|
@@ -36,16 +45,22 @@ module Square
|
|
36
45
|
# @return [Square::Types::GetDeviceResponse]
|
37
46
|
def get(request_options: {}, **params)
|
38
47
|
_request = Square::Internal::JSON::Request.new(
|
39
|
-
base_url: request_options[:base_url] || Square::Environment::
|
48
|
+
base_url: request_options[:base_url] || Square::Environment::PRODUCTION,
|
40
49
|
method: "GET",
|
41
50
|
path: "v2/devices/#{params[:device_id]}"
|
42
51
|
)
|
43
|
-
|
44
|
-
|
45
|
-
|
52
|
+
begin
|
53
|
+
_response = @client.send(_request)
|
54
|
+
rescue Net::HTTPRequestTimeout
|
55
|
+
raise Square::Errors::TimeoutError
|
56
|
+
end
|
57
|
+
code = _response.code.to_i
|
58
|
+
if code.between?(200, 299)
|
59
|
+
Square::Types::GetDeviceResponse.load(_response.body)
|
60
|
+
else
|
61
|
+
error_class = Square::Errors::ResponseError.subclass_for_code(code)
|
62
|
+
raise error_class.new(_response.body, code: code)
|
46
63
|
end
|
47
|
-
|
48
|
-
raise _response.body
|
49
64
|
end
|
50
65
|
|
51
66
|
# @return [Square::Codes::Client]
|
@@ -13,22 +13,31 @@ module Square
|
|
13
13
|
#
|
14
14
|
# @return [Square::Types::ListDeviceCodesResponse]
|
15
15
|
def list(request_options: {}, **params)
|
16
|
-
_query_param_names =
|
16
|
+
_query_param_names = [
|
17
|
+
%w[cursor location_id product_type status],
|
18
|
+
%i[cursor location_id product_type status]
|
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::
|
24
|
+
base_url: request_options[:base_url] || Square::Environment::PRODUCTION,
|
22
25
|
method: "GET",
|
23
26
|
path: "v2/devices/codes",
|
24
27
|
query: _query
|
25
28
|
)
|
26
|
-
|
27
|
-
|
28
|
-
|
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::ListDeviceCodesResponse.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 DeviceCode that can be used to login to a Square Terminal device to enter the connected
|
@@ -37,17 +46,23 @@ module Square
|
|
37
46
|
# @return [Square::Types::CreateDeviceCodeResponse]
|
38
47
|
def create(request_options: {}, **params)
|
39
48
|
_request = Square::Internal::JSON::Request.new(
|
40
|
-
base_url: request_options[:base_url] || Square::Environment::
|
49
|
+
base_url: request_options[:base_url] || Square::Environment::PRODUCTION,
|
41
50
|
method: "POST",
|
42
51
|
path: "v2/devices/codes",
|
43
52
|
body: params
|
44
53
|
)
|
45
|
-
|
46
|
-
|
47
|
-
|
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::CreateDeviceCodeResponse.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 DeviceCode with the associated ID.
|
@@ -55,16 +70,22 @@ module Square
|
|
55
70
|
# @return [Square::Types::GetDeviceCodeResponse]
|
56
71
|
def get(request_options: {}, **params)
|
57
72
|
_request = Square::Internal::JSON::Request.new(
|
58
|
-
base_url: request_options[:base_url] || Square::Environment::
|
73
|
+
base_url: request_options[:base_url] || Square::Environment::PRODUCTION,
|
59
74
|
method: "GET",
|
60
75
|
path: "v2/devices/codes/#{params[:id]}"
|
61
76
|
)
|
62
|
-
|
63
|
-
|
64
|
-
|
77
|
+
begin
|
78
|
+
_response = @client.send(_request)
|
79
|
+
rescue Net::HTTPRequestTimeout
|
80
|
+
raise Square::Errors::TimeoutError
|
81
|
+
end
|
82
|
+
code = _response.code.to_i
|
83
|
+
if code.between?(200, 299)
|
84
|
+
Square::Types::GetDeviceCodeResponse.load(_response.body)
|
85
|
+
else
|
86
|
+
error_class = Square::Errors::ResponseError.subclass_for_code(code)
|
87
|
+
raise error_class.new(_response.body, code: code)
|
65
88
|
end
|
66
|
-
|
67
|
-
raise _response.body
|
68
89
|
end
|
69
90
|
end
|
70
91
|
end
|
@@ -12,22 +12,31 @@ module Square
|
|
12
12
|
#
|
13
13
|
# @return [Square::Types::ListDisputesResponse]
|
14
14
|
def list(request_options: {}, **params)
|
15
|
-
_query_param_names =
|
15
|
+
_query_param_names = [
|
16
|
+
%w[cursor states location_id],
|
17
|
+
%i[cursor states location_id]
|
18
|
+
].flatten
|
16
19
|
_query = params.slice(*_query_param_names)
|
17
20
|
params.except(*_query_param_names)
|
18
21
|
|
19
22
|
_request = Square::Internal::JSON::Request.new(
|
20
|
-
base_url: request_options[:base_url] || Square::Environment::
|
23
|
+
base_url: request_options[:base_url] || Square::Environment::PRODUCTION,
|
21
24
|
method: "GET",
|
22
25
|
path: "v2/disputes",
|
23
26
|
query: _query
|
24
27
|
)
|
25
|
-
|
26
|
-
|
27
|
-
|
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::ListDisputesResponse.load(_response.body)
|
36
|
+
else
|
37
|
+
error_class = Square::Errors::ResponseError.subclass_for_code(code)
|
38
|
+
raise error_class.new(_response.body, code: code)
|
28
39
|
end
|
29
|
-
|
30
|
-
raise _response.body
|
31
40
|
end
|
32
41
|
|
33
42
|
# Returns details about a specific dispute.
|
@@ -35,16 +44,22 @@ module Square
|
|
35
44
|
# @return [Square::Types::GetDisputeResponse]
|
36
45
|
def get(request_options: {}, **params)
|
37
46
|
_request = Square::Internal::JSON::Request.new(
|
38
|
-
base_url: request_options[:base_url] || Square::Environment::
|
47
|
+
base_url: request_options[:base_url] || Square::Environment::PRODUCTION,
|
39
48
|
method: "GET",
|
40
49
|
path: "v2/disputes/#{params[:dispute_id]}"
|
41
50
|
)
|
42
|
-
|
43
|
-
|
44
|
-
|
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::GetDisputeResponse.load(_response.body)
|
59
|
+
else
|
60
|
+
error_class = Square::Errors::ResponseError.subclass_for_code(code)
|
61
|
+
raise error_class.new(_response.body, code: code)
|
45
62
|
end
|
46
|
-
|
47
|
-
raise _response.body
|
48
63
|
end
|
49
64
|
|
50
65
|
# Accepts the loss on a dispute. Square returns the disputed amount to the cardholder and
|
@@ -56,16 +71,22 @@ module Square
|
|
56
71
|
# @return [Square::Types::AcceptDisputeResponse]
|
57
72
|
def accept(request_options: {}, **params)
|
58
73
|
_request = Square::Internal::JSON::Request.new(
|
59
|
-
base_url: request_options[:base_url] || Square::Environment::
|
74
|
+
base_url: request_options[:base_url] || Square::Environment::PRODUCTION,
|
60
75
|
method: "POST",
|
61
76
|
path: "v2/disputes/#{params[:dispute_id]}/accept"
|
62
77
|
)
|
63
|
-
|
64
|
-
|
65
|
-
|
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::AcceptDisputeResponse.load(_response.body)
|
86
|
+
else
|
87
|
+
error_class = Square::Errors::ResponseError.subclass_for_code(code)
|
88
|
+
raise error_class.new(_response.body, code: code)
|
66
89
|
end
|
67
|
-
|
68
|
-
raise _response.body
|
69
90
|
end
|
70
91
|
|
71
92
|
# Uploads a file to use as evidence in a dispute challenge. The endpoint accepts HTTP
|
@@ -89,12 +110,18 @@ module Square
|
|
89
110
|
path: "v2/disputes/#{params[:dispute_id]}/evidence-files",
|
90
111
|
body: body
|
91
112
|
)
|
92
|
-
|
93
|
-
|
94
|
-
|
113
|
+
begin
|
114
|
+
_response = @client.send(_request)
|
115
|
+
rescue Net::HTTPRequestTimeout
|
116
|
+
raise Square::Errors::TimeoutError
|
117
|
+
end
|
118
|
+
code = _response.code.to_i
|
119
|
+
if code.between?(200, 299)
|
120
|
+
Square::Types::CreateDisputeEvidenceFileResponse.load(_response.body)
|
121
|
+
else
|
122
|
+
error_class = Square::Errors::ResponseError.subclass_for_code(code)
|
123
|
+
raise error_class.new(_response.body, code: code)
|
95
124
|
end
|
96
|
-
|
97
|
-
raise _response.body
|
98
125
|
end
|
99
126
|
|
100
127
|
# Uploads text to use as evidence for a dispute challenge.
|
@@ -104,17 +131,23 @@ module Square
|
|
104
131
|
_path_param_names = ["dispute_id"]
|
105
132
|
|
106
133
|
_request = Square::Internal::JSON::Request.new(
|
107
|
-
base_url: request_options[:base_url] || Square::Environment::
|
134
|
+
base_url: request_options[:base_url] || Square::Environment::PRODUCTION,
|
108
135
|
method: "POST",
|
109
136
|
path: "v2/disputes/#{params[:dispute_id]}/evidence-text",
|
110
137
|
body: params.except(*_path_param_names)
|
111
138
|
)
|
112
|
-
|
113
|
-
|
114
|
-
|
139
|
+
begin
|
140
|
+
_response = @client.send(_request)
|
141
|
+
rescue Net::HTTPRequestTimeout
|
142
|
+
raise Square::Errors::TimeoutError
|
143
|
+
end
|
144
|
+
code = _response.code.to_i
|
145
|
+
if code.between?(200, 299)
|
146
|
+
Square::Types::CreateDisputeEvidenceTextResponse.load(_response.body)
|
147
|
+
else
|
148
|
+
error_class = Square::Errors::ResponseError.subclass_for_code(code)
|
149
|
+
raise error_class.new(_response.body, code: code)
|
115
150
|
end
|
116
|
-
|
117
|
-
raise _response.body
|
118
151
|
end
|
119
152
|
|
120
153
|
# Submits evidence to the cardholder's bank.
|
@@ -128,16 +161,22 @@ module Square
|
|
128
161
|
# @return [Square::Types::SubmitEvidenceResponse]
|
129
162
|
def submit_evidence(request_options: {}, **params)
|
130
163
|
_request = Square::Internal::JSON::Request.new(
|
131
|
-
base_url: request_options[:base_url] || Square::Environment::
|
164
|
+
base_url: request_options[:base_url] || Square::Environment::PRODUCTION,
|
132
165
|
method: "POST",
|
133
166
|
path: "v2/disputes/#{params[:dispute_id]}/submit-evidence"
|
134
167
|
)
|
135
|
-
|
136
|
-
|
137
|
-
|
168
|
+
begin
|
169
|
+
_response = @client.send(_request)
|
170
|
+
rescue Net::HTTPRequestTimeout
|
171
|
+
raise Square::Errors::TimeoutError
|
172
|
+
end
|
173
|
+
code = _response.code.to_i
|
174
|
+
if code.between?(200, 299)
|
175
|
+
Square::Types::SubmitEvidenceResponse.load(_response.body)
|
176
|
+
else
|
177
|
+
error_class = Square::Errors::ResponseError.subclass_for_code(code)
|
178
|
+
raise error_class.new(_response.body, code: code)
|
138
179
|
end
|
139
|
-
|
140
|
-
raise _response.body
|
141
180
|
end
|
142
181
|
|
143
182
|
# @return [Square::Evidence::Client]
|
@@ -13,22 +13,31 @@ module Square
|
|
13
13
|
#
|
14
14
|
# @return [Square::Types::ListDisputeEvidenceResponse]
|
15
15
|
def list(request_options: {}, **params)
|
16
|
-
_query_param_names = [
|
16
|
+
_query_param_names = [
|
17
|
+
["cursor"],
|
18
|
+
%i[cursor]
|
19
|
+
].flatten
|
17
20
|
_query = params.slice(*_query_param_names)
|
18
21
|
params = params.except(*_query_param_names)
|
19
22
|
|
20
23
|
_request = Square::Internal::JSON::Request.new(
|
21
|
-
base_url: request_options[:base_url] || Square::Environment::
|
24
|
+
base_url: request_options[:base_url] || Square::Environment::PRODUCTION,
|
22
25
|
method: "GET",
|
23
26
|
path: "v2/disputes/#{params[:dispute_id]}/evidence",
|
24
27
|
query: _query
|
25
28
|
)
|
26
|
-
|
27
|
-
|
28
|
-
|
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::ListDisputeEvidenceResponse.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
|
# Returns the metadata for the evidence specified in the request URL path.
|
@@ -38,16 +47,22 @@ module Square
|
|
38
47
|
# @return [Square::Types::GetDisputeEvidenceResponse]
|
39
48
|
def get(request_options: {}, **params)
|
40
49
|
_request = Square::Internal::JSON::Request.new(
|
41
|
-
base_url: request_options[:base_url] || Square::Environment::
|
50
|
+
base_url: request_options[:base_url] || Square::Environment::PRODUCTION,
|
42
51
|
method: "GET",
|
43
52
|
path: "v2/disputes/#{params[:dispute_id]}/evidence/#{params[:evidence_id]}"
|
44
53
|
)
|
45
|
-
|
46
|
-
|
47
|
-
|
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::GetDisputeEvidenceResponse.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
|
# Removes specified evidence from a dispute.
|
@@ -56,16 +71,22 @@ module Square
|
|
56
71
|
# @return [Square::Types::DeleteDisputeEvidenceResponse]
|
57
72
|
def delete(request_options: {}, **params)
|
58
73
|
_request = Square::Internal::JSON::Request.new(
|
59
|
-
base_url: request_options[:base_url] || Square::Environment::
|
74
|
+
base_url: request_options[:base_url] || Square::Environment::PRODUCTION,
|
60
75
|
method: "DELETE",
|
61
76
|
path: "v2/disputes/#{params[:dispute_id]}/evidence/#{params[:evidence_id]}"
|
62
77
|
)
|
63
|
-
|
64
|
-
|
65
|
-
|
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::DeleteDisputeEvidenceResponse.load(_response.body)
|
86
|
+
else
|
87
|
+
error_class = Square::Errors::ResponseError.subclass_for_code(code)
|
88
|
+
raise error_class.new(_response.body, code: code)
|
66
89
|
end
|
67
|
-
|
68
|
-
raise _response.body
|
69
90
|
end
|
70
91
|
end
|
71
92
|
end
|
@@ -10,37 +10,52 @@ module Square
|
|
10
10
|
|
11
11
|
# @return [Square::Types::ListEmployeesResponse]
|
12
12
|
def list(request_options: {}, **params)
|
13
|
-
_query_param_names =
|
13
|
+
_query_param_names = [
|
14
|
+
%w[location_id status limit cursor],
|
15
|
+
%i[location_id status limit cursor]
|
16
|
+
].flatten
|
14
17
|
_query = params.slice(*_query_param_names)
|
15
18
|
params.except(*_query_param_names)
|
16
19
|
|
17
20
|
_request = Square::Internal::JSON::Request.new(
|
18
|
-
base_url: request_options[:base_url] || Square::Environment::
|
21
|
+
base_url: request_options[:base_url] || Square::Environment::PRODUCTION,
|
19
22
|
method: "GET",
|
20
23
|
path: "v2/employees",
|
21
24
|
query: _query
|
22
25
|
)
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
+
begin
|
27
|
+
_response = @client.send(_request)
|
28
|
+
rescue Net::HTTPRequestTimeout
|
29
|
+
raise Square::Errors::TimeoutError
|
30
|
+
end
|
31
|
+
code = _response.code.to_i
|
32
|
+
if code.between?(200, 299)
|
33
|
+
Square::Types::ListEmployeesResponse.load(_response.body)
|
34
|
+
else
|
35
|
+
error_class = Square::Errors::ResponseError.subclass_for_code(code)
|
36
|
+
raise error_class.new(_response.body, code: code)
|
26
37
|
end
|
27
|
-
|
28
|
-
raise _response.body
|
29
38
|
end
|
30
39
|
|
31
40
|
# @return [Square::Types::GetEmployeeResponse]
|
32
41
|
def get(request_options: {}, **params)
|
33
42
|
_request = Square::Internal::JSON::Request.new(
|
34
|
-
base_url: request_options[:base_url] || Square::Environment::
|
43
|
+
base_url: request_options[:base_url] || Square::Environment::PRODUCTION,
|
35
44
|
method: "GET",
|
36
45
|
path: "v2/employees/#{params[:id]}"
|
37
46
|
)
|
38
|
-
|
39
|
-
|
40
|
-
|
47
|
+
begin
|
48
|
+
_response = @client.send(_request)
|
49
|
+
rescue Net::HTTPRequestTimeout
|
50
|
+
raise Square::Errors::TimeoutError
|
51
|
+
end
|
52
|
+
code = _response.code.to_i
|
53
|
+
if code.between?(200, 299)
|
54
|
+
Square::Types::GetEmployeeResponse.load(_response.body)
|
55
|
+
else
|
56
|
+
error_class = Square::Errors::ResponseError.subclass_for_code(code)
|
57
|
+
raise error_class.new(_response.body, code: code)
|
41
58
|
end
|
42
|
-
|
43
|
-
raise _response.body
|
44
59
|
end
|
45
60
|
end
|
46
61
|
end
|
@@ -0,0 +1,17 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module Square
|
4
|
+
module Errors
|
5
|
+
class ClientError < ResponseError
|
6
|
+
end
|
7
|
+
|
8
|
+
class UnauthorizedError < ClientError
|
9
|
+
end
|
10
|
+
|
11
|
+
class ForbiddenError < ClientError
|
12
|
+
end
|
13
|
+
|
14
|
+
class NotFoundError < ClientError
|
15
|
+
end
|
16
|
+
end
|
17
|
+
end
|
@@ -0,0 +1,42 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module Square
|
4
|
+
module Errors
|
5
|
+
class ResponseError < ApiError
|
6
|
+
attr_reader :code
|
7
|
+
|
8
|
+
def initialize(msg, code:)
|
9
|
+
@code = code
|
10
|
+
super(msg)
|
11
|
+
end
|
12
|
+
|
13
|
+
def inspect
|
14
|
+
"#<#{self.class.name} @code=#{code} @body=#{message}>"
|
15
|
+
end
|
16
|
+
|
17
|
+
# Returns the most appropriate error class for the given code.
|
18
|
+
#
|
19
|
+
# @return [Class]
|
20
|
+
def self.subclass_for_code(code)
|
21
|
+
case code
|
22
|
+
when 300..399
|
23
|
+
RedirectError
|
24
|
+
when 401
|
25
|
+
UnauthorizedError
|
26
|
+
when 403
|
27
|
+
ForbiddenError
|
28
|
+
when 404
|
29
|
+
NotFoundError
|
30
|
+
when 400..499
|
31
|
+
ClientError
|
32
|
+
when 503
|
33
|
+
ServiceUnavailableError
|
34
|
+
when 500..599
|
35
|
+
ServerError
|
36
|
+
else
|
37
|
+
ResponseError
|
38
|
+
end
|
39
|
+
end
|
40
|
+
end
|
41
|
+
end
|
42
|
+
end
|