0

UpdateLocationSettings

by
Published Oct 17, 2025

Updates the location-level settings for a Square-hosted checkout page.

Script square Verified

The script

Submitted by hugo697 Bun
Verified 235 days ago
1
//native
2
type Square = {
3
  token: string;
4
};
5
/**
6
 * UpdateLocationSettings
7
 * Updates the location-level settings for a Square-hosted checkout page.
8
 */
9
export async function main(
10
  auth: Square,
11
  location_id: string,
12
  body: {
13
    location_settings: {
14
      location_id?: string;
15
      customer_notes_enabled?: false | true;
16
      policies?: { uid?: string; title?: string; description?: string }[];
17
      branding?: {
18
        header_type?: "BUSINESS_NAME" | "FRAMED_LOGO" | "FULL_WIDTH_LOGO";
19
        button_color?: string;
20
        button_shape?: "SQUARED" | "ROUNDED" | "PILL";
21
      };
22
      tipping?: {
23
        percentages?: number[];
24
        smart_tipping_enabled?: false | true;
25
        default_percent?: number;
26
        smart_tips?: {
27
          amount?: number;
28
          currency?:
29
            | "UNKNOWN_CURRENCY"
30
            | "AED"
31
            | "AFN"
32
            | "ALL"
33
            | "AMD"
34
            | "ANG"
35
            | "AOA"
36
            | "ARS"
37
            | "AUD"
38
            | "AWG"
39
            | "AZN"
40
            | "BAM"
41
            | "BBD"
42
            | "BDT"
43
            | "BGN"
44
            | "BHD"
45
            | "BIF"
46
            | "BMD"
47
            | "BND"
48
            | "BOB"
49
            | "BOV"
50
            | "BRL"
51
            | "BSD"
52
            | "BTN"
53
            | "BWP"
54
            | "BYR"
55
            | "BZD"
56
            | "CAD"
57
            | "CDF"
58
            | "CHE"
59
            | "CHF"
60
            | "CHW"
61
            | "CLF"
62
            | "CLP"
63
            | "CNY"
64
            | "COP"
65
            | "COU"
66
            | "CRC"
67
            | "CUC"
68
            | "CUP"
69
            | "CVE"
70
            | "CZK"
71
            | "DJF"
72
            | "DKK"
73
            | "DOP"
74
            | "DZD"
75
            | "EGP"
76
            | "ERN"
77
            | "ETB"
78
            | "EUR"
79
            | "FJD"
80
            | "FKP"
81
            | "GBP"
82
            | "GEL"
83
            | "GHS"
84
            | "GIP"
85
            | "GMD"
86
            | "GNF"
87
            | "GTQ"
88
            | "GYD"
89
            | "HKD"
90
            | "HNL"
91
            | "HRK"
92
            | "HTG"
93
            | "HUF"
94
            | "IDR"
95
            | "ILS"
96
            | "INR"
97
            | "IQD"
98
            | "IRR"
99
            | "ISK"
100
            | "JMD"
101
            | "JOD"
102
            | "JPY"
103
            | "KES"
104
            | "KGS"
105
            | "KHR"
106
            | "KMF"
107
            | "KPW"
108
            | "KRW"
109
            | "KWD"
110
            | "KYD"
111
            | "KZT"
112
            | "LAK"
113
            | "LBP"
114
            | "LKR"
115
            | "LRD"
116
            | "LSL"
117
            | "LTL"
118
            | "LVL"
119
            | "LYD"
120
            | "MAD"
121
            | "MDL"
122
            | "MGA"
123
            | "MKD"
124
            | "MMK"
125
            | "MNT"
126
            | "MOP"
127
            | "MRO"
128
            | "MUR"
129
            | "MVR"
130
            | "MWK"
131
            | "MXN"
132
            | "MXV"
133
            | "MYR"
134
            | "MZN"
135
            | "NAD"
136
            | "NGN"
137
            | "NIO"
138
            | "NOK"
139
            | "NPR"
140
            | "NZD"
141
            | "OMR"
142
            | "PAB"
143
            | "PEN"
144
            | "PGK"
145
            | "PHP"
146
            | "PKR"
147
            | "PLN"
148
            | "PYG"
149
            | "QAR"
150
            | "RON"
151
            | "RSD"
152
            | "RUB"
153
            | "RWF"
154
            | "SAR"
155
            | "SBD"
156
            | "SCR"
157
            | "SDG"
158
            | "SEK"
159
            | "SGD"
160
            | "SHP"
161
            | "SLL"
162
            | "SLE"
163
            | "SOS"
164
            | "SRD"
165
            | "SSP"
166
            | "STD"
167
            | "SVC"
168
            | "SYP"
169
            | "SZL"
170
            | "THB"
171
            | "TJS"
172
            | "TMT"
173
            | "TND"
174
            | "TOP"
175
            | "TRY"
176
            | "TTD"
177
            | "TWD"
178
            | "TZS"
179
            | "UAH"
180
            | "UGX"
181
            | "USD"
182
            | "USN"
183
            | "USS"
184
            | "UYI"
185
            | "UYU"
186
            | "UZS"
187
            | "VEF"
188
            | "VND"
189
            | "VUV"
190
            | "WST"
191
            | "XAF"
192
            | "XAG"
193
            | "XAU"
194
            | "XBA"
195
            | "XBB"
196
            | "XBC"
197
            | "XBD"
198
            | "XCD"
199
            | "XDR"
200
            | "XOF"
201
            | "XPD"
202
            | "XPF"
203
            | "XPT"
204
            | "XTS"
205
            | "XXX"
206
            | "YER"
207
            | "ZAR"
208
            | "ZMK"
209
            | "ZMW"
210
            | "BTC"
211
            | "XUS";
212
        }[];
213
        default_smart_tip?: {
214
          amount?: number;
215
          currency?:
216
            | "UNKNOWN_CURRENCY"
217
            | "AED"
218
            | "AFN"
219
            | "ALL"
220
            | "AMD"
221
            | "ANG"
222
            | "AOA"
223
            | "ARS"
224
            | "AUD"
225
            | "AWG"
226
            | "AZN"
227
            | "BAM"
228
            | "BBD"
229
            | "BDT"
230
            | "BGN"
231
            | "BHD"
232
            | "BIF"
233
            | "BMD"
234
            | "BND"
235
            | "BOB"
236
            | "BOV"
237
            | "BRL"
238
            | "BSD"
239
            | "BTN"
240
            | "BWP"
241
            | "BYR"
242
            | "BZD"
243
            | "CAD"
244
            | "CDF"
245
            | "CHE"
246
            | "CHF"
247
            | "CHW"
248
            | "CLF"
249
            | "CLP"
250
            | "CNY"
251
            | "COP"
252
            | "COU"
253
            | "CRC"
254
            | "CUC"
255
            | "CUP"
256
            | "CVE"
257
            | "CZK"
258
            | "DJF"
259
            | "DKK"
260
            | "DOP"
261
            | "DZD"
262
            | "EGP"
263
            | "ERN"
264
            | "ETB"
265
            | "EUR"
266
            | "FJD"
267
            | "FKP"
268
            | "GBP"
269
            | "GEL"
270
            | "GHS"
271
            | "GIP"
272
            | "GMD"
273
            | "GNF"
274
            | "GTQ"
275
            | "GYD"
276
            | "HKD"
277
            | "HNL"
278
            | "HRK"
279
            | "HTG"
280
            | "HUF"
281
            | "IDR"
282
            | "ILS"
283
            | "INR"
284
            | "IQD"
285
            | "IRR"
286
            | "ISK"
287
            | "JMD"
288
            | "JOD"
289
            | "JPY"
290
            | "KES"
291
            | "KGS"
292
            | "KHR"
293
            | "KMF"
294
            | "KPW"
295
            | "KRW"
296
            | "KWD"
297
            | "KYD"
298
            | "KZT"
299
            | "LAK"
300
            | "LBP"
301
            | "LKR"
302
            | "LRD"
303
            | "LSL"
304
            | "LTL"
305
            | "LVL"
306
            | "LYD"
307
            | "MAD"
308
            | "MDL"
309
            | "MGA"
310
            | "MKD"
311
            | "MMK"
312
            | "MNT"
313
            | "MOP"
314
            | "MRO"
315
            | "MUR"
316
            | "MVR"
317
            | "MWK"
318
            | "MXN"
319
            | "MXV"
320
            | "MYR"
321
            | "MZN"
322
            | "NAD"
323
            | "NGN"
324
            | "NIO"
325
            | "NOK"
326
            | "NPR"
327
            | "NZD"
328
            | "OMR"
329
            | "PAB"
330
            | "PEN"
331
            | "PGK"
332
            | "PHP"
333
            | "PKR"
334
            | "PLN"
335
            | "PYG"
336
            | "QAR"
337
            | "RON"
338
            | "RSD"
339
            | "RUB"
340
            | "RWF"
341
            | "SAR"
342
            | "SBD"
343
            | "SCR"
344
            | "SDG"
345
            | "SEK"
346
            | "SGD"
347
            | "SHP"
348
            | "SLL"
349
            | "SLE"
350
            | "SOS"
351
            | "SRD"
352
            | "SSP"
353
            | "STD"
354
            | "SVC"
355
            | "SYP"
356
            | "SZL"
357
            | "THB"
358
            | "TJS"
359
            | "TMT"
360
            | "TND"
361
            | "TOP"
362
            | "TRY"
363
            | "TTD"
364
            | "TWD"
365
            | "TZS"
366
            | "UAH"
367
            | "UGX"
368
            | "USD"
369
            | "USN"
370
            | "USS"
371
            | "UYI"
372
            | "UYU"
373
            | "UZS"
374
            | "VEF"
375
            | "VND"
376
            | "VUV"
377
            | "WST"
378
            | "XAF"
379
            | "XAG"
380
            | "XAU"
381
            | "XBA"
382
            | "XBB"
383
            | "XBC"
384
            | "XBD"
385
            | "XCD"
386
            | "XDR"
387
            | "XOF"
388
            | "XPD"
389
            | "XPF"
390
            | "XPT"
391
            | "XTS"
392
            | "XXX"
393
            | "YER"
394
            | "ZAR"
395
            | "ZMK"
396
            | "ZMW"
397
            | "BTC"
398
            | "XUS";
399
        };
400
      };
401
      coupons?: { enabled?: false | true };
402
      updated_at?: string;
403
    };
404
  },
405
) {
406
  const url = new URL(
407
    `https://connect.squareup.com/v2/online-checkout/location-settings/${location_id}`,
408
  );
409

410
  const response = await fetch(url, {
411
    method: "PUT",
412
    headers: {
413
      "Content-Type": "application/json",
414
      Authorization: "Bearer " + auth.token,
415
    },
416
    body: JSON.stringify(body),
417
  });
418
  if (!response.ok) {
419
    const text = await response.text();
420
    throw new Error(`${response.status} ${text}`);
421
  }
422
  return await response.json();
423
}
424