square.rb 6.2.0.20200812 → 8.0.0.20201216
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 +34 -33
- data/lib/square.rb +61 -62
- data/lib/square/api/apple_pay_api.rb +5 -3
- data/lib/square/api/bank_accounts_api.rb +16 -19
- data/lib/square/api/base_api.rb +1 -1
- data/lib/square/api/bookings_api.rb +308 -0
- data/lib/square/api/cash_drawers_api.rb +13 -6
- data/lib/square/api/catalog_api.rb +68 -32
- data/lib/square/api/checkout_api.rb +4 -2
- data/lib/square/api/customer_groups_api.rb +18 -8
- data/lib/square/api/customer_segments_api.rb +9 -5
- data/lib/square/api/customers_api.rb +47 -27
- data/lib/square/api/devices_api.rb +17 -6
- data/lib/square/api/disputes_api.rb +71 -68
- data/lib/square/api/employees_api.rb +10 -5
- data/lib/square/api/inventory_api.rb +30 -15
- data/lib/square/api/invoices_api.rb +42 -38
- data/lib/square/api/labor_api.rb +131 -22
- data/lib/square/api/locations_api.rb +16 -13
- data/lib/square/api/loyalty_api.rb +60 -66
- data/lib/square/api/merchants_api.rb +7 -3
- data/lib/square/api/mobile_authorization_api.rb +5 -3
- data/lib/square/api/o_auth_api.rb +11 -8
- data/lib/square/api/orders_api.rb +111 -90
- data/lib/square/api/payments_api.rb +75 -65
- data/lib/square/api/refunds_api.rb +37 -27
- data/lib/square/api/subscriptions_api.rb +29 -28
- data/lib/square/api/team_api.rb +46 -30
- data/lib/square/api/terminal_api.rb +156 -7
- data/lib/square/api/transactions_api.rb +32 -18
- data/lib/square/api/v1_employees_api.rb +59 -31
- data/lib/square/api/v1_items_api.rb +195 -115
- data/lib/square/api/v1_transactions_api.rb +49 -27
- data/lib/square/api_helper.rb +14 -9
- data/lib/square/client.rb +14 -20
- data/lib/square/configuration.rb +2 -2
- data/lib/square/http/api_response.rb +2 -0
- data/lib/square/http/faraday_client.rb +9 -2
- data/spec/user_journey_spec.rb +2 -5
- data/test/api/api_test_base.rb +1 -6
- data/test/api/test_catalog_api.rb +1 -4
- data/test/api/test_customers_api.rb +1 -4
- data/test/api/test_employees_api.rb +1 -4
- data/test/api/test_labor_api.rb +2 -6
- data/test/api/test_locations_api.rb +22 -33
- data/test/api/test_merchants_api.rb +1 -4
- data/test/api/test_payments_api.rb +3 -6
- data/test/api/test_refunds_api.rb +3 -6
- data/test/http_response_catcher.rb +0 -5
- data/test/test_helper.rb +0 -5
- metadata +33 -16
- data/lib/square/api/reporting_api.rb +0 -138
- data/lib/square/api/v1_locations_api.rb +0 -65
@@ -44,7 +44,7 @@ module Square
|
|
44
44
|
_query_builder << '/oauth2/clients/{client_id}/access-token/renew'
|
45
45
|
_query_builder = APIHelper.append_url_with_template_parameters(
|
46
46
|
_query_builder,
|
47
|
-
'client_id' => client_id
|
47
|
+
'client_id' => { 'value' => client_id, 'encode' => true }
|
48
48
|
)
|
49
49
|
_query_url = APIHelper.clean_url _query_builder
|
50
50
|
|
@@ -66,7 +66,9 @@ module Square
|
|
66
66
|
# Return appropriate response type.
|
67
67
|
decoded = APIHelper.json_deserialize(_response.raw_body)
|
68
68
|
_errors = APIHelper.map_response(decoded, ['errors'])
|
69
|
-
ApiResponse.new(
|
69
|
+
ApiResponse.new(
|
70
|
+
_response, data: decoded, errors: _errors
|
71
|
+
)
|
70
72
|
end
|
71
73
|
|
72
74
|
# Revokes an access token generated with the OAuth flow.
|
@@ -83,7 +85,7 @@ module Square
|
|
83
85
|
# ```
|
84
86
|
# Replace `APPLICATION_SECRET` with the application secret on the
|
85
87
|
# Credentials
|
86
|
-
# page in the [
|
88
|
+
# page in the [Developer Dashboard](https://developer.squareup.com/apps).
|
87
89
|
# @param [RevokeTokenRequest] body Required parameter: An object containing
|
88
90
|
# the fields to POST for the request. See the corresponding object
|
89
91
|
# definition for field details.
|
@@ -115,16 +117,15 @@ module Square
|
|
115
117
|
# Return appropriate response type.
|
116
118
|
decoded = APIHelper.json_deserialize(_response.raw_body)
|
117
119
|
_errors = APIHelper.map_response(decoded, ['errors'])
|
118
|
-
ApiResponse.new(
|
120
|
+
ApiResponse.new(
|
121
|
+
_response, data: decoded, errors: _errors
|
122
|
+
)
|
119
123
|
end
|
120
124
|
|
121
125
|
# Returns an OAuth access token.
|
122
126
|
# The endpoint supports distinct methods of obtaining OAuth access tokens.
|
123
127
|
# Applications specify a method by adding the `grant_type` parameter
|
124
128
|
# in the request and also provide relevant information.
|
125
|
-
# For more information, see [OAuth access token
|
126
|
-
# management](https://developer.squareup.com/docs/authz/oauth/how-it-works#o
|
127
|
-
# auth-access-token-management).
|
128
129
|
# __Note:__ Regardless of the method application specified,
|
129
130
|
# the endpoint always returns two items; an OAuth access token and
|
130
131
|
# a refresh token in the response.
|
@@ -157,7 +158,9 @@ module Square
|
|
157
158
|
# Return appropriate response type.
|
158
159
|
decoded = APIHelper.json_deserialize(_response.raw_body)
|
159
160
|
_errors = APIHelper.map_response(decoded, ['errors'])
|
160
|
-
ApiResponse.new(
|
161
|
+
ApiResponse.new(
|
162
|
+
_response, data: decoded, errors: _errors
|
163
|
+
)
|
161
164
|
end
|
162
165
|
end
|
163
166
|
end
|
@@ -13,24 +13,14 @@ module Square
|
|
13
13
|
# guide.
|
14
14
|
# You can modify open orders using the
|
15
15
|
# [UpdateOrder](#endpoint-orders-updateorder) endpoint.
|
16
|
-
# To learn more about the Orders API, see the
|
17
|
-
# [Orders API
|
18
|
-
# Overview](https://developer.squareup.com/docs/orders-api/what-it-does).
|
19
|
-
# @param [String] location_id Required parameter: The ID of the business
|
20
|
-
# location to associate the order with.
|
21
16
|
# @param [CreateOrderRequest] body Required parameter: An object containing
|
22
17
|
# the fields to POST for the request. See the corresponding object
|
23
18
|
# definition for field details.
|
24
19
|
# @return [CreateOrderResponse Hash] response from the API call
|
25
|
-
def create_order(
|
26
|
-
body:)
|
20
|
+
def create_order(body:)
|
27
21
|
# Prepare query url.
|
28
22
|
_query_builder = config.get_base_uri
|
29
|
-
_query_builder << '/v2/
|
30
|
-
_query_builder = APIHelper.append_url_with_template_parameters(
|
31
|
-
_query_builder,
|
32
|
-
'location_id' => location_id
|
33
|
-
)
|
23
|
+
_query_builder << '/v2/orders'
|
34
24
|
_query_url = APIHelper.clean_url _query_builder
|
35
25
|
|
36
26
|
# Prepare headers.
|
@@ -51,27 +41,22 @@ module Square
|
|
51
41
|
# Return appropriate response type.
|
52
42
|
decoded = APIHelper.json_deserialize(_response.raw_body)
|
53
43
|
_errors = APIHelper.map_response(decoded, ['errors'])
|
54
|
-
ApiResponse.new(
|
44
|
+
ApiResponse.new(
|
45
|
+
_response, data: decoded, errors: _errors
|
46
|
+
)
|
55
47
|
end
|
56
48
|
|
57
49
|
# Retrieves a set of [Order](#type-order)s by their IDs.
|
58
50
|
# If a given Order ID does not exist, the ID is ignored instead of
|
59
51
|
# generating an error.
|
60
|
-
# @param [String] location_id Required parameter: The ID of the orders'
|
61
|
-
# associated location.
|
62
52
|
# @param [BatchRetrieveOrdersRequest] body Required parameter: An object
|
63
53
|
# containing the fields to POST for the request. See the corresponding
|
64
54
|
# object definition for field details.
|
65
55
|
# @return [BatchRetrieveOrdersResponse Hash] response from the API call
|
66
|
-
def batch_retrieve_orders(
|
67
|
-
body:)
|
56
|
+
def batch_retrieve_orders(body:)
|
68
57
|
# Prepare query url.
|
69
58
|
_query_builder = config.get_base_uri
|
70
|
-
_query_builder << '/v2/
|
71
|
-
_query_builder = APIHelper.append_url_with_template_parameters(
|
72
|
-
_query_builder,
|
73
|
-
'location_id' => location_id
|
74
|
-
)
|
59
|
+
_query_builder << '/v2/orders/batch-retrieve'
|
75
60
|
_query_url = APIHelper.clean_url _query_builder
|
76
61
|
|
77
62
|
# Prepare headers.
|
@@ -92,69 +77,9 @@ module Square
|
|
92
77
|
# Return appropriate response type.
|
93
78
|
decoded = APIHelper.json_deserialize(_response.raw_body)
|
94
79
|
_errors = APIHelper.map_response(decoded, ['errors'])
|
95
|
-
ApiResponse.new(
|
96
|
-
|
97
|
-
|
98
|
-
# Updates an open [Order](#type-order) by adding, replacing, or deleting
|
99
|
-
# fields. Orders with a `COMPLETED` or `CANCELED` state cannot be updated.
|
100
|
-
# An UpdateOrder request requires the following:
|
101
|
-
# - The `order_id` in the endpoint path, identifying the order to update.
|
102
|
-
# - The latest `version` of the order to update.
|
103
|
-
# - The [sparse
|
104
|
-
# order](https://developer.squareup.com/docs/orders-api/manage-orders#sparse
|
105
|
-
# -order-objects)
|
106
|
-
# containing only the fields to update and the version the update is
|
107
|
-
# being applied to.
|
108
|
-
# - If deleting fields, the [dot notation
|
109
|
-
# paths](https://developer.squareup.com/docs/orders-api/manage-orders#on-dot
|
110
|
-
# -notation)
|
111
|
-
# identifying fields to clear.
|
112
|
-
# To pay for an order, please refer to the [Pay for
|
113
|
-
# Orders](https://developer.squareup.com/docs/orders-api/pay-for-orders)
|
114
|
-
# guide.
|
115
|
-
# To learn more about the Orders API, see the
|
116
|
-
# [Orders API
|
117
|
-
# Overview](https://developer.squareup.com/docs/orders-api/what-it-does).
|
118
|
-
# @param [String] location_id Required parameter: The ID of the order's
|
119
|
-
# associated location.
|
120
|
-
# @param [String] order_id Required parameter: The ID of the order to
|
121
|
-
# update.
|
122
|
-
# @param [UpdateOrderRequest] body Required parameter: An object containing
|
123
|
-
# the fields to POST for the request. See the corresponding object
|
124
|
-
# definition for field details.
|
125
|
-
# @return [UpdateOrderResponse Hash] response from the API call
|
126
|
-
def update_order(location_id:,
|
127
|
-
order_id:,
|
128
|
-
body:)
|
129
|
-
# Prepare query url.
|
130
|
-
_query_builder = config.get_base_uri
|
131
|
-
_query_builder << '/v2/locations/{location_id}/orders/{order_id}'
|
132
|
-
_query_builder = APIHelper.append_url_with_template_parameters(
|
133
|
-
_query_builder,
|
134
|
-
'location_id' => location_id,
|
135
|
-
'order_id' => order_id
|
136
|
-
)
|
137
|
-
_query_url = APIHelper.clean_url _query_builder
|
138
|
-
|
139
|
-
# Prepare headers.
|
140
|
-
_headers = {
|
141
|
-
'accept' => 'application/json',
|
142
|
-
'content-type' => 'application/json; charset=utf-8'
|
143
|
-
}
|
144
|
-
|
145
|
-
# Prepare and execute HttpRequest.
|
146
|
-
_request = config.http_client.put(
|
147
|
-
_query_url,
|
148
|
-
headers: _headers,
|
149
|
-
parameters: body.to_json
|
80
|
+
ApiResponse.new(
|
81
|
+
_response, data: decoded, errors: _errors
|
150
82
|
)
|
151
|
-
OAuth2.apply(config, _request)
|
152
|
-
_response = execute_request(_request)
|
153
|
-
|
154
|
-
# Return appropriate response type.
|
155
|
-
decoded = APIHelper.json_deserialize(_response.raw_body)
|
156
|
-
_errors = APIHelper.map_response(decoded, ['errors'])
|
157
|
-
ApiResponse.new(_response, data: decoded, errors: _errors)
|
158
83
|
end
|
159
84
|
|
160
85
|
# Calculates an [Order](#type-order).
|
@@ -186,7 +111,9 @@ module Square
|
|
186
111
|
# Return appropriate response type.
|
187
112
|
decoded = APIHelper.json_deserialize(_response.raw_body)
|
188
113
|
_errors = APIHelper.map_response(decoded, ['errors'])
|
189
|
-
ApiResponse.new(
|
114
|
+
ApiResponse.new(
|
115
|
+
_response, data: decoded, errors: _errors
|
116
|
+
)
|
190
117
|
end
|
191
118
|
|
192
119
|
# Search all orders for one or more locations. Orders include all sales,
|
@@ -233,7 +160,101 @@ module Square
|
|
233
160
|
# Return appropriate response type.
|
234
161
|
decoded = APIHelper.json_deserialize(_response.raw_body)
|
235
162
|
_errors = APIHelper.map_response(decoded, ['errors'])
|
236
|
-
ApiResponse.new(
|
163
|
+
ApiResponse.new(
|
164
|
+
_response, data: decoded, errors: _errors
|
165
|
+
)
|
166
|
+
end
|
167
|
+
|
168
|
+
# Retrieves an [Order](#type-order) by ID.
|
169
|
+
# @param [String] order_id Required parameter: The ID of the order to
|
170
|
+
# retrieve.
|
171
|
+
# @return [RetrieveOrderResponse Hash] response from the API call
|
172
|
+
def retrieve_order(order_id:)
|
173
|
+
# Prepare query url.
|
174
|
+
_query_builder = config.get_base_uri
|
175
|
+
_query_builder << '/v2/orders/{order_id}'
|
176
|
+
_query_builder = APIHelper.append_url_with_template_parameters(
|
177
|
+
_query_builder,
|
178
|
+
'order_id' => { 'value' => order_id, 'encode' => true }
|
179
|
+
)
|
180
|
+
_query_url = APIHelper.clean_url _query_builder
|
181
|
+
|
182
|
+
# Prepare headers.
|
183
|
+
_headers = {
|
184
|
+
'accept' => 'application/json'
|
185
|
+
}
|
186
|
+
|
187
|
+
# Prepare and execute HttpRequest.
|
188
|
+
_request = config.http_client.get(
|
189
|
+
_query_url,
|
190
|
+
headers: _headers
|
191
|
+
)
|
192
|
+
OAuth2.apply(config, _request)
|
193
|
+
_response = execute_request(_request)
|
194
|
+
|
195
|
+
# Return appropriate response type.
|
196
|
+
decoded = APIHelper.json_deserialize(_response.raw_body)
|
197
|
+
_errors = APIHelper.map_response(decoded, ['errors'])
|
198
|
+
ApiResponse.new(
|
199
|
+
_response, data: decoded, errors: _errors
|
200
|
+
)
|
201
|
+
end
|
202
|
+
|
203
|
+
# Updates an open [Order](#type-order) by adding, replacing, or deleting
|
204
|
+
# fields. Orders with a `COMPLETED` or `CANCELED` state cannot be updated.
|
205
|
+
# An UpdateOrder request requires the following:
|
206
|
+
# - The `order_id` in the endpoint path, identifying the order to update.
|
207
|
+
# - The latest `version` of the order to update.
|
208
|
+
# - The [sparse
|
209
|
+
# order](https://developer.squareup.com/docs/orders-api/manage-orders#sparse
|
210
|
+
# -order-objects)
|
211
|
+
# containing only the fields to update and the version the update is
|
212
|
+
# being applied to.
|
213
|
+
# - If deleting fields, the [dot notation
|
214
|
+
# paths](https://developer.squareup.com/docs/orders-api/manage-orders#on-dot
|
215
|
+
# -notation)
|
216
|
+
# identifying fields to clear.
|
217
|
+
# To pay for an order, please refer to the [Pay for
|
218
|
+
# Orders](https://developer.squareup.com/docs/orders-api/pay-for-orders)
|
219
|
+
# guide.
|
220
|
+
# @param [String] order_id Required parameter: The ID of the order to
|
221
|
+
# update.
|
222
|
+
# @param [UpdateOrderRequest] body Required parameter: An object containing
|
223
|
+
# the fields to POST for the request. See the corresponding object
|
224
|
+
# definition for field details.
|
225
|
+
# @return [UpdateOrderResponse Hash] response from the API call
|
226
|
+
def update_order(order_id:,
|
227
|
+
body:)
|
228
|
+
# Prepare query url.
|
229
|
+
_query_builder = config.get_base_uri
|
230
|
+
_query_builder << '/v2/orders/{order_id}'
|
231
|
+
_query_builder = APIHelper.append_url_with_template_parameters(
|
232
|
+
_query_builder,
|
233
|
+
'order_id' => { 'value' => order_id, 'encode' => true }
|
234
|
+
)
|
235
|
+
_query_url = APIHelper.clean_url _query_builder
|
236
|
+
|
237
|
+
# Prepare headers.
|
238
|
+
_headers = {
|
239
|
+
'accept' => 'application/json',
|
240
|
+
'content-type' => 'application/json; charset=utf-8'
|
241
|
+
}
|
242
|
+
|
243
|
+
# Prepare and execute HttpRequest.
|
244
|
+
_request = config.http_client.put(
|
245
|
+
_query_url,
|
246
|
+
headers: _headers,
|
247
|
+
parameters: body.to_json
|
248
|
+
)
|
249
|
+
OAuth2.apply(config, _request)
|
250
|
+
_response = execute_request(_request)
|
251
|
+
|
252
|
+
# Return appropriate response type.
|
253
|
+
decoded = APIHelper.json_deserialize(_response.raw_body)
|
254
|
+
_errors = APIHelper.map_response(decoded, ['errors'])
|
255
|
+
ApiResponse.new(
|
256
|
+
_response, data: decoded, errors: _errors
|
257
|
+
)
|
237
258
|
end
|
238
259
|
|
239
260
|
# Pay for an [order](#type-order) using one or more approved
|
@@ -255,8 +276,6 @@ module Square
|
|
255
276
|
# layed-capture).
|
256
277
|
# Using a delayed capture payment with PayOrder will complete the approved
|
257
278
|
# payment.
|
258
|
-
# Learn how to [pay for orders with a single payment using the Payments
|
259
|
-
# API](https://developer.squareup.com/docs/orders-api/pay-for-orders).
|
260
279
|
# @param [String] order_id Required parameter: The ID of the order being
|
261
280
|
# paid.
|
262
281
|
# @param [PayOrderRequest] body Required parameter: An object containing the
|
@@ -270,7 +289,7 @@ module Square
|
|
270
289
|
_query_builder << '/v2/orders/{order_id}/pay'
|
271
290
|
_query_builder = APIHelper.append_url_with_template_parameters(
|
272
291
|
_query_builder,
|
273
|
-
'order_id' => order_id
|
292
|
+
'order_id' => { 'value' => order_id, 'encode' => true }
|
274
293
|
)
|
275
294
|
_query_url = APIHelper.clean_url _query_builder
|
276
295
|
|
@@ -292,7 +311,9 @@ module Square
|
|
292
311
|
# Return appropriate response type.
|
293
312
|
decoded = APIHelper.json_deserialize(_response.raw_body)
|
294
313
|
_errors = APIHelper.map_response(decoded, ['errors'])
|
295
|
-
ApiResponse.new(
|
314
|
+
ApiResponse.new(
|
315
|
+
_response, data: decoded, errors: _errors
|
316
|
+
)
|
296
317
|
end
|
297
318
|
end
|
298
319
|
end
|
@@ -6,30 +6,35 @@ module Square
|
|
6
6
|
end
|
7
7
|
|
8
8
|
# Retrieves a list of payments taken by the account making the request.
|
9
|
-
#
|
10
|
-
# @param [String] begin_time Optional parameter:
|
11
|
-
# of the reporting period, in RFC 3339 format. Inclusive. Default:
|
12
|
-
# current time minus one year.
|
13
|
-
# @param [String] end_time Optional parameter:
|
14
|
-
#
|
15
|
-
# time.
|
9
|
+
# The maximum results per page is 100.
|
10
|
+
# @param [String] begin_time Optional parameter: The timestamp for the
|
11
|
+
# beginning of the reporting period, in RFC 3339 format. Inclusive. Default:
|
12
|
+
# The current time minus one year.
|
13
|
+
# @param [String] end_time Optional parameter: The timestamp for the end of
|
14
|
+
# the reporting period, in RFC 3339 format. Default: The current time.
|
16
15
|
# @param [String] sort_order Optional parameter: The order in which results
|
17
|
-
# are listed
|
16
|
+
# are listed: - `ASC` - Oldest to newest. - `DESC` - Newest to oldest
|
18
17
|
# (default).
|
19
18
|
# @param [String] cursor Optional parameter: A pagination cursor returned by
|
20
|
-
# a previous call to this endpoint. Provide this to retrieve the next
|
21
|
-
# results for the original query.
|
19
|
+
# a previous call to this endpoint. Provide this cursor to retrieve the next
|
20
|
+
# set of results for the original query. For more information, see
|
22
21
|
# [Pagination](https://developer.squareup.com/docs/basics/api101/pagination)
|
23
|
-
#
|
22
|
+
# .
|
24
23
|
# @param [String] location_id Optional parameter: Limit results to the
|
25
|
-
# location supplied. By default, results are returned for
|
26
|
-
# associated with the
|
24
|
+
# location supplied. By default, results are returned for the default (main)
|
25
|
+
# location associated with the seller.
|
27
26
|
# @param [Long] total Optional parameter: The exact amount in the
|
28
|
-
# total_money for a
|
29
|
-
# @param [String] last_4 Optional parameter: The last
|
30
|
-
# card.
|
31
|
-
# @param [String] card_brand Optional parameter: The brand of
|
32
|
-
# card
|
27
|
+
# `total_money` for a payment.
|
28
|
+
# @param [String] last_4 Optional parameter: The last four digits of a
|
29
|
+
# payment card.
|
30
|
+
# @param [String] card_brand Optional parameter: The brand of the payment
|
31
|
+
# card (for example, VISA).
|
32
|
+
# @param [Integer] limit Optional parameter: The maximum number of results
|
33
|
+
# to be returned in a single page. It is possible to receive fewer results
|
34
|
+
# than the specified limit on a given page. The default value of 100 is
|
35
|
+
# also the maximum allowed value. If the provided value is greater than
|
36
|
+
# 100, it is ignored and the default value is used instead. Default:
|
37
|
+
# `100`
|
33
38
|
# @return [ListPaymentsResponse Hash] response from the API call
|
34
39
|
def list_payments(begin_time: nil,
|
35
40
|
end_time: nil,
|
@@ -38,7 +43,8 @@ module Square
|
|
38
43
|
location_id: nil,
|
39
44
|
total: nil,
|
40
45
|
last_4: nil,
|
41
|
-
card_brand: nil
|
46
|
+
card_brand: nil,
|
47
|
+
limit: nil)
|
42
48
|
# Prepare query url.
|
43
49
|
_query_builder = config.get_base_uri
|
44
50
|
_query_builder << '/v2/payments'
|
@@ -51,7 +57,8 @@ module Square
|
|
51
57
|
'location_id' => location_id,
|
52
58
|
'total' => total,
|
53
59
|
'last_4' => last_4,
|
54
|
-
'card_brand' => card_brand
|
60
|
+
'card_brand' => card_brand,
|
61
|
+
'limit' => limit
|
55
62
|
)
|
56
63
|
_query_url = APIHelper.clean_url _query_builder
|
57
64
|
|
@@ -71,20 +78,19 @@ module Square
|
|
71
78
|
# Return appropriate response type.
|
72
79
|
decoded = APIHelper.json_deserialize(_response.raw_body)
|
73
80
|
_errors = APIHelper.map_response(decoded, ['errors'])
|
74
|
-
ApiResponse.new(
|
81
|
+
ApiResponse.new(
|
82
|
+
_response, data: decoded, errors: _errors
|
83
|
+
)
|
75
84
|
end
|
76
85
|
|
77
|
-
# Charges a payment source
|
78
|
-
# represented by customer's card on file or a card nonce. In addition
|
79
|
-
# to the payment source, the request must
|
86
|
+
# Charges a payment source (for example, a card
|
87
|
+
# represented by customer's card on file or a card nonce). In addition
|
88
|
+
# to the payment source, the request must include the
|
80
89
|
# amount to accept for the payment.
|
81
|
-
# There are several optional parameters that you can include in the request
|
82
|
-
#
|
90
|
+
# There are several optional parameters that you can include in the request
|
91
|
+
# (for example, tip money, whether to autocomplete the payment, or a
|
83
92
|
# reference ID
|
84
|
-
# to correlate this payment with another system.
|
85
|
-
# For more information about these
|
86
|
-
# payment options, see [Take
|
87
|
-
# Payments](https://developer.squareup.com/docs/payments-api/take-payments).
|
93
|
+
# to correlate this payment with another system).
|
88
94
|
# The `PAYMENTS_WRITE_ADDITIONAL_RECIPIENTS` OAuth permission is required
|
89
95
|
# to enable application fees.
|
90
96
|
# @param [CreatePaymentRequest] body Required parameter: An object
|
@@ -115,24 +121,26 @@ module Square
|
|
115
121
|
# Return appropriate response type.
|
116
122
|
decoded = APIHelper.json_deserialize(_response.raw_body)
|
117
123
|
_errors = APIHelper.map_response(decoded, ['errors'])
|
118
|
-
ApiResponse.new(
|
124
|
+
ApiResponse.new(
|
125
|
+
_response, data: decoded, errors: _errors
|
126
|
+
)
|
119
127
|
end
|
120
128
|
|
121
129
|
# Cancels (voids) a payment identified by the idempotency key that is
|
122
130
|
# specified in the
|
123
131
|
# request.
|
124
|
-
# Use this method when status of a CreatePayment request is unknown
|
125
|
-
# example, after you send a
|
126
|
-
# CreatePayment request a network error occurs and you
|
127
|
-
# In this case, you can
|
132
|
+
# Use this method when the status of a `CreatePayment` request is unknown
|
133
|
+
# (for example, after you send a
|
134
|
+
# `CreatePayment` request, a network error occurs and you do not get a
|
135
|
+
# response). In this case, you can
|
128
136
|
# direct Square to cancel the payment using this endpoint. In the request,
|
129
137
|
# you provide the same
|
130
|
-
# idempotency key that you provided in your CreatePayment request you
|
131
|
-
# to cancel. After
|
132
|
-
#
|
138
|
+
# idempotency key that you provided in your `CreatePayment` request that you
|
139
|
+
# want to cancel. After
|
140
|
+
# canceling the payment, you can submit your `CreatePayment` request again.
|
133
141
|
# Note that if no payment with the specified idempotency key is found, no
|
134
|
-
# action is taken
|
135
|
-
#
|
142
|
+
# action is taken and the endpoint
|
143
|
+
# returns successfully.
|
136
144
|
# @param [CancelPaymentByIdempotencyKeyRequest] body Required parameter: An
|
137
145
|
# object containing the fields to POST for the request. See the
|
138
146
|
# corresponding object definition for field details.
|
@@ -161,12 +169,14 @@ module Square
|
|
161
169
|
# Return appropriate response type.
|
162
170
|
decoded = APIHelper.json_deserialize(_response.raw_body)
|
163
171
|
_errors = APIHelper.map_response(decoded, ['errors'])
|
164
|
-
ApiResponse.new(
|
172
|
+
ApiResponse.new(
|
173
|
+
_response, data: decoded, errors: _errors
|
174
|
+
)
|
165
175
|
end
|
166
176
|
|
167
|
-
# Retrieves details for a specific
|
168
|
-
# @param [String] payment_id Required parameter:
|
169
|
-
#
|
177
|
+
# Retrieves details for a specific payment.
|
178
|
+
# @param [String] payment_id Required parameter: A unique ID for the desired
|
179
|
+
# payment.
|
170
180
|
# @return [GetPaymentResponse Hash] response from the API call
|
171
181
|
def get_payment(payment_id:)
|
172
182
|
# Prepare query url.
|
@@ -174,7 +184,7 @@ module Square
|
|
174
184
|
_query_builder << '/v2/payments/{payment_id}'
|
175
185
|
_query_builder = APIHelper.append_url_with_template_parameters(
|
176
186
|
_query_builder,
|
177
|
-
'payment_id' => payment_id
|
187
|
+
'payment_id' => { 'value' => payment_id, 'encode' => true }
|
178
188
|
)
|
179
189
|
_query_url = APIHelper.clean_url _query_builder
|
180
190
|
|
@@ -194,17 +204,16 @@ module Square
|
|
194
204
|
# Return appropriate response type.
|
195
205
|
decoded = APIHelper.json_deserialize(_response.raw_body)
|
196
206
|
_errors = APIHelper.map_response(decoded, ['errors'])
|
197
|
-
ApiResponse.new(
|
207
|
+
ApiResponse.new(
|
208
|
+
_response, data: decoded, errors: _errors
|
209
|
+
)
|
198
210
|
end
|
199
211
|
|
200
|
-
# Cancels (voids) a payment. If you set `autocomplete` to false when
|
212
|
+
# Cancels (voids) a payment. If you set `autocomplete` to `false` when
|
201
213
|
# creating a payment,
|
202
|
-
# you can cancel the payment using this endpoint.
|
203
|
-
# [
|
204
|
-
#
|
205
|
-
# elayed-payments).
|
206
|
-
# @param [String] payment_id Required parameter: `payment_id` identifying
|
207
|
-
# the payment to be canceled.
|
214
|
+
# you can cancel the payment using this endpoint.
|
215
|
+
# @param [String] payment_id Required parameter: The `payment_id`
|
216
|
+
# identifying the payment to be canceled.
|
208
217
|
# @return [CancelPaymentResponse Hash] response from the API call
|
209
218
|
def cancel_payment(payment_id:)
|
210
219
|
# Prepare query url.
|
@@ -212,7 +221,7 @@ module Square
|
|
212
221
|
_query_builder << '/v2/payments/{payment_id}/cancel'
|
213
222
|
_query_builder = APIHelper.append_url_with_template_parameters(
|
214
223
|
_query_builder,
|
215
|
-
'payment_id' => payment_id
|
224
|
+
'payment_id' => { 'value' => payment_id, 'encode' => true }
|
216
225
|
)
|
217
226
|
_query_url = APIHelper.clean_url _query_builder
|
218
227
|
|
@@ -232,20 +241,19 @@ module Square
|
|
232
241
|
# Return appropriate response type.
|
233
242
|
decoded = APIHelper.json_deserialize(_response.raw_body)
|
234
243
|
_errors = APIHelper.map_response(decoded, ['errors'])
|
235
|
-
ApiResponse.new(
|
244
|
+
ApiResponse.new(
|
245
|
+
_response, data: decoded, errors: _errors
|
246
|
+
)
|
236
247
|
end
|
237
248
|
|
238
249
|
# Completes (captures) a payment.
|
239
250
|
# By default, payments are set to complete immediately after they are
|
240
251
|
# created.
|
241
|
-
# If you set autocomplete to false when creating a payment, you can
|
242
|
-
# (capture)
|
243
|
-
# the payment using this endpoint.
|
244
|
-
# [
|
245
|
-
#
|
246
|
-
# elayed-payments).
|
247
|
-
# @param [String] payment_id Required parameter: Unique ID identifying the
|
248
|
-
# payment to be completed.
|
252
|
+
# If you set `autocomplete` to `false` when creating a payment, you can
|
253
|
+
# complete (capture)
|
254
|
+
# the payment using this endpoint.
|
255
|
+
# @param [String] payment_id Required parameter: The unique ID identifying
|
256
|
+
# the payment to be completed.
|
249
257
|
# @return [CompletePaymentResponse Hash] response from the API call
|
250
258
|
def complete_payment(payment_id:)
|
251
259
|
# Prepare query url.
|
@@ -253,7 +261,7 @@ module Square
|
|
253
261
|
_query_builder << '/v2/payments/{payment_id}/complete'
|
254
262
|
_query_builder = APIHelper.append_url_with_template_parameters(
|
255
263
|
_query_builder,
|
256
|
-
'payment_id' => payment_id
|
264
|
+
'payment_id' => { 'value' => payment_id, 'encode' => true }
|
257
265
|
)
|
258
266
|
_query_url = APIHelper.clean_url _query_builder
|
259
267
|
|
@@ -273,7 +281,9 @@ module Square
|
|
273
281
|
# Return appropriate response type.
|
274
282
|
decoded = APIHelper.json_deserialize(_response.raw_body)
|
275
283
|
_errors = APIHelper.map_response(decoded, ['errors'])
|
276
|
-
ApiResponse.new(
|
284
|
+
ApiResponse.new(
|
285
|
+
_response, data: decoded, errors: _errors
|
286
|
+
)
|
277
287
|
end
|
278
288
|
end
|
279
289
|
end
|