@bates-solutions/squareup 0.1.0
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.
- package/LICENSE +21 -0
- package/README.md +154 -0
- package/README.md.backup +292 -0
- package/dist/angular/__tests__/setup.d.ts +1 -0
- package/dist/angular/__tests__/setup.d.ts.map +1 -0
- package/dist/angular/__tests__/setup.js +5 -0
- package/dist/angular/__tests__/setup.js.map +1 -0
- package/dist/angular/components/index.d.ts +2 -0
- package/dist/angular/components/index.d.ts.map +1 -0
- package/dist/angular/components/index.js +2 -0
- package/dist/angular/components/index.js.map +1 -0
- package/dist/angular/components/payment-button.component.d.ts +49 -0
- package/dist/angular/components/payment-button.component.d.ts.map +1 -0
- package/dist/angular/components/payment-button.component.js +176 -0
- package/dist/angular/components/payment-button.component.js.map +1 -0
- package/dist/angular/directives/index.d.ts +2 -0
- package/dist/angular/directives/index.d.ts.map +1 -0
- package/dist/angular/directives/index.js +2 -0
- package/dist/angular/directives/index.js.map +1 -0
- package/dist/angular/directives/square-card.directive.d.ts +52 -0
- package/dist/angular/directives/square-card.directive.d.ts.map +1 -0
- package/dist/angular/directives/square-card.directive.js +98 -0
- package/dist/angular/directives/square-card.directive.js.map +1 -0
- package/dist/angular/index.d.ts +42 -0
- package/dist/angular/index.d.ts.map +1 -0
- package/dist/angular/index.js +45 -0
- package/dist/angular/index.js.map +1 -0
- package/dist/angular/services/index.d.ts +6 -0
- package/dist/angular/services/index.d.ts.map +1 -0
- package/dist/angular/services/index.js +6 -0
- package/dist/angular/services/index.js.map +1 -0
- package/dist/angular/services/square-catalog.service.d.ts +60 -0
- package/dist/angular/services/square-catalog.service.d.ts.map +1 -0
- package/dist/angular/services/square-catalog.service.js +152 -0
- package/dist/angular/services/square-catalog.service.js.map +1 -0
- package/dist/angular/services/square-customers.service.d.ts +77 -0
- package/dist/angular/services/square-customers.service.d.ts.map +1 -0
- package/dist/angular/services/square-customers.service.js +187 -0
- package/dist/angular/services/square-customers.service.js.map +1 -0
- package/dist/angular/services/square-orders.service.d.ts +66 -0
- package/dist/angular/services/square-orders.service.d.ts.map +1 -0
- package/dist/angular/services/square-orders.service.js +170 -0
- package/dist/angular/services/square-orders.service.js.map +1 -0
- package/dist/angular/services/square-payments.service.d.ts +73 -0
- package/dist/angular/services/square-payments.service.d.ts.map +1 -0
- package/dist/angular/services/square-payments.service.js +167 -0
- package/dist/angular/services/square-payments.service.js.map +1 -0
- package/dist/angular/services/square-sdk.service.d.ts +45 -0
- package/dist/angular/services/square-sdk.service.d.ts.map +1 -0
- package/dist/angular/services/square-sdk.service.js +133 -0
- package/dist/angular/services/square-sdk.service.js.map +1 -0
- package/dist/angular/square.module.d.ts +36 -0
- package/dist/angular/square.module.d.ts.map +1 -0
- package/dist/angular/square.module.js +75 -0
- package/dist/angular/square.module.js.map +1 -0
- package/dist/angular/types.d.ts +189 -0
- package/dist/angular/types.d.ts.map +1 -0
- package/dist/angular/types.js +8 -0
- package/dist/angular/types.js.map +1 -0
- package/dist/core/builders/order.builder.d.ts +140 -0
- package/dist/core/builders/order.builder.d.ts.map +1 -0
- package/dist/core/builders/order.builder.js +185 -0
- package/dist/core/builders/order.builder.js.map +1 -0
- package/dist/core/client.d.ts +93 -0
- package/dist/core/client.d.ts.map +1 -0
- package/dist/core/client.js +99 -0
- package/dist/core/client.js.map +1 -0
- package/dist/core/errors.d.ts +55 -0
- package/dist/core/errors.d.ts.map +1 -0
- package/dist/core/errors.js +118 -0
- package/dist/core/errors.js.map +1 -0
- package/dist/core/index.d.ts +17 -0
- package/dist/core/index.d.ts.map +1 -0
- package/dist/core/index.js +18 -0
- package/dist/core/index.js.map +1 -0
- package/dist/core/services/catalog.service.d.ts +218 -0
- package/dist/core/services/catalog.service.d.ts.map +1 -0
- package/dist/core/services/catalog.service.js +274 -0
- package/dist/core/services/catalog.service.js.map +1 -0
- package/dist/core/services/customers.service.d.ts +197 -0
- package/dist/core/services/customers.service.d.ts.map +1 -0
- package/dist/core/services/customers.service.js +246 -0
- package/dist/core/services/customers.service.js.map +1 -0
- package/dist/core/services/inventory.service.d.ts +196 -0
- package/dist/core/services/inventory.service.d.ts.map +1 -0
- package/dist/core/services/inventory.service.js +266 -0
- package/dist/core/services/inventory.service.js.map +1 -0
- package/dist/core/services/invoices.service.d.ts +211 -0
- package/dist/core/services/invoices.service.d.ts.map +1 -0
- package/dist/core/services/invoices.service.js +297 -0
- package/dist/core/services/invoices.service.js.map +1 -0
- package/dist/core/services/loyalty.service.d.ts +282 -0
- package/dist/core/services/loyalty.service.d.ts.map +1 -0
- package/dist/core/services/loyalty.service.js +340 -0
- package/dist/core/services/loyalty.service.js.map +1 -0
- package/dist/core/services/orders.service.d.ts +121 -0
- package/dist/core/services/orders.service.d.ts.map +1 -0
- package/dist/core/services/orders.service.js +208 -0
- package/dist/core/services/orders.service.js.map +1 -0
- package/dist/core/services/payments.service.d.ts +121 -0
- package/dist/core/services/payments.service.d.ts.map +1 -0
- package/dist/core/services/payments.service.js +189 -0
- package/dist/core/services/payments.service.js.map +1 -0
- package/dist/core/services/subscriptions.service.d.ts +205 -0
- package/dist/core/services/subscriptions.service.d.ts.map +1 -0
- package/dist/core/services/subscriptions.service.js +265 -0
- package/dist/core/services/subscriptions.service.js.map +1 -0
- package/dist/core/types/index.d.ts +68 -0
- package/dist/core/types/index.d.ts.map +1 -0
- package/dist/core/types/index.js +2 -0
- package/dist/core/types/index.js.map +1 -0
- package/dist/core/utils.d.ts +74 -0
- package/dist/core/utils.d.ts.map +1 -0
- package/dist/core/utils.js +96 -0
- package/dist/core/utils.js.map +1 -0
- package/dist/react/SquareProvider.d.ts +50 -0
- package/dist/react/SquareProvider.d.ts.map +1 -0
- package/dist/react/SquareProvider.js +134 -0
- package/dist/react/SquareProvider.js.map +1 -0
- package/dist/react/__tests__/CardInput.test.d.ts +2 -0
- package/dist/react/__tests__/CardInput.test.d.ts.map +1 -0
- package/dist/react/__tests__/CardInput.test.js +218 -0
- package/dist/react/__tests__/CardInput.test.js.map +1 -0
- package/dist/react/__tests__/PaymentButton.test.d.ts +2 -0
- package/dist/react/__tests__/PaymentButton.test.d.ts.map +1 -0
- package/dist/react/__tests__/PaymentButton.test.js +400 -0
- package/dist/react/__tests__/PaymentButton.test.js.map +1 -0
- package/dist/react/__tests__/SquareProvider.test.d.ts +2 -0
- package/dist/react/__tests__/SquareProvider.test.d.ts.map +1 -0
- package/dist/react/__tests__/SquareProvider.test.js +126 -0
- package/dist/react/__tests__/SquareProvider.test.js.map +1 -0
- package/dist/react/__tests__/setup.d.ts +2 -0
- package/dist/react/__tests__/setup.d.ts.map +1 -0
- package/dist/react/__tests__/setup.js +3 -0
- package/dist/react/__tests__/setup.js.map +1 -0
- package/dist/react/__tests__/useCatalog.test.d.ts +2 -0
- package/dist/react/__tests__/useCatalog.test.d.ts.map +1 -0
- package/dist/react/__tests__/useCatalog.test.js +277 -0
- package/dist/react/__tests__/useCatalog.test.js.map +1 -0
- package/dist/react/__tests__/useCustomers.test.d.ts +2 -0
- package/dist/react/__tests__/useCustomers.test.d.ts.map +1 -0
- package/dist/react/__tests__/useCustomers.test.js +312 -0
- package/dist/react/__tests__/useCustomers.test.js.map +1 -0
- package/dist/react/__tests__/useOrders.test.d.ts +2 -0
- package/dist/react/__tests__/useOrders.test.d.ts.map +1 -0
- package/dist/react/__tests__/useOrders.test.js +216 -0
- package/dist/react/__tests__/useOrders.test.js.map +1 -0
- package/dist/react/__tests__/usePayments.test.d.ts +2 -0
- package/dist/react/__tests__/usePayments.test.d.ts.map +1 -0
- package/dist/react/__tests__/usePayments.test.js +235 -0
- package/dist/react/__tests__/usePayments.test.js.map +1 -0
- package/dist/react/__tests__/useSquarePayment.test.d.ts +2 -0
- package/dist/react/__tests__/useSquarePayment.test.d.ts.map +1 -0
- package/dist/react/__tests__/useSquarePayment.test.js +447 -0
- package/dist/react/__tests__/useSquarePayment.test.js.map +1 -0
- package/dist/react/components/CardInput.d.ts +69 -0
- package/dist/react/components/CardInput.d.ts.map +1 -0
- package/dist/react/components/CardInput.js +58 -0
- package/dist/react/components/CardInput.js.map +1 -0
- package/dist/react/components/PaymentButton.d.ts +71 -0
- package/dist/react/components/PaymentButton.d.ts.map +1 -0
- package/dist/react/components/PaymentButton.js +140 -0
- package/dist/react/components/PaymentButton.js.map +1 -0
- package/dist/react/components/index.d.ts +5 -0
- package/dist/react/components/index.d.ts.map +1 -0
- package/dist/react/components/index.js +3 -0
- package/dist/react/components/index.js.map +1 -0
- package/dist/react/hooks/index.d.ts +11 -0
- package/dist/react/hooks/index.d.ts.map +1 -0
- package/dist/react/hooks/index.js +6 -0
- package/dist/react/hooks/index.js.map +1 -0
- package/dist/react/hooks/useCatalog.d.ts +98 -0
- package/dist/react/hooks/useCatalog.d.ts.map +1 -0
- package/dist/react/hooks/useCatalog.js +134 -0
- package/dist/react/hooks/useCatalog.js.map +1 -0
- package/dist/react/hooks/useCustomers.d.ts +105 -0
- package/dist/react/hooks/useCustomers.d.ts.map +1 -0
- package/dist/react/hooks/useCustomers.js +174 -0
- package/dist/react/hooks/useCustomers.js.map +1 -0
- package/dist/react/hooks/useOrders.d.ts +112 -0
- package/dist/react/hooks/useOrders.d.ts.map +1 -0
- package/dist/react/hooks/useOrders.js +115 -0
- package/dist/react/hooks/useOrders.js.map +1 -0
- package/dist/react/hooks/usePayments.d.ts +98 -0
- package/dist/react/hooks/usePayments.d.ts.map +1 -0
- package/dist/react/hooks/usePayments.js +89 -0
- package/dist/react/hooks/usePayments.js.map +1 -0
- package/dist/react/hooks/useSquarePayment.d.ts +52 -0
- package/dist/react/hooks/useSquarePayment.d.ts.map +1 -0
- package/dist/react/hooks/useSquarePayment.js +146 -0
- package/dist/react/hooks/useSquarePayment.js.map +1 -0
- package/dist/react/index.d.ts +8 -0
- package/dist/react/index.d.ts.map +1 -0
- package/dist/react/index.js +7 -0
- package/dist/react/index.js.map +1 -0
- package/dist/react/types.d.ts +183 -0
- package/dist/react/types.d.ts.map +1 -0
- package/dist/react/types.js +2 -0
- package/dist/react/types.js.map +1 -0
- package/dist/server/index.d.ts +43 -0
- package/dist/server/index.d.ts.map +1 -0
- package/dist/server/index.js +45 -0
- package/dist/server/index.js.map +1 -0
- package/dist/server/middleware/express.d.ts +77 -0
- package/dist/server/middleware/express.d.ts.map +1 -0
- package/dist/server/middleware/express.js +123 -0
- package/dist/server/middleware/express.js.map +1 -0
- package/dist/server/middleware/nextjs.d.ts +118 -0
- package/dist/server/middleware/nextjs.d.ts.map +1 -0
- package/dist/server/middleware/nextjs.js +172 -0
- package/dist/server/middleware/nextjs.js.map +1 -0
- package/dist/server/types.d.ts +89 -0
- package/dist/server/types.d.ts.map +1 -0
- package/dist/server/types.js +7 -0
- package/dist/server/types.js.map +1 -0
- package/dist/server/webhook.d.ts +114 -0
- package/dist/server/webhook.d.ts.map +1 -0
- package/dist/server/webhook.js +190 -0
- package/dist/server/webhook.js.map +1 -0
- package/package.json +118 -0
|
@@ -0,0 +1,170 @@
|
|
|
1
|
+
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
2
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
3
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
4
|
+
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
5
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
6
|
+
};
|
|
7
|
+
import { Injectable } from '@angular/core';
|
|
8
|
+
import { from, throwError, BehaviorSubject } from 'rxjs';
|
|
9
|
+
import { catchError, finalize } from 'rxjs/operators';
|
|
10
|
+
/**
|
|
11
|
+
* Service for Square order operations
|
|
12
|
+
*
|
|
13
|
+
* @example
|
|
14
|
+
* ```typescript
|
|
15
|
+
* @Component({...})
|
|
16
|
+
* export class CheckoutComponent {
|
|
17
|
+
* constructor(private orders: SquareOrdersService) {}
|
|
18
|
+
*
|
|
19
|
+
* createOrder() {
|
|
20
|
+
* this.orders.create({
|
|
21
|
+
* lineItems: [
|
|
22
|
+
* { name: 'Coffee', quantity: '1', basePriceMoney: { amount: 500 } }
|
|
23
|
+
* ]
|
|
24
|
+
* }).subscribe(order => {
|
|
25
|
+
* console.log('Order created:', order);
|
|
26
|
+
* });
|
|
27
|
+
* }
|
|
28
|
+
* }
|
|
29
|
+
* ```
|
|
30
|
+
*/
|
|
31
|
+
let SquareOrdersService = class SquareOrdersService {
|
|
32
|
+
loadingSubject = new BehaviorSubject(false);
|
|
33
|
+
errorSubject = new BehaviorSubject(null);
|
|
34
|
+
/** Observable of loading state */
|
|
35
|
+
loading$ = this.loadingSubject.asObservable();
|
|
36
|
+
/** Observable of errors */
|
|
37
|
+
error$ = this.errorSubject.asObservable();
|
|
38
|
+
/**
|
|
39
|
+
* Create an order via backend API
|
|
40
|
+
*
|
|
41
|
+
* @param request - Order creation request
|
|
42
|
+
* @param apiEndpoint - Backend API endpoint (default: '/api/orders')
|
|
43
|
+
* @returns Observable of the order response
|
|
44
|
+
*/
|
|
45
|
+
create(request, apiEndpoint = '/api/orders') {
|
|
46
|
+
this.loadingSubject.next(true);
|
|
47
|
+
this.errorSubject.next(null);
|
|
48
|
+
const body = {
|
|
49
|
+
...request,
|
|
50
|
+
idempotencyKey: crypto.randomUUID(),
|
|
51
|
+
};
|
|
52
|
+
return from(fetch(apiEndpoint, {
|
|
53
|
+
method: 'POST',
|
|
54
|
+
headers: { 'Content-Type': 'application/json' },
|
|
55
|
+
body: JSON.stringify(body),
|
|
56
|
+
}).then(async (response) => {
|
|
57
|
+
if (!response.ok) {
|
|
58
|
+
const error = await response.json().catch(() => ({}));
|
|
59
|
+
throw new Error(error.message ?? `HTTP ${String(response.status)}`);
|
|
60
|
+
}
|
|
61
|
+
return response.json();
|
|
62
|
+
})).pipe(catchError((error) => {
|
|
63
|
+
const err = error instanceof Error ? error : new Error('Failed to create order');
|
|
64
|
+
this.errorSubject.next(err);
|
|
65
|
+
return throwError(() => err);
|
|
66
|
+
}), finalize(() => {
|
|
67
|
+
this.loadingSubject.next(false);
|
|
68
|
+
}));
|
|
69
|
+
}
|
|
70
|
+
/**
|
|
71
|
+
* Retrieve an order by ID
|
|
72
|
+
*
|
|
73
|
+
* @param orderId - The order ID
|
|
74
|
+
* @param apiEndpoint - Backend API endpoint (default: '/api/orders')
|
|
75
|
+
* @returns Observable of the order
|
|
76
|
+
*/
|
|
77
|
+
retrieve(orderId, apiEndpoint = '/api/orders') {
|
|
78
|
+
this.loadingSubject.next(true);
|
|
79
|
+
this.errorSubject.next(null);
|
|
80
|
+
return from(fetch(`${apiEndpoint}/${orderId}`, {
|
|
81
|
+
method: 'GET',
|
|
82
|
+
headers: { 'Content-Type': 'application/json' },
|
|
83
|
+
}).then(async (response) => {
|
|
84
|
+
if (!response.ok) {
|
|
85
|
+
const error = await response.json().catch(() => ({}));
|
|
86
|
+
throw new Error(error.message ?? `HTTP ${String(response.status)}`);
|
|
87
|
+
}
|
|
88
|
+
return response.json();
|
|
89
|
+
})).pipe(catchError((error) => {
|
|
90
|
+
const err = error instanceof Error ? error : new Error('Failed to retrieve order');
|
|
91
|
+
this.errorSubject.next(err);
|
|
92
|
+
return throwError(() => err);
|
|
93
|
+
}), finalize(() => {
|
|
94
|
+
this.loadingSubject.next(false);
|
|
95
|
+
}));
|
|
96
|
+
}
|
|
97
|
+
/**
|
|
98
|
+
* Update an order
|
|
99
|
+
*
|
|
100
|
+
* @param orderId - The order ID
|
|
101
|
+
* @param request - Order update request
|
|
102
|
+
* @param apiEndpoint - Backend API endpoint (default: '/api/orders')
|
|
103
|
+
* @returns Observable of the updated order
|
|
104
|
+
*/
|
|
105
|
+
update(orderId, request, apiEndpoint = '/api/orders') {
|
|
106
|
+
this.loadingSubject.next(true);
|
|
107
|
+
this.errorSubject.next(null);
|
|
108
|
+
const body = {
|
|
109
|
+
...request,
|
|
110
|
+
idempotencyKey: crypto.randomUUID(),
|
|
111
|
+
};
|
|
112
|
+
return from(fetch(`${apiEndpoint}/${orderId}`, {
|
|
113
|
+
method: 'PUT',
|
|
114
|
+
headers: { 'Content-Type': 'application/json' },
|
|
115
|
+
body: JSON.stringify(body),
|
|
116
|
+
}).then(async (response) => {
|
|
117
|
+
if (!response.ok) {
|
|
118
|
+
const error = await response.json().catch(() => ({}));
|
|
119
|
+
throw new Error(error.message ?? `HTTP ${String(response.status)}`);
|
|
120
|
+
}
|
|
121
|
+
return response.json();
|
|
122
|
+
})).pipe(catchError((error) => {
|
|
123
|
+
const err = error instanceof Error ? error : new Error('Failed to update order');
|
|
124
|
+
this.errorSubject.next(err);
|
|
125
|
+
return throwError(() => err);
|
|
126
|
+
}), finalize(() => {
|
|
127
|
+
this.loadingSubject.next(false);
|
|
128
|
+
}));
|
|
129
|
+
}
|
|
130
|
+
/**
|
|
131
|
+
* Pay for an order
|
|
132
|
+
*
|
|
133
|
+
* @param orderId - The order ID
|
|
134
|
+
* @param paymentIds - Payment IDs to apply
|
|
135
|
+
* @param apiEndpoint - Backend API endpoint (default: '/api/orders')
|
|
136
|
+
* @returns Observable of the paid order
|
|
137
|
+
*/
|
|
138
|
+
pay(orderId, paymentIds, apiEndpoint = '/api/orders') {
|
|
139
|
+
this.loadingSubject.next(true);
|
|
140
|
+
this.errorSubject.next(null);
|
|
141
|
+
const body = {
|
|
142
|
+
paymentIds,
|
|
143
|
+
idempotencyKey: crypto.randomUUID(),
|
|
144
|
+
};
|
|
145
|
+
return from(fetch(`${apiEndpoint}/${orderId}/pay`, {
|
|
146
|
+
method: 'POST',
|
|
147
|
+
headers: { 'Content-Type': 'application/json' },
|
|
148
|
+
body: JSON.stringify(body),
|
|
149
|
+
}).then(async (response) => {
|
|
150
|
+
if (!response.ok) {
|
|
151
|
+
const error = await response.json().catch(() => ({}));
|
|
152
|
+
throw new Error(error.message ?? `HTTP ${String(response.status)}`);
|
|
153
|
+
}
|
|
154
|
+
return response.json();
|
|
155
|
+
})).pipe(catchError((error) => {
|
|
156
|
+
const err = error instanceof Error ? error : new Error('Failed to pay for order');
|
|
157
|
+
this.errorSubject.next(err);
|
|
158
|
+
return throwError(() => err);
|
|
159
|
+
}), finalize(() => {
|
|
160
|
+
this.loadingSubject.next(false);
|
|
161
|
+
}));
|
|
162
|
+
}
|
|
163
|
+
};
|
|
164
|
+
SquareOrdersService = __decorate([
|
|
165
|
+
Injectable({
|
|
166
|
+
providedIn: 'root',
|
|
167
|
+
})
|
|
168
|
+
], SquareOrdersService);
|
|
169
|
+
export { SquareOrdersService };
|
|
170
|
+
//# sourceMappingURL=square-orders.service.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"square-orders.service.js","sourceRoot":"","sources":["../../../src/angular/services/square-orders.service.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,73 @@
|
|
|
1
|
+
import { Observable } from 'rxjs';
|
|
2
|
+
import { SquareSdkService } from './square-sdk.service.js';
|
|
3
|
+
import type { SquareConfig, CardOptions, CreatePaymentRequest } from '../types.js';
|
|
4
|
+
/**
|
|
5
|
+
* Service for Square payment operations
|
|
6
|
+
*
|
|
7
|
+
* @example
|
|
8
|
+
* ```typescript
|
|
9
|
+
* @Component({...})
|
|
10
|
+
* export class CheckoutComponent implements OnInit, OnDestroy {
|
|
11
|
+
* constructor(private payments: SquarePaymentsService) {}
|
|
12
|
+
*
|
|
13
|
+
* ngOnInit() {
|
|
14
|
+
* this.payments.attachCard(this.cardContainer.nativeElement).subscribe();
|
|
15
|
+
* }
|
|
16
|
+
*
|
|
17
|
+
* ngOnDestroy() {
|
|
18
|
+
* this.payments.destroyCard();
|
|
19
|
+
* }
|
|
20
|
+
*
|
|
21
|
+
* pay() {
|
|
22
|
+
* this.payments.tokenize().pipe(
|
|
23
|
+
* switchMap(token => this.payments.createPayment({
|
|
24
|
+
* sourceId: token,
|
|
25
|
+
* amount: 1000
|
|
26
|
+
* }))
|
|
27
|
+
* ).subscribe();
|
|
28
|
+
* }
|
|
29
|
+
* }
|
|
30
|
+
* ```
|
|
31
|
+
*/
|
|
32
|
+
export declare class SquarePaymentsService {
|
|
33
|
+
private config;
|
|
34
|
+
private sdk;
|
|
35
|
+
private card;
|
|
36
|
+
private loadingSubject;
|
|
37
|
+
private errorSubject;
|
|
38
|
+
private readySubject;
|
|
39
|
+
/** Observable of loading state */
|
|
40
|
+
readonly loading$: Observable<boolean>;
|
|
41
|
+
/** Observable of errors */
|
|
42
|
+
readonly error$: Observable<Error | null>;
|
|
43
|
+
/** Observable of card ready state */
|
|
44
|
+
readonly ready$: Observable<boolean>;
|
|
45
|
+
constructor(config: SquareConfig, sdk: SquareSdkService);
|
|
46
|
+
/**
|
|
47
|
+
* Attach a card input to an element
|
|
48
|
+
*
|
|
49
|
+
* @param element - The container element for the card input
|
|
50
|
+
* @param options - Optional card styling options
|
|
51
|
+
* @returns Observable that completes when card is attached
|
|
52
|
+
*/
|
|
53
|
+
attachCard(element: HTMLElement, options?: CardOptions): Observable<void>;
|
|
54
|
+
/**
|
|
55
|
+
* Destroy the current card instance
|
|
56
|
+
*/
|
|
57
|
+
destroyCard(): void;
|
|
58
|
+
/**
|
|
59
|
+
* Tokenize the card input
|
|
60
|
+
*
|
|
61
|
+
* @returns Observable of the payment token
|
|
62
|
+
*/
|
|
63
|
+
tokenize(): Observable<string>;
|
|
64
|
+
/**
|
|
65
|
+
* Create a payment via backend API
|
|
66
|
+
*
|
|
67
|
+
* @param request - Payment creation request
|
|
68
|
+
* @param apiEndpoint - Backend API endpoint (default: '/api/payments')
|
|
69
|
+
* @returns Observable of the payment response
|
|
70
|
+
*/
|
|
71
|
+
createPayment<T = unknown>(request: CreatePaymentRequest, apiEndpoint?: string): Observable<T>;
|
|
72
|
+
}
|
|
73
|
+
//# sourceMappingURL=square-payments.service.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"square-payments.service.d.ts","sourceRoot":"","sources":["../../../src/angular/services/square-payments.service.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAqC,MAAM,MAAM,CAAC;AAGrE,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAC3D,OAAO,KAAK,EACV,YAAY,EAEZ,WAAW,EAEX,oBAAoB,EACrB,MAAM,aAAa,CAAC;AAErB;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AACH,qBAGa,qBAAqB;IAgBP,OAAO,CAAC,MAAM;IACrC,OAAO,CAAC,GAAG;IAhBb,OAAO,CAAC,IAAI,CAAqB;IACjC,OAAO,CAAC,cAAc,CAAuC;IAC7D,OAAO,CAAC,YAAY,CAA2C;IAC/D,OAAO,CAAC,YAAY,CAAuC;IAE3D,kCAAkC;IAClC,QAAQ,CAAC,QAAQ,EAAE,UAAU,CAAC,OAAO,CAAC,CAAsC;IAE5E,2BAA2B;IAC3B,QAAQ,CAAC,MAAM,EAAE,UAAU,CAAC,KAAK,GAAG,IAAI,CAAC,CAAoC;IAE7E,qCAAqC;IACrC,QAAQ,CAAC,MAAM,EAAE,UAAU,CAAC,OAAO,CAAC,CAAoC;gBAGvC,MAAM,EAAE,YAAY,EAC3C,GAAG,EAAE,gBAAgB;IAG/B;;;;;;OAMG;IACH,UAAU,CAAC,OAAO,EAAE,WAAW,EAAE,OAAO,CAAC,EAAE,WAAW,GAAG,UAAU,CAAC,IAAI,CAAC;IAyBzE;;OAEG;IACH,WAAW,IAAI,IAAI;IAQnB;;;;OAIG;IACH,QAAQ,IAAI,UAAU,CAAC,MAAM,CAAC;IAiC9B;;;;;;OAMG;IACH,aAAa,CAAC,CAAC,GAAG,OAAO,EACvB,OAAO,EAAE,oBAAoB,EAC7B,WAAW,SAAkB,GAC5B,UAAU,CAAC,CAAC,CAAC;CAmCjB"}
|
|
@@ -0,0 +1,167 @@
|
|
|
1
|
+
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
2
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
3
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
4
|
+
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
5
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
6
|
+
};
|
|
7
|
+
var __metadata = (this && this.__metadata) || function (k, v) {
|
|
8
|
+
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
|
9
|
+
};
|
|
10
|
+
var __param = (this && this.__param) || function (paramIndex, decorator) {
|
|
11
|
+
return function (target, key) { decorator(target, key, paramIndex); }
|
|
12
|
+
};
|
|
13
|
+
import { Injectable, Inject } from '@angular/core';
|
|
14
|
+
import { from, throwError, BehaviorSubject } from 'rxjs';
|
|
15
|
+
import { switchMap, catchError, tap, finalize } from 'rxjs/operators';
|
|
16
|
+
import { SQUARE_CONFIG } from '../square.module.js';
|
|
17
|
+
import { SquareSdkService } from './square-sdk.service.js';
|
|
18
|
+
/**
|
|
19
|
+
* Service for Square payment operations
|
|
20
|
+
*
|
|
21
|
+
* @example
|
|
22
|
+
* ```typescript
|
|
23
|
+
* @Component({...})
|
|
24
|
+
* export class CheckoutComponent implements OnInit, OnDestroy {
|
|
25
|
+
* constructor(private payments: SquarePaymentsService) {}
|
|
26
|
+
*
|
|
27
|
+
* ngOnInit() {
|
|
28
|
+
* this.payments.attachCard(this.cardContainer.nativeElement).subscribe();
|
|
29
|
+
* }
|
|
30
|
+
*
|
|
31
|
+
* ngOnDestroy() {
|
|
32
|
+
* this.payments.destroyCard();
|
|
33
|
+
* }
|
|
34
|
+
*
|
|
35
|
+
* pay() {
|
|
36
|
+
* this.payments.tokenize().pipe(
|
|
37
|
+
* switchMap(token => this.payments.createPayment({
|
|
38
|
+
* sourceId: token,
|
|
39
|
+
* amount: 1000
|
|
40
|
+
* }))
|
|
41
|
+
* ).subscribe();
|
|
42
|
+
* }
|
|
43
|
+
* }
|
|
44
|
+
* ```
|
|
45
|
+
*/
|
|
46
|
+
let SquarePaymentsService = class SquarePaymentsService {
|
|
47
|
+
config;
|
|
48
|
+
sdk;
|
|
49
|
+
card = null;
|
|
50
|
+
loadingSubject = new BehaviorSubject(false);
|
|
51
|
+
errorSubject = new BehaviorSubject(null);
|
|
52
|
+
readySubject = new BehaviorSubject(false);
|
|
53
|
+
/** Observable of loading state */
|
|
54
|
+
loading$ = this.loadingSubject.asObservable();
|
|
55
|
+
/** Observable of errors */
|
|
56
|
+
error$ = this.errorSubject.asObservable();
|
|
57
|
+
/** Observable of card ready state */
|
|
58
|
+
ready$ = this.readySubject.asObservable();
|
|
59
|
+
constructor(config, sdk) {
|
|
60
|
+
this.config = config;
|
|
61
|
+
this.sdk = sdk;
|
|
62
|
+
}
|
|
63
|
+
/**
|
|
64
|
+
* Attach a card input to an element
|
|
65
|
+
*
|
|
66
|
+
* @param element - The container element for the card input
|
|
67
|
+
* @param options - Optional card styling options
|
|
68
|
+
* @returns Observable that completes when card is attached
|
|
69
|
+
*/
|
|
70
|
+
attachCard(element, options) {
|
|
71
|
+
return this.sdk.whenReady().pipe(tap(() => {
|
|
72
|
+
this.loadingSubject.next(true);
|
|
73
|
+
this.errorSubject.next(null);
|
|
74
|
+
}), switchMap((payments) => from(payments.card(options))), switchMap((card) => {
|
|
75
|
+
this.card = card;
|
|
76
|
+
return from(card.attach(element));
|
|
77
|
+
}), tap(() => {
|
|
78
|
+
this.readySubject.next(true);
|
|
79
|
+
}), catchError((error) => {
|
|
80
|
+
const err = error instanceof Error ? error : new Error('Failed to attach card');
|
|
81
|
+
this.errorSubject.next(err);
|
|
82
|
+
return throwError(() => err);
|
|
83
|
+
}), finalize(() => {
|
|
84
|
+
this.loadingSubject.next(false);
|
|
85
|
+
}));
|
|
86
|
+
}
|
|
87
|
+
/**
|
|
88
|
+
* Destroy the current card instance
|
|
89
|
+
*/
|
|
90
|
+
destroyCard() {
|
|
91
|
+
if (this.card) {
|
|
92
|
+
void this.card.destroy();
|
|
93
|
+
this.card = null;
|
|
94
|
+
this.readySubject.next(false);
|
|
95
|
+
}
|
|
96
|
+
}
|
|
97
|
+
/**
|
|
98
|
+
* Tokenize the card input
|
|
99
|
+
*
|
|
100
|
+
* @returns Observable of the payment token
|
|
101
|
+
*/
|
|
102
|
+
tokenize() {
|
|
103
|
+
if (!this.card) {
|
|
104
|
+
return throwError(() => new Error('Card not initialized'));
|
|
105
|
+
}
|
|
106
|
+
this.loadingSubject.next(true);
|
|
107
|
+
this.errorSubject.next(null);
|
|
108
|
+
return from(this.card.tokenize()).pipe(switchMap((result) => {
|
|
109
|
+
if (result.status === 'OK' && result.token) {
|
|
110
|
+
return from([result.token]);
|
|
111
|
+
}
|
|
112
|
+
if (result.status === 'Cancel') {
|
|
113
|
+
return throwError(() => new Error('Tokenization was cancelled'));
|
|
114
|
+
}
|
|
115
|
+
const errorMessage = result.errors?.map((e) => e.message).join(', ') ?? 'Tokenization failed';
|
|
116
|
+
return throwError(() => new Error(errorMessage));
|
|
117
|
+
}), catchError((error) => {
|
|
118
|
+
const err = error instanceof Error ? error : new Error('Tokenization failed');
|
|
119
|
+
this.errorSubject.next(err);
|
|
120
|
+
return throwError(() => err);
|
|
121
|
+
}), finalize(() => {
|
|
122
|
+
this.loadingSubject.next(false);
|
|
123
|
+
}));
|
|
124
|
+
}
|
|
125
|
+
/**
|
|
126
|
+
* Create a payment via backend API
|
|
127
|
+
*
|
|
128
|
+
* @param request - Payment creation request
|
|
129
|
+
* @param apiEndpoint - Backend API endpoint (default: '/api/payments')
|
|
130
|
+
* @returns Observable of the payment response
|
|
131
|
+
*/
|
|
132
|
+
createPayment(request, apiEndpoint = '/api/payments') {
|
|
133
|
+
this.loadingSubject.next(true);
|
|
134
|
+
this.errorSubject.next(null);
|
|
135
|
+
const body = {
|
|
136
|
+
...request,
|
|
137
|
+
currency: request.currency ?? this.config.currency ?? 'USD',
|
|
138
|
+
idempotencyKey: request.idempotencyKey ?? crypto.randomUUID(),
|
|
139
|
+
};
|
|
140
|
+
return from(fetch(apiEndpoint, {
|
|
141
|
+
method: 'POST',
|
|
142
|
+
headers: { 'Content-Type': 'application/json' },
|
|
143
|
+
body: JSON.stringify(body),
|
|
144
|
+
}).then(async (response) => {
|
|
145
|
+
if (!response.ok) {
|
|
146
|
+
const error = await response.json().catch(() => ({}));
|
|
147
|
+
throw new Error(error.message ?? `HTTP ${String(response.status)}`);
|
|
148
|
+
}
|
|
149
|
+
return response.json();
|
|
150
|
+
})).pipe(catchError((error) => {
|
|
151
|
+
const err = error instanceof Error ? error : new Error('Payment failed');
|
|
152
|
+
this.errorSubject.next(err);
|
|
153
|
+
return throwError(() => err);
|
|
154
|
+
}), finalize(() => {
|
|
155
|
+
this.loadingSubject.next(false);
|
|
156
|
+
}));
|
|
157
|
+
}
|
|
158
|
+
};
|
|
159
|
+
SquarePaymentsService = __decorate([
|
|
160
|
+
Injectable({
|
|
161
|
+
providedIn: 'root',
|
|
162
|
+
}),
|
|
163
|
+
__param(0, Inject(SQUARE_CONFIG)),
|
|
164
|
+
__metadata("design:paramtypes", [Object, SquareSdkService])
|
|
165
|
+
], SquarePaymentsService);
|
|
166
|
+
export { SquarePaymentsService };
|
|
167
|
+
//# sourceMappingURL=square-payments.service.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"square-payments.service.js","sourceRoot":"","sources":["../../../src/angular/services/square-payments.service.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
import { NgZone } from '@angular/core';
|
|
2
|
+
import { Observable } from 'rxjs';
|
|
3
|
+
import type { SquareConfig, Payments } from '../types.js';
|
|
4
|
+
/**
|
|
5
|
+
* Service for loading and managing the Square Web Payments SDK
|
|
6
|
+
*
|
|
7
|
+
* @example
|
|
8
|
+
* ```typescript
|
|
9
|
+
* @Component({...})
|
|
10
|
+
* export class CheckoutComponent {
|
|
11
|
+
* constructor(private squareSdk: SquareSdkService) {}
|
|
12
|
+
*
|
|
13
|
+
* ngOnInit() {
|
|
14
|
+
* this.squareSdk.payments$.subscribe(payments => {
|
|
15
|
+
* console.log('SDK ready:', payments);
|
|
16
|
+
* });
|
|
17
|
+
* }
|
|
18
|
+
* }
|
|
19
|
+
* ```
|
|
20
|
+
*/
|
|
21
|
+
export declare class SquareSdkService {
|
|
22
|
+
private config;
|
|
23
|
+
private ngZone;
|
|
24
|
+
private paymentsSubject;
|
|
25
|
+
private loadingSubject;
|
|
26
|
+
private errorSubject;
|
|
27
|
+
private initialized;
|
|
28
|
+
/** Observable of the Payments instance once SDK is loaded */
|
|
29
|
+
readonly payments$: Observable<Payments | null>;
|
|
30
|
+
/** Observable of SDK loading state */
|
|
31
|
+
readonly loading$: Observable<boolean>;
|
|
32
|
+
/** Observable of any SDK loading errors */
|
|
33
|
+
readonly error$: Observable<Error | null>;
|
|
34
|
+
/** Whether the SDK is ready */
|
|
35
|
+
get isReady(): boolean;
|
|
36
|
+
constructor(config: SquareConfig, ngZone: NgZone);
|
|
37
|
+
/**
|
|
38
|
+
* Get a promise that resolves when the SDK is ready
|
|
39
|
+
*/
|
|
40
|
+
whenReady(): Observable<Payments>;
|
|
41
|
+
private initializeSdk;
|
|
42
|
+
private loadScript;
|
|
43
|
+
private initializePayments;
|
|
44
|
+
}
|
|
45
|
+
//# sourceMappingURL=square-sdk.service.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"square-sdk.service.d.ts","sourceRoot":"","sources":["../../../src/angular/services/square-sdk.service.ts"],"names":[],"mappings":"AAAA,OAAO,EAAsB,MAAM,EAAE,MAAM,eAAe,CAAC;AAC3D,OAAO,EAAmB,UAAU,EAAE,MAAM,MAAM,CAAC;AAGnD,OAAO,KAAK,EAAE,YAAY,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAW1D;;;;;;;;;;;;;;;;GAgBG;AACH,qBAGa,gBAAgB;IAqBF,OAAO,CAAC,MAAM;IACrC,OAAO,CAAC,MAAM;IArBhB,OAAO,CAAC,eAAe,CAA8C;IACrE,OAAO,CAAC,cAAc,CAAuC;IAC7D,OAAO,CAAC,YAAY,CAA2C;IAC/D,OAAO,CAAC,WAAW,CAAS;IAE5B,6DAA6D;IAC7D,QAAQ,CAAC,SAAS,EAAE,UAAU,CAAC,QAAQ,GAAG,IAAI,CAAC,CAAuC;IAEtF,sCAAsC;IACtC,QAAQ,CAAC,QAAQ,EAAE,UAAU,CAAC,OAAO,CAAC,CAAsC;IAE5E,2CAA2C;IAC3C,QAAQ,CAAC,MAAM,EAAE,UAAU,CAAC,KAAK,GAAG,IAAI,CAAC,CAAoC;IAE7E,+BAA+B;IAC/B,IAAI,OAAO,IAAI,OAAO,CAErB;gBAGgC,MAAM,EAAE,YAAY,EAC3C,MAAM,EAAE,MAAM;IAKxB;;OAEG;IACH,SAAS,IAAI,UAAU,CAAC,QAAQ,CAAC;IAOjC,OAAO,CAAC,aAAa;IAmBrB,OAAO,CAAC,UAAU;YAoCJ,kBAAkB;CAkBjC"}
|
|
@@ -0,0 +1,133 @@
|
|
|
1
|
+
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
2
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
3
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
4
|
+
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
5
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
6
|
+
};
|
|
7
|
+
var __metadata = (this && this.__metadata) || function (k, v) {
|
|
8
|
+
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
|
9
|
+
};
|
|
10
|
+
var __param = (this && this.__param) || function (paramIndex, decorator) {
|
|
11
|
+
return function (target, key) { decorator(target, key, paramIndex); }
|
|
12
|
+
};
|
|
13
|
+
import { Injectable, Inject, NgZone } from '@angular/core';
|
|
14
|
+
import { BehaviorSubject } from 'rxjs';
|
|
15
|
+
import { filter, take } from 'rxjs/operators';
|
|
16
|
+
import { SQUARE_CONFIG } from '../square.module.js';
|
|
17
|
+
const SQUARE_SDK_URL = {
|
|
18
|
+
sandbox: 'https://sandbox.web.squarecdn.com/v1/square.js',
|
|
19
|
+
production: 'https://web.squarecdn.com/v1/square.js',
|
|
20
|
+
};
|
|
21
|
+
/**
|
|
22
|
+
* Service for loading and managing the Square Web Payments SDK
|
|
23
|
+
*
|
|
24
|
+
* @example
|
|
25
|
+
* ```typescript
|
|
26
|
+
* @Component({...})
|
|
27
|
+
* export class CheckoutComponent {
|
|
28
|
+
* constructor(private squareSdk: SquareSdkService) {}
|
|
29
|
+
*
|
|
30
|
+
* ngOnInit() {
|
|
31
|
+
* this.squareSdk.payments$.subscribe(payments => {
|
|
32
|
+
* console.log('SDK ready:', payments);
|
|
33
|
+
* });
|
|
34
|
+
* }
|
|
35
|
+
* }
|
|
36
|
+
* ```
|
|
37
|
+
*/
|
|
38
|
+
let SquareSdkService = class SquareSdkService {
|
|
39
|
+
config;
|
|
40
|
+
ngZone;
|
|
41
|
+
paymentsSubject = new BehaviorSubject(null);
|
|
42
|
+
loadingSubject = new BehaviorSubject(false);
|
|
43
|
+
errorSubject = new BehaviorSubject(null);
|
|
44
|
+
initialized = false;
|
|
45
|
+
/** Observable of the Payments instance once SDK is loaded */
|
|
46
|
+
payments$ = this.paymentsSubject.asObservable();
|
|
47
|
+
/** Observable of SDK loading state */
|
|
48
|
+
loading$ = this.loadingSubject.asObservable();
|
|
49
|
+
/** Observable of any SDK loading errors */
|
|
50
|
+
error$ = this.errorSubject.asObservable();
|
|
51
|
+
/** Whether the SDK is ready */
|
|
52
|
+
get isReady() {
|
|
53
|
+
return this.paymentsSubject.value !== null;
|
|
54
|
+
}
|
|
55
|
+
constructor(config, ngZone) {
|
|
56
|
+
this.config = config;
|
|
57
|
+
this.ngZone = ngZone;
|
|
58
|
+
this.initializeSdk();
|
|
59
|
+
}
|
|
60
|
+
/**
|
|
61
|
+
* Get a promise that resolves when the SDK is ready
|
|
62
|
+
*/
|
|
63
|
+
whenReady() {
|
|
64
|
+
return this.payments$.pipe(filter((p) => p !== null), take(1));
|
|
65
|
+
}
|
|
66
|
+
initializeSdk() {
|
|
67
|
+
if (this.initialized || typeof window === 'undefined') {
|
|
68
|
+
return;
|
|
69
|
+
}
|
|
70
|
+
this.initialized = true;
|
|
71
|
+
this.loadingSubject.next(true);
|
|
72
|
+
this.loadScript()
|
|
73
|
+
.then(() => this.initializePayments())
|
|
74
|
+
.catch((error) => {
|
|
75
|
+
this.ngZone.run(() => {
|
|
76
|
+
const err = error instanceof Error ? error : new Error('Failed to load Square SDK');
|
|
77
|
+
this.errorSubject.next(err);
|
|
78
|
+
this.loadingSubject.next(false);
|
|
79
|
+
});
|
|
80
|
+
});
|
|
81
|
+
}
|
|
82
|
+
loadScript() {
|
|
83
|
+
return new Promise((resolve, reject) => {
|
|
84
|
+
const win = window;
|
|
85
|
+
if (win.Square) {
|
|
86
|
+
resolve();
|
|
87
|
+
return;
|
|
88
|
+
}
|
|
89
|
+
const environment = this.config.environment ?? 'sandbox';
|
|
90
|
+
const existingScript = document.querySelector(`script[src="${SQUARE_SDK_URL[environment]}"]`);
|
|
91
|
+
if (existingScript) {
|
|
92
|
+
existingScript.addEventListener('load', () => {
|
|
93
|
+
resolve();
|
|
94
|
+
});
|
|
95
|
+
existingScript.addEventListener('error', () => {
|
|
96
|
+
reject(new Error('Failed to load Square SDK'));
|
|
97
|
+
});
|
|
98
|
+
return;
|
|
99
|
+
}
|
|
100
|
+
const script = document.createElement('script');
|
|
101
|
+
script.src = SQUARE_SDK_URL[environment];
|
|
102
|
+
script.async = true;
|
|
103
|
+
script.onload = () => {
|
|
104
|
+
resolve();
|
|
105
|
+
};
|
|
106
|
+
script.onerror = () => {
|
|
107
|
+
reject(new Error('Failed to load Square SDK'));
|
|
108
|
+
};
|
|
109
|
+
document.head.appendChild(script);
|
|
110
|
+
});
|
|
111
|
+
}
|
|
112
|
+
async initializePayments() {
|
|
113
|
+
const win = window;
|
|
114
|
+
const Square = win.Square;
|
|
115
|
+
if (!Square) {
|
|
116
|
+
throw new Error('Square SDK not available');
|
|
117
|
+
}
|
|
118
|
+
const payments = await Square.payments(this.config.applicationId, this.config.locationId);
|
|
119
|
+
this.ngZone.run(() => {
|
|
120
|
+
this.paymentsSubject.next(payments);
|
|
121
|
+
this.loadingSubject.next(false);
|
|
122
|
+
});
|
|
123
|
+
}
|
|
124
|
+
};
|
|
125
|
+
SquareSdkService = __decorate([
|
|
126
|
+
Injectable({
|
|
127
|
+
providedIn: 'root',
|
|
128
|
+
}),
|
|
129
|
+
__param(0, Inject(SQUARE_CONFIG)),
|
|
130
|
+
__metadata("design:paramtypes", [Object, NgZone])
|
|
131
|
+
], SquareSdkService);
|
|
132
|
+
export { SquareSdkService };
|
|
133
|
+
//# sourceMappingURL=square-sdk.service.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"square-sdk.service.js","sourceRoot":"","sources":["../../../src/angular/services/square-sdk.service.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
import { ModuleWithProviders, InjectionToken } from '@angular/core';
|
|
2
|
+
import type { SquareConfig } from './types.js';
|
|
3
|
+
/**
|
|
4
|
+
* Injection token for Square configuration
|
|
5
|
+
*/
|
|
6
|
+
export declare const SQUARE_CONFIG: InjectionToken<SquareConfig>;
|
|
7
|
+
/**
|
|
8
|
+
* Square Angular module
|
|
9
|
+
*
|
|
10
|
+
* @example
|
|
11
|
+
* ```typescript
|
|
12
|
+
* import { SquareModule } from '@bates-solutions/squareup/angular';
|
|
13
|
+
*
|
|
14
|
+
* @NgModule({
|
|
15
|
+
* imports: [
|
|
16
|
+
* SquareModule.forRoot({
|
|
17
|
+
* applicationId: 'sq0idp-xxx',
|
|
18
|
+
* locationId: 'LXXX',
|
|
19
|
+
* environment: 'sandbox',
|
|
20
|
+
* })
|
|
21
|
+
* ]
|
|
22
|
+
* })
|
|
23
|
+
* export class AppModule {}
|
|
24
|
+
* ```
|
|
25
|
+
*/
|
|
26
|
+
export declare class SquareModule {
|
|
27
|
+
constructor(parentModule?: SquareModule);
|
|
28
|
+
/**
|
|
29
|
+
* Configure the Square module with application settings
|
|
30
|
+
*
|
|
31
|
+
* @param config - Square configuration options
|
|
32
|
+
* @returns Module with providers
|
|
33
|
+
*/
|
|
34
|
+
static forRoot(config: SquareConfig): ModuleWithProviders<SquareModule>;
|
|
35
|
+
}
|
|
36
|
+
//# sourceMappingURL=square.module.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"square.module.d.ts","sourceRoot":"","sources":["../../src/angular/square.module.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,mBAAmB,EACnB,cAAc,EAGf,MAAM,eAAe,CAAC;AACvB,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAE/C;;GAEG;AACH,eAAO,MAAM,aAAa,8BAAoD,CAAC;AAE/E;;;;;;;;;;;;;;;;;;GAkBG;AACH,qBAEa,YAAY;gBACa,YAAY,CAAC,EAAE,YAAY;IAQ/D;;;;;OAKG;IACH,MAAM,CAAC,OAAO,CAAC,MAAM,EAAE,YAAY,GAAG,mBAAmB,CAAC,YAAY,CAAC;CAexE"}
|