@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.
@@ -5,4 +5,6 @@
5
5
  */
6
6
  export { POST } from './checkout';
7
7
  export { POST as WebhookPOST } from './webhook';
8
+ export { GET as PaymentStatusGET } from './payment-status';
9
+ export type { PaymentStatusResponse } from './payment-status';
8
10
  //# sourceMappingURL=index.d.ts.map
@@ -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"}
@@ -5,4 +5,5 @@
5
5
  */
6
6
  export { POST } from './checkout';
7
7
  export { POST as WebhookPOST } from './webhook';
8
+ export { GET as PaymentStatusGET } from './payment-status';
8
9
  //# sourceMappingURL=index.js.map
@@ -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;;;;GAIG;AAOH,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,UAAU,CAAA;AAMnD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAmCG;AACH,wBAAgB,cAAc,CAAC,EAC7B,QAAqB,EACrB,QAAgB,EAChB,SAAS,EACT,gBAAgB,EAChB,OAAO,EACP,IAAW,EACX,SAAiB,GAClB,EAAE,mBAAmB,2CA8DrB"}
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, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-runtime";
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;;;;GAIG;AAEH,YAAY,CAAA;;AAEZ,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAA;AACtC,OAAO,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAA;AAClD,OAAO,EAAE,EAAE,EAAE,MAAM,kBAAkB,CAAA;AAGrC,gFAAgF;AAChF,YAAY;AACZ,gFAAgF;AAEhF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAmCG;AACH,MAAM,UAAU,cAAc,CAAC,EAC7B,QAAQ,GAAG,UAAU,EACrB,QAAQ,GAAG,KAAK,EAChB,SAAS,EACT,gBAAgB,EAChB,OAAO,EACP,IAAI,GAAG,IAAI,EACX,SAAS,GAAG,KAAK,GACG;IACpB,MAAM,EAAE,QAAQ,EAAE,SAAS,EAAE,KAAK,EAAE,GAAG,WAAW,CAAC;QACjD,OAAO,EAAE,CAAC,GAAG,EAAE,EAAE;YACf,IAAI,OAAO,EAAE,CAAC;gBACZ,OAAO,CAAC,IAAI,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAA;YAC/B,CAAC;QACH,CAAC;KACF,CAAC,CAAA;IAEF,MAAM,WAAW,GAAG,KAAK,IAAI,EAAE;QAC7B,IAAI,CAAC;YACH,IAAI,gBAAgB,EAAE,CAAC;gBACrB,MAAM,gBAAgB,EAAE,CAAA;YAC1B,CAAC;YACD,MAAM,QAAQ,EAAE,CAAA;QAClB,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,IAAI,OAAO,IAAI,GAAG,YAAY,KAAK,EAAE,CAAC;gBACpC,OAAO,CAAC,GAAG,CAAC,CAAA;YACd,CAAC;QACH,CAAC;IACH,CAAC,CAAA;IAED,eAAe;IACf,MAAM,WAAW,GAAG;QAClB,EAAE,EAAE,mBAAmB;QACvB,EAAE,EAAE,qBAAqB;QACzB,EAAE,EAAE,mBAAmB;KACxB,CAAA;IAED,OAAO,CACL,iBACE,IAAI,EAAC,QAAQ,EACb,OAAO,EAAE,WAAW,EACpB,QAAQ,EAAE,QAAQ,IAAI,SAAS,EAC/B,SAAS,EAAE,EAAE;QACX,cAAc;QACd,yCAAyC,EACzC,0CAA0C,EAC1C,qDAAqD;QACrD,SAAS;QACT,oCAAoC,EACpC,qBAAqB,EACrB,oBAAoB;QACpB,WAAW;QACX,iDAAiD;QACjD,OAAO;QACP,WAAW,CAAC,IAAI,CAAC;QACjB,QAAQ;QACR,SAAS,IAAI,QAAQ,EACrB,SAAS,CACV,YAEA,SAAS,CAAC,CAAC,CAAC,CACX,8BACE,KAAC,OAAO,IAAC,SAAS,EAAC,2BAA2B,GAAG,sBAEhD,CACJ,CAAC,CAAC,CAAC,CACF,QAAQ,CACT,GACM,CACV,CAAA;AACH,CAAC"}
1
+ {"version":3,"file":"CheckoutButton.js","sourceRoot":"","sources":["../../../src/checkout/components/CheckoutButton.tsx"],"names":[],"mappings":"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"}
@@ -4,4 +4,6 @@
4
4
  * React hooks for checkout
5
5
  */
6
6
  export { useCheckout, useCheckoutSuccess } from './useCheckout';
7
+ export { usePaymentStatus } from './usePaymentStatus';
8
+ export type { UsePaymentStatusReturn } from './usePaymentStatus';
7
9
  //# sourceMappingURL=index.d.ts.map
@@ -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"}
@@ -4,4 +4,5 @@
4
4
  * React hooks for checkout
5
5
  */
6
6
  export { useCheckout, useCheckoutSuccess } from './useCheckout';
7
+ export { usePaymentStatus } from './usePaymentStatus';
7
8
  //# sourceMappingURL=index.js.map
@@ -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"}
@@ -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;AAMzD,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"}
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"}
@@ -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;AAEzD,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"}
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-11-17.clover',
28
+ apiVersion: '2025-12-15.clover',
29
29
  typescript: true,
30
30
  // Telemetry helps Stripe improve the SDK
31
31
  telemetry: true,
@@ -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":"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"}
@@ -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
  }[]>;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@rovela-ai/sdk",
3
- "version": "0.1.46",
3
+ "version": "0.1.47",
4
4
  "description": "Rovela SDK - Pre-built e-commerce components for AI-powered store generation",
5
5
  "type": "module",
6
6
  "license": "MIT",