@rovela-ai/sdk 0.1.46 → 0.1.47
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/dist/checkout/api/index.d.ts +2 -0
- package/dist/checkout/api/index.d.ts.map +1 -1
- package/dist/checkout/api/index.js +1 -0
- package/dist/checkout/api/index.js.map +1 -1
- package/dist/checkout/api/payment-status.d.ts +34 -0
- package/dist/checkout/api/payment-status.d.ts.map +1 -0
- package/dist/checkout/api/payment-status.js +55 -0
- package/dist/checkout/api/payment-status.js.map +1 -0
- package/dist/checkout/components/CheckoutButton.d.ts +12 -1
- package/dist/checkout/components/CheckoutButton.d.ts.map +1 -1
- package/dist/checkout/components/CheckoutButton.js +40 -3
- package/dist/checkout/components/CheckoutButton.js.map +1 -1
- package/dist/checkout/hooks/index.d.ts +2 -0
- package/dist/checkout/hooks/index.d.ts.map +1 -1
- package/dist/checkout/hooks/index.js +1 -0
- package/dist/checkout/hooks/index.js.map +1 -1
- package/dist/checkout/hooks/usePaymentStatus.d.ts +42 -0
- package/dist/checkout/hooks/usePaymentStatus.d.ts.map +1 -0
- package/dist/checkout/hooks/usePaymentStatus.js +71 -0
- package/dist/checkout/hooks/usePaymentStatus.js.map +1 -0
- package/dist/checkout/index.d.ts +2 -1
- package/dist/checkout/index.d.ts.map +1 -1
- package/dist/checkout/index.js +1 -1
- package/dist/checkout/index.js.map +1 -1
- package/dist/checkout/stripe/client.js +1 -1
- package/dist/checkout/types.d.ts +6 -0
- package/dist/checkout/types.d.ts.map +1 -1
- package/dist/core/db/queries.d.ts +4 -4
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/checkout/api/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,IAAI,EAAE,MAAM,YAAY,CAAA;AACjC,OAAO,EAAE,IAAI,IAAI,WAAW,EAAE,MAAM,WAAW,CAAA"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/checkout/api/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,IAAI,EAAE,MAAM,YAAY,CAAA;AACjC,OAAO,EAAE,IAAI,IAAI,WAAW,EAAE,MAAM,WAAW,CAAA;AAC/C,OAAO,EAAE,GAAG,IAAI,gBAAgB,EAAE,MAAM,kBAAkB,CAAA;AAC1D,YAAY,EAAE,qBAAqB,EAAE,MAAM,kBAAkB,CAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/checkout/api/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,IAAI,EAAE,MAAM,YAAY,CAAA;AACjC,OAAO,EAAE,IAAI,IAAI,WAAW,EAAE,MAAM,WAAW,CAAA"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/checkout/api/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,IAAI,EAAE,MAAM,YAAY,CAAA;AACjC,OAAO,EAAE,IAAI,IAAI,WAAW,EAAE,MAAM,WAAW,CAAA;AAC/C,OAAO,EAAE,GAAG,IAAI,gBAAgB,EAAE,MAAM,kBAAkB,CAAA"}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @rovela/sdk/checkout/api/payment-status
|
|
3
|
+
*
|
|
4
|
+
* API route handler for checking payment configuration status.
|
|
5
|
+
* Returns whether the store can accept payments.
|
|
6
|
+
*
|
|
7
|
+
* Usage in Next.js App Router:
|
|
8
|
+
* ```typescript
|
|
9
|
+
* // app/api/checkout/status/route.ts
|
|
10
|
+
* export { GET } from '@rovela/sdk/checkout/api/payment-status'
|
|
11
|
+
* ```
|
|
12
|
+
*/
|
|
13
|
+
import { NextResponse } from 'next/server';
|
|
14
|
+
export interface PaymentStatusResponse {
|
|
15
|
+
/** Whether the store can accept payments */
|
|
16
|
+
canAcceptPayments: boolean;
|
|
17
|
+
/** Status reason */
|
|
18
|
+
status: 'active' | 'not_configured' | 'incomplete';
|
|
19
|
+
/** Human-readable message */
|
|
20
|
+
message: string;
|
|
21
|
+
}
|
|
22
|
+
/**
|
|
23
|
+
* GET /api/checkout/status
|
|
24
|
+
*
|
|
25
|
+
* Checks if the store is configured to accept payments.
|
|
26
|
+
* Returns a status indicating whether checkout is available.
|
|
27
|
+
*
|
|
28
|
+
* Response:
|
|
29
|
+
* - canAcceptPayments: boolean
|
|
30
|
+
* - status: 'active' | 'not_configured' | 'incomplete'
|
|
31
|
+
* - message: Human-readable explanation
|
|
32
|
+
*/
|
|
33
|
+
export declare function GET(): Promise<NextResponse<PaymentStatusResponse>>;
|
|
34
|
+
//# sourceMappingURL=payment-status.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"payment-status.d.ts","sourceRoot":"","sources":["../../../src/checkout/api/payment-status.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAA;AAM1C,MAAM,WAAW,qBAAqB;IACpC,4CAA4C;IAC5C,iBAAiB,EAAE,OAAO,CAAA;IAC1B,oBAAoB;IACpB,MAAM,EAAE,QAAQ,GAAG,gBAAgB,GAAG,YAAY,CAAA;IAClD,6BAA6B;IAC7B,OAAO,EAAE,MAAM,CAAA;CAChB;AAMD;;;;;;;;;;GAUG;AACH,wBAAsB,GAAG,IAAI,OAAO,CAAC,YAAY,CAAC,qBAAqB,CAAC,CAAC,CA8BxE"}
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @rovela/sdk/checkout/api/payment-status
|
|
3
|
+
*
|
|
4
|
+
* API route handler for checking payment configuration status.
|
|
5
|
+
* Returns whether the store can accept payments.
|
|
6
|
+
*
|
|
7
|
+
* Usage in Next.js App Router:
|
|
8
|
+
* ```typescript
|
|
9
|
+
* // app/api/checkout/status/route.ts
|
|
10
|
+
* export { GET } from '@rovela/sdk/checkout/api/payment-status'
|
|
11
|
+
* ```
|
|
12
|
+
*/
|
|
13
|
+
import { NextResponse } from 'next/server';
|
|
14
|
+
// =============================================================================
|
|
15
|
+
// Handler
|
|
16
|
+
// =============================================================================
|
|
17
|
+
/**
|
|
18
|
+
* GET /api/checkout/status
|
|
19
|
+
*
|
|
20
|
+
* Checks if the store is configured to accept payments.
|
|
21
|
+
* Returns a status indicating whether checkout is available.
|
|
22
|
+
*
|
|
23
|
+
* Response:
|
|
24
|
+
* - canAcceptPayments: boolean
|
|
25
|
+
* - status: 'active' | 'not_configured' | 'incomplete'
|
|
26
|
+
* - message: Human-readable explanation
|
|
27
|
+
*/
|
|
28
|
+
export async function GET() {
|
|
29
|
+
// Check for connected account
|
|
30
|
+
const connectedAccountId = process.env.STRIPE_CONNECTED_ACCOUNT_ID;
|
|
31
|
+
if (!connectedAccountId) {
|
|
32
|
+
return NextResponse.json({
|
|
33
|
+
canAcceptPayments: false,
|
|
34
|
+
status: 'not_configured',
|
|
35
|
+
message: 'Payment setup is not complete. The store owner needs to connect their Stripe account.',
|
|
36
|
+
});
|
|
37
|
+
}
|
|
38
|
+
// Check for platform credentials
|
|
39
|
+
const secretKey = process.env.STRIPE_SECRET_KEY;
|
|
40
|
+
const publishableKey = process.env.NEXT_PUBLIC_STRIPE_PUBLISHABLE_KEY;
|
|
41
|
+
if (!secretKey || !publishableKey) {
|
|
42
|
+
return NextResponse.json({
|
|
43
|
+
canAcceptPayments: false,
|
|
44
|
+
status: 'incomplete',
|
|
45
|
+
message: 'Payment system configuration is incomplete.',
|
|
46
|
+
});
|
|
47
|
+
}
|
|
48
|
+
// All configured - ready to accept payments
|
|
49
|
+
return NextResponse.json({
|
|
50
|
+
canAcceptPayments: true,
|
|
51
|
+
status: 'active',
|
|
52
|
+
message: 'Ready to accept payments.',
|
|
53
|
+
});
|
|
54
|
+
}
|
|
55
|
+
//# sourceMappingURL=payment-status.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"payment-status.js","sourceRoot":"","sources":["../../../src/checkout/api/payment-status.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAA;AAe1C,gFAAgF;AAChF,UAAU;AACV,gFAAgF;AAEhF;;;;;;;;;;GAUG;AACH,MAAM,CAAC,KAAK,UAAU,GAAG;IACvB,8BAA8B;IAC9B,MAAM,kBAAkB,GAAG,OAAO,CAAC,GAAG,CAAC,2BAA2B,CAAA;IAElE,IAAI,CAAC,kBAAkB,EAAE,CAAC;QACxB,OAAO,YAAY,CAAC,IAAI,CAAC;YACvB,iBAAiB,EAAE,KAAK;YACxB,MAAM,EAAE,gBAAgB;YACxB,OAAO,EAAE,uFAAuF;SACjG,CAAC,CAAA;IACJ,CAAC;IAED,iCAAiC;IACjC,MAAM,SAAS,GAAG,OAAO,CAAC,GAAG,CAAC,iBAAiB,CAAA;IAC/C,MAAM,cAAc,GAAG,OAAO,CAAC,GAAG,CAAC,kCAAkC,CAAA;IAErE,IAAI,CAAC,SAAS,IAAI,CAAC,cAAc,EAAE,CAAC;QAClC,OAAO,YAAY,CAAC,IAAI,CAAC;YACvB,iBAAiB,EAAE,KAAK;YACxB,MAAM,EAAE,YAAY;YACpB,OAAO,EAAE,6CAA6C;SACvD,CAAC,CAAA;IACJ,CAAC;IAED,4CAA4C;IAC5C,OAAO,YAAY,CAAC,IAAI,CAAC;QACvB,iBAAiB,EAAE,IAAI;QACvB,MAAM,EAAE,QAAQ;QAChB,OAAO,EAAE,2BAA2B;KACrC,CAAC,CAAA;AACJ,CAAC"}
|
|
@@ -2,11 +2,17 @@
|
|
|
2
2
|
* @rovela/sdk/checkout/components/CheckoutButton
|
|
3
3
|
*
|
|
4
4
|
* Button that initiates Stripe Checkout.
|
|
5
|
+
* Automatically checks payment configuration and shows appropriate state.
|
|
5
6
|
*/
|
|
6
7
|
import type { CheckoutButtonProps } from '../types';
|
|
7
8
|
/**
|
|
8
9
|
* Button that initiates Stripe Checkout with cart items.
|
|
9
10
|
*
|
|
11
|
+
* Automatically checks if payments are configured and shows appropriate state:
|
|
12
|
+
* - If payments are active: Shows normal checkout button
|
|
13
|
+
* - If payments are not configured: Shows disabled state with message
|
|
14
|
+
* - If loading: Shows loading state
|
|
15
|
+
*
|
|
10
16
|
* @example Basic usage
|
|
11
17
|
* ```tsx
|
|
12
18
|
* import { CheckoutButton } from '@rovela/sdk/checkout'
|
|
@@ -39,6 +45,11 @@ import type { CheckoutButtonProps } from '../types';
|
|
|
39
45
|
* }}
|
|
40
46
|
* />
|
|
41
47
|
* ```
|
|
48
|
+
*
|
|
49
|
+
* @example Skip payment status check (for faster UX if you know payments are configured)
|
|
50
|
+
* ```tsx
|
|
51
|
+
* <CheckoutButton skipPaymentCheck />
|
|
52
|
+
* ```
|
|
42
53
|
*/
|
|
43
|
-
export declare function CheckoutButton({ children, disabled, className, onBeforeCheckout, onError, size, fullWidth, }: CheckoutButtonProps): import("react/jsx-runtime").JSX.Element;
|
|
54
|
+
export declare function CheckoutButton({ children, disabled, className, onBeforeCheckout, onError, size, fullWidth, skipPaymentCheck, }: CheckoutButtonProps): import("react/jsx-runtime").JSX.Element;
|
|
44
55
|
//# sourceMappingURL=CheckoutButton.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CheckoutButton.d.ts","sourceRoot":"","sources":["../../../src/checkout/components/CheckoutButton.tsx"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"CheckoutButton.d.ts","sourceRoot":"","sources":["../../../src/checkout/components/CheckoutButton.tsx"],"names":[],"mappings":"AAAA;;;;;GAKG;AAQH,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,UAAU,CAAA;AAMnD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6CG;AACH,wBAAgB,cAAc,CAAC,EAC7B,QAAqB,EACrB,QAAgB,EAChB,SAAS,EACT,gBAAgB,EAChB,OAAO,EACP,IAAW,EACX,SAAiB,EACjB,gBAAwB,GACzB,EAAE,mBAAmB,2CA0HrB"}
|
|
@@ -2,11 +2,13 @@
|
|
|
2
2
|
* @rovela/sdk/checkout/components/CheckoutButton
|
|
3
3
|
*
|
|
4
4
|
* Button that initiates Stripe Checkout.
|
|
5
|
+
* Automatically checks payment configuration and shows appropriate state.
|
|
5
6
|
*/
|
|
6
7
|
'use client';
|
|
7
|
-
import { jsx as _jsx,
|
|
8
|
-
import { Loader2 } from 'lucide-react';
|
|
8
|
+
import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
|
|
9
|
+
import { Loader2, AlertCircle } from 'lucide-react';
|
|
9
10
|
import { useCheckout } from '../hooks/useCheckout';
|
|
11
|
+
import { usePaymentStatus } from '../hooks/usePaymentStatus';
|
|
10
12
|
import { cn } from '../../core/utils';
|
|
11
13
|
// =============================================================================
|
|
12
14
|
// Component
|
|
@@ -14,6 +16,11 @@ import { cn } from '../../core/utils';
|
|
|
14
16
|
/**
|
|
15
17
|
* Button that initiates Stripe Checkout with cart items.
|
|
16
18
|
*
|
|
19
|
+
* Automatically checks if payments are configured and shows appropriate state:
|
|
20
|
+
* - If payments are active: Shows normal checkout button
|
|
21
|
+
* - If payments are not configured: Shows disabled state with message
|
|
22
|
+
* - If loading: Shows loading state
|
|
23
|
+
*
|
|
17
24
|
* @example Basic usage
|
|
18
25
|
* ```tsx
|
|
19
26
|
* import { CheckoutButton } from '@rovela/sdk/checkout'
|
|
@@ -46,8 +53,14 @@ import { cn } from '../../core/utils';
|
|
|
46
53
|
* }}
|
|
47
54
|
* />
|
|
48
55
|
* ```
|
|
56
|
+
*
|
|
57
|
+
* @example Skip payment status check (for faster UX if you know payments are configured)
|
|
58
|
+
* ```tsx
|
|
59
|
+
* <CheckoutButton skipPaymentCheck />
|
|
60
|
+
* ```
|
|
49
61
|
*/
|
|
50
|
-
export function CheckoutButton({ children = 'Checkout', disabled = false, className, onBeforeCheckout, onError, size = 'md', fullWidth = false, }) {
|
|
62
|
+
export function CheckoutButton({ children = 'Checkout', disabled = false, className, onBeforeCheckout, onError, size = 'md', fullWidth = false, skipPaymentCheck = false, }) {
|
|
63
|
+
const paymentStatus = usePaymentStatus();
|
|
51
64
|
const { checkout, isLoading, error } = useCheckout({
|
|
52
65
|
onError: (err) => {
|
|
53
66
|
if (onError) {
|
|
@@ -55,6 +68,8 @@ export function CheckoutButton({ children = 'Checkout', disabled = false, classN
|
|
|
55
68
|
}
|
|
56
69
|
},
|
|
57
70
|
});
|
|
71
|
+
// Check if payments are unavailable
|
|
72
|
+
const paymentsUnavailable = !skipPaymentCheck && !paymentStatus.isLoading && !paymentStatus.canAcceptPayments;
|
|
58
73
|
const handleClick = async () => {
|
|
59
74
|
try {
|
|
60
75
|
if (onBeforeCheckout) {
|
|
@@ -74,6 +89,28 @@ export function CheckoutButton({ children = 'Checkout', disabled = false, classN
|
|
|
74
89
|
md: 'px-6 py-3 text-base',
|
|
75
90
|
lg: 'px-8 py-4 text-lg',
|
|
76
91
|
};
|
|
92
|
+
// If payments are unavailable, show a disabled state with message
|
|
93
|
+
if (paymentsUnavailable) {
|
|
94
|
+
return (_jsxs("div", { className: cn('flex flex-col gap-2', fullWidth && 'w-full'), children: [_jsxs("button", { type: "button", disabled: true, className: cn(
|
|
95
|
+
// Base styles
|
|
96
|
+
'inline-flex items-center justify-center', 'rounded-md font-medium transition-colors',
|
|
97
|
+
// Disabled styles - muted appearance
|
|
98
|
+
'bg-muted text-muted-foreground', 'cursor-not-allowed opacity-60',
|
|
99
|
+
// Size
|
|
100
|
+
sizeClasses[size],
|
|
101
|
+
// Width
|
|
102
|
+
fullWidth && 'w-full', className), children: [_jsx(AlertCircle, { className: "h-4 w-4 mr-2" }), "Checkout Unavailable"] }), _jsx("p", { className: "text-xs text-muted-foreground text-center", children: paymentStatus.message })] }));
|
|
103
|
+
}
|
|
104
|
+
// Show loading state while checking payment status
|
|
105
|
+
if (!skipPaymentCheck && paymentStatus.isLoading) {
|
|
106
|
+
return (_jsxs("button", { type: "button", disabled: true, className: cn(
|
|
107
|
+
// Base styles
|
|
108
|
+
'inline-flex items-center justify-center', 'rounded-md font-medium transition-colors', 'bg-primary text-primary-foreground', 'opacity-70 cursor-wait',
|
|
109
|
+
// Size
|
|
110
|
+
sizeClasses[size],
|
|
111
|
+
// Width
|
|
112
|
+
fullWidth && 'w-full', className), children: [_jsx(Loader2, { className: "h-4 w-4 animate-spin mr-2" }), "Loading..."] }));
|
|
113
|
+
}
|
|
77
114
|
return (_jsx("button", { type: "button", onClick: handleClick, disabled: disabled || isLoading, className: cn(
|
|
78
115
|
// Base styles
|
|
79
116
|
'inline-flex items-center justify-center', 'rounded-md font-medium transition-colors', 'focus:outline-none focus:ring-2 focus:ring-offset-2',
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CheckoutButton.js","sourceRoot":"","sources":["../../../src/checkout/components/CheckoutButton.tsx"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"CheckoutButton.js","sourceRoot":"","sources":["../../../src/checkout/components/CheckoutButton.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/checkout/hooks/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,WAAW,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAA"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/checkout/hooks/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,WAAW,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAA;AAC/D,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAA;AACrD,YAAY,EAAE,sBAAsB,EAAE,MAAM,oBAAoB,CAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/checkout/hooks/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,WAAW,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAA"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/checkout/hooks/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,WAAW,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAA;AAC/D,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAA"}
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @rovela/sdk/checkout/hooks/usePaymentStatus
|
|
3
|
+
*
|
|
4
|
+
* React hook for checking if payments are configured.
|
|
5
|
+
* Use this to conditionally render checkout UI.
|
|
6
|
+
*/
|
|
7
|
+
export interface UsePaymentStatusReturn {
|
|
8
|
+
/** Whether the store can accept payments */
|
|
9
|
+
canAcceptPayments: boolean;
|
|
10
|
+
/** Payment configuration status */
|
|
11
|
+
status: 'loading' | 'active' | 'not_configured' | 'incomplete' | 'error';
|
|
12
|
+
/** Human-readable message */
|
|
13
|
+
message: string;
|
|
14
|
+
/** Whether the hook is still loading */
|
|
15
|
+
isLoading: boolean;
|
|
16
|
+
/** Refresh the payment status */
|
|
17
|
+
refresh: () => void;
|
|
18
|
+
}
|
|
19
|
+
/**
|
|
20
|
+
* Hook for checking if payments are configured for this store.
|
|
21
|
+
*
|
|
22
|
+
* @example
|
|
23
|
+
* ```tsx
|
|
24
|
+
* import { usePaymentStatus, CheckoutButton } from '@rovela/sdk/checkout'
|
|
25
|
+
*
|
|
26
|
+
* function CartFooter() {
|
|
27
|
+
* const { canAcceptPayments, status, message } = usePaymentStatus()
|
|
28
|
+
*
|
|
29
|
+
* if (!canAcceptPayments) {
|
|
30
|
+
* return (
|
|
31
|
+
* <div className="text-amber-600 text-sm">
|
|
32
|
+
* {message}
|
|
33
|
+
* </div>
|
|
34
|
+
* )
|
|
35
|
+
* }
|
|
36
|
+
*
|
|
37
|
+
* return <CheckoutButton />
|
|
38
|
+
* }
|
|
39
|
+
* ```
|
|
40
|
+
*/
|
|
41
|
+
export declare function usePaymentStatus(): UsePaymentStatusReturn;
|
|
42
|
+
//# sourceMappingURL=usePaymentStatus.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"usePaymentStatus.d.ts","sourceRoot":"","sources":["../../../src/checkout/hooks/usePaymentStatus.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAWH,MAAM,WAAW,sBAAsB;IACrC,4CAA4C;IAC5C,iBAAiB,EAAE,OAAO,CAAA;IAC1B,mCAAmC;IACnC,MAAM,EAAE,SAAS,GAAG,QAAQ,GAAG,gBAAgB,GAAG,YAAY,GAAG,OAAO,CAAA;IACxE,6BAA6B;IAC7B,OAAO,EAAE,MAAM,CAAA;IACf,wCAAwC;IACxC,SAAS,EAAE,OAAO,CAAA;IAClB,iCAAiC;IACjC,OAAO,EAAE,MAAM,IAAI,CAAA;CACpB;AAMD;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,wBAAgB,gBAAgB,IAAI,sBAAsB,CA8CzD"}
|
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @rovela/sdk/checkout/hooks/usePaymentStatus
|
|
3
|
+
*
|
|
4
|
+
* React hook for checking if payments are configured.
|
|
5
|
+
* Use this to conditionally render checkout UI.
|
|
6
|
+
*/
|
|
7
|
+
'use client';
|
|
8
|
+
import { useState, useEffect, useCallback } from 'react';
|
|
9
|
+
// =============================================================================
|
|
10
|
+
// Hook
|
|
11
|
+
// =============================================================================
|
|
12
|
+
/**
|
|
13
|
+
* Hook for checking if payments are configured for this store.
|
|
14
|
+
*
|
|
15
|
+
* @example
|
|
16
|
+
* ```tsx
|
|
17
|
+
* import { usePaymentStatus, CheckoutButton } from '@rovela/sdk/checkout'
|
|
18
|
+
*
|
|
19
|
+
* function CartFooter() {
|
|
20
|
+
* const { canAcceptPayments, status, message } = usePaymentStatus()
|
|
21
|
+
*
|
|
22
|
+
* if (!canAcceptPayments) {
|
|
23
|
+
* return (
|
|
24
|
+
* <div className="text-amber-600 text-sm">
|
|
25
|
+
* {message}
|
|
26
|
+
* </div>
|
|
27
|
+
* )
|
|
28
|
+
* }
|
|
29
|
+
*
|
|
30
|
+
* return <CheckoutButton />
|
|
31
|
+
* }
|
|
32
|
+
* ```
|
|
33
|
+
*/
|
|
34
|
+
export function usePaymentStatus() {
|
|
35
|
+
const [state, setState] = useState({
|
|
36
|
+
canAcceptPayments: false,
|
|
37
|
+
status: 'loading',
|
|
38
|
+
message: 'Checking payment status...',
|
|
39
|
+
});
|
|
40
|
+
const fetchStatus = useCallback(async () => {
|
|
41
|
+
setState((prev) => ({ ...prev, status: 'loading' }));
|
|
42
|
+
try {
|
|
43
|
+
const response = await fetch('/api/checkout/status');
|
|
44
|
+
if (!response.ok) {
|
|
45
|
+
throw new Error('Failed to check payment status');
|
|
46
|
+
}
|
|
47
|
+
const data = (await response.json());
|
|
48
|
+
setState({
|
|
49
|
+
canAcceptPayments: data.canAcceptPayments,
|
|
50
|
+
status: data.status,
|
|
51
|
+
message: data.message,
|
|
52
|
+
});
|
|
53
|
+
}
|
|
54
|
+
catch (error) {
|
|
55
|
+
setState({
|
|
56
|
+
canAcceptPayments: false,
|
|
57
|
+
status: 'error',
|
|
58
|
+
message: 'Unable to verify payment configuration.',
|
|
59
|
+
});
|
|
60
|
+
}
|
|
61
|
+
}, []);
|
|
62
|
+
useEffect(() => {
|
|
63
|
+
fetchStatus();
|
|
64
|
+
}, [fetchStatus]);
|
|
65
|
+
return {
|
|
66
|
+
...state,
|
|
67
|
+
isLoading: state.status === 'loading',
|
|
68
|
+
refresh: fetchStatus,
|
|
69
|
+
};
|
|
70
|
+
}
|
|
71
|
+
//# sourceMappingURL=usePaymentStatus.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"usePaymentStatus.js","sourceRoot":"","sources":["../../../src/checkout/hooks/usePaymentStatus.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,YAAY,CAAA;AAEZ,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,OAAO,CAAA;AAoBxD,gFAAgF;AAChF,OAAO;AACP,gFAAgF;AAEhF;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,MAAM,UAAU,gBAAgB;IAC9B,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG,QAAQ,CAI/B;QACD,iBAAiB,EAAE,KAAK;QACxB,MAAM,EAAE,SAAS;QACjB,OAAO,EAAE,4BAA4B;KACtC,CAAC,CAAA;IAEF,MAAM,WAAW,GAAG,WAAW,CAAC,KAAK,IAAI,EAAE;QACzC,QAAQ,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,EAAE,GAAG,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC,CAAC,CAAA;QAEpD,IAAI,CAAC;YACH,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,sBAAsB,CAAC,CAAA;YAEpD,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;gBACjB,MAAM,IAAI,KAAK,CAAC,gCAAgC,CAAC,CAAA;YACnD,CAAC;YAED,MAAM,IAAI,GAAG,CAAC,MAAM,QAAQ,CAAC,IAAI,EAAE,CAA0B,CAAA;YAE7D,QAAQ,CAAC;gBACP,iBAAiB,EAAE,IAAI,CAAC,iBAAiB;gBACzC,MAAM,EAAE,IAAI,CAAC,MAAM;gBACnB,OAAO,EAAE,IAAI,CAAC,OAAO;aACtB,CAAC,CAAA;QACJ,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,QAAQ,CAAC;gBACP,iBAAiB,EAAE,KAAK;gBACxB,MAAM,EAAE,OAAO;gBACf,OAAO,EAAE,yCAAyC;aACnD,CAAC,CAAA;QACJ,CAAC;IACH,CAAC,EAAE,EAAE,CAAC,CAAA;IAEN,SAAS,CAAC,GAAG,EAAE;QACb,WAAW,EAAE,CAAA;IACf,CAAC,EAAE,CAAC,WAAW,CAAC,CAAC,CAAA;IAEjB,OAAO;QACL,GAAG,KAAK;QACR,SAAS,EAAE,KAAK,CAAC,MAAM,KAAK,SAAS;QACrC,OAAO,EAAE,WAAW;KACrB,CAAA;AACH,CAAC"}
|
package/dist/checkout/index.d.ts
CHANGED
|
@@ -104,7 +104,8 @@
|
|
|
104
104
|
*/
|
|
105
105
|
export type { CheckoutLineItem, CheckoutSessionRequest, CheckoutSessionResponse, CheckoutApiError, CreateOrderParams, WebhookResult, CheckoutStep, ShippingOption, CheckoutState, CheckoutButtonProps, ShippingFormProps, OrderSummaryProps, CheckoutSuccessProps, UseCheckoutOptions, UseCheckoutReturn, } from './types';
|
|
106
106
|
export { CheckoutButton, CheckoutSuccess, OrderSummary, ShippingForm, } from './components';
|
|
107
|
-
export { useCheckout, useCheckoutSuccess } from './hooks';
|
|
107
|
+
export { useCheckout, useCheckoutSuccess, usePaymentStatus } from './hooks';
|
|
108
|
+
export type { UsePaymentStatusReturn } from './hooks';
|
|
108
109
|
export { createCheckoutSession, getCheckoutSession, createOrderFromCheckout, extractOrderParamsFromSession, handleRefund, handleStripeWebhook, } from './server';
|
|
109
110
|
export type { CreateCheckoutSessionOptions } from './server';
|
|
110
111
|
export { getStripe, getConnectedAccountId, hasConnectedAccount, getPlatformFeePercent, calculateApplicationFee, getWebhookSecret, getStoreCurrency, getAllowedShippingCountries, getPublishableKey, } from './stripe';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/checkout/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAuGG;AAMH,YAAY,EAEV,gBAAgB,EAEhB,sBAAsB,EACtB,uBAAuB,EAEvB,gBAAgB,EAEhB,iBAAiB,EAEjB,aAAa,EAEb,YAAY,EACZ,cAAc,EACd,aAAa,EAEb,mBAAmB,EACnB,iBAAiB,EACjB,iBAAiB,EACjB,oBAAoB,EAEpB,kBAAkB,EAClB,iBAAiB,GAClB,MAAM,SAAS,CAAA;AAMhB,OAAO,EACL,cAAc,EACd,eAAe,EACf,YAAY,EACZ,YAAY,GACb,MAAM,cAAc,CAAA;AAMrB,OAAO,EAAE,WAAW,EAAE,kBAAkB,EAAE,MAAM,SAAS,CAAA;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/checkout/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAuGG;AAMH,YAAY,EAEV,gBAAgB,EAEhB,sBAAsB,EACtB,uBAAuB,EAEvB,gBAAgB,EAEhB,iBAAiB,EAEjB,aAAa,EAEb,YAAY,EACZ,cAAc,EACd,aAAa,EAEb,mBAAmB,EACnB,iBAAiB,EACjB,iBAAiB,EACjB,oBAAoB,EAEpB,kBAAkB,EAClB,iBAAiB,GAClB,MAAM,SAAS,CAAA;AAMhB,OAAO,EACL,cAAc,EACd,eAAe,EACf,YAAY,EACZ,YAAY,GACb,MAAM,cAAc,CAAA;AAMrB,OAAO,EAAE,WAAW,EAAE,kBAAkB,EAAE,gBAAgB,EAAE,MAAM,SAAS,CAAA;AAC3E,YAAY,EAAE,sBAAsB,EAAE,MAAM,SAAS,CAAA;AAMrD,OAAO,EAEL,qBAAqB,EACrB,kBAAkB,EAElB,uBAAuB,EACvB,6BAA6B,EAC7B,YAAY,EAEZ,mBAAmB,GACpB,MAAM,UAAU,CAAA;AAEjB,YAAY,EAAE,4BAA4B,EAAE,MAAM,UAAU,CAAA;AAM5D,OAAO,EACL,SAAS,EACT,qBAAqB,EACrB,mBAAmB,EACnB,qBAAqB,EACrB,uBAAuB,EACvB,gBAAgB,EAChB,gBAAgB,EAChB,2BAA2B,EAC3B,iBAAiB,GAClB,MAAM,UAAU,CAAA"}
|
package/dist/checkout/index.js
CHANGED
|
@@ -109,7 +109,7 @@ export { CheckoutButton, CheckoutSuccess, OrderSummary, ShippingForm, } from './
|
|
|
109
109
|
// =============================================================================
|
|
110
110
|
// Hooks
|
|
111
111
|
// =============================================================================
|
|
112
|
-
export { useCheckout, useCheckoutSuccess } from './hooks';
|
|
112
|
+
export { useCheckout, useCheckoutSuccess, usePaymentStatus } from './hooks';
|
|
113
113
|
// =============================================================================
|
|
114
114
|
// Server Functions
|
|
115
115
|
// =============================================================================
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/checkout/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAuGG;AAgCH,gFAAgF;AAChF,aAAa;AACb,gFAAgF;AAEhF,OAAO,EACL,cAAc,EACd,eAAe,EACf,YAAY,EACZ,YAAY,GACb,MAAM,cAAc,CAAA;AAErB,gFAAgF;AAChF,QAAQ;AACR,gFAAgF;AAEhF,OAAO,EAAE,WAAW,EAAE,kBAAkB,EAAE,MAAM,SAAS,CAAA;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/checkout/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAuGG;AAgCH,gFAAgF;AAChF,aAAa;AACb,gFAAgF;AAEhF,OAAO,EACL,cAAc,EACd,eAAe,EACf,YAAY,EACZ,YAAY,GACb,MAAM,cAAc,CAAA;AAErB,gFAAgF;AAChF,QAAQ;AACR,gFAAgF;AAEhF,OAAO,EAAE,WAAW,EAAE,kBAAkB,EAAE,gBAAgB,EAAE,MAAM,SAAS,CAAA;AAG3E,gFAAgF;AAChF,mBAAmB;AACnB,gFAAgF;AAEhF,OAAO;AACL,mBAAmB;AACnB,qBAAqB,EACrB,kBAAkB;AAClB,mBAAmB;AACnB,uBAAuB,EACvB,6BAA6B,EAC7B,YAAY;AACZ,kBAAkB;AAClB,mBAAmB,GACpB,MAAM,UAAU,CAAA;AAIjB,gFAAgF;AAChF,0BAA0B;AAC1B,gFAAgF;AAEhF,OAAO,EACL,SAAS,EACT,qBAAqB,EACrB,mBAAmB,EACnB,qBAAqB,EACrB,uBAAuB,EACvB,gBAAgB,EAChB,gBAAgB,EAChB,2BAA2B,EAC3B,iBAAiB,GAClB,MAAM,UAAU,CAAA"}
|
|
@@ -25,7 +25,7 @@ export function getStripe() {
|
|
|
25
25
|
}
|
|
26
26
|
stripeClient = new Stripe(secretKey, {
|
|
27
27
|
// Use the latest API version for best compatibility
|
|
28
|
-
apiVersion: '2025-
|
|
28
|
+
apiVersion: '2025-12-15.clover',
|
|
29
29
|
typescript: true,
|
|
30
30
|
// Telemetry helps Stripe improve the SDK
|
|
31
31
|
telemetry: true,
|
package/dist/checkout/types.d.ts
CHANGED
|
@@ -162,6 +162,12 @@ export interface CheckoutButtonProps {
|
|
|
162
162
|
size?: 'sm' | 'md' | 'lg';
|
|
163
163
|
/** Full width */
|
|
164
164
|
fullWidth?: boolean;
|
|
165
|
+
/**
|
|
166
|
+
* Skip the payment status check (for faster UX when you know payments are configured).
|
|
167
|
+
* When false (default), the button checks /api/checkout/status to verify payments are available.
|
|
168
|
+
* When true, skips the check and assumes payments are configured.
|
|
169
|
+
*/
|
|
170
|
+
skipPaymentCheck?: boolean;
|
|
165
171
|
}
|
|
166
172
|
/**
|
|
167
173
|
* Props for ShippingForm component
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/checkout/types.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/checkout/types.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,eAAe,CAAA;AAM5C;;;GAGG;AACH,MAAM,WAAW,gBAAgB;IAC/B,+BAA+B;IAC/B,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,+BAA+B;IAC/B,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,mBAAmB;IACnB,IAAI,EAAE,MAAM,CAAA;IACZ,2BAA2B;IAC3B,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,qBAAqB;IACrB,KAAK,EAAE,MAAM,CAAA;IACb,eAAe;IACf,QAAQ,EAAE,MAAM,CAAA;IAChB,wBAAwB;IACxB,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,yBAAyB;IACzB,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;CACpC;AAMD;;GAEG;AACH,MAAM,WAAW,sBAAsB;IACrC,wBAAwB;IACxB,KAAK,EAAE,gBAAgB,EAAE,CAAA;IACzB,mEAAmE;IACnE,aAAa,CAAC,EAAE,MAAM,CAAA;IACtB,2CAA2C;IAC3C,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,kCAAkC;IAClC,eAAe,CAAC,EAAE,OAAO,CAAA;IACzB,kFAAkF;IAClF,UAAU,EAAE,MAAM,CAAA;IAClB,gCAAgC;IAChC,SAAS,EAAE,MAAM,CAAA;IACjB,+CAA+C;IAC/C,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;CAClC;AAED;;GAEG;AACH,MAAM,WAAW,uBAAuB;IACtC,iCAAiC;IACjC,SAAS,EAAE,MAAM,CAAA;IACjB,kDAAkD;IAClD,GAAG,EAAE,MAAM,CAAA;CACZ;AAMD;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B,oBAAoB;IACpB,KAAK,EAAE,MAAM,CAAA;IACb,2CAA2C;IAC3C,IAAI,EACA,YAAY,GACZ,iBAAiB,GACjB,uBAAuB,GACvB,uBAAuB,GACvB,gBAAgB,GAChB,eAAe,GACf,mBAAmB,CAAA;CACxB;AAMD;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC,iCAAiC;IACjC,SAAS,EAAE,MAAM,CAAA;IACjB,qBAAqB;IACrB,KAAK,EAAE,MAAM,CAAA;IACb,mCAAmC;IACnC,KAAK,EAAE,gBAAgB,EAAE,CAAA;IACzB,wBAAwB;IACxB,QAAQ,EAAE,MAAM,CAAA;IAChB,0BAA0B;IAC1B,GAAG,EAAE,MAAM,CAAA;IACX,+BAA+B;IAC/B,QAAQ,EAAE,MAAM,CAAA;IAChB,4BAA4B;IAC5B,KAAK,EAAE,MAAM,CAAA;IACb,uBAAuB;IACvB,eAAe,EAAE,OAAO,CAAA;IACxB,iCAAiC;IACjC,cAAc,CAAC,EAAE,OAAO,CAAA;IACxB,+BAA+B;IAC/B,qBAAqB,EAAE,MAAM,CAAA;IAC7B,mDAAmD;IACnD,gBAAgB,CAAC,EAAE,MAAM,CAAA;IACzB,2CAA2C;IAC3C,UAAU,CAAC,EAAE,MAAM,CAAA;CACpB;AAMD;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B,qDAAqD;IACrD,QAAQ,EAAE,OAAO,CAAA;IACjB,wCAAwC;IACxC,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,uCAAuC;IACvC,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,yCAAyC;IACzC,KAAK,CAAC,EAAE,MAAM,CAAA;CACf;AAMD;;GAEG;AACH,MAAM,MAAM,YAAY,GAAG,MAAM,GAAG,aAAa,GAAG,UAAU,GAAG,SAAS,GAAG,SAAS,CAAA;AAEtF;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B,wBAAwB;IACxB,EAAE,EAAE,MAAM,CAAA;IACV,+CAA+C;IAC/C,IAAI,EAAE,MAAM,CAAA;IACZ,8CAA8C;IAC9C,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,qBAAqB;IACrB,KAAK,EAAE,MAAM,CAAA;IACb,8BAA8B;IAC9B,aAAa,CAAC,EAAE,MAAM,CAAA;CACvB;AAED;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B,oCAAoC;IACpC,IAAI,EAAE,YAAY,CAAA;IAClB,qBAAqB;IACrB,KAAK,EAAE,MAAM,GAAG,IAAI,CAAA;IACpB,uBAAuB;IACvB,eAAe,EAAE,OAAO,GAAG,IAAI,CAAA;IAC/B,mDAAmD;IACnD,cAAc,EAAE,OAAO,GAAG,IAAI,CAAA;IAC9B,+BAA+B;IAC/B,gBAAgB,EAAE,cAAc,GAAG,IAAI,CAAA;IACvC,qCAAqC;IACrC,YAAY,EAAE,OAAO,CAAA;IACrB,2BAA2B;IAC3B,KAAK,EAAE,MAAM,GAAG,IAAI,CAAA;CACrB;AAMD;;GAEG;AACH,MAAM,WAAW,mBAAmB;IAClC,wCAAwC;IACxC,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;IAC1B,qBAAqB;IACrB,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,uBAAuB;IACvB,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,+BAA+B;IAC/B,gBAAgB,CAAC,EAAE,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;IAC7C,wBAAwB;IACxB,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,CAAA;IAChC,mBAAmB;IACnB,IAAI,CAAC,EAAE,IAAI,GAAG,IAAI,GAAG,IAAI,CAAA;IACzB,iBAAiB;IACjB,SAAS,CAAC,EAAE,OAAO,CAAA;IACnB;;;;OAIG;IACH,gBAAgB,CAAC,EAAE,OAAO,CAAA;CAC3B;AAED;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC,qBAAqB;IACrB,aAAa,CAAC,EAAE,OAAO,CAAC,OAAO,CAAC,CAAA;IAChC,mCAAmC;IACnC,QAAQ,EAAE,CAAC,OAAO,EAAE,OAAO,KAAK,IAAI,CAAA;IACpC,yBAAyB;IACzB,QAAQ,CAAC,EAAE,MAAM,IAAI,CAAA;IACrB,iCAAiC;IACjC,YAAY,CAAC,EAAE,OAAO,CAAA;IACtB,uBAAuB;IACvB,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,kCAAkC;IAClC,kBAAkB,CAAC,EAAE,OAAO,CAAA;IAC5B,iDAAiD;IACjD,sBAAsB,CAAC,EAAE,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,KAAK,IAAI,CAAA;CAC3D;AAED;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC,4BAA4B;IAC5B,KAAK,CAAC,EAAE,gBAAgB,EAAE,CAAA;IAC1B,wBAAwB;IACxB,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,6BAA6B;IAC7B,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,mBAAmB;IACnB,GAAG,CAAC,EAAE,MAAM,CAAA;IACZ,qBAAqB;IACrB,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,oBAAoB;IACpB,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,4BAA4B;IAC5B,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,uBAAuB;IACvB,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,mCAAmC;IACnC,SAAS,CAAC,EAAE,OAAO,CAAA;IACnB,gCAAgC;IAChC,YAAY,CAAC,EAAE,OAAO,CAAA;IACtB,qBAAqB;IACrB,QAAQ,CAAC,EAAE,MAAM,CAAA;CAClB;AAED;;GAEG;AACH,MAAM,WAAW,oBAAoB;IACnC,0BAA0B;IAC1B,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,uCAAuC;IACvC,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,uBAAuB;IACvB,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,6BAA6B;IAC7B,oBAAoB,CAAC,EAAE,MAAM,CAAA;IAC7B,8BAA8B;IAC9B,aAAa,CAAC,EAAE,MAAM,CAAA;IACtB,mDAAmD;IACnD,OAAO,CAAC,EAAE,MAAM,IAAI,CAAA;CACrB;AAMD;;GAEG;AACH,MAAM,WAAW,kBAAkB;IACjC,gCAAgC;IAChC,aAAa,CAAC,EAAE,MAAM,CAAA;IACtB,2CAA2C;IAC3C,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,yBAAyB;IACzB,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,wBAAwB;IACxB,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,sBAAsB;IACtB,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IACjC,gEAAgE;IAChE,SAAS,CAAC,EAAE,CAAC,OAAO,EAAE,uBAAuB,KAAK,IAAI,CAAA;IACtD,wBAAwB;IACxB,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,gBAAgB,KAAK,IAAI,CAAA;IAC3C,wDAAwD;IACxD,mBAAmB,CAAC,EAAE,OAAO,CAAA;CAC9B;AAED;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC,6BAA6B;IAC7B,QAAQ,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAA;IAC7B,sCAAsC;IACtC,SAAS,EAAE,OAAO,CAAA;IAClB,0BAA0B;IAC1B,KAAK,EAAE,gBAAgB,GAAG,IAAI,CAAA;IAC9B,wBAAwB;IACxB,UAAU,EAAE,MAAM,IAAI,CAAA;CACvB"}
|
|
@@ -388,9 +388,9 @@ export declare function getRecentOrders(limit?: number): Promise<{
|
|
|
388
388
|
*/
|
|
389
389
|
export declare function createOrder(data: schema.NewOrder): Promise<{
|
|
390
390
|
status: "pending" | "paid" | "shipped" | "delivered" | "cancelled" | "refunded";
|
|
391
|
-
total: string;
|
|
392
391
|
email: string;
|
|
393
392
|
id: string;
|
|
393
|
+
total: string;
|
|
394
394
|
createdAt: Date;
|
|
395
395
|
updatedAt: Date;
|
|
396
396
|
customerId: string | null;
|
|
@@ -425,13 +425,13 @@ export declare function createOrder(data: schema.NewOrder): Promise<{
|
|
|
425
425
|
* Create order items for an order
|
|
426
426
|
*/
|
|
427
427
|
export declare function createOrderItems(items: schema.NewOrderItem[]): Promise<{
|
|
428
|
-
id: string;
|
|
429
|
-
productId: string;
|
|
430
|
-
price: string;
|
|
431
428
|
name: string;
|
|
429
|
+
id: string;
|
|
432
430
|
attributes: Record<string, string> | null;
|
|
433
431
|
quantity: number;
|
|
432
|
+
price: string;
|
|
434
433
|
createdAt: Date;
|
|
434
|
+
productId: string;
|
|
435
435
|
orderId: string;
|
|
436
436
|
variantId: string | null;
|
|
437
437
|
}[]>;
|