@moneydevkit/core 0.7.0-beta.6 → 0.7.0-beta.8
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/actions.d.ts +24 -10
- package/dist/actions.js +16 -6
- package/dist/actions.js.map +1 -1
- package/dist/client-actions.d.ts +2 -1
- package/dist/client-actions.js +7 -0
- package/dist/client-actions.js.map +1 -1
- package/dist/client.d.ts +1 -0
- package/dist/client.js +1 -0
- package/dist/client.js.map +1 -1
- package/dist/components/Checkout.d.ts +1 -1
- package/dist/components/Checkout.js +36 -1
- package/dist/components/Checkout.js.map +1 -1
- package/dist/components/checkout/PendingPaymentCheckout.js +18 -1
- package/dist/components/checkout/PendingPaymentCheckout.js.map +1 -1
- package/dist/components/checkout/UnconfirmedCheckout.js +1 -1
- package/dist/components/checkout/UnconfirmedCheckout.js.map +1 -1
- package/dist/handlers/checkout.d.ts +52 -0
- package/dist/handlers/checkout.js +188 -4
- package/dist/handlers/checkout.js.map +1 -1
- package/dist/handlers/products.d.ts +1 -0
- package/dist/handlers/products.js +18 -0
- package/dist/handlers/products.js.map +1 -0
- package/dist/hooks/useCheckout.d.ts +18 -0
- package/dist/hooks/useCheckout.js +18 -0
- package/dist/hooks/useCheckout.js.map +1 -1
- package/dist/hooks/useProducts.d.ts +17 -0
- package/dist/hooks/useProducts.js +34 -0
- package/dist/hooks/useProducts.js.map +1 -0
- package/dist/mdk-client.d.ts +6 -1
- package/dist/mdk-client.js +7 -0
- package/dist/mdk-client.js.map +1 -1
- package/dist/route.d.ts +17 -2
- package/dist/route.js +67 -1
- package/dist/route.js.map +1 -1
- package/package.json +2 -2
package/dist/actions.d.ts
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
|
-
import type { Checkout, ConfirmCheckout } from '@moneydevkit/api-contract';
|
|
1
|
+
import type { Checkout, ConfirmCheckout, Product } from '@moneydevkit/api-contract';
|
|
2
2
|
import type { Result } from './types';
|
|
3
3
|
export declare function getCheckout(checkoutId: string): Promise<Checkout>;
|
|
4
|
+
export declare function listProducts(): Promise<Product[]>;
|
|
4
5
|
export declare function confirmCheckout(confirm: ConfirmCheckout): Promise<Checkout>;
|
|
5
6
|
/**
|
|
6
7
|
* Valid fields that can be required at checkout time.
|
|
@@ -15,20 +16,32 @@ export type CustomerInput = {
|
|
|
15
16
|
email?: string;
|
|
16
17
|
externalId?: string;
|
|
17
18
|
} & Record<string, string>;
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
export interface CreateCheckoutParams {
|
|
22
|
-
title: string;
|
|
23
|
-
description: string;
|
|
24
|
-
amount: number;
|
|
25
|
-
currency?: 'USD' | 'SAT';
|
|
19
|
+
type Currency = 'USD' | 'SAT';
|
|
20
|
+
type CommonCheckoutFields = {
|
|
21
|
+
currency?: Currency;
|
|
26
22
|
successUrl?: string;
|
|
27
23
|
checkoutPath?: string;
|
|
28
24
|
metadata?: Record<string, unknown>;
|
|
29
25
|
customer?: CustomerInput;
|
|
30
26
|
requireCustomerData?: string[];
|
|
31
|
-
}
|
|
27
|
+
};
|
|
28
|
+
type AmountCheckoutParams = CommonCheckoutFields & {
|
|
29
|
+
type: 'AMOUNT';
|
|
30
|
+
amount: number;
|
|
31
|
+
title?: string;
|
|
32
|
+
description?: string;
|
|
33
|
+
productId?: never;
|
|
34
|
+
products?: never;
|
|
35
|
+
};
|
|
36
|
+
type ProductsCheckoutParams = CommonCheckoutFields & {
|
|
37
|
+
type: 'PRODUCTS';
|
|
38
|
+
products: string[];
|
|
39
|
+
productId?: string;
|
|
40
|
+
amount?: never;
|
|
41
|
+
title?: never;
|
|
42
|
+
description?: never;
|
|
43
|
+
};
|
|
44
|
+
export type CreateCheckoutParams = AmountCheckoutParams | ProductsCheckoutParams;
|
|
32
45
|
export declare function createCheckout(params: CreateCheckoutParams): Promise<Result<{
|
|
33
46
|
checkout: Checkout;
|
|
34
47
|
}>>;
|
|
@@ -36,3 +49,4 @@ export declare function markInvoicePaidPreview(paymentHash: string, amountSats:
|
|
|
36
49
|
ok: boolean;
|
|
37
50
|
}>;
|
|
38
51
|
export declare function paymentHasBeenReceived(paymentHash: string): Promise<boolean>;
|
|
52
|
+
export {};
|
package/dist/actions.js
CHANGED
|
@@ -44,6 +44,11 @@ export async function getCheckout(checkoutId) {
|
|
|
44
44
|
const client = createMoneyDevKitClient();
|
|
45
45
|
return await client.checkouts.get({ id: checkoutId });
|
|
46
46
|
}
|
|
47
|
+
export async function listProducts() {
|
|
48
|
+
const client = createMoneyDevKitClient();
|
|
49
|
+
const result = await client.products.list();
|
|
50
|
+
return result.products;
|
|
51
|
+
}
|
|
47
52
|
export async function confirmCheckout(confirm) {
|
|
48
53
|
const client = createMoneyDevKitClient();
|
|
49
54
|
const node = createMoneyDevKitNode();
|
|
@@ -85,24 +90,29 @@ function normalizeRequireCustomerData(fields) {
|
|
|
85
90
|
return fields.map(normalizeFieldName);
|
|
86
91
|
}
|
|
87
92
|
export async function createCheckout(params) {
|
|
88
|
-
const amount = params.amount ?? 200;
|
|
89
93
|
const currency = params.currency ?? 'USD';
|
|
90
94
|
const metadataOverrides = params.metadata ?? {};
|
|
95
|
+
const isProductsCheckout = params.type === 'PRODUCTS';
|
|
96
|
+
const productIds = isProductsCheckout
|
|
97
|
+
? (params.productId ? [params.productId, ...params.products] : params.products)
|
|
98
|
+
: undefined;
|
|
99
|
+
const amount = isProductsCheckout ? undefined : params.amount;
|
|
100
|
+
const title = isProductsCheckout ? undefined : params.title;
|
|
101
|
+
const description = isProductsCheckout ? undefined : params.description;
|
|
91
102
|
try {
|
|
92
103
|
const client = createMoneyDevKitClient();
|
|
93
104
|
const node = createMoneyDevKitNode();
|
|
94
105
|
const checkout = await client.checkouts.create({
|
|
95
106
|
amount,
|
|
96
107
|
currency,
|
|
108
|
+
products: productIds,
|
|
109
|
+
successUrl: params.successUrl,
|
|
97
110
|
metadata: {
|
|
98
|
-
title
|
|
99
|
-
description
|
|
100
|
-
successUrl: params.successUrl,
|
|
111
|
+
title,
|
|
112
|
+
description,
|
|
101
113
|
...metadataOverrides,
|
|
102
114
|
},
|
|
103
|
-
// Customer data (nested object) - strip empty strings and normalize keys
|
|
104
115
|
customer: cleanCustomerInput(params.customer),
|
|
105
|
-
// Required customer fields - normalize to camelCase
|
|
106
116
|
requireCustomerData: normalizeRequireCustomerData(params.requireCustomerData),
|
|
107
117
|
}, node.id);
|
|
108
118
|
if (checkout.status === 'CONFIRMED') {
|
package/dist/actions.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"actions.js","sourceRoot":"","sources":["../src/actions.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"actions.js","sourceRoot":"","sources":["../src/actions.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,GAAG,EAAE,KAAK,IAAI,QAAQ,EAAE,MAAM,WAAW,CAAA;AAClD,OAAO,EAAE,uBAAuB,EAAE,qBAAqB,EAAE,MAAM,OAAO,CAAA;AACtE,OAAO,EAAE,sBAAsB,EAAE,mBAAmB,EAAE,MAAM,iBAAiB,CAAA;AAC7E,OAAO,EAAE,sBAAsB,EAAE,MAAM,WAAW,CAAA;AAClD,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAA;AAG1C;;;;;;;GAOG;AACH,SAAS,WAAW,CAAC,GAAW;IAC9B,OAAO,GAAG;QACR,2CAA2C;SAC1C,KAAK,CAAC,SAAS,CAAC;QACjB,gDAAgD;SAC/C,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,qBAAqB,CAAC,CAAC;QACnD,uBAAuB;SACtB,MAAM,CAAC,OAAO,CAAC;QAChB,uBAAuB;SACtB,GAAG,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE;QACnB,MAAM,KAAK,GAAG,IAAI,CAAC,WAAW,EAAE,CAAA;QAChC,OAAO,KAAK,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAA;IAC7E,CAAC,CAAC;SACD,IAAI,CAAC,EAAE,CAAC,CAAA;AACb,CAAC;AAED;;;GAGG;AACH,SAAS,kBAAkB,CAAC,KAAa;IACvC,MAAM,cAAc,GAAG,CAAC,OAAO,EAAE,MAAM,EAAE,YAAY,CAAC,CAAA;IACtD,MAAM,KAAK,GAAG,WAAW,CAAC,KAAK,CAAC,CAAA;IAChC,2CAA2C;IAC3C,IAAI,cAAc,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;QACnC,OAAO,KAAK,CAAA;IACd,CAAC;IACD,OAAO,KAAK,CAAA;AACd,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,WAAW,CAAC,UAAkB;IAClD,sDAAsD;IACtD,MAAM,MAAM,GAAG,uBAAuB,EAAE,CAAA;IACxC,OAAO,MAAM,MAAM,CAAC,SAAS,CAAC,GAAG,CAAC,EAAE,EAAE,EAAE,UAAU,EAAE,CAAC,CAAA;AACvD,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,YAAY;IAChC,MAAM,MAAM,GAAG,uBAAuB,EAAE,CAAA;IACxC,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAA;IAC3C,OAAO,MAAM,CAAC,QAAQ,CAAA;AACxB,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,eAAe,CAAC,OAAwB;IAC5D,MAAM,MAAM,GAAG,uBAAuB,EAAE,CAAA;IACxC,MAAM,IAAI,GAAG,qBAAqB,EAAE,CAAA;IACpC,MAAM,iBAAiB,GAAG,MAAM,MAAM,CAAC,SAAS,CAAC,OAAO,CAAC,OAAO,CAAC,CAAA;IAEjE,MAAM,OAAO,GAAG,iBAAiB,CAAC,WAAW;QAC3C,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,iBAAiB,CAAC,WAAW,EAAE,iBAAiB,CAAC,iBAAiB,CAAC;QAClG,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,iBAAiB,CAAC,iBAAiB,CAAC,CAAA;IAE7D,MAAM,sBAAsB,GAAG,MAAM,MAAM,CAAC,SAAS,CAAC,eAAe,CAAC;QACpE,WAAW,EAAE,OAAO,CAAC,WAAW;QAChC,OAAO,EAAE,OAAO,CAAC,OAAO;QACxB,gBAAgB,EAAE,OAAO,CAAC,SAAS;QACnC,UAAU,EAAE,iBAAiB,CAAC,EAAE;QAChC,MAAM,EAAE,IAAI,CAAC,EAAE;QACf,IAAI,EAAE,OAAO,CAAC,IAAI;KACnB,CAAC,CAAA;IAEF,OAAO,sBAAsB,CAAA;AAC/B,CAAC;AAiBD;;GAEG;AACH,SAAS,kBAAkB,CAAC,QAAmC;IAC7D,IAAI,CAAC,QAAQ;QAAE,OAAO,SAAS,CAAA;IAC/B,MAAM,OAAO,GAA2B,EAAE,CAAA;IAC1C,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAC;QACpD,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC;YACrD,6BAA6B;YAC7B,OAAO,CAAC,kBAAkB,CAAC,GAAG,CAAC,CAAC,GAAG,KAAK,CAAA;QAC1C,CAAC;IACH,CAAC;IACD,OAAO,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,CAAA;AAC9D,CAAC;AAED;;GAEG;AACH,SAAS,4BAA4B,CAAC,MAA4B;IAChE,IAAI,CAAC,MAAM;QAAE,OAAO,SAAS,CAAA;IAC7B,OAAO,MAAM,CAAC,GAAG,CAAC,kBAAkB,CAAC,CAAA;AACvC,CAAC;AAiCD,MAAM,CAAC,KAAK,UAAU,cAAc,CAClC,MAA4B;IAE5B,MAAM,QAAQ,GAAG,MAAM,CAAC,QAAQ,IAAI,KAAK,CAAA;IACzC,MAAM,iBAAiB,GAAG,MAAM,CAAC,QAAQ,IAAI,EAAE,CAAA;IAE/C,MAAM,kBAAkB,GAAG,MAAM,CAAC,IAAI,KAAK,UAAU,CAAA;IACrD,MAAM,UAAU,GAAG,kBAAkB;QACnC,CAAC,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,SAAS,EAAE,GAAG,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC;QAC/E,CAAC,CAAC,SAAS,CAAA;IACb,MAAM,MAAM,GAAG,kBAAkB,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAA;IAC7D,MAAM,KAAK,GAAG,kBAAkB,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAA;IAC3D,MAAM,WAAW,GAAG,kBAAkB,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,WAAW,CAAA;IAEvE,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,uBAAuB,EAAE,CAAA;QACxC,MAAM,IAAI,GAAG,qBAAqB,EAAE,CAAA;QACpC,MAAM,QAAQ,GAAG,MAAM,MAAM,CAAC,SAAS,CAAC,MAAM,CAC5C;YACE,MAAM;YACN,QAAQ;YACR,QAAQ,EAAE,UAAU;YACpB,UAAU,EAAE,MAAM,CAAC,UAAU;YAC7B,QAAQ,EAAE;gBACR,KAAK;gBACL,WAAW;gBACX,GAAG,iBAAiB;aACrB;YACD,QAAQ,EAAE,kBAAkB,CAAC,MAAM,CAAC,QAAQ,CAAC;YAC7C,mBAAmB,EAAE,4BAA4B,CAAC,MAAM,CAAC,mBAAmB,CAAC;SAC9E,EACD,IAAI,CAAC,EAAE,CACR,CAAA;QAED,IAAI,QAAQ,CAAC,MAAM,KAAK,WAAW,EAAE,CAAC;YACpC,MAAM,OAAO,GAAG,QAAQ,CAAC,WAAW;gBAClC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,QAAQ,CAAC,WAAW,EAAE,QAAQ,CAAC,iBAAiB,CAAC;gBAChF,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,QAAQ,CAAC,iBAAiB,CAAC,CAAA;YAEpD,MAAM,sBAAsB,GAAG,MAAM,MAAM,CAAC,SAAS,CAAC,eAAe,CAAC;gBACpE,WAAW,EAAE,OAAO,CAAC,WAAW;gBAChC,OAAO,EAAE,OAAO,CAAC,OAAO;gBACxB,gBAAgB,EAAE,OAAO,CAAC,SAAS;gBACnC,UAAU,EAAE,QAAQ,CAAC,EAAE;gBACvB,MAAM,EAAE,IAAI,CAAC,EAAE;gBACf,IAAI,EAAE,OAAO,CAAC,IAAI;aACnB,CAAC,CAAA;YAEF,OAAO,OAAO,CAAC,EAAE,QAAQ,EAAE,sBAAsB,EAAE,CAAC,CAAA;QACtD,CAAC;QAED,OAAO,OAAO,CAAC,EAAE,QAAQ,EAAE,CAAC,CAAA;IAC9B,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,MAAM,OAAO,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAA;QAChE,QAAQ,CAAC,2BAA2B,EAAE,OAAO,CAAC,CAAA;QAC9C,OAAO,OAAO,CAAC;YACb,IAAI,EAAE,0BAA0B;YAChC,OAAO,EAAE,8BAA8B,OAAO,EAAE;SACjD,CAAC,CAAA;IACJ,CAAC;AACH,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,sBAAsB,CAAC,WAAmB,EAAE,UAAkB;IAClF,IAAI,CAAC,sBAAsB,EAAE,EAAE,CAAC;QAC9B,MAAM,IAAI,KAAK,CAAC,kEAAkE,CAAC,CAAA;IACrF,CAAC;IAED,MAAM,MAAM,GAAG,uBAAuB,EAAE,CAAA;IACxC,MAAM,eAAe,GAAG;QACtB,QAAQ,EAAE;YACR;gBACE,WAAW;gBACX,UAAU;gBACV,OAAO,EAAE,IAAI;aACd;SACF;KACF,CAAA;IACD,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,SAAS,CAAC,eAAe,CAAC,eAAe,CAAC,CAAA;IAEtE,mBAAmB,CAAC,WAAW,CAAC,CAAA;IAEhC,OAAO,MAAM,CAAA;AACf,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,sBAAsB,CAAC,WAAmB;IAC9D,IAAI,CAAC,WAAW,EAAE,CAAC;QACjB,OAAO,KAAK,CAAA;IACd,CAAC;IACD,GAAG,CAAC,+BAA+B,EAAE,WAAW,CAAC,CAAA;IACjD,OAAO,sBAAsB,CAAC,WAAW,CAAC,CAAA;AAC5C,CAAC"}
|
package/dist/client-actions.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { Checkout as CheckoutType } from '@moneydevkit/api-contract';
|
|
1
|
+
import type { Checkout as CheckoutType, Product } from '@moneydevkit/api-contract';
|
|
2
2
|
import type { ConfirmCheckout } from '@moneydevkit/api-contract';
|
|
3
3
|
import type { CreateCheckoutParams } from './actions';
|
|
4
4
|
import type { Result } from './types';
|
|
@@ -6,3 +6,4 @@ export declare function clientCreateCheckout(params: CreateCheckoutParams): Prom
|
|
|
6
6
|
export declare function clientGetCheckout(checkoutId: string): Promise<CheckoutType>;
|
|
7
7
|
export declare function clientConfirmCheckout(confirm: ConfirmCheckout): Promise<CheckoutType>;
|
|
8
8
|
export declare function clientPayInvoice(paymentHash: string, amountSats: number): Promise<void>;
|
|
9
|
+
export declare function clientListProducts(): Promise<Product[]>;
|
package/dist/client-actions.js
CHANGED
|
@@ -111,4 +111,11 @@ export async function clientPayInvoice(paymentHash, amountSats) {
|
|
|
111
111
|
throw new Error(result.error.message);
|
|
112
112
|
}
|
|
113
113
|
}
|
|
114
|
+
export async function clientListProducts() {
|
|
115
|
+
const response = await postToMdk('list_products', {});
|
|
116
|
+
if (!response?.data?.products) {
|
|
117
|
+
throw new Error('Failed to list products');
|
|
118
|
+
}
|
|
119
|
+
return response.data.products;
|
|
120
|
+
}
|
|
114
121
|
//# sourceMappingURL=client-actions.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"client-actions.js","sourceRoot":"","sources":["../src/client-actions.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,sBAAsB,EAAE,MAAM,WAAW,CAAA;AAClD,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAA;AAG1C,MAAM,QAAQ,GACZ,CAAC,OAAO,OAAO,KAAK,WAAW,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,wBAAwB,IAAI,OAAO,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC,IAAI,UAAU,CAAA;AAEtH,SAAS,SAAS,CAAC,IAAY;IAC7B,IAAI,OAAO,QAAQ,KAAK,WAAW;QAAE,OAAO,IAAI,CAAA;IAChD,MAAM,OAAO,GAAG,QAAQ,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;IAC1C,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;QAC7B,MAAM,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,GAAG,MAAM,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;QAC/C,IAAI,GAAG,KAAK,IAAI,EAAE,CAAC;YACjB,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;QACvB,CAAC;IACH,CAAC;IACD,OAAO,IAAI,CAAA;AACb,CAAC;AAED,SAAS,eAAe;IACtB,IAAI,OAAO,QAAQ,KAAK,WAAW;QAAE,OAAO,IAAI,CAAA;IAChD,IAAI,KAAK,GAAG,SAAS,CAAC,UAAU,CAAC,CAAA;IACjC,IAAI,CAAC,KAAK,EAAE,CAAC;QACX,KAAK,GAAG,OAAO,MAAM,KAAK,WAAW,IAAI,YAAY,IAAI,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,GAAG,EAAE,EAAE,CAAA;IACzG,CAAC;IAED,qGAAqG;IACrG,wGAAwG;IACxG,MAAM,gBAAgB,GAAG,CAAC,QAAQ,CAAC,CAAA;IACnC,MAAM,aAAa,GAAG,OAAO,MAAM,KAAK,WAAW,IAAI,MAAM,CAAC,eAAe,CAAA;IAC7E,IAAI,aAAa,EAAE,CAAC;QAClB,gBAAgB,CAAC,IAAI,CAAC,eAAe,EAAE,QAAQ,CAAC,CAAA;IAClD,CAAC;SAAM,CAAC;QACN,gBAAgB,CAAC,IAAI,CAAC,cAAc,CAAC,CAAA;IACvC,CAAC;IACD,QAAQ,CAAC,MAAM,GAAG,YAAY,KAAK,KAAK,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAA;IAErE,OAAO,KAAK,CAAA;AACd,CAAC;AAED;;;GAGG;AACH,KAAK,UAAU,SAAS,CAAI,OAAe,EAAE,OAAgC;IAC3E,MAAM,OAAO,GAA2B,EAAE,cAAc,EAAE,kBAAkB,EAAE,CAAA;IAC9E,MAAM,SAAS,GAAG,eAAe,EAAE,CAAA;IACnC,IAAI,SAAS,EAAE,CAAC;QACd,OAAO,CAAC,0BAA0B,CAAC,GAAG,SAAS,CAAA;IACjD,CAAC;IAED,IAAI,QAAkB,CAAA;IACtB,IAAI,CAAC;QACH,QAAQ,GAAG,MAAM,KAAK,CAAC,QAAQ,EAAE;YAC/B,MAAM,EAAE,MAAM;YACd,OAAO;YACP,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,OAAO,EAAE,GAAG,OAAO,EAAE,CAAC;SAC9C,CAAC,CAAA;IACJ,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,OAAO,CAAC;YACb,IAAI,EAAE,eAAe;YACrB,OAAO,EAAE,yEAAyE;SACnF,CAAC,CAAA;IACJ,CAAC;IAED,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;QACjB,IAAI,SAAS,GAA8D,EAAE,CAAA;QAC7E,IAAI,CAAC;YACH,SAAS,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAA;QACnC,CAAC;QAAC,MAAM,CAAC;YACP,uBAAuB;QACzB,CAAC;QAED,MAAM,OAAO,GAAG,SAAS,CAAC,OAAO,CAAA;QACjC,MAAM,oBAAoB,GAAG,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,CAAA;QAEzE,0DAA0D;QAC1D,MAAM,iBAAiB,GAAG,oBAAoB,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC,SAAS,CAAA;QAEhF,OAAO,OAAO,CAAC;YACb,IAAI,EAAE,oBAAoB,CAAC,CAAC,CAAC,kBAAkB,CAAC,CAAC,CAAC,QAAQ,CAAC,MAAM,IAAI,GAAG,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,iBAAiB;YAC7G,OAAO,EAAE,iBAAiB,IAAI,SAAS,CAAC,KAAK,IAAI,8BAA8B,QAAQ,CAAC,MAAM,EAAE;YAChG,OAAO,EAAE,SAAS,CAAC,OAAO;SAC3B,CAAC,CAAA;IACJ,CAAC;IAED,wCAAwC;IACxC,MAAM,IAAI,GAAG,CAAC,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAiB,CAAA;IAEpD,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;QACf,OAAO,OAAO,CAAC;YACb,IAAI,EAAE,kBAAkB;YACxB,OAAO,EAAE,8BAA8B;SACxC,CAAC,CAAA;IACJ,CAAC;IAED,OAAO,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;AAC3B,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,oBAAoB,CAAC,MAA4B;IACrE,OAAO,SAAS,CAAe,iBAAiB,EAAE,EAAE,MAAM,EAAE,CAAC,CAAA;AAC/D,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,iBAAiB,CAAC,UAAkB;IACxD,MAAM,MAAM,GAAG,MAAM,SAAS,CAAe,cAAc,EAAE,EAAE,UAAU,EAAE,CAAC,CAAA;IAC5E,IAAI,MAAM,CAAC,KAAK,EAAE,CAAC;QACjB,MAAM,IAAI,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,CAAA;IACvC,CAAC;IACD,OAAO,MAAM,CAAC,IAAI,CAAA;AACpB,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,qBAAqB,CAAC,OAAwB;IAClE,MAAM,MAAM,GAAG,MAAM,SAAS,CAAe,kBAAkB,EAAE,EAAE,OAAO,EAAE,CAAC,CAAA;IAC7E,IAAI,MAAM,CAAC,KAAK,EAAE,CAAC;QACjB,MAAM,IAAI,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,CAAA;IACvC,CAAC;IACD,OAAO,MAAM,CAAC,IAAI,CAAA;AACpB,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,gBAAgB,CAAC,WAAmB,EAAE,UAAkB;IAC5E,IAAI,CAAC,sBAAsB,EAAE,EAAE,CAAC;QAC9B,MAAM,IAAI,KAAK,CAAC,6DAA6D,CAAC,CAAA;IAChF,CAAC;IAED,MAAM,MAAM,GAAG,MAAM,SAAS,CAAkB,aAAa,EAAE,EAAE,WAAW,EAAE,UAAU,EAAE,CAAC,CAAA;IAC3F,IAAI,MAAM,CAAC,KAAK,EAAE,CAAC;QACjB,MAAM,IAAI,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,CAAA;IACvC,CAAC;AACH,CAAC"}
|
|
1
|
+
{"version":3,"file":"client-actions.js","sourceRoot":"","sources":["../src/client-actions.ts"],"names":[],"mappings":"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"}
|
package/dist/client.d.ts
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
export * from './components/Checkout';
|
|
2
2
|
export * from './hooks/useCheckout';
|
|
3
3
|
export * from './hooks/useCheckoutSuccess';
|
|
4
|
+
export * from './hooks/useProducts';
|
|
4
5
|
export * from './providers';
|
|
5
6
|
export type { MdkError, Result } from './types';
|
|
6
7
|
export { failure, success } from './types';
|
package/dist/client.js
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
export * from './components/Checkout';
|
|
2
2
|
export * from './hooks/useCheckout';
|
|
3
3
|
export * from './hooks/useCheckoutSuccess';
|
|
4
|
+
export * from './hooks/useProducts';
|
|
4
5
|
export * from './providers';
|
|
5
6
|
export { failure, success } from './types';
|
|
6
7
|
//# sourceMappingURL=client.js.map
|
package/dist/client.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"client.js","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"AAAA,cAAc,uBAAuB,CAAA;AACrC,cAAc,qBAAqB,CAAA;AACnC,cAAc,4BAA4B,CAAA;AAC1C,cAAc,aAAa,CAAA;AAE3B,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAA"}
|
|
1
|
+
{"version":3,"file":"client.js","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"AAAA,cAAc,uBAAuB,CAAA;AACrC,cAAc,qBAAqB,CAAA;AACnC,cAAc,4BAA4B,CAAA;AAC1C,cAAc,qBAAqB,CAAA;AACnC,cAAc,aAAa,CAAA;AAE3B,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAA"}
|
|
@@ -16,7 +16,13 @@ function CheckoutLayout({ checkout, children }) {
|
|
|
16
16
|
const description = checkout?.userMetadata?.description;
|
|
17
17
|
return (_jsxs("div", { className: "w-fit mx-auto", style: { width: '380px' }, children: [(title || description) && (_jsxs("div", { className: "text-center mb-6", children: [title && (_jsx("h2", { className: "text-2xl font-semibold text-white mb-2 font-sans tracking-tight", children: title })), description && (_jsx("p", { className: "text-gray-300", children: description }))] })), _jsx("div", { className: "bg-gray-800 rounded-2xl p-6 text-white font-sans", children: children }), _jsx("div", { className: "text-center mt-6", children: _jsxs("p", { className: "text-xs text-gray-500 font-sans", children: ["Powered by", ' ', _jsx("a", { href: "https://www.moneydevkit.com", target: "_blank", rel: "noopener noreferrer", className: "text-gray-400 hover:text-white transition-colors underline decoration-gray-600 hover:decoration-white", children: "moneydevkit" })] }) })] }));
|
|
18
18
|
}
|
|
19
|
+
function CheckoutError({ error }) {
|
|
20
|
+
return (_jsx("div", { className: "flex justify-center min-h-screen p-4 pt-8 bg-gradient-to-br from-slate-900 via-gray-900 to-slate-800", children: _jsx("div", { className: "w-full max-w-md", children: _jsxs("div", { className: "w-fit mx-auto", style: { width: '380px' }, children: [_jsx("div", { className: "bg-gray-800 rounded-2xl p-6 text-white font-sans", children: _jsxs("div", { className: "text-center", children: [_jsx("div", { className: "w-16 h-16 mx-auto mb-4 rounded-full bg-red-500/20 flex items-center justify-center", children: _jsx("svg", { className: "w-8 h-8 text-red-500", fill: "none", stroke: "currentColor", viewBox: "0 0 24 24", children: _jsx("path", { strokeLinecap: "round", strokeLinejoin: "round", strokeWidth: 2, d: "M12 9v2m0 4h.01m-6.938 4h13.856c1.54 0 2.502-1.667 1.732-3L13.732 4c-.77-1.333-2.694-1.333-3.464 0L3.34 16c-.77 1.333.192 3 1.732 3z" }) }) }), _jsx("h2", { className: "text-xl font-semibold mb-2", children: "Unable to create checkout" }), _jsx("p", { className: "text-gray-400", children: error.message })] }) }), _jsx("div", { className: "text-center mt-6", children: _jsxs("p", { className: "text-xs text-gray-500 font-sans", children: ["Powered by", ' ', _jsx("a", { href: "https://www.moneydevkit.com", target: "_blank", rel: "noopener noreferrer", className: "text-gray-400 hover:text-white transition-colors underline decoration-gray-600 hover:decoration-white", children: "moneydevkit" })] }) })] }) }) }));
|
|
21
|
+
}
|
|
19
22
|
function CheckoutInternal({ id }) {
|
|
23
|
+
// Track whether we've checked for URL errors after hydration
|
|
24
|
+
const [hasCheckedUrlError, setHasCheckedUrlError] = useState(false);
|
|
25
|
+
const [errorFromUrl, setErrorFromUrl] = useState(null);
|
|
20
26
|
const [isWindowVisible, setIsWindowVisible] = useState(() => {
|
|
21
27
|
if (typeof document === 'undefined') {
|
|
22
28
|
return true;
|
|
@@ -24,6 +30,23 @@ function CheckoutInternal({ id }) {
|
|
|
24
30
|
return document.visibilityState === 'visible';
|
|
25
31
|
});
|
|
26
32
|
const [isRestarting, setIsRestarting] = useState(false);
|
|
33
|
+
// Check for URL errors after mount (to handle SSR hydration correctly)
|
|
34
|
+
useEffect(() => {
|
|
35
|
+
if (typeof window === 'undefined') {
|
|
36
|
+
setHasCheckedUrlError(true);
|
|
37
|
+
return;
|
|
38
|
+
}
|
|
39
|
+
const params = new URLSearchParams(window.location.search);
|
|
40
|
+
const errorCode = params.get('error');
|
|
41
|
+
const errorMessage = params.get('message');
|
|
42
|
+
if (errorCode) {
|
|
43
|
+
setErrorFromUrl({
|
|
44
|
+
code: errorCode,
|
|
45
|
+
message: errorMessage ?? 'An error occurred while creating the checkout.',
|
|
46
|
+
});
|
|
47
|
+
}
|
|
48
|
+
setHasCheckedUrlError(true);
|
|
49
|
+
}, []);
|
|
27
50
|
useEffect(() => {
|
|
28
51
|
if (typeof document === 'undefined' || typeof window === 'undefined') {
|
|
29
52
|
return;
|
|
@@ -44,7 +67,7 @@ function CheckoutInternal({ id }) {
|
|
|
44
67
|
const { data: checkout } = useQuery({
|
|
45
68
|
queryKey: ['mdk-checkout', id],
|
|
46
69
|
queryFn: () => clientGetCheckout(id).then((checkout) => checkout),
|
|
47
|
-
enabled: !!id,
|
|
70
|
+
enabled: !!id && hasCheckedUrlError && !errorFromUrl,
|
|
48
71
|
refetchInterval: ({ state: { data } }) => {
|
|
49
72
|
if (!isWindowVisible) {
|
|
50
73
|
return false;
|
|
@@ -92,6 +115,7 @@ function CheckoutInternal({ id }) {
|
|
|
92
115
|
: '/checkout';
|
|
93
116
|
setIsRestarting(true);
|
|
94
117
|
const result = await clientCreateCheckout({
|
|
118
|
+
type: 'AMOUNT',
|
|
95
119
|
title: checkout.userMetadata?.title || 'Checkout',
|
|
96
120
|
description: checkout.userMetadata?.description || '',
|
|
97
121
|
amount,
|
|
@@ -106,6 +130,17 @@ function CheckoutInternal({ id }) {
|
|
|
106
130
|
}
|
|
107
131
|
window.location.href = `${checkoutPath}/${result.data.id}`;
|
|
108
132
|
}, [checkout]);
|
|
133
|
+
// Show error UI if there was an error from URL-based checkout creation
|
|
134
|
+
if (errorFromUrl) {
|
|
135
|
+
return _jsx(CheckoutError, { error: errorFromUrl });
|
|
136
|
+
}
|
|
137
|
+
// Show error if no checkout ID provided
|
|
138
|
+
if (!id) {
|
|
139
|
+
return (_jsx(CheckoutError, { error: {
|
|
140
|
+
code: 'missing_id',
|
|
141
|
+
message: 'No checkout ID provided.',
|
|
142
|
+
} }));
|
|
143
|
+
}
|
|
109
144
|
if (!checkout) {
|
|
110
145
|
return (_jsx("div", { className: "flex items-center justify-center min-h-screen", children: _jsx("div", { className: "animate-spin rounded-full h-8 w-8 border-b-2 border-white" }) }));
|
|
111
146
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Checkout.js","sourceRoot":"","sources":["../../src/components/Checkout.tsx"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"Checkout.js","sourceRoot":"","sources":["../../src/components/Checkout.tsx"],"names":[],"mappings":"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"}
|
|
@@ -43,6 +43,19 @@ export default function PendingPaymentCheckout({ checkout }) {
|
|
|
43
43
|
const formatSats = (sats) => {
|
|
44
44
|
return new Intl.NumberFormat('en-US').format(sats);
|
|
45
45
|
};
|
|
46
|
+
const formatProductPrice = (price) => {
|
|
47
|
+
if (price.amountType === 'FREE')
|
|
48
|
+
return 'Free';
|
|
49
|
+
if (price.amountType === 'CUSTOM')
|
|
50
|
+
return 'Custom';
|
|
51
|
+
if (price.priceAmount === null)
|
|
52
|
+
return '';
|
|
53
|
+
if (price.currency === 'SAT') {
|
|
54
|
+
return `${formatSats(price.priceAmount)} sats`;
|
|
55
|
+
}
|
|
56
|
+
// USD - stored in cents
|
|
57
|
+
return formatCurrency(price.priceAmount, price.currency);
|
|
58
|
+
};
|
|
46
59
|
const copyToClipboard = async () => {
|
|
47
60
|
// Don't copy real invoice in preview mode
|
|
48
61
|
if (isPreview) {
|
|
@@ -91,7 +104,11 @@ export default function PendingPaymentCheckout({ checkout }) {
|
|
|
91
104
|
}
|
|
92
105
|
}, [checkout.id, invoiceAmountSats, isPreview, paymentHash, queryClient]);
|
|
93
106
|
const CheckmarkIcon = () => (_jsx("svg", { className: "w-4 h-4 text-green-500 cursor-pointer transition-colors", fill: "none", stroke: "currentColor", viewBox: "0 0 24 24", children: _jsx("path", { strokeLinecap: "round", strokeLinejoin: "round", strokeWidth: 2, d: "M5 13l4 4L19 7" }) }));
|
|
94
|
-
|
|
107
|
+
const hasProducts = checkout.products && checkout.products.length > 0;
|
|
108
|
+
return (_jsxs(_Fragment, { children: [_jsxs("div", { className: "text-center mb-6 w-full", children: [_jsx("div", { className: "mb-4 w-full", children: _jsx("div", { className: "text-2xl font-semibold mb-2 font-sans tracking-tight", children: checkout.invoice?.amountSats && `${formatSats(checkout.invoice.amountSats)} sats` }) }), _jsx("div", { className: "w-full", children: _jsxs(Collapsible, { open: detailsOpen, onOpenChange: setDetailsOpen, children: [_jsxs(CollapsibleTrigger, { className: "flex items-center justify-center gap-2 text-gray-400 hover:text-white transition-colors text-sm w-full font-medium", children: ["View Details", _jsx(ChevronDown, { className: `w-4 h-4 transition-transform duration-300 ease-in-out ${detailsOpen ? 'rotate-180' : ''}` })] }), _jsx(CollapsibleContent, { className: "w-full overflow-hidden transition-all duration-300 ease-in-out data-[state=closed]:animate-[collapsible-up_300ms_ease-in-out] data-[state=open]:animate-[collapsible-down_300ms_ease-in-out]", children: _jsxs("div", { className: "mt-4 space-y-3 text-sm w-full", children: [hasProducts && checkout.products.map((product) => {
|
|
109
|
+
const price = product.prices?.[0];
|
|
110
|
+
return (_jsxs("div", { className: "flex justify-between w-full", children: [_jsx("span", { className: "text-gray-400", children: product.name }), _jsx("span", { className: "text-white", children: price && formatProductPrice(price) })] }, product.id));
|
|
111
|
+
}), hasProducts && _jsx("div", { className: "border-t border-gray-600 my-2" }), _jsxs("div", { className: "flex justify-between w-full", children: [_jsx("span", { className: "text-gray-400", children: "Total Fiat" }), _jsx("span", { className: "text-white", children: checkout.invoice?.fiatAmount && checkout.currency &&
|
|
95
112
|
formatCurrency(checkout.invoice.fiatAmount, checkout.currency) })] }), _jsxs("div", { className: "flex justify-between w-full", children: [_jsx("span", { className: "text-gray-400", children: "Exchange Rate" }), _jsx("span", { className: "text-white", children: checkout.invoice?.btcPrice && `$${new Intl.NumberFormat('en-US').format(checkout.invoice.btcPrice)}` })] }), timeRemaining && (_jsxs("div", { className: "flex justify-between w-full", children: [_jsx("span", { className: "text-gray-400", children: "Expires in" }), _jsx("span", { className: "text-white", children: timeRemaining })] }))] }) })] }) })] }), _jsx("div", { className: "flex justify-center mb-4 w-full", children: _jsxs("div", { className: "bg-white p-3 rounded-lg shadow cursor-pointer hover:shadow-lg transition-shadow relative", onClick: copyToClipboard, title: "Click to copy invoice", children: [_jsx(QRCodeSVG, { value: isPreview ? 'SANDBOX_PREVIEW_MODE' : (checkout.invoice?.invoice ?? ''), size: 320, bgColor: "#ffffff", fgColor: "#000000", level: "Q" }), isPreview && (_jsx("div", { className: "absolute inset-0 flex items-center justify-center pointer-events-none", children: _jsx("div", { className: "text-white font-bold text-lg px-4 py-2 rounded transform -rotate-12 shadow-lg", style: { backgroundColor: '#475569', opacity: 0.95 }, children: "SANDBOX" }) }))] }) }), (checkout.invoice?.invoice || isPreview) && (_jsxs("div", { className: "flex items-center gap-2 mb-6 bg-gray-700 p-3 rounded-lg w-full", children: [_jsx("code", { className: "text-xs text-gray-300 font-mono flex-1 text-center min-w-0", children: isPreview
|
|
96
113
|
? truncateInvoice('lnbc1500n1pnxxx...sandbox_invoice...xxxyyyzzz')
|
|
97
114
|
: truncateInvoice(checkout.invoice?.invoice ?? '') }), _jsx("div", { onClick: copyToClipboard, title: "Copy invoice", className: "flex-shrink-0", children: copySuccess ? _jsx(CheckmarkIcon, {}) : _jsx(CopyIcon, {}) })] })), isPreview && paymentHash && invoiceAmountSats && (_jsxs("div", { className: "mt-4 flex justify-center", children: [_jsx(Button, { onClick: handleMarkAsPaid, disabled: markingPaid, className: "bg-gray-700 hover:bg-gray-900 text-gray-300", children: markingPaid ? 'Marking as paid...' : 'Mark as Paid (Sandbox)' }), markPaidError && (_jsx("p", { className: "text-red-400 text-xs text-center mt-2", children: markPaidError }))] }))] }));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PendingPaymentCheckout.js","sourceRoot":"","sources":["../../../src/components/checkout/PendingPaymentCheckout.tsx"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"PendingPaymentCheckout.js","sourceRoot":"","sources":["../../../src/components/checkout/PendingPaymentCheckout.tsx"],"names":[],"mappings":"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"}
|
|
@@ -77,6 +77,6 @@ export default function UnconfirmedCheckout({ checkout }) {
|
|
|
77
77
|
currency,
|
|
78
78
|
}).format(amount / 100);
|
|
79
79
|
};
|
|
80
|
-
return (_jsxs(_Fragment, { children: [_jsxs("div", { className: "text-center mb-6", children: [checkout.type === 'PRODUCTS' && checkout.products && (_jsx("div", { className: "space-y-2", children: checkout.products.map((product) => (_jsxs("div", { className: "text-left", children: [_jsx("h3", { className: "font-medium text-white", children: product.name }), product.description && _jsx("p", { className: "text-sm text-gray-400", children: product.description }), product.prices
|
|
80
|
+
return (_jsxs(_Fragment, { children: [_jsxs("div", { className: "text-center mb-6", children: [checkout.type === 'PRODUCTS' && checkout.products && (_jsx("div", { className: "space-y-2", children: checkout.products.map((product) => (_jsxs("div", { className: "text-left", children: [_jsx("h3", { className: "font-medium text-white", children: product.name }), product.description && _jsx("p", { className: "text-sm text-gray-400", children: product.description }), product.prices?.[0] && (_jsxs("div", { className: "text-sm text-gray-300", children: [product.prices[0].amountType === 'FIXED' && product.prices[0].priceAmount && (_jsx("span", { children: formatCurrency(product.prices[0].priceAmount, checkout.currency) })), product.recurringInterval && (_jsxs("span", { className: "text-gray-400", children: ["/", product.recurringInterval.toLowerCase()] }))] }))] }, product.id))) })), checkout.type === 'AMOUNT' && checkout.providedAmount && (_jsx("div", { className: "text-sm font-medium text-white" })), checkout.type === 'TOP_UP' && _jsx("div", { className: "text-lg text-white", children: "Account Top-up" })] }), _jsx(Form, { ...form, children: _jsxs("form", { onSubmit: form.handleSubmit(onSubmit), className: "space-y-4", children: [missingFields.map((field) => (_jsx(FormField, { control: form.control, name: field, render: ({ field: formField }) => (_jsxs(FormItem, { children: [_jsxs(FormLabel, { className: "text-gray-300", children: [fieldToLabel(field), " *"] }), _jsx(FormControl, { children: _jsx(Input, { ...formField, type: field === 'email' ? 'email' : 'text', placeholder: `Enter your ${fieldToLabel(field).toLowerCase()}`, className: "bg-gray-700 border-gray-600 focus:ring-purple-500 focus:border-purple-500 text-white placeholder-gray-400" }) }), _jsx(FormMessage, {})] })) }, field))), form.formState.errors.root && (_jsxs("div", { className: "text-red-400 text-sm", children: ["Error: ", form.formState.errors.root.message] })), _jsx(Button, { type: "submit", disabled: form.formState.isSubmitting || confirmMutation.isPending, className: "w-full bg-white hover:bg-gray-100 text-black font-medium py-3 px-4 rounded-lg transition-colors border border-gray-200", children: form.formState.isSubmitting || confirmMutation.isPending ? (_jsxs("div", { className: "flex items-center justify-center", children: [_jsx("div", { className: "animate-spin rounded-full h-4 w-4 border-b-2 border-white mr-2" }), "Generating invoice..."] })) : ('Proceed to Payment') })] }) })] }));
|
|
81
81
|
}
|
|
82
82
|
//# sourceMappingURL=UnconfirmedCheckout.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"UnconfirmedCheckout.js","sourceRoot":"","sources":["../../../src/components/checkout/UnconfirmedCheckout.tsx"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"UnconfirmedCheckout.js","sourceRoot":"","sources":["../../../src/components/checkout/UnconfirmedCheckout.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1,3 +1,55 @@
|
|
|
1
|
+
import type { CreateCheckoutParams } from '../actions';
|
|
1
2
|
export declare function handleCreateCheckout(request: Request): Promise<Response>;
|
|
2
3
|
export declare function handleGetCheckout(request: Request): Promise<Response>;
|
|
3
4
|
export declare function handleConfirmCheckout(request: Request): Promise<Response>;
|
|
5
|
+
export interface CreateCheckoutUrlOptions {
|
|
6
|
+
basePath?: string;
|
|
7
|
+
}
|
|
8
|
+
/**
|
|
9
|
+
* Generate a signed checkout URL for URL-based checkout creation.
|
|
10
|
+
* All params are HMAC-signed using MDK_ACCESS_TOKEN to prevent tampering.
|
|
11
|
+
*
|
|
12
|
+
* @example
|
|
13
|
+
* const url = createCheckoutUrl({
|
|
14
|
+
* title: 'Product',
|
|
15
|
+
* description: 'Payment for product',
|
|
16
|
+
* amount: 2999,
|
|
17
|
+
* currency: 'USD',
|
|
18
|
+
* })
|
|
19
|
+
* // Returns: /api/mdk?action=createCheckout&amount=2999&...&signature=abc123
|
|
20
|
+
*/
|
|
21
|
+
export declare function createCheckoutUrl(params: CreateCheckoutParams, options?: CreateCheckoutUrlOptions): string;
|
|
22
|
+
/**
|
|
23
|
+
* Verify the HMAC signature of checkout URL params.
|
|
24
|
+
* Uses constant-time comparison to prevent timing attacks.
|
|
25
|
+
*/
|
|
26
|
+
export declare function verifyCheckoutSignature(params: URLSearchParams, signature: string): boolean;
|
|
27
|
+
/**
|
|
28
|
+
* Parse URL query params into checkout params.
|
|
29
|
+
* Handles JSON parsing for nested objects (metadata, customer, requireCustomerData).
|
|
30
|
+
*/
|
|
31
|
+
export declare function parseCheckoutQueryParams(params: URLSearchParams): Record<string, unknown>;
|
|
32
|
+
/**
|
|
33
|
+
* Validates and sanitizes checkoutPath to prevent open redirect attacks.
|
|
34
|
+
* Returns a safe relative path or the default '/checkout'.
|
|
35
|
+
*
|
|
36
|
+
* Security considerations:
|
|
37
|
+
* - Must start with / (relative path)
|
|
38
|
+
* - Must not contain :// or // (prevents protocol-relative URLs and absolute URLs)
|
|
39
|
+
*/
|
|
40
|
+
export declare function sanitizeCheckoutPath(checkoutPath: string | null): string;
|
|
41
|
+
/**
|
|
42
|
+
* Create a checkout from parsed query params.
|
|
43
|
+
* Validates against the same schema as handleCreateCheckout.
|
|
44
|
+
*/
|
|
45
|
+
export declare function handleCreateCheckoutFromUrl(params: Record<string, unknown>): Promise<{
|
|
46
|
+
error: {
|
|
47
|
+
code: string;
|
|
48
|
+
message: string;
|
|
49
|
+
};
|
|
50
|
+
} | {
|
|
51
|
+
data: {
|
|
52
|
+
id: string;
|
|
53
|
+
checkoutPath: string;
|
|
54
|
+
};
|
|
55
|
+
}>;
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { createHmac, timingSafeEqual } from 'crypto';
|
|
1
2
|
import { z } from 'zod';
|
|
2
3
|
import { confirmCheckout, createCheckout, getCheckout } from '../actions';
|
|
3
4
|
import { validateMetadata } from '@moneydevkit/api-contract';
|
|
@@ -10,10 +11,7 @@ const customerInputSchema = z.object({
|
|
|
10
11
|
email: z.string().email().optional().or(z.literal('')),
|
|
11
12
|
externalId: z.string().optional(),
|
|
12
13
|
}).catchall(z.string());
|
|
13
|
-
const
|
|
14
|
-
title: z.string(),
|
|
15
|
-
description: z.string(),
|
|
16
|
-
amount: z.number(),
|
|
14
|
+
const commonCheckoutFields = {
|
|
17
15
|
currency: z.enum(['USD', 'SAT']).optional(),
|
|
18
16
|
successUrl: z.string().optional(),
|
|
19
17
|
checkoutPath: z.string().optional(),
|
|
@@ -32,7 +30,24 @@ const createCheckoutSchema = z.object({
|
|
|
32
30
|
}),
|
|
33
31
|
customer: customerInputSchema.optional(),
|
|
34
32
|
requireCustomerData: z.array(z.string()).optional(),
|
|
33
|
+
};
|
|
34
|
+
const amountCheckoutSchema = z.object({
|
|
35
|
+
type: z.literal('AMOUNT'),
|
|
36
|
+
amount: z.number(),
|
|
37
|
+
title: z.string().optional(),
|
|
38
|
+
description: z.string().optional(),
|
|
39
|
+
...commonCheckoutFields,
|
|
40
|
+
});
|
|
41
|
+
const productsCheckoutSchema = z.object({
|
|
42
|
+
type: z.literal('PRODUCTS'),
|
|
43
|
+
products: z.array(z.string()),
|
|
44
|
+
productId: z.string().optional(),
|
|
45
|
+
...commonCheckoutFields,
|
|
35
46
|
});
|
|
47
|
+
const createCheckoutSchema = z.discriminatedUnion('type', [
|
|
48
|
+
amountCheckoutSchema,
|
|
49
|
+
productsCheckoutSchema,
|
|
50
|
+
]);
|
|
36
51
|
const confirmCheckoutSchema = z.object({
|
|
37
52
|
checkoutId: z.string(),
|
|
38
53
|
customer: customerInputSchema.optional(),
|
|
@@ -108,4 +123,173 @@ export async function handleConfirmCheckout(request) {
|
|
|
108
123
|
return jsonResponse(500, { error: 'Failed to confirm checkout' });
|
|
109
124
|
}
|
|
110
125
|
}
|
|
126
|
+
/**
|
|
127
|
+
* Generate a signed checkout URL for URL-based checkout creation.
|
|
128
|
+
* All params are HMAC-signed using MDK_ACCESS_TOKEN to prevent tampering.
|
|
129
|
+
*
|
|
130
|
+
* @example
|
|
131
|
+
* const url = createCheckoutUrl({
|
|
132
|
+
* title: 'Product',
|
|
133
|
+
* description: 'Payment for product',
|
|
134
|
+
* amount: 2999,
|
|
135
|
+
* currency: 'USD',
|
|
136
|
+
* })
|
|
137
|
+
* // Returns: /api/mdk?action=createCheckout&amount=2999&...&signature=abc123
|
|
138
|
+
*/
|
|
139
|
+
export function createCheckoutUrl(params, options) {
|
|
140
|
+
const basePath = options?.basePath ?? '/api/mdk';
|
|
141
|
+
const accessToken = process.env.MDK_ACCESS_TOKEN;
|
|
142
|
+
if (!accessToken) {
|
|
143
|
+
throw new Error('MDK_ACCESS_TOKEN is required for creating checkout URLs');
|
|
144
|
+
}
|
|
145
|
+
// Build URL params
|
|
146
|
+
const urlParams = new URLSearchParams();
|
|
147
|
+
urlParams.set('action', 'createCheckout');
|
|
148
|
+
// Add all params, JSON-stringify objects
|
|
149
|
+
for (const [key, value] of Object.entries(params)) {
|
|
150
|
+
if (value === undefined)
|
|
151
|
+
continue;
|
|
152
|
+
if (typeof value === 'object' && value !== null) {
|
|
153
|
+
urlParams.set(key, JSON.stringify(value));
|
|
154
|
+
}
|
|
155
|
+
else {
|
|
156
|
+
urlParams.set(key, String(value));
|
|
157
|
+
}
|
|
158
|
+
}
|
|
159
|
+
// Sort params alphabetically for consistent signature
|
|
160
|
+
urlParams.sort();
|
|
161
|
+
const canonicalString = urlParams.toString();
|
|
162
|
+
// Compute HMAC-SHA256 signature
|
|
163
|
+
const signature = createHmac('sha256', accessToken)
|
|
164
|
+
.update(canonicalString)
|
|
165
|
+
.digest('hex');
|
|
166
|
+
urlParams.set('signature', signature);
|
|
167
|
+
return `${basePath}?${urlParams.toString()}`;
|
|
168
|
+
}
|
|
169
|
+
/**
|
|
170
|
+
* Verify the HMAC signature of checkout URL params.
|
|
171
|
+
* Uses constant-time comparison to prevent timing attacks.
|
|
172
|
+
*/
|
|
173
|
+
export function verifyCheckoutSignature(params, signature) {
|
|
174
|
+
const accessToken = process.env.MDK_ACCESS_TOKEN;
|
|
175
|
+
if (!accessToken)
|
|
176
|
+
return false;
|
|
177
|
+
// Clone params and remove signature for verification
|
|
178
|
+
const paramsToVerify = new URLSearchParams(params);
|
|
179
|
+
paramsToVerify.delete('signature');
|
|
180
|
+
paramsToVerify.sort();
|
|
181
|
+
const canonicalString = paramsToVerify.toString();
|
|
182
|
+
const expectedSignature = createHmac('sha256', accessToken)
|
|
183
|
+
.update(canonicalString)
|
|
184
|
+
.digest('hex');
|
|
185
|
+
// Constant-time comparison to prevent timing attacks
|
|
186
|
+
try {
|
|
187
|
+
const sigBuffer = Buffer.from(signature, 'hex');
|
|
188
|
+
const expectedBuffer = Buffer.from(expectedSignature, 'hex');
|
|
189
|
+
if (sigBuffer.length !== expectedBuffer.length) {
|
|
190
|
+
return false;
|
|
191
|
+
}
|
|
192
|
+
return timingSafeEqual(sigBuffer, expectedBuffer);
|
|
193
|
+
}
|
|
194
|
+
catch {
|
|
195
|
+
return false;
|
|
196
|
+
}
|
|
197
|
+
}
|
|
198
|
+
/**
|
|
199
|
+
* Parse URL query params into checkout params.
|
|
200
|
+
* Handles JSON parsing for nested objects (metadata, customer, requireCustomerData).
|
|
201
|
+
*/
|
|
202
|
+
export function parseCheckoutQueryParams(params) {
|
|
203
|
+
const raw = {};
|
|
204
|
+
for (const [key, value] of params) {
|
|
205
|
+
// Skip action and signature - they're not checkout params
|
|
206
|
+
if (key === 'action' || key === 'signature')
|
|
207
|
+
continue;
|
|
208
|
+
// JSON parse for objects/arrays
|
|
209
|
+
if (key === 'metadata' || key === 'customer' || key === 'requireCustomerData' || key === 'products') {
|
|
210
|
+
try {
|
|
211
|
+
raw[key] = JSON.parse(value);
|
|
212
|
+
}
|
|
213
|
+
catch {
|
|
214
|
+
// If JSON parsing fails, keep as string
|
|
215
|
+
raw[key] = value;
|
|
216
|
+
}
|
|
217
|
+
}
|
|
218
|
+
else if (key === 'amount') {
|
|
219
|
+
// Parse amount as number
|
|
220
|
+
raw[key] = Number(value);
|
|
221
|
+
}
|
|
222
|
+
else {
|
|
223
|
+
raw[key] = value;
|
|
224
|
+
}
|
|
225
|
+
}
|
|
226
|
+
return raw;
|
|
227
|
+
}
|
|
228
|
+
/**
|
|
229
|
+
* Validates and sanitizes checkoutPath to prevent open redirect attacks.
|
|
230
|
+
* Returns a safe relative path or the default '/checkout'.
|
|
231
|
+
*
|
|
232
|
+
* Security considerations:
|
|
233
|
+
* - Must start with / (relative path)
|
|
234
|
+
* - Must not contain :// or // (prevents protocol-relative URLs and absolute URLs)
|
|
235
|
+
*/
|
|
236
|
+
export function sanitizeCheckoutPath(checkoutPath) {
|
|
237
|
+
const defaultPath = '/checkout';
|
|
238
|
+
if (!checkoutPath) {
|
|
239
|
+
return defaultPath;
|
|
240
|
+
}
|
|
241
|
+
// Must start with / (relative path)
|
|
242
|
+
if (!checkoutPath.startsWith('/')) {
|
|
243
|
+
return defaultPath;
|
|
244
|
+
}
|
|
245
|
+
// Must not contain :// or // (prevents protocol-relative URLs and absolute URLs)
|
|
246
|
+
if (checkoutPath.includes('://') || checkoutPath.includes('//')) {
|
|
247
|
+
return defaultPath;
|
|
248
|
+
}
|
|
249
|
+
// Strip query string and hash - they would break URL construction when appending /{id}
|
|
250
|
+
// e.g., /checkout?foo=bar + /abc123 would become /checkout?foo=bar/abc123 (broken)
|
|
251
|
+
const queryIndex = checkoutPath.indexOf('?');
|
|
252
|
+
const hashIndex = checkoutPath.indexOf('#');
|
|
253
|
+
let endIndex = checkoutPath.length;
|
|
254
|
+
if (queryIndex !== -1)
|
|
255
|
+
endIndex = Math.min(endIndex, queryIndex);
|
|
256
|
+
if (hashIndex !== -1)
|
|
257
|
+
endIndex = Math.min(endIndex, hashIndex);
|
|
258
|
+
return checkoutPath.slice(0, endIndex);
|
|
259
|
+
}
|
|
260
|
+
/**
|
|
261
|
+
* Create a checkout from parsed query params.
|
|
262
|
+
* Validates against the same schema as handleCreateCheckout.
|
|
263
|
+
*/
|
|
264
|
+
export async function handleCreateCheckoutFromUrl(params) {
|
|
265
|
+
// Infer type if not provided - the schema requires it for discriminated union
|
|
266
|
+
if (!params.type) {
|
|
267
|
+
params.type = params.products ? 'PRODUCTS' : 'AMOUNT';
|
|
268
|
+
}
|
|
269
|
+
const parsed = createCheckoutSchema.safeParse(params);
|
|
270
|
+
if (!parsed.success) {
|
|
271
|
+
const firstError = parsed.error.issues[0];
|
|
272
|
+
return {
|
|
273
|
+
error: {
|
|
274
|
+
code: 'validation_error',
|
|
275
|
+
message: firstError?.message ?? 'Invalid checkout parameters',
|
|
276
|
+
},
|
|
277
|
+
};
|
|
278
|
+
}
|
|
279
|
+
const result = await createCheckout(parsed.data);
|
|
280
|
+
if (result.error) {
|
|
281
|
+
return {
|
|
282
|
+
error: {
|
|
283
|
+
code: result.error.code,
|
|
284
|
+
message: result.error.message,
|
|
285
|
+
},
|
|
286
|
+
};
|
|
287
|
+
}
|
|
288
|
+
return {
|
|
289
|
+
data: {
|
|
290
|
+
id: result.data.checkout.id,
|
|
291
|
+
checkoutPath: parsed.data.checkoutPath ?? '/checkout',
|
|
292
|
+
},
|
|
293
|
+
};
|
|
294
|
+
}
|
|
111
295
|
//# sourceMappingURL=checkout.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"checkout.js","sourceRoot":"","sources":["../../src/handlers/checkout.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AAEvB,OAAO,EAAE,eAAe,EAAE,cAAc,EAAE,WAAW,EAAE,MAAM,YAAY,CAAA;
|
|
1
|
+
{"version":3,"file":"checkout.js","sourceRoot":"","sources":["../../src/handlers/checkout.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare function handleListProducts(_request: Request): Promise<Response>;
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { listProducts } from '../actions';
|
|
2
|
+
function jsonResponse(status, body) {
|
|
3
|
+
return new Response(JSON.stringify(body), {
|
|
4
|
+
status,
|
|
5
|
+
headers: { 'content-type': 'application/json' },
|
|
6
|
+
});
|
|
7
|
+
}
|
|
8
|
+
export async function handleListProducts(_request) {
|
|
9
|
+
try {
|
|
10
|
+
const products = await listProducts();
|
|
11
|
+
return jsonResponse(200, { data: { products } });
|
|
12
|
+
}
|
|
13
|
+
catch (error) {
|
|
14
|
+
console.error(error);
|
|
15
|
+
return jsonResponse(500, { error: 'Failed to list products' });
|
|
16
|
+
}
|
|
17
|
+
}
|
|
18
|
+
//# sourceMappingURL=products.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"products.js","sourceRoot":"","sources":["../../src/handlers/products.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,YAAY,CAAA;AAEzC,SAAS,YAAY,CAAC,MAAc,EAAE,IAA6B;IACjE,OAAO,IAAI,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE;QACxC,MAAM;QACN,OAAO,EAAE,EAAE,cAAc,EAAE,kBAAkB,EAAE;KAChD,CAAC,CAAA;AACJ,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,kBAAkB,CAAC,QAAiB;IACxD,IAAI,CAAC;QACH,MAAM,QAAQ,GAAG,MAAM,YAAY,EAAE,CAAA;QACrC,OAAO,YAAY,CAAC,GAAG,EAAE,EAAE,IAAI,EAAE,EAAE,QAAQ,EAAE,EAAE,CAAC,CAAA;IAClD,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,CAAA;QACpB,OAAO,YAAY,CAAC,GAAG,EAAE,EAAE,KAAK,EAAE,yBAAyB,EAAE,CAAC,CAAA;IAChE,CAAC;AACH,CAAC"}
|
|
@@ -1,5 +1,23 @@
|
|
|
1
1
|
import type { CreateCheckoutParams } from '../actions';
|
|
2
2
|
import type { MdkError, Result } from '../types';
|
|
3
|
+
/**
|
|
4
|
+
* Hook for creating checkout sessions.
|
|
5
|
+
*
|
|
6
|
+
* @example
|
|
7
|
+
* ```tsx
|
|
8
|
+
* const { createCheckout } = useCheckout()
|
|
9
|
+
*
|
|
10
|
+
* // Amount-based checkout (donations, tips)
|
|
11
|
+
* await createCheckout({ type: 'AMOUNT', amount: 1000, title: 'Donation' })
|
|
12
|
+
*
|
|
13
|
+
* // Product checkout
|
|
14
|
+
* await createCheckout({ type: 'PRODUCTS', products: ['prod_123'] })
|
|
15
|
+
*
|
|
16
|
+
* // With useProducts hook
|
|
17
|
+
* const { products } = useProducts()
|
|
18
|
+
* await createCheckout({ type: 'PRODUCTS', products: [products[0].id] })
|
|
19
|
+
* ```
|
|
20
|
+
*/
|
|
3
21
|
export declare function useCheckout(): {
|
|
4
22
|
/** Create a checkout and return the URL. Does not redirect automatically. */
|
|
5
23
|
createCheckout: (params: CreateCheckoutParams) => Promise<Result<{
|
|
@@ -2,6 +2,24 @@ import { useCallback, useState } from 'react';
|
|
|
2
2
|
import { clientCreateCheckout } from '../client-actions';
|
|
3
3
|
import { log } from '../logging';
|
|
4
4
|
import { failure, success } from '../types';
|
|
5
|
+
/**
|
|
6
|
+
* Hook for creating checkout sessions.
|
|
7
|
+
*
|
|
8
|
+
* @example
|
|
9
|
+
* ```tsx
|
|
10
|
+
* const { createCheckout } = useCheckout()
|
|
11
|
+
*
|
|
12
|
+
* // Amount-based checkout (donations, tips)
|
|
13
|
+
* await createCheckout({ type: 'AMOUNT', amount: 1000, title: 'Donation' })
|
|
14
|
+
*
|
|
15
|
+
* // Product checkout
|
|
16
|
+
* await createCheckout({ type: 'PRODUCTS', products: ['prod_123'] })
|
|
17
|
+
*
|
|
18
|
+
* // With useProducts hook
|
|
19
|
+
* const { products } = useProducts()
|
|
20
|
+
* await createCheckout({ type: 'PRODUCTS', products: [products[0].id] })
|
|
21
|
+
* ```
|
|
22
|
+
*/
|
|
5
23
|
export function useCheckout() {
|
|
6
24
|
const [isLoading, setIsLoading] = useState(false);
|
|
7
25
|
const [error, setError] = useState(null);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useCheckout.js","sourceRoot":"","sources":["../../src/hooks/useCheckout.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAA;AAE7C,OAAO,EAAE,oBAAoB,EAAE,MAAM,mBAAmB,CAAA;AACxD,OAAO,EAAE,GAAG,EAAE,MAAM,YAAY,CAAA;AAChC,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,UAAU,CAAA;AAG3C,MAAM,UAAU,WAAW;IACzB,MAAM,CAAC,SAAS,EAAE,YAAY,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAA;IACjD,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG,QAAQ,CAAkB,IAAI,CAAC,CAAA;IAEzD,MAAM,cAAc,GAAG,WAAW,CAAC,KAAK,EAAE,MAA4B,EAA4C,EAAE;QAClH,YAAY,CAAC,IAAI,CAAC,CAAA;QAClB,QAAQ,CAAC,IAAI,CAAC,CAAA;QAEd,MAAM,MAAM,GAAG,MAAM,oBAAoB,CAAC,MAAM,CAAC,CAAA;QAEjD,YAAY,CAAC,KAAK,CAAC,CAAA;QAEnB,IAAI,MAAM,CAAC,KAAK,EAAE,CAAC;YACjB,QAAQ,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA;YACtB,OAAO,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA;QAC9B,CAAC;QAED,MAAM,YAAY,GAAG,MAAM,CAAC,YAAY,IAAI,WAAW,CAAA;QACvD,MAAM,WAAW,GAAG,GAAG,YAAY,IAAI,MAAM,CAAC,IAAI,CAAC,EAAE,EAAE,CAAA;QAEvD,OAAO,OAAO,CAAC,EAAE,WAAW,EAAE,CAAC,CAAA;IACjC,CAAC,EAAE,EAAE,CAAC,CAAA;IAEN;;;OAGG;IACH,MAAM,QAAQ,GAAG,WAAW,CAAC,KAAK,EAAE,MAA4B,EAAiB,EAAE;QACjF,MAAM,MAAM,GAAG,MAAM,cAAc,CAAC,MAAM,CAAC,CAAA;QAC3C,IAAI,MAAM,CAAC,KAAK,EAAE,CAAC;YACjB,GAAG,CAAC,4BAA4B,EAAE,MAAM,CAAC,KAAK,CAAC,CAAA;YAC/C,OAAM;QACR,CAAC;QACD,MAAM,CAAC,QAAQ,CAAC,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,WAAW,CAAA;IAChD,CAAC,EAAE,CAAC,cAAc,CAAC,CAAC,CAAA;IAEpB,OAAO;QACL,6EAA6E;QAC7E,cAAc;QACd;;WAEG;QACH,QAAQ;QACR,kDAAkD;QAClD,SAAS;QACT;;WAEG;QACH,YAAY,EAAE,SAAS;QACvB,2CAA2C;QAC3C,KAAK;KACN,CAAA;AACH,CAAC"}
|
|
1
|
+
{"version":3,"file":"useCheckout.js","sourceRoot":"","sources":["../../src/hooks/useCheckout.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAA;AAE7C,OAAO,EAAE,oBAAoB,EAAE,MAAM,mBAAmB,CAAA;AACxD,OAAO,EAAE,GAAG,EAAE,MAAM,YAAY,CAAA;AAChC,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,UAAU,CAAA;AAG3C;;;;;;;;;;;;;;;;;GAiBG;AACH,MAAM,UAAU,WAAW;IACzB,MAAM,CAAC,SAAS,EAAE,YAAY,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAA;IACjD,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG,QAAQ,CAAkB,IAAI,CAAC,CAAA;IAEzD,MAAM,cAAc,GAAG,WAAW,CAAC,KAAK,EAAE,MAA4B,EAA4C,EAAE;QAClH,YAAY,CAAC,IAAI,CAAC,CAAA;QAClB,QAAQ,CAAC,IAAI,CAAC,CAAA;QAEd,MAAM,MAAM,GAAG,MAAM,oBAAoB,CAAC,MAAM,CAAC,CAAA;QAEjD,YAAY,CAAC,KAAK,CAAC,CAAA;QAEnB,IAAI,MAAM,CAAC,KAAK,EAAE,CAAC;YACjB,QAAQ,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA;YACtB,OAAO,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA;QAC9B,CAAC;QAED,MAAM,YAAY,GAAG,MAAM,CAAC,YAAY,IAAI,WAAW,CAAA;QACvD,MAAM,WAAW,GAAG,GAAG,YAAY,IAAI,MAAM,CAAC,IAAI,CAAC,EAAE,EAAE,CAAA;QAEvD,OAAO,OAAO,CAAC,EAAE,WAAW,EAAE,CAAC,CAAA;IACjC,CAAC,EAAE,EAAE,CAAC,CAAA;IAEN;;;OAGG;IACH,MAAM,QAAQ,GAAG,WAAW,CAAC,KAAK,EAAE,MAA4B,EAAiB,EAAE;QACjF,MAAM,MAAM,GAAG,MAAM,cAAc,CAAC,MAAM,CAAC,CAAA;QAC3C,IAAI,MAAM,CAAC,KAAK,EAAE,CAAC;YACjB,GAAG,CAAC,4BAA4B,EAAE,MAAM,CAAC,KAAK,CAAC,CAAA;YAC/C,OAAM;QACR,CAAC;QACD,MAAM,CAAC,QAAQ,CAAC,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,WAAW,CAAA;IAChD,CAAC,EAAE,CAAC,cAAc,CAAC,CAAC,CAAA;IAEpB,OAAO;QACL,6EAA6E;QAC7E,cAAc;QACd;;WAEG;QACH,QAAQ;QACR,kDAAkD;QAClD,SAAS;QACT;;WAEG;QACH,YAAY,EAAE,SAAS;QACvB,2CAA2C;QAC3C,KAAK;KACN,CAAA;AACH,CAAC"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
export declare function useProducts(): {
|
|
2
|
+
products: {
|
|
3
|
+
name: string;
|
|
4
|
+
id: string;
|
|
5
|
+
description: string | null;
|
|
6
|
+
recurringInterval: "MONTH" | "QUARTER" | "YEAR" | null;
|
|
7
|
+
prices: {
|
|
8
|
+
currency: "USD" | "SAT";
|
|
9
|
+
priceAmount: number | null;
|
|
10
|
+
id: string;
|
|
11
|
+
amountType: "FIXED" | "CUSTOM" | "FREE";
|
|
12
|
+
}[];
|
|
13
|
+
}[];
|
|
14
|
+
isLoading: boolean;
|
|
15
|
+
error: Error | null;
|
|
16
|
+
refetch: () => Promise<void>;
|
|
17
|
+
};
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
import { useCallback, useEffect, useState } from 'react';
|
|
2
|
+
import { clientListProducts } from '../client-actions';
|
|
3
|
+
import { log } from '../logging';
|
|
4
|
+
export function useProducts() {
|
|
5
|
+
const [products, setProducts] = useState([]);
|
|
6
|
+
const [isLoading, setIsLoading] = useState(true);
|
|
7
|
+
const [error, setError] = useState(null);
|
|
8
|
+
const fetchProducts = useCallback(async () => {
|
|
9
|
+
try {
|
|
10
|
+
setIsLoading(true);
|
|
11
|
+
setError(null);
|
|
12
|
+
const result = await clientListProducts();
|
|
13
|
+
setProducts(result);
|
|
14
|
+
}
|
|
15
|
+
catch (err) {
|
|
16
|
+
const error = err instanceof Error ? err : new Error('Failed to fetch products');
|
|
17
|
+
log('Products fetch error:', error);
|
|
18
|
+
setError(error);
|
|
19
|
+
}
|
|
20
|
+
finally {
|
|
21
|
+
setIsLoading(false);
|
|
22
|
+
}
|
|
23
|
+
}, []);
|
|
24
|
+
useEffect(() => {
|
|
25
|
+
fetchProducts();
|
|
26
|
+
}, [fetchProducts]);
|
|
27
|
+
return {
|
|
28
|
+
products,
|
|
29
|
+
isLoading,
|
|
30
|
+
error,
|
|
31
|
+
refetch: fetchProducts,
|
|
32
|
+
};
|
|
33
|
+
}
|
|
34
|
+
//# sourceMappingURL=useProducts.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useProducts.js","sourceRoot":"","sources":["../../src/hooks/useProducts.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAA;AAExD,OAAO,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAA;AACtD,OAAO,EAAE,GAAG,EAAE,MAAM,YAAY,CAAA;AAEhC,MAAM,UAAU,WAAW;IACzB,MAAM,CAAC,QAAQ,EAAE,WAAW,CAAC,GAAG,QAAQ,CAAY,EAAE,CAAC,CAAA;IACvD,MAAM,CAAC,SAAS,EAAE,YAAY,CAAC,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAA;IAChD,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG,QAAQ,CAAe,IAAI,CAAC,CAAA;IAEtD,MAAM,aAAa,GAAG,WAAW,CAAC,KAAK,IAAI,EAAE;QAC3C,IAAI,CAAC;YACH,YAAY,CAAC,IAAI,CAAC,CAAA;YAClB,QAAQ,CAAC,IAAI,CAAC,CAAA;YACd,MAAM,MAAM,GAAG,MAAM,kBAAkB,EAAE,CAAA;YACzC,WAAW,CAAC,MAAM,CAAC,CAAA;QACrB,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,MAAM,KAAK,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,0BAA0B,CAAC,CAAA;YAChF,GAAG,CAAC,uBAAuB,EAAE,KAAK,CAAC,CAAA;YACnC,QAAQ,CAAC,KAAK,CAAC,CAAA;QACjB,CAAC;gBAAS,CAAC;YACT,YAAY,CAAC,KAAK,CAAC,CAAA;QACrB,CAAC;IACH,CAAC,EAAE,EAAE,CAAC,CAAA;IAEN,SAAS,CAAC,GAAG,EAAE;QACb,aAAa,EAAE,CAAA;IACjB,CAAC,EAAE,CAAC,aAAa,CAAC,CAAC,CAAA;IAEnB,OAAO;QACL,QAAQ;QACR,SAAS;QACT,KAAK;QACL,OAAO,EAAE,aAAa;KACvB,CAAA;AACH,CAAC"}
|
package/dist/mdk-client.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { Checkout, CreateCheckout, ConfirmCheckout, RegisterInvoice, PaymentReceived } from '@moneydevkit/api-contract';
|
|
1
|
+
import { Checkout, CreateCheckout, ConfirmCheckout, RegisterInvoice, PaymentReceived, Product } from '@moneydevkit/api-contract';
|
|
2
2
|
export type MoneyDevKitClientOptions = {
|
|
3
3
|
accessToken: string;
|
|
4
4
|
baseUrl: string;
|
|
@@ -17,4 +17,9 @@ export declare class MoneyDevKitClient {
|
|
|
17
17
|
ok: boolean;
|
|
18
18
|
}>;
|
|
19
19
|
};
|
|
20
|
+
get products(): {
|
|
21
|
+
list: () => Promise<{
|
|
22
|
+
products: Product[];
|
|
23
|
+
}>;
|
|
24
|
+
};
|
|
20
25
|
}
|
package/dist/mdk-client.js
CHANGED
package/dist/mdk-client.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mdk-client.js","sourceRoot":"","sources":["../src/mdk-client.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAA;AAC/C,OAAO,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAA;AAU5C,MAAM,OAAO,iBAAiB;IACpB,MAAM,CAAuC;IAErD,YAAY,OAAiC;QAC3C,MAAM,IAAI,GAAG,IAAI,OAAO,CAAC;YACvB,GAAG,EAAE,OAAO,CAAC,OAAO;YACpB,OAAO,EAAE,GAAG,EAAE,CAAC,CAAC;gBACd,WAAW,EAAE,OAAO,CAAC,WAAW;aACjC,CAAC;SACH,CAAC,CAAA;QAEF,IAAI,CAAC,MAAM,GAAG,gBAAgB,CAAC,IAAI,CAAC,CAAA;IACtC,CAAC;IAED,IAAI,SAAS;QACX,OAAO;YACL,GAAG,EAAE,KAAK,EAAE,MAAsB,EAAqB,EAAE;gBACvD,OAAO,MAAM,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,MAAM,CAAC,CAAA;YAC/C,CAAC;YACD,MAAM,EAAE,KAAK,EACX,MAAsC,EACtC,MAAc,EACK,EAAE;gBACrB,OAAO,MAAM,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC;oBACvC,GAAG,MAAM;oBACT,MAAM;iBACP,CAAC,CAAA;YACJ,CAAC;YACD,OAAO,EAAE,KAAK,EAAE,MAAuB,EAAqB,EAAE;gBAC5D,OAAO,MAAM,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,MAAM,CAAC,CAAA;YACnD,CAAC;YACD,eAAe,EAAE,KAAK,EAAE,MAAuB,EAAqB,EAAE;gBACpE,OAAO,MAAM,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,eAAe,CAAC,MAAM,CAAC,CAAA;YAC3D,CAAC;YACD,eAAe,EAAE,KAAK,EAAE,MAAuB,EAA4B,EAAE;gBAC3E,OAAO,MAAM,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,eAAe,CAAC,MAAM,CAAC,CAAA;YAC3D,CAAC;SACF,CAAA;IACH,CAAC;CACF"}
|
|
1
|
+
{"version":3,"file":"mdk-client.js","sourceRoot":"","sources":["../src/mdk-client.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAA;AAC/C,OAAO,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAA;AAU5C,MAAM,OAAO,iBAAiB;IACpB,MAAM,CAAuC;IAErD,YAAY,OAAiC;QAC3C,MAAM,IAAI,GAAG,IAAI,OAAO,CAAC;YACvB,GAAG,EAAE,OAAO,CAAC,OAAO;YACpB,OAAO,EAAE,GAAG,EAAE,CAAC,CAAC;gBACd,WAAW,EAAE,OAAO,CAAC,WAAW;aACjC,CAAC;SACH,CAAC,CAAA;QAEF,IAAI,CAAC,MAAM,GAAG,gBAAgB,CAAC,IAAI,CAAC,CAAA;IACtC,CAAC;IAED,IAAI,SAAS;QACX,OAAO;YACL,GAAG,EAAE,KAAK,EAAE,MAAsB,EAAqB,EAAE;gBACvD,OAAO,MAAM,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,MAAM,CAAC,CAAA;YAC/C,CAAC;YACD,MAAM,EAAE,KAAK,EACX,MAAsC,EACtC,MAAc,EACK,EAAE;gBACrB,OAAO,MAAM,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC;oBACvC,GAAG,MAAM;oBACT,MAAM;iBACP,CAAC,CAAA;YACJ,CAAC;YACD,OAAO,EAAE,KAAK,EAAE,MAAuB,EAAqB,EAAE;gBAC5D,OAAO,MAAM,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,MAAM,CAAC,CAAA;YACnD,CAAC;YACD,eAAe,EAAE,KAAK,EAAE,MAAuB,EAAqB,EAAE;gBACpE,OAAO,MAAM,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,eAAe,CAAC,MAAM,CAAC,CAAA;YAC3D,CAAC;YACD,eAAe,EAAE,KAAK,EAAE,MAAuB,EAA4B,EAAE;gBAC3E,OAAO,MAAM,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,eAAe,CAAC,MAAM,CAAC,CAAA;YAC3D,CAAC;SACF,CAAA;IACH,CAAC;IAED,IAAI,QAAQ;QACV,OAAO;YACL,IAAI,EAAE,KAAK,IAAsC,EAAE;gBACjD,OAAO,MAAM,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;YAC5C,CAAC;SACF,CAAA;IACH,CAAC;CACF"}
|
package/dist/route.d.ts
CHANGED
|
@@ -1,9 +1,24 @@
|
|
|
1
1
|
import { z } from 'zod';
|
|
2
|
+
export { createCheckoutUrl } from './handlers/checkout';
|
|
3
|
+
export type { CreateCheckoutUrlOptions } from './handlers/checkout';
|
|
2
4
|
export type RouteHandler = (request: Request) => Promise<Response>;
|
|
3
|
-
declare const routeSchema: z.ZodEnum<["webhook", "webhooks", "pay_bolt_12", "balance", "ping", "pay_ln_url", "list_channels", "pay_bolt11", "create_checkout", "get_checkout", "confirm_checkout", "pay_invoice", "sync_rgs"]>;
|
|
5
|
+
declare const routeSchema: z.ZodEnum<["webhook", "webhooks", "pay_bolt_12", "balance", "ping", "pay_ln_url", "list_channels", "pay_bolt11", "create_checkout", "get_checkout", "confirm_checkout", "pay_invoice", "sync_rgs", "list_products"]>;
|
|
4
6
|
export type UnifiedRoute = z.infer<typeof routeSchema>;
|
|
5
7
|
export declare function __setHandlerForTest(route: UnifiedRoute, handler: RouteHandler | null): void;
|
|
6
8
|
export declare function __resetHandlersForTest(): void;
|
|
7
9
|
export declare function createUnifiedHandler(): (request: Request) => Promise<Response>;
|
|
8
10
|
export declare function POST(request: Request): Promise<Response>;
|
|
9
|
-
|
|
11
|
+
/**
|
|
12
|
+
* GET handler for URL-based checkout creation.
|
|
13
|
+
*
|
|
14
|
+
* Creates a checkout from signed URL query params and redirects to the checkout page.
|
|
15
|
+
*
|
|
16
|
+
* @example
|
|
17
|
+
* GET /api/mdk?action=createCheckout&title=Product&amount=2999&signature=abc123
|
|
18
|
+
* -> Verifies signature
|
|
19
|
+
* -> Creates checkout
|
|
20
|
+
* -> 302 redirect to /checkout/{id}
|
|
21
|
+
*
|
|
22
|
+
* Users should generate URLs using the `createCheckoutUrl` helper to ensure proper signing.
|
|
23
|
+
*/
|
|
24
|
+
export declare function GET(request: Request): Promise<Response>;
|
package/dist/route.js
CHANGED
|
@@ -1,12 +1,15 @@
|
|
|
1
1
|
import { z } from 'zod';
|
|
2
2
|
import { handleBalance } from './handlers/balance';
|
|
3
|
-
import { handleConfirmCheckout, handleCreateCheckout, handleGetCheckout } from './handlers/checkout';
|
|
3
|
+
import { handleConfirmCheckout, handleCreateCheckout, handleGetCheckout, handleCreateCheckoutFromUrl, parseCheckoutQueryParams, verifyCheckoutSignature, sanitizeCheckoutPath, } from './handlers/checkout';
|
|
4
|
+
// Re-export for use in nextjs package
|
|
5
|
+
export { createCheckoutUrl } from './handlers/checkout';
|
|
4
6
|
import { listChannels } from './handlers/list_channels';
|
|
5
7
|
import { handlePayBolt11 } from './handlers/pay_bolt_11';
|
|
6
8
|
import { handlePayBolt12 } from './handlers/pay_bolt_12';
|
|
7
9
|
import { handlePreviewPayInvoice } from './handlers/pay_invoice';
|
|
8
10
|
import { handlePayLNUrl } from './handlers/pay_ln_url';
|
|
9
11
|
import { handlePing } from './handlers/ping';
|
|
12
|
+
import { handleListProducts } from './handlers/products';
|
|
10
13
|
import { handleSyncRgs } from './handlers/sync_rgs';
|
|
11
14
|
import { handleMdkWebhook } from './handlers/webhooks';
|
|
12
15
|
import { error, log } from './logging';
|
|
@@ -25,6 +28,7 @@ const routeSchema = z.enum([
|
|
|
25
28
|
'confirm_checkout',
|
|
26
29
|
'pay_invoice',
|
|
27
30
|
'sync_rgs',
|
|
31
|
+
'list_products',
|
|
28
32
|
]);
|
|
29
33
|
const ROUTE_CONFIG = {
|
|
30
34
|
webhook: { handler: handleMdkWebhook, auth: 'secret' },
|
|
@@ -40,6 +44,7 @@ const ROUTE_CONFIG = {
|
|
|
40
44
|
confirm_checkout: { handler: handleConfirmCheckout, auth: 'csrf' },
|
|
41
45
|
pay_invoice: { handler: handlePreviewPayInvoice, auth: 'csrf' },
|
|
42
46
|
sync_rgs: { handler: handleSyncRgs, auth: 'secret' },
|
|
47
|
+
list_products: { handler: handleListProducts, auth: 'csrf' },
|
|
43
48
|
};
|
|
44
49
|
const HANDLERS = {};
|
|
45
50
|
const CSRF_HEADER = 'x-moneydevkit-csrf-token';
|
|
@@ -191,4 +196,65 @@ export async function POST(request) {
|
|
|
191
196
|
const handler = createUnifiedHandler();
|
|
192
197
|
return handler(request);
|
|
193
198
|
}
|
|
199
|
+
/**
|
|
200
|
+
* Safely join a base path with a segment, avoiding double slashes.
|
|
201
|
+
* e.g., joinPath('/', 'abc') -> '/abc', joinPath('/checkout', 'abc') -> '/checkout/abc'
|
|
202
|
+
*/
|
|
203
|
+
function joinPath(base, segment) {
|
|
204
|
+
if (base === '/')
|
|
205
|
+
return `/${segment}`;
|
|
206
|
+
return `${base}/${segment}`;
|
|
207
|
+
}
|
|
208
|
+
/**
|
|
209
|
+
* Helper to redirect to checkout error page.
|
|
210
|
+
* Uses 'error' as a placeholder ID so it matches the /checkout/[id] route.
|
|
211
|
+
*/
|
|
212
|
+
function redirectToCheckoutError(baseUrl, checkoutPath, code, message) {
|
|
213
|
+
const errorUrl = new URL(joinPath(checkoutPath, 'error'), baseUrl.origin);
|
|
214
|
+
errorUrl.searchParams.set('error', code);
|
|
215
|
+
errorUrl.searchParams.set('message', message);
|
|
216
|
+
return Response.redirect(errorUrl.toString(), 302);
|
|
217
|
+
}
|
|
218
|
+
/**
|
|
219
|
+
* GET handler for URL-based checkout creation.
|
|
220
|
+
*
|
|
221
|
+
* Creates a checkout from signed URL query params and redirects to the checkout page.
|
|
222
|
+
*
|
|
223
|
+
* @example
|
|
224
|
+
* GET /api/mdk?action=createCheckout&title=Product&amount=2999&signature=abc123
|
|
225
|
+
* -> Verifies signature
|
|
226
|
+
* -> Creates checkout
|
|
227
|
+
* -> 302 redirect to /checkout/{id}
|
|
228
|
+
*
|
|
229
|
+
* Users should generate URLs using the `createCheckoutUrl` helper to ensure proper signing.
|
|
230
|
+
*/
|
|
231
|
+
export async function GET(request) {
|
|
232
|
+
const url = new URL(request.url);
|
|
233
|
+
const params = url.searchParams;
|
|
234
|
+
// Only handle createCheckout action
|
|
235
|
+
if (params.get('action') !== 'createCheckout') {
|
|
236
|
+
return new Response('Not found', { status: 404 });
|
|
237
|
+
}
|
|
238
|
+
// Sanitize checkoutPath early to prevent open redirect attacks
|
|
239
|
+
const checkoutPath = sanitizeCheckoutPath(params.get('checkoutPath'));
|
|
240
|
+
// Verify signature is present
|
|
241
|
+
const signature = params.get('signature');
|
|
242
|
+
if (!signature) {
|
|
243
|
+
return redirectToCheckoutError(url, checkoutPath, 'missing_signature', 'Missing signature');
|
|
244
|
+
}
|
|
245
|
+
// Verify signature is valid
|
|
246
|
+
const isValid = verifyCheckoutSignature(params, signature);
|
|
247
|
+
if (!isValid) {
|
|
248
|
+
return redirectToCheckoutError(url, checkoutPath, 'invalid_signature', 'Invalid signature');
|
|
249
|
+
}
|
|
250
|
+
// Parse and validate params
|
|
251
|
+
const checkoutParams = parseCheckoutQueryParams(params);
|
|
252
|
+
const result = await handleCreateCheckoutFromUrl(checkoutParams);
|
|
253
|
+
if ('error' in result) {
|
|
254
|
+
return redirectToCheckoutError(url, checkoutPath, result.error.code, result.error.message);
|
|
255
|
+
}
|
|
256
|
+
// Success - redirect to checkout page (use sanitized checkoutPath, not result.data.checkoutPath)
|
|
257
|
+
const checkoutUrl = new URL(joinPath(checkoutPath, result.data.id), url.origin);
|
|
258
|
+
return Response.redirect(checkoutUrl.toString(), 302);
|
|
259
|
+
}
|
|
194
260
|
//# sourceMappingURL=route.js.map
|
package/dist/route.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"route.js","sourceRoot":"","sources":["../src/route.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AAEvB,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAA;AAClD,OAAO,
|
|
1
|
+
{"version":3,"file":"route.js","sourceRoot":"","sources":["../src/route.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@moneydevkit/core",
|
|
3
|
-
"version": "0.7.0-beta.
|
|
3
|
+
"version": "0.7.0-beta.8",
|
|
4
4
|
"description": "Shared moneydevkit checkout core utilities",
|
|
5
5
|
"repository": {
|
|
6
6
|
"type": "git",
|
|
@@ -42,7 +42,7 @@
|
|
|
42
42
|
},
|
|
43
43
|
"dependencies": {
|
|
44
44
|
"@hookform/resolvers": "^5.0.1",
|
|
45
|
-
"@moneydevkit/api-contract": "0.1.
|
|
45
|
+
"@moneydevkit/api-contract": "^0.1.16",
|
|
46
46
|
"@moneydevkit/lightning-js": "^0.1.60",
|
|
47
47
|
"@orpc/client": "1.3.0",
|
|
48
48
|
"@orpc/contract": "1.3.0",
|