0

CreatePayment

by
Published Oct 17, 2025

Creates a payment using the provided source. You can use this endpoint to charge a card (credit/debit card or Square gift card) or record a payment that the seller received outside of Square (cash payment from a buyer or a payment that an external entity processed on behalf of the seller). The endpoint creates a `Payment` object and returns it in the response.

Script square Verified

The script

Submitted by hugo697 Bun
Verified 235 days ago
1
//native
2
type Square = {
3
  token: string;
4
};
5
/**
6
 * CreatePayment
7
 * Creates a payment using the provided source. You can use this endpoint 
8
to charge a card (credit/debit card or    
9
Square gift card) or record a payment that the seller received outside of Square 
10
(cash payment from a buyer or a payment that an external entity 
11
processed on behalf of the seller).
12

13
The endpoint creates a 
14
`Payment` object and returns it in the response.
15
 */
16
export async function main(
17
  auth: Square,
18
  body: {
19
    source_id: string;
20
    idempotency_key: string;
21
    amount_money?: {
22
      amount?: number;
23
      currency?:
24
        | "UNKNOWN_CURRENCY"
25
        | "AED"
26
        | "AFN"
27
        | "ALL"
28
        | "AMD"
29
        | "ANG"
30
        | "AOA"
31
        | "ARS"
32
        | "AUD"
33
        | "AWG"
34
        | "AZN"
35
        | "BAM"
36
        | "BBD"
37
        | "BDT"
38
        | "BGN"
39
        | "BHD"
40
        | "BIF"
41
        | "BMD"
42
        | "BND"
43
        | "BOB"
44
        | "BOV"
45
        | "BRL"
46
        | "BSD"
47
        | "BTN"
48
        | "BWP"
49
        | "BYR"
50
        | "BZD"
51
        | "CAD"
52
        | "CDF"
53
        | "CHE"
54
        | "CHF"
55
        | "CHW"
56
        | "CLF"
57
        | "CLP"
58
        | "CNY"
59
        | "COP"
60
        | "COU"
61
        | "CRC"
62
        | "CUC"
63
        | "CUP"
64
        | "CVE"
65
        | "CZK"
66
        | "DJF"
67
        | "DKK"
68
        | "DOP"
69
        | "DZD"
70
        | "EGP"
71
        | "ERN"
72
        | "ETB"
73
        | "EUR"
74
        | "FJD"
75
        | "FKP"
76
        | "GBP"
77
        | "GEL"
78
        | "GHS"
79
        | "GIP"
80
        | "GMD"
81
        | "GNF"
82
        | "GTQ"
83
        | "GYD"
84
        | "HKD"
85
        | "HNL"
86
        | "HRK"
87
        | "HTG"
88
        | "HUF"
89
        | "IDR"
90
        | "ILS"
91
        | "INR"
92
        | "IQD"
93
        | "IRR"
94
        | "ISK"
95
        | "JMD"
96
        | "JOD"
97
        | "JPY"
98
        | "KES"
99
        | "KGS"
100
        | "KHR"
101
        | "KMF"
102
        | "KPW"
103
        | "KRW"
104
        | "KWD"
105
        | "KYD"
106
        | "KZT"
107
        | "LAK"
108
        | "LBP"
109
        | "LKR"
110
        | "LRD"
111
        | "LSL"
112
        | "LTL"
113
        | "LVL"
114
        | "LYD"
115
        | "MAD"
116
        | "MDL"
117
        | "MGA"
118
        | "MKD"
119
        | "MMK"
120
        | "MNT"
121
        | "MOP"
122
        | "MRO"
123
        | "MUR"
124
        | "MVR"
125
        | "MWK"
126
        | "MXN"
127
        | "MXV"
128
        | "MYR"
129
        | "MZN"
130
        | "NAD"
131
        | "NGN"
132
        | "NIO"
133
        | "NOK"
134
        | "NPR"
135
        | "NZD"
136
        | "OMR"
137
        | "PAB"
138
        | "PEN"
139
        | "PGK"
140
        | "PHP"
141
        | "PKR"
142
        | "PLN"
143
        | "PYG"
144
        | "QAR"
145
        | "RON"
146
        | "RSD"
147
        | "RUB"
148
        | "RWF"
149
        | "SAR"
150
        | "SBD"
151
        | "SCR"
152
        | "SDG"
153
        | "SEK"
154
        | "SGD"
155
        | "SHP"
156
        | "SLL"
157
        | "SLE"
158
        | "SOS"
159
        | "SRD"
160
        | "SSP"
161
        | "STD"
162
        | "SVC"
163
        | "SYP"
164
        | "SZL"
165
        | "THB"
166
        | "TJS"
167
        | "TMT"
168
        | "TND"
169
        | "TOP"
170
        | "TRY"
171
        | "TTD"
172
        | "TWD"
173
        | "TZS"
174
        | "UAH"
175
        | "UGX"
176
        | "USD"
177
        | "USN"
178
        | "USS"
179
        | "UYI"
180
        | "UYU"
181
        | "UZS"
182
        | "VEF"
183
        | "VND"
184
        | "VUV"
185
        | "WST"
186
        | "XAF"
187
        | "XAG"
188
        | "XAU"
189
        | "XBA"
190
        | "XBB"
191
        | "XBC"
192
        | "XBD"
193
        | "XCD"
194
        | "XDR"
195
        | "XOF"
196
        | "XPD"
197
        | "XPF"
198
        | "XPT"
199
        | "XTS"
200
        | "XXX"
201
        | "YER"
202
        | "ZAR"
203
        | "ZMK"
204
        | "ZMW"
205
        | "BTC"
206
        | "XUS";
207
    };
208
    tip_money?: {
209
      amount?: number;
210
      currency?:
211
        | "UNKNOWN_CURRENCY"
212
        | "AED"
213
        | "AFN"
214
        | "ALL"
215
        | "AMD"
216
        | "ANG"
217
        | "AOA"
218
        | "ARS"
219
        | "AUD"
220
        | "AWG"
221
        | "AZN"
222
        | "BAM"
223
        | "BBD"
224
        | "BDT"
225
        | "BGN"
226
        | "BHD"
227
        | "BIF"
228
        | "BMD"
229
        | "BND"
230
        | "BOB"
231
        | "BOV"
232
        | "BRL"
233
        | "BSD"
234
        | "BTN"
235
        | "BWP"
236
        | "BYR"
237
        | "BZD"
238
        | "CAD"
239
        | "CDF"
240
        | "CHE"
241
        | "CHF"
242
        | "CHW"
243
        | "CLF"
244
        | "CLP"
245
        | "CNY"
246
        | "COP"
247
        | "COU"
248
        | "CRC"
249
        | "CUC"
250
        | "CUP"
251
        | "CVE"
252
        | "CZK"
253
        | "DJF"
254
        | "DKK"
255
        | "DOP"
256
        | "DZD"
257
        | "EGP"
258
        | "ERN"
259
        | "ETB"
260
        | "EUR"
261
        | "FJD"
262
        | "FKP"
263
        | "GBP"
264
        | "GEL"
265
        | "GHS"
266
        | "GIP"
267
        | "GMD"
268
        | "GNF"
269
        | "GTQ"
270
        | "GYD"
271
        | "HKD"
272
        | "HNL"
273
        | "HRK"
274
        | "HTG"
275
        | "HUF"
276
        | "IDR"
277
        | "ILS"
278
        | "INR"
279
        | "IQD"
280
        | "IRR"
281
        | "ISK"
282
        | "JMD"
283
        | "JOD"
284
        | "JPY"
285
        | "KES"
286
        | "KGS"
287
        | "KHR"
288
        | "KMF"
289
        | "KPW"
290
        | "KRW"
291
        | "KWD"
292
        | "KYD"
293
        | "KZT"
294
        | "LAK"
295
        | "LBP"
296
        | "LKR"
297
        | "LRD"
298
        | "LSL"
299
        | "LTL"
300
        | "LVL"
301
        | "LYD"
302
        | "MAD"
303
        | "MDL"
304
        | "MGA"
305
        | "MKD"
306
        | "MMK"
307
        | "MNT"
308
        | "MOP"
309
        | "MRO"
310
        | "MUR"
311
        | "MVR"
312
        | "MWK"
313
        | "MXN"
314
        | "MXV"
315
        | "MYR"
316
        | "MZN"
317
        | "NAD"
318
        | "NGN"
319
        | "NIO"
320
        | "NOK"
321
        | "NPR"
322
        | "NZD"
323
        | "OMR"
324
        | "PAB"
325
        | "PEN"
326
        | "PGK"
327
        | "PHP"
328
        | "PKR"
329
        | "PLN"
330
        | "PYG"
331
        | "QAR"
332
        | "RON"
333
        | "RSD"
334
        | "RUB"
335
        | "RWF"
336
        | "SAR"
337
        | "SBD"
338
        | "SCR"
339
        | "SDG"
340
        | "SEK"
341
        | "SGD"
342
        | "SHP"
343
        | "SLL"
344
        | "SLE"
345
        | "SOS"
346
        | "SRD"
347
        | "SSP"
348
        | "STD"
349
        | "SVC"
350
        | "SYP"
351
        | "SZL"
352
        | "THB"
353
        | "TJS"
354
        | "TMT"
355
        | "TND"
356
        | "TOP"
357
        | "TRY"
358
        | "TTD"
359
        | "TWD"
360
        | "TZS"
361
        | "UAH"
362
        | "UGX"
363
        | "USD"
364
        | "USN"
365
        | "USS"
366
        | "UYI"
367
        | "UYU"
368
        | "UZS"
369
        | "VEF"
370
        | "VND"
371
        | "VUV"
372
        | "WST"
373
        | "XAF"
374
        | "XAG"
375
        | "XAU"
376
        | "XBA"
377
        | "XBB"
378
        | "XBC"
379
        | "XBD"
380
        | "XCD"
381
        | "XDR"
382
        | "XOF"
383
        | "XPD"
384
        | "XPF"
385
        | "XPT"
386
        | "XTS"
387
        | "XXX"
388
        | "YER"
389
        | "ZAR"
390
        | "ZMK"
391
        | "ZMW"
392
        | "BTC"
393
        | "XUS";
394
    };
395
    app_fee_money?: {
396
      amount?: number;
397
      currency?:
398
        | "UNKNOWN_CURRENCY"
399
        | "AED"
400
        | "AFN"
401
        | "ALL"
402
        | "AMD"
403
        | "ANG"
404
        | "AOA"
405
        | "ARS"
406
        | "AUD"
407
        | "AWG"
408
        | "AZN"
409
        | "BAM"
410
        | "BBD"
411
        | "BDT"
412
        | "BGN"
413
        | "BHD"
414
        | "BIF"
415
        | "BMD"
416
        | "BND"
417
        | "BOB"
418
        | "BOV"
419
        | "BRL"
420
        | "BSD"
421
        | "BTN"
422
        | "BWP"
423
        | "BYR"
424
        | "BZD"
425
        | "CAD"
426
        | "CDF"
427
        | "CHE"
428
        | "CHF"
429
        | "CHW"
430
        | "CLF"
431
        | "CLP"
432
        | "CNY"
433
        | "COP"
434
        | "COU"
435
        | "CRC"
436
        | "CUC"
437
        | "CUP"
438
        | "CVE"
439
        | "CZK"
440
        | "DJF"
441
        | "DKK"
442
        | "DOP"
443
        | "DZD"
444
        | "EGP"
445
        | "ERN"
446
        | "ETB"
447
        | "EUR"
448
        | "FJD"
449
        | "FKP"
450
        | "GBP"
451
        | "GEL"
452
        | "GHS"
453
        | "GIP"
454
        | "GMD"
455
        | "GNF"
456
        | "GTQ"
457
        | "GYD"
458
        | "HKD"
459
        | "HNL"
460
        | "HRK"
461
        | "HTG"
462
        | "HUF"
463
        | "IDR"
464
        | "ILS"
465
        | "INR"
466
        | "IQD"
467
        | "IRR"
468
        | "ISK"
469
        | "JMD"
470
        | "JOD"
471
        | "JPY"
472
        | "KES"
473
        | "KGS"
474
        | "KHR"
475
        | "KMF"
476
        | "KPW"
477
        | "KRW"
478
        | "KWD"
479
        | "KYD"
480
        | "KZT"
481
        | "LAK"
482
        | "LBP"
483
        | "LKR"
484
        | "LRD"
485
        | "LSL"
486
        | "LTL"
487
        | "LVL"
488
        | "LYD"
489
        | "MAD"
490
        | "MDL"
491
        | "MGA"
492
        | "MKD"
493
        | "MMK"
494
        | "MNT"
495
        | "MOP"
496
        | "MRO"
497
        | "MUR"
498
        | "MVR"
499
        | "MWK"
500
        | "MXN"
501
        | "MXV"
502
        | "MYR"
503
        | "MZN"
504
        | "NAD"
505
        | "NGN"
506
        | "NIO"
507
        | "NOK"
508
        | "NPR"
509
        | "NZD"
510
        | "OMR"
511
        | "PAB"
512
        | "PEN"
513
        | "PGK"
514
        | "PHP"
515
        | "PKR"
516
        | "PLN"
517
        | "PYG"
518
        | "QAR"
519
        | "RON"
520
        | "RSD"
521
        | "RUB"
522
        | "RWF"
523
        | "SAR"
524
        | "SBD"
525
        | "SCR"
526
        | "SDG"
527
        | "SEK"
528
        | "SGD"
529
        | "SHP"
530
        | "SLL"
531
        | "SLE"
532
        | "SOS"
533
        | "SRD"
534
        | "SSP"
535
        | "STD"
536
        | "SVC"
537
        | "SYP"
538
        | "SZL"
539
        | "THB"
540
        | "TJS"
541
        | "TMT"
542
        | "TND"
543
        | "TOP"
544
        | "TRY"
545
        | "TTD"
546
        | "TWD"
547
        | "TZS"
548
        | "UAH"
549
        | "UGX"
550
        | "USD"
551
        | "USN"
552
        | "USS"
553
        | "UYI"
554
        | "UYU"
555
        | "UZS"
556
        | "VEF"
557
        | "VND"
558
        | "VUV"
559
        | "WST"
560
        | "XAF"
561
        | "XAG"
562
        | "XAU"
563
        | "XBA"
564
        | "XBB"
565
        | "XBC"
566
        | "XBD"
567
        | "XCD"
568
        | "XDR"
569
        | "XOF"
570
        | "XPD"
571
        | "XPF"
572
        | "XPT"
573
        | "XTS"
574
        | "XXX"
575
        | "YER"
576
        | "ZAR"
577
        | "ZMK"
578
        | "ZMW"
579
        | "BTC"
580
        | "XUS";
581
    };
582
    delay_duration?: string;
583
    delay_action?: string;
584
    autocomplete?: false | true;
585
    order_id?: string;
586
    customer_id?: string;
587
    location_id?: string;
588
    team_member_id?: string;
589
    reference_id?: string;
590
    verification_token?: string;
591
    accept_partial_authorization?: false | true;
592
    buyer_email_address?: string;
593
    buyer_phone_number?: string;
594
    billing_address?: {
595
      address_line_1?: string;
596
      address_line_2?: string;
597
      address_line_3?: string;
598
      locality?: string;
599
      sublocality?: string;
600
      sublocality_2?: string;
601
      sublocality_3?: string;
602
      administrative_district_level_1?: string;
603
      administrative_district_level_2?: string;
604
      administrative_district_level_3?: string;
605
      postal_code?: string;
606
      country?:
607
        | "ZZ"
608
        | "AD"
609
        | "AE"
610
        | "AF"
611
        | "AG"
612
        | "AI"
613
        | "AL"
614
        | "AM"
615
        | "AO"
616
        | "AQ"
617
        | "AR"
618
        | "AS"
619
        | "AT"
620
        | "AU"
621
        | "AW"
622
        | "AX"
623
        | "AZ"
624
        | "BA"
625
        | "BB"
626
        | "BD"
627
        | "BE"
628
        | "BF"
629
        | "BG"
630
        | "BH"
631
        | "BI"
632
        | "BJ"
633
        | "BL"
634
        | "BM"
635
        | "BN"
636
        | "BO"
637
        | "BQ"
638
        | "BR"
639
        | "BS"
640
        | "BT"
641
        | "BV"
642
        | "BW"
643
        | "BY"
644
        | "BZ"
645
        | "CA"
646
        | "CC"
647
        | "CD"
648
        | "CF"
649
        | "CG"
650
        | "CH"
651
        | "CI"
652
        | "CK"
653
        | "CL"
654
        | "CM"
655
        | "CN"
656
        | "CO"
657
        | "CR"
658
        | "CU"
659
        | "CV"
660
        | "CW"
661
        | "CX"
662
        | "CY"
663
        | "CZ"
664
        | "DE"
665
        | "DJ"
666
        | "DK"
667
        | "DM"
668
        | "DO"
669
        | "DZ"
670
        | "EC"
671
        | "EE"
672
        | "EG"
673
        | "EH"
674
        | "ER"
675
        | "ES"
676
        | "ET"
677
        | "FI"
678
        | "FJ"
679
        | "FK"
680
        | "FM"
681
        | "FO"
682
        | "FR"
683
        | "GA"
684
        | "GB"
685
        | "GD"
686
        | "GE"
687
        | "GF"
688
        | "GG"
689
        | "GH"
690
        | "GI"
691
        | "GL"
692
        | "GM"
693
        | "GN"
694
        | "GP"
695
        | "GQ"
696
        | "GR"
697
        | "GS"
698
        | "GT"
699
        | "GU"
700
        | "GW"
701
        | "GY"
702
        | "HK"
703
        | "HM"
704
        | "HN"
705
        | "HR"
706
        | "HT"
707
        | "HU"
708
        | "ID"
709
        | "IE"
710
        | "IL"
711
        | "IM"
712
        | "IN"
713
        | "IO"
714
        | "IQ"
715
        | "IR"
716
        | "IS"
717
        | "IT"
718
        | "JE"
719
        | "JM"
720
        | "JO"
721
        | "JP"
722
        | "KE"
723
        | "KG"
724
        | "KH"
725
        | "KI"
726
        | "KM"
727
        | "KN"
728
        | "KP"
729
        | "KR"
730
        | "KW"
731
        | "KY"
732
        | "KZ"
733
        | "LA"
734
        | "LB"
735
        | "LC"
736
        | "LI"
737
        | "LK"
738
        | "LR"
739
        | "LS"
740
        | "LT"
741
        | "LU"
742
        | "LV"
743
        | "LY"
744
        | "MA"
745
        | "MC"
746
        | "MD"
747
        | "ME"
748
        | "MF"
749
        | "MG"
750
        | "MH"
751
        | "MK"
752
        | "ML"
753
        | "MM"
754
        | "MN"
755
        | "MO"
756
        | "MP"
757
        | "MQ"
758
        | "MR"
759
        | "MS"
760
        | "MT"
761
        | "MU"
762
        | "MV"
763
        | "MW"
764
        | "MX"
765
        | "MY"
766
        | "MZ"
767
        | "NA"
768
        | "NC"
769
        | "NE"
770
        | "NF"
771
        | "NG"
772
        | "NI"
773
        | "NL"
774
        | "NO"
775
        | "NP"
776
        | "NR"
777
        | "NU"
778
        | "NZ"
779
        | "OM"
780
        | "PA"
781
        | "PE"
782
        | "PF"
783
        | "PG"
784
        | "PH"
785
        | "PK"
786
        | "PL"
787
        | "PM"
788
        | "PN"
789
        | "PR"
790
        | "PS"
791
        | "PT"
792
        | "PW"
793
        | "PY"
794
        | "QA"
795
        | "RE"
796
        | "RO"
797
        | "RS"
798
        | "RU"
799
        | "RW"
800
        | "SA"
801
        | "SB"
802
        | "SC"
803
        | "SD"
804
        | "SE"
805
        | "SG"
806
        | "SH"
807
        | "SI"
808
        | "SJ"
809
        | "SK"
810
        | "SL"
811
        | "SM"
812
        | "SN"
813
        | "SO"
814
        | "SR"
815
        | "SS"
816
        | "ST"
817
        | "SV"
818
        | "SX"
819
        | "SY"
820
        | "SZ"
821
        | "TC"
822
        | "TD"
823
        | "TF"
824
        | "TG"
825
        | "TH"
826
        | "TJ"
827
        | "TK"
828
        | "TL"
829
        | "TM"
830
        | "TN"
831
        | "TO"
832
        | "TR"
833
        | "TT"
834
        | "TV"
835
        | "TW"
836
        | "TZ"
837
        | "UA"
838
        | "UG"
839
        | "UM"
840
        | "US"
841
        | "UY"
842
        | "UZ"
843
        | "VA"
844
        | "VC"
845
        | "VE"
846
        | "VG"
847
        | "VI"
848
        | "VN"
849
        | "VU"
850
        | "WF"
851
        | "WS"
852
        | "YE"
853
        | "YT"
854
        | "ZA"
855
        | "ZM"
856
        | "ZW";
857
      first_name?: string;
858
      last_name?: string;
859
    };
860
    shipping_address?: {
861
      address_line_1?: string;
862
      address_line_2?: string;
863
      address_line_3?: string;
864
      locality?: string;
865
      sublocality?: string;
866
      sublocality_2?: string;
867
      sublocality_3?: string;
868
      administrative_district_level_1?: string;
869
      administrative_district_level_2?: string;
870
      administrative_district_level_3?: string;
871
      postal_code?: string;
872
      country?:
873
        | "ZZ"
874
        | "AD"
875
        | "AE"
876
        | "AF"
877
        | "AG"
878
        | "AI"
879
        | "AL"
880
        | "AM"
881
        | "AO"
882
        | "AQ"
883
        | "AR"
884
        | "AS"
885
        | "AT"
886
        | "AU"
887
        | "AW"
888
        | "AX"
889
        | "AZ"
890
        | "BA"
891
        | "BB"
892
        | "BD"
893
        | "BE"
894
        | "BF"
895
        | "BG"
896
        | "BH"
897
        | "BI"
898
        | "BJ"
899
        | "BL"
900
        | "BM"
901
        | "BN"
902
        | "BO"
903
        | "BQ"
904
        | "BR"
905
        | "BS"
906
        | "BT"
907
        | "BV"
908
        | "BW"
909
        | "BY"
910
        | "BZ"
911
        | "CA"
912
        | "CC"
913
        | "CD"
914
        | "CF"
915
        | "CG"
916
        | "CH"
917
        | "CI"
918
        | "CK"
919
        | "CL"
920
        | "CM"
921
        | "CN"
922
        | "CO"
923
        | "CR"
924
        | "CU"
925
        | "CV"
926
        | "CW"
927
        | "CX"
928
        | "CY"
929
        | "CZ"
930
        | "DE"
931
        | "DJ"
932
        | "DK"
933
        | "DM"
934
        | "DO"
935
        | "DZ"
936
        | "EC"
937
        | "EE"
938
        | "EG"
939
        | "EH"
940
        | "ER"
941
        | "ES"
942
        | "ET"
943
        | "FI"
944
        | "FJ"
945
        | "FK"
946
        | "FM"
947
        | "FO"
948
        | "FR"
949
        | "GA"
950
        | "GB"
951
        | "GD"
952
        | "GE"
953
        | "GF"
954
        | "GG"
955
        | "GH"
956
        | "GI"
957
        | "GL"
958
        | "GM"
959
        | "GN"
960
        | "GP"
961
        | "GQ"
962
        | "GR"
963
        | "GS"
964
        | "GT"
965
        | "GU"
966
        | "GW"
967
        | "GY"
968
        | "HK"
969
        | "HM"
970
        | "HN"
971
        | "HR"
972
        | "HT"
973
        | "HU"
974
        | "ID"
975
        | "IE"
976
        | "IL"
977
        | "IM"
978
        | "IN"
979
        | "IO"
980
        | "IQ"
981
        | "IR"
982
        | "IS"
983
        | "IT"
984
        | "JE"
985
        | "JM"
986
        | "JO"
987
        | "JP"
988
        | "KE"
989
        | "KG"
990
        | "KH"
991
        | "KI"
992
        | "KM"
993
        | "KN"
994
        | "KP"
995
        | "KR"
996
        | "KW"
997
        | "KY"
998
        | "KZ"
999
        | "LA"
1000
        | "LB"
1001
        | "LC"
1002
        | "LI"
1003
        | "LK"
1004
        | "LR"
1005
        | "LS"
1006
        | "LT"
1007
        | "LU"
1008
        | "LV"
1009
        | "LY"
1010
        | "MA"
1011
        | "MC"
1012
        | "MD"
1013
        | "ME"
1014
        | "MF"
1015
        | "MG"
1016
        | "MH"
1017
        | "MK"
1018
        | "ML"
1019
        | "MM"
1020
        | "MN"
1021
        | "MO"
1022
        | "MP"
1023
        | "MQ"
1024
        | "MR"
1025
        | "MS"
1026
        | "MT"
1027
        | "MU"
1028
        | "MV"
1029
        | "MW"
1030
        | "MX"
1031
        | "MY"
1032
        | "MZ"
1033
        | "NA"
1034
        | "NC"
1035
        | "NE"
1036
        | "NF"
1037
        | "NG"
1038
        | "NI"
1039
        | "NL"
1040
        | "NO"
1041
        | "NP"
1042
        | "NR"
1043
        | "NU"
1044
        | "NZ"
1045
        | "OM"
1046
        | "PA"
1047
        | "PE"
1048
        | "PF"
1049
        | "PG"
1050
        | "PH"
1051
        | "PK"
1052
        | "PL"
1053
        | "PM"
1054
        | "PN"
1055
        | "PR"
1056
        | "PS"
1057
        | "PT"
1058
        | "PW"
1059
        | "PY"
1060
        | "QA"
1061
        | "RE"
1062
        | "RO"
1063
        | "RS"
1064
        | "RU"
1065
        | "RW"
1066
        | "SA"
1067
        | "SB"
1068
        | "SC"
1069
        | "SD"
1070
        | "SE"
1071
        | "SG"
1072
        | "SH"
1073
        | "SI"
1074
        | "SJ"
1075
        | "SK"
1076
        | "SL"
1077
        | "SM"
1078
        | "SN"
1079
        | "SO"
1080
        | "SR"
1081
        | "SS"
1082
        | "ST"
1083
        | "SV"
1084
        | "SX"
1085
        | "SY"
1086
        | "SZ"
1087
        | "TC"
1088
        | "TD"
1089
        | "TF"
1090
        | "TG"
1091
        | "TH"
1092
        | "TJ"
1093
        | "TK"
1094
        | "TL"
1095
        | "TM"
1096
        | "TN"
1097
        | "TO"
1098
        | "TR"
1099
        | "TT"
1100
        | "TV"
1101
        | "TW"
1102
        | "TZ"
1103
        | "UA"
1104
        | "UG"
1105
        | "UM"
1106
        | "US"
1107
        | "UY"
1108
        | "UZ"
1109
        | "VA"
1110
        | "VC"
1111
        | "VE"
1112
        | "VG"
1113
        | "VI"
1114
        | "VN"
1115
        | "VU"
1116
        | "WF"
1117
        | "WS"
1118
        | "YE"
1119
        | "YT"
1120
        | "ZA"
1121
        | "ZM"
1122
        | "ZW";
1123
      first_name?: string;
1124
      last_name?: string;
1125
    };
1126
    note?: string;
1127
    statement_description_identifier?: string;
1128
    cash_details?: {
1129
      buyer_supplied_money: {
1130
        amount?: number;
1131
        currency?:
1132
          | "UNKNOWN_CURRENCY"
1133
          | "AED"
1134
          | "AFN"
1135
          | "ALL"
1136
          | "AMD"
1137
          | "ANG"
1138
          | "AOA"
1139
          | "ARS"
1140
          | "AUD"
1141
          | "AWG"
1142
          | "AZN"
1143
          | "BAM"
1144
          | "BBD"
1145
          | "BDT"
1146
          | "BGN"
1147
          | "BHD"
1148
          | "BIF"
1149
          | "BMD"
1150
          | "BND"
1151
          | "BOB"
1152
          | "BOV"
1153
          | "BRL"
1154
          | "BSD"
1155
          | "BTN"
1156
          | "BWP"
1157
          | "BYR"
1158
          | "BZD"
1159
          | "CAD"
1160
          | "CDF"
1161
          | "CHE"
1162
          | "CHF"
1163
          | "CHW"
1164
          | "CLF"
1165
          | "CLP"
1166
          | "CNY"
1167
          | "COP"
1168
          | "COU"
1169
          | "CRC"
1170
          | "CUC"
1171
          | "CUP"
1172
          | "CVE"
1173
          | "CZK"
1174
          | "DJF"
1175
          | "DKK"
1176
          | "DOP"
1177
          | "DZD"
1178
          | "EGP"
1179
          | "ERN"
1180
          | "ETB"
1181
          | "EUR"
1182
          | "FJD"
1183
          | "FKP"
1184
          | "GBP"
1185
          | "GEL"
1186
          | "GHS"
1187
          | "GIP"
1188
          | "GMD"
1189
          | "GNF"
1190
          | "GTQ"
1191
          | "GYD"
1192
          | "HKD"
1193
          | "HNL"
1194
          | "HRK"
1195
          | "HTG"
1196
          | "HUF"
1197
          | "IDR"
1198
          | "ILS"
1199
          | "INR"
1200
          | "IQD"
1201
          | "IRR"
1202
          | "ISK"
1203
          | "JMD"
1204
          | "JOD"
1205
          | "JPY"
1206
          | "KES"
1207
          | "KGS"
1208
          | "KHR"
1209
          | "KMF"
1210
          | "KPW"
1211
          | "KRW"
1212
          | "KWD"
1213
          | "KYD"
1214
          | "KZT"
1215
          | "LAK"
1216
          | "LBP"
1217
          | "LKR"
1218
          | "LRD"
1219
          | "LSL"
1220
          | "LTL"
1221
          | "LVL"
1222
          | "LYD"
1223
          | "MAD"
1224
          | "MDL"
1225
          | "MGA"
1226
          | "MKD"
1227
          | "MMK"
1228
          | "MNT"
1229
          | "MOP"
1230
          | "MRO"
1231
          | "MUR"
1232
          | "MVR"
1233
          | "MWK"
1234
          | "MXN"
1235
          | "MXV"
1236
          | "MYR"
1237
          | "MZN"
1238
          | "NAD"
1239
          | "NGN"
1240
          | "NIO"
1241
          | "NOK"
1242
          | "NPR"
1243
          | "NZD"
1244
          | "OMR"
1245
          | "PAB"
1246
          | "PEN"
1247
          | "PGK"
1248
          | "PHP"
1249
          | "PKR"
1250
          | "PLN"
1251
          | "PYG"
1252
          | "QAR"
1253
          | "RON"
1254
          | "RSD"
1255
          | "RUB"
1256
          | "RWF"
1257
          | "SAR"
1258
          | "SBD"
1259
          | "SCR"
1260
          | "SDG"
1261
          | "SEK"
1262
          | "SGD"
1263
          | "SHP"
1264
          | "SLL"
1265
          | "SLE"
1266
          | "SOS"
1267
          | "SRD"
1268
          | "SSP"
1269
          | "STD"
1270
          | "SVC"
1271
          | "SYP"
1272
          | "SZL"
1273
          | "THB"
1274
          | "TJS"
1275
          | "TMT"
1276
          | "TND"
1277
          | "TOP"
1278
          | "TRY"
1279
          | "TTD"
1280
          | "TWD"
1281
          | "TZS"
1282
          | "UAH"
1283
          | "UGX"
1284
          | "USD"
1285
          | "USN"
1286
          | "USS"
1287
          | "UYI"
1288
          | "UYU"
1289
          | "UZS"
1290
          | "VEF"
1291
          | "VND"
1292
          | "VUV"
1293
          | "WST"
1294
          | "XAF"
1295
          | "XAG"
1296
          | "XAU"
1297
          | "XBA"
1298
          | "XBB"
1299
          | "XBC"
1300
          | "XBD"
1301
          | "XCD"
1302
          | "XDR"
1303
          | "XOF"
1304
          | "XPD"
1305
          | "XPF"
1306
          | "XPT"
1307
          | "XTS"
1308
          | "XXX"
1309
          | "YER"
1310
          | "ZAR"
1311
          | "ZMK"
1312
          | "ZMW"
1313
          | "BTC"
1314
          | "XUS";
1315
      };
1316
      change_back_money?: {
1317
        amount?: number;
1318
        currency?:
1319
          | "UNKNOWN_CURRENCY"
1320
          | "AED"
1321
          | "AFN"
1322
          | "ALL"
1323
          | "AMD"
1324
          | "ANG"
1325
          | "AOA"
1326
          | "ARS"
1327
          | "AUD"
1328
          | "AWG"
1329
          | "AZN"
1330
          | "BAM"
1331
          | "BBD"
1332
          | "BDT"
1333
          | "BGN"
1334
          | "BHD"
1335
          | "BIF"
1336
          | "BMD"
1337
          | "BND"
1338
          | "BOB"
1339
          | "BOV"
1340
          | "BRL"
1341
          | "BSD"
1342
          | "BTN"
1343
          | "BWP"
1344
          | "BYR"
1345
          | "BZD"
1346
          | "CAD"
1347
          | "CDF"
1348
          | "CHE"
1349
          | "CHF"
1350
          | "CHW"
1351
          | "CLF"
1352
          | "CLP"
1353
          | "CNY"
1354
          | "COP"
1355
          | "COU"
1356
          | "CRC"
1357
          | "CUC"
1358
          | "CUP"
1359
          | "CVE"
1360
          | "CZK"
1361
          | "DJF"
1362
          | "DKK"
1363
          | "DOP"
1364
          | "DZD"
1365
          | "EGP"
1366
          | "ERN"
1367
          | "ETB"
1368
          | "EUR"
1369
          | "FJD"
1370
          | "FKP"
1371
          | "GBP"
1372
          | "GEL"
1373
          | "GHS"
1374
          | "GIP"
1375
          | "GMD"
1376
          | "GNF"
1377
          | "GTQ"
1378
          | "GYD"
1379
          | "HKD"
1380
          | "HNL"
1381
          | "HRK"
1382
          | "HTG"
1383
          | "HUF"
1384
          | "IDR"
1385
          | "ILS"
1386
          | "INR"
1387
          | "IQD"
1388
          | "IRR"
1389
          | "ISK"
1390
          | "JMD"
1391
          | "JOD"
1392
          | "JPY"
1393
          | "KES"
1394
          | "KGS"
1395
          | "KHR"
1396
          | "KMF"
1397
          | "KPW"
1398
          | "KRW"
1399
          | "KWD"
1400
          | "KYD"
1401
          | "KZT"
1402
          | "LAK"
1403
          | "LBP"
1404
          | "LKR"
1405
          | "LRD"
1406
          | "LSL"
1407
          | "LTL"
1408
          | "LVL"
1409
          | "LYD"
1410
          | "MAD"
1411
          | "MDL"
1412
          | "MGA"
1413
          | "MKD"
1414
          | "MMK"
1415
          | "MNT"
1416
          | "MOP"
1417
          | "MRO"
1418
          | "MUR"
1419
          | "MVR"
1420
          | "MWK"
1421
          | "MXN"
1422
          | "MXV"
1423
          | "MYR"
1424
          | "MZN"
1425
          | "NAD"
1426
          | "NGN"
1427
          | "NIO"
1428
          | "NOK"
1429
          | "NPR"
1430
          | "NZD"
1431
          | "OMR"
1432
          | "PAB"
1433
          | "PEN"
1434
          | "PGK"
1435
          | "PHP"
1436
          | "PKR"
1437
          | "PLN"
1438
          | "PYG"
1439
          | "QAR"
1440
          | "RON"
1441
          | "RSD"
1442
          | "RUB"
1443
          | "RWF"
1444
          | "SAR"
1445
          | "SBD"
1446
          | "SCR"
1447
          | "SDG"
1448
          | "SEK"
1449
          | "SGD"
1450
          | "SHP"
1451
          | "SLL"
1452
          | "SLE"
1453
          | "SOS"
1454
          | "SRD"
1455
          | "SSP"
1456
          | "STD"
1457
          | "SVC"
1458
          | "SYP"
1459
          | "SZL"
1460
          | "THB"
1461
          | "TJS"
1462
          | "TMT"
1463
          | "TND"
1464
          | "TOP"
1465
          | "TRY"
1466
          | "TTD"
1467
          | "TWD"
1468
          | "TZS"
1469
          | "UAH"
1470
          | "UGX"
1471
          | "USD"
1472
          | "USN"
1473
          | "USS"
1474
          | "UYI"
1475
          | "UYU"
1476
          | "UZS"
1477
          | "VEF"
1478
          | "VND"
1479
          | "VUV"
1480
          | "WST"
1481
          | "XAF"
1482
          | "XAG"
1483
          | "XAU"
1484
          | "XBA"
1485
          | "XBB"
1486
          | "XBC"
1487
          | "XBD"
1488
          | "XCD"
1489
          | "XDR"
1490
          | "XOF"
1491
          | "XPD"
1492
          | "XPF"
1493
          | "XPT"
1494
          | "XTS"
1495
          | "XXX"
1496
          | "YER"
1497
          | "ZAR"
1498
          | "ZMK"
1499
          | "ZMW"
1500
          | "BTC"
1501
          | "XUS";
1502
      };
1503
    };
1504
    external_details?: {
1505
      type: string;
1506
      source: string;
1507
      source_id?: string;
1508
      source_fee_money?: {
1509
        amount?: number;
1510
        currency?:
1511
          | "UNKNOWN_CURRENCY"
1512
          | "AED"
1513
          | "AFN"
1514
          | "ALL"
1515
          | "AMD"
1516
          | "ANG"
1517
          | "AOA"
1518
          | "ARS"
1519
          | "AUD"
1520
          | "AWG"
1521
          | "AZN"
1522
          | "BAM"
1523
          | "BBD"
1524
          | "BDT"
1525
          | "BGN"
1526
          | "BHD"
1527
          | "BIF"
1528
          | "BMD"
1529
          | "BND"
1530
          | "BOB"
1531
          | "BOV"
1532
          | "BRL"
1533
          | "BSD"
1534
          | "BTN"
1535
          | "BWP"
1536
          | "BYR"
1537
          | "BZD"
1538
          | "CAD"
1539
          | "CDF"
1540
          | "CHE"
1541
          | "CHF"
1542
          | "CHW"
1543
          | "CLF"
1544
          | "CLP"
1545
          | "CNY"
1546
          | "COP"
1547
          | "COU"
1548
          | "CRC"
1549
          | "CUC"
1550
          | "CUP"
1551
          | "CVE"
1552
          | "CZK"
1553
          | "DJF"
1554
          | "DKK"
1555
          | "DOP"
1556
          | "DZD"
1557
          | "EGP"
1558
          | "ERN"
1559
          | "ETB"
1560
          | "EUR"
1561
          | "FJD"
1562
          | "FKP"
1563
          | "GBP"
1564
          | "GEL"
1565
          | "GHS"
1566
          | "GIP"
1567
          | "GMD"
1568
          | "GNF"
1569
          | "GTQ"
1570
          | "GYD"
1571
          | "HKD"
1572
          | "HNL"
1573
          | "HRK"
1574
          | "HTG"
1575
          | "HUF"
1576
          | "IDR"
1577
          | "ILS"
1578
          | "INR"
1579
          | "IQD"
1580
          | "IRR"
1581
          | "ISK"
1582
          | "JMD"
1583
          | "JOD"
1584
          | "JPY"
1585
          | "KES"
1586
          | "KGS"
1587
          | "KHR"
1588
          | "KMF"
1589
          | "KPW"
1590
          | "KRW"
1591
          | "KWD"
1592
          | "KYD"
1593
          | "KZT"
1594
          | "LAK"
1595
          | "LBP"
1596
          | "LKR"
1597
          | "LRD"
1598
          | "LSL"
1599
          | "LTL"
1600
          | "LVL"
1601
          | "LYD"
1602
          | "MAD"
1603
          | "MDL"
1604
          | "MGA"
1605
          | "MKD"
1606
          | "MMK"
1607
          | "MNT"
1608
          | "MOP"
1609
          | "MRO"
1610
          | "MUR"
1611
          | "MVR"
1612
          | "MWK"
1613
          | "MXN"
1614
          | "MXV"
1615
          | "MYR"
1616
          | "MZN"
1617
          | "NAD"
1618
          | "NGN"
1619
          | "NIO"
1620
          | "NOK"
1621
          | "NPR"
1622
          | "NZD"
1623
          | "OMR"
1624
          | "PAB"
1625
          | "PEN"
1626
          | "PGK"
1627
          | "PHP"
1628
          | "PKR"
1629
          | "PLN"
1630
          | "PYG"
1631
          | "QAR"
1632
          | "RON"
1633
          | "RSD"
1634
          | "RUB"
1635
          | "RWF"
1636
          | "SAR"
1637
          | "SBD"
1638
          | "SCR"
1639
          | "SDG"
1640
          | "SEK"
1641
          | "SGD"
1642
          | "SHP"
1643
          | "SLL"
1644
          | "SLE"
1645
          | "SOS"
1646
          | "SRD"
1647
          | "SSP"
1648
          | "STD"
1649
          | "SVC"
1650
          | "SYP"
1651
          | "SZL"
1652
          | "THB"
1653
          | "TJS"
1654
          | "TMT"
1655
          | "TND"
1656
          | "TOP"
1657
          | "TRY"
1658
          | "TTD"
1659
          | "TWD"
1660
          | "TZS"
1661
          | "UAH"
1662
          | "UGX"
1663
          | "USD"
1664
          | "USN"
1665
          | "USS"
1666
          | "UYI"
1667
          | "UYU"
1668
          | "UZS"
1669
          | "VEF"
1670
          | "VND"
1671
          | "VUV"
1672
          | "WST"
1673
          | "XAF"
1674
          | "XAG"
1675
          | "XAU"
1676
          | "XBA"
1677
          | "XBB"
1678
          | "XBC"
1679
          | "XBD"
1680
          | "XCD"
1681
          | "XDR"
1682
          | "XOF"
1683
          | "XPD"
1684
          | "XPF"
1685
          | "XPT"
1686
          | "XTS"
1687
          | "XXX"
1688
          | "YER"
1689
          | "ZAR"
1690
          | "ZMK"
1691
          | "ZMW"
1692
          | "BTC"
1693
          | "XUS";
1694
      };
1695
    };
1696
    customer_details?: {
1697
      customer_initiated?: false | true;
1698
      seller_keyed_in?: false | true;
1699
    };
1700
    offline_payment_details?: { client_created_at?: string };
1701
  },
1702
) {
1703
  const url = new URL(`https://connect.squareup.com/v2/payments`);
1704

1705
  const response = await fetch(url, {
1706
    method: "POST",
1707
    headers: {
1708
      "Content-Type": "application/json",
1709
      Authorization: "Bearer " + auth.token,
1710
    },
1711
    body: JSON.stringify(body),
1712
  });
1713
  if (!response.ok) {
1714
    const text = await response.text();
1715
    throw new Error(`${response.status} ${text}`);
1716
  }
1717
  return await response.json();
1718
}
1719