@moneydevkit/core 0.7.0-beta.8 → 0.7.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/actions.d.ts CHANGED
@@ -1,5 +1,21 @@
1
1
  import type { Checkout, ConfirmCheckout, Product } from '@moneydevkit/api-contract';
2
2
  import type { Result } from './types';
3
+ /**
4
+ * Convert any string format to camelCase.
5
+ * Supports: snake_case, kebab-case, space separated, PascalCase, camelCase
6
+ * @example toCamelCase('custom_field') => 'customField'
7
+ * @example toCamelCase('custom-field') => 'customField'
8
+ * @example toCamelCase('custom field') => 'customField'
9
+ * @example toCamelCase('Custom Field') => 'customField'
10
+ * @internal Exported for testing
11
+ */
12
+ export declare function toCamelCase(str: string): string;
13
+ /**
14
+ * Normalize field names to camelCase.
15
+ * Standard fields (email, name) are kept as-is.
16
+ * @internal Exported for testing
17
+ */
18
+ export declare function normalizeFieldName(field: string): string;
3
19
  export declare function getCheckout(checkoutId: string): Promise<Checkout>;
4
20
  export declare function listProducts(): Promise<Product[]>;
5
21
  export declare function confirmCheckout(confirm: ConfirmCheckout): Promise<Checkout>;
@@ -16,9 +32,18 @@ export type CustomerInput = {
16
32
  email?: string;
17
33
  externalId?: string;
18
34
  } & Record<string, string>;
35
+ /**
36
+ * Strip empty strings from customer object and normalize keys to camelCase.
37
+ * @internal Exported for testing
38
+ */
39
+ export declare function cleanCustomerInput(customer: CustomerInput | undefined): CustomerInput | undefined;
40
+ /**
41
+ * Normalize requireCustomerData field names to camelCase.
42
+ * @internal Exported for testing
43
+ */
44
+ export declare function normalizeRequireCustomerData(fields: string[] | undefined): string[] | undefined;
19
45
  type Currency = 'USD' | 'SAT';
20
46
  type CommonCheckoutFields = {
21
- currency?: Currency;
22
47
  successUrl?: string;
23
48
  checkoutPath?: string;
24
49
  metadata?: Record<string, unknown>;
@@ -27,21 +52,26 @@ type CommonCheckoutFields = {
27
52
  };
28
53
  type AmountCheckoutParams = CommonCheckoutFields & {
29
54
  type: 'AMOUNT';
55
+ /** Currency for the checkout amount. */
56
+ currency: Currency;
30
57
  amount: number;
31
58
  title?: string;
32
59
  description?: string;
33
- productId?: never;
34
- products?: never;
60
+ product?: never;
35
61
  };
36
- type ProductsCheckoutParams = CommonCheckoutFields & {
62
+ type ProductCheckoutParams = CommonCheckoutFields & {
37
63
  type: 'PRODUCTS';
38
- products: string[];
39
- productId?: string;
64
+ /**
65
+ * Product ID to checkout.
66
+ * @example 'prod_123abc'
67
+ */
68
+ product: string;
69
+ currency?: never;
40
70
  amount?: never;
41
71
  title?: never;
42
72
  description?: never;
43
73
  };
44
- export type CreateCheckoutParams = AmountCheckoutParams | ProductsCheckoutParams;
74
+ export type CreateCheckoutParams = AmountCheckoutParams | ProductCheckoutParams;
45
75
  export declare function createCheckout(params: CreateCheckoutParams): Promise<Result<{
46
76
  checkout: Checkout;
47
77
  }>>;
package/dist/actions.js CHANGED
@@ -10,8 +10,9 @@ import { failure, success } from './types';
10
10
  * @example toCamelCase('custom-field') => 'customField'
11
11
  * @example toCamelCase('custom field') => 'customField'
12
12
  * @example toCamelCase('Custom Field') => 'customField'
13
+ * @internal Exported for testing
13
14
  */
14
- function toCamelCase(str) {
15
+ export function toCamelCase(str) {
15
16
  return str
16
17
  // Split on underscores, hyphens, or spaces
17
18
  .split(/[-_\s]+/)
@@ -29,8 +30,9 @@ function toCamelCase(str) {
29
30
  /**
30
31
  * Normalize field names to camelCase.
31
32
  * Standard fields (email, name) are kept as-is.
33
+ * @internal Exported for testing
32
34
  */
33
- function normalizeFieldName(field) {
35
+ export function normalizeFieldName(field) {
34
36
  const standardFields = ['email', 'name', 'externalId'];
35
37
  const camel = toCamelCase(field);
36
38
  // Keep standard fields exactly as expected
@@ -68,8 +70,9 @@ export async function confirmCheckout(confirm) {
68
70
  }
69
71
  /**
70
72
  * Strip empty strings from customer object and normalize keys to camelCase.
73
+ * @internal Exported for testing
71
74
  */
72
- function cleanCustomerInput(customer) {
75
+ export function cleanCustomerInput(customer) {
73
76
  if (!customer)
74
77
  return undefined;
75
78
  const cleaned = {};
@@ -83,29 +86,30 @@ function cleanCustomerInput(customer) {
83
86
  }
84
87
  /**
85
88
  * Normalize requireCustomerData field names to camelCase.
89
+ * @internal Exported for testing
86
90
  */
87
- function normalizeRequireCustomerData(fields) {
91
+ export function normalizeRequireCustomerData(fields) {
88
92
  if (!fields)
89
93
  return undefined;
90
94
  return fields.map(normalizeFieldName);
91
95
  }
92
96
  export async function createCheckout(params) {
93
- const currency = params.currency ?? 'USD';
97
+ // For PRODUCTS checkouts without explicit currency, let the server infer from product price.
98
+ // For AMOUNT checkouts, currency is required by the type system.
99
+ const isProductCheckout = params.type === 'PRODUCTS';
100
+ const currency = params.currency;
94
101
  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;
102
+ const product = isProductCheckout ? params.product : undefined;
103
+ const amount = isProductCheckout ? undefined : params.amount;
104
+ const title = isProductCheckout ? undefined : params.title;
105
+ const description = isProductCheckout ? undefined : params.description;
102
106
  try {
103
107
  const client = createMoneyDevKitClient();
104
108
  const node = createMoneyDevKitNode();
105
109
  const checkout = await client.checkouts.create({
106
110
  amount,
107
111
  currency,
108
- products: productIds,
112
+ product,
109
113
  successUrl: params.successUrl,
110
114
  metadata: {
111
115
  title,
@@ -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;;;;;;;;GAQG;AACH,MAAM,UAAU,WAAW,CAAC,GAAW;IACrC,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;;;;GAIG;AACH,MAAM,UAAU,kBAAkB,CAAC,KAAa;IAC9C,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;;;GAGG;AACH,MAAM,UAAU,kBAAkB,CAAC,QAAmC;IACpE,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;;;GAGG;AACH,MAAM,UAAU,4BAA4B,CAAC,MAA4B;IACvE,IAAI,CAAC,MAAM;QAAE,OAAO,SAAS,CAAA;IAC7B,OAAO,MAAM,CAAC,GAAG,CAAC,kBAAkB,CAAC,CAAA;AACvC,CAAC;AAqCD,MAAM,CAAC,KAAK,UAAU,cAAc,CAClC,MAA4B;IAE5B,6FAA6F;IAC7F,iEAAiE;IACjE,MAAM,iBAAiB,GAAG,MAAM,CAAC,IAAI,KAAK,UAAU,CAAA;IACpD,MAAM,QAAQ,GAAG,MAAM,CAAC,QAAQ,CAAA;IAChC,MAAM,iBAAiB,GAAG,MAAM,CAAC,QAAQ,IAAI,EAAE,CAAA;IAE/C,MAAM,OAAO,GAAG,iBAAiB,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,CAAA;IAC9D,MAAM,MAAM,GAAG,iBAAiB,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAA;IAC5D,MAAM,KAAK,GAAG,iBAAiB,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAA;IAC1D,MAAM,WAAW,GAAG,iBAAiB,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,WAAW,CAAA;IAEtE,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,OAAO;YACP,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"}
@@ -0,0 +1,31 @@
1
+ import type { Checkout } from '@moneydevkit/api-contract';
2
+ type UnconfirmedCheckoutType = Extract<Checkout, {
3
+ status: 'UNCONFIRMED';
4
+ }>;
5
+ /**
6
+ * Convert camelCase field name to readable label.
7
+ * e.g., "billingAddress" -> "Billing Address"
8
+ * @internal Exported for testing
9
+ */
10
+ export declare function fieldToLabel(field: string): string;
11
+ /**
12
+ * Get fields that need to be shown in the form.
13
+ * A field is shown if it's in requireCustomerData and not already provided.
14
+ * @internal Exported for testing
15
+ */
16
+ export declare function getMissingRequiredFields(checkout: UnconfirmedCheckoutType): string[];
17
+ type Currency = 'USD' | 'SAT';
18
+ /**
19
+ * Convert user-entered custom price amount to smallest unit for API.
20
+ * - USD: converts dollars to cents (multiply by 100, with EPSILON for float precision)
21
+ * - SAT: uses value directly (amounts are already in sats)
22
+ * @internal Exported for testing
23
+ */
24
+ export declare function convertCustomAmountToSmallestUnit(amount: string, currency: Currency): number;
25
+ /**
26
+ * Validate custom price amount input.
27
+ * Returns error message if invalid, null if valid.
28
+ * @internal Exported for testing
29
+ */
30
+ export declare function validateCustomAmount(amount: string, currency: Currency): string | null;
31
+ export {};
@@ -0,0 +1,61 @@
1
+ /**
2
+ * Convert camelCase field name to readable label.
3
+ * e.g., "billingAddress" -> "Billing Address"
4
+ * @internal Exported for testing
5
+ */
6
+ export function fieldToLabel(field) {
7
+ return field
8
+ .replace(/([A-Z])/g, ' $1')
9
+ .replace(/^./, (str) => str.toUpperCase())
10
+ .trim();
11
+ }
12
+ /**
13
+ * Get fields that need to be shown in the form.
14
+ * A field is shown if it's in requireCustomerData and not already provided.
15
+ * @internal Exported for testing
16
+ */
17
+ export function getMissingRequiredFields(checkout) {
18
+ if (!checkout.requireCustomerData)
19
+ return [];
20
+ return checkout.requireCustomerData.filter((field) => {
21
+ const value = checkout.customer?.[field];
22
+ return value === undefined || value === null || value === '';
23
+ });
24
+ }
25
+ /**
26
+ * Convert user-entered custom price amount to smallest unit for API.
27
+ * - USD: converts dollars to cents (multiply by 100, with EPSILON for float precision)
28
+ * - SAT: uses value directly (amounts are already in sats)
29
+ * @internal Exported for testing
30
+ */
31
+ export function convertCustomAmountToSmallestUnit(amount, currency) {
32
+ const parsedAmount = Number.parseFloat(amount);
33
+ if (Number.isNaN(parsedAmount)) {
34
+ return 0;
35
+ }
36
+ if (currency === 'USD') {
37
+ return Math.round(parsedAmount * 100 + Number.EPSILON);
38
+ }
39
+ return Math.round(parsedAmount);
40
+ }
41
+ /**
42
+ * Validate custom price amount input.
43
+ * Returns error message if invalid, null if valid.
44
+ * @internal Exported for testing
45
+ */
46
+ export function validateCustomAmount(amount, currency) {
47
+ if (!amount) {
48
+ return currency === 'SAT'
49
+ ? 'Please enter at least 1 sat'
50
+ : 'Please enter a valid amount';
51
+ }
52
+ const parsedAmount = Number.parseFloat(amount);
53
+ const minAmount = currency === 'SAT' ? 1 : 0.01;
54
+ if (Number.isNaN(parsedAmount) || parsedAmount < minAmount) {
55
+ return currency === 'SAT'
56
+ ? 'Please enter at least 1 sat'
57
+ : 'Please enter a valid amount';
58
+ }
59
+ return null;
60
+ }
61
+ //# sourceMappingURL=checkout-utils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"checkout-utils.js","sourceRoot":"","sources":["../src/checkout-utils.ts"],"names":[],"mappings":"AAIA;;;;GAIG;AACH,MAAM,UAAU,YAAY,CAAC,KAAa;IACxC,OAAO,KAAK;SACT,OAAO,CAAC,UAAU,EAAE,KAAK,CAAC;SAC1B,OAAO,CAAC,IAAI,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,WAAW,EAAE,CAAC;SACzC,IAAI,EAAE,CAAA;AACX,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,wBAAwB,CAAC,QAAiC;IACxE,IAAI,CAAC,QAAQ,CAAC,mBAAmB;QAAE,OAAO,EAAE,CAAA;IAE5C,OAAO,QAAQ,CAAC,mBAAmB,CAAC,MAAM,CAAC,CAAC,KAAa,EAAE,EAAE;QAC3D,MAAM,KAAK,GAAG,QAAQ,CAAC,QAAQ,EAAE,CAAC,KAAK,CAAC,CAAA;QACxC,OAAO,KAAK,KAAK,SAAS,IAAI,KAAK,KAAK,IAAI,IAAI,KAAK,KAAK,EAAE,CAAA;IAC9D,CAAC,CAAC,CAAA;AACJ,CAAC;AAID;;;;;GAKG;AACH,MAAM,UAAU,iCAAiC,CAC/C,MAAc,EACd,QAAkB;IAElB,MAAM,YAAY,GAAG,MAAM,CAAC,UAAU,CAAC,MAAM,CAAC,CAAA;IAC9C,IAAI,MAAM,CAAC,KAAK,CAAC,YAAY,CAAC,EAAE,CAAC;QAC/B,OAAO,CAAC,CAAA;IACV,CAAC;IAED,IAAI,QAAQ,KAAK,KAAK,EAAE,CAAC;QACvB,OAAO,IAAI,CAAC,KAAK,CAAC,YAAY,GAAG,GAAG,GAAG,MAAM,CAAC,OAAO,CAAC,CAAA;IACxD,CAAC;IACD,OAAO,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,CAAA;AACjC,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,oBAAoB,CAClC,MAAc,EACd,QAAkB;IAElB,IAAI,CAAC,MAAM,EAAE,CAAC;QACZ,OAAO,QAAQ,KAAK,KAAK;YACvB,CAAC,CAAC,6BAA6B;YAC/B,CAAC,CAAC,6BAA6B,CAAA;IACnC,CAAC;IAED,MAAM,YAAY,GAAG,MAAM,CAAC,UAAU,CAAC,MAAM,CAAC,CAAA;IAC9C,MAAM,SAAS,GAAG,QAAQ,KAAK,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAA;IAE/C,IAAI,MAAM,CAAC,KAAK,CAAC,YAAY,CAAC,IAAI,YAAY,GAAG,SAAS,EAAE,CAAC;QAC3D,OAAO,QAAQ,KAAK,KAAK;YACvB,CAAC,CAAC,6BAA6B;YAC/B,CAAC,CAAC,6BAA6B,CAAA;IACnC,CAAC;IAED,OAAO,IAAI,CAAA;AACb,CAAC"}
@@ -1,37 +1,27 @@
1
1
  import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
2
2
  import { zodResolver } from '@hookform/resolvers/zod';
3
3
  import { useMutation, useQueryClient } from '@tanstack/react-query';
4
+ import { useState } from 'react';
4
5
  import { useForm } from 'react-hook-form';
5
6
  import { z } from 'zod';
6
7
  import { clientConfirmCheckout } from '../../client-actions';
8
+ import { fieldToLabel, getMissingRequiredFields, convertCustomAmountToSmallestUnit, validateCustomAmount, } from '../../checkout-utils';
7
9
  import { Button } from '../ui/button';
8
10
  import { Form, FormControl, FormField, FormItem, FormLabel, FormMessage, } from '../ui/form';
9
11
  import { Input } from '../ui/input';
10
- /**
11
- * Convert camelCase field name to readable label.
12
- * e.g., "billingAddress" -> "Billing Address"
13
- */
14
- function fieldToLabel(field) {
15
- return field
16
- .replace(/([A-Z])/g, ' $1')
17
- .replace(/^./, (str) => str.toUpperCase())
18
- .trim();
19
- }
20
- /**
21
- * Get fields that need to be shown in the form.
22
- * A field is shown if it's in requireCustomerData and not already provided.
23
- */
24
- function getMissingRequiredFields(checkout) {
25
- if (!checkout.requireCustomerData)
26
- return [];
27
- return checkout.requireCustomerData.filter((field) => {
28
- const value = checkout.customer?.[field];
29
- return value === undefined || value === null || value === '';
30
- });
31
- }
32
12
  export default function UnconfirmedCheckout({ checkout }) {
33
13
  const queryClient = useQueryClient();
34
14
  const missingFields = getMissingRequiredFields(checkout);
15
+ // Track selected product for confirm call and CUSTOM price handling.
16
+ // Setter intentionally omitted - single product only for now (multi-product selection coming later)
17
+ const [selectedProductId] = useState(checkout.products?.[0]?.id ?? null);
18
+ // For CUSTOM price types, track the user-entered amount
19
+ const [customAmount, setCustomAmount] = useState('');
20
+ const [customAmountError, setCustomAmountError] = useState(null);
21
+ // Get the selected product and check if it has a CUSTOM price
22
+ const selectedProduct = checkout.products?.find((p) => p.id === selectedProductId);
23
+ const selectedPrice = selectedProduct?.prices?.[0];
24
+ const isCustomPrice = selectedPrice?.amountType === 'CUSTOM';
35
25
  // Build dynamic schema based on missing required fields
36
26
  const schemaShape = {};
37
27
  for (const field of missingFields) {
@@ -54,9 +44,22 @@ export default function UnconfirmedCheckout({ checkout }) {
54
44
  });
55
45
  const confirmMutation = useMutation({
56
46
  mutationFn: async (data) => {
47
+ // For product checkouts, include the selected product
48
+ const productId = selectedProductId ?? checkout.products?.[0]?.id;
49
+ // Build the products payload
50
+ let productsPayload;
51
+ if (checkout.type === 'PRODUCTS' && productId) {
52
+ const product = { productId };
53
+ // If CUSTOM price, include the user-entered amount
54
+ if (isCustomPrice && customAmount) {
55
+ product.priceAmount = convertCustomAmountToSmallestUnit(customAmount, checkout.currency);
56
+ }
57
+ productsPayload = [product];
58
+ }
57
59
  return await clientConfirmCheckout({
58
60
  checkoutId: checkout.id,
59
61
  customer: data,
62
+ ...(productsPayload ? { products: productsPayload } : {}),
60
63
  });
61
64
  },
62
65
  onSuccess: () => {
@@ -69,6 +72,15 @@ export default function UnconfirmedCheckout({ checkout }) {
69
72
  },
70
73
  });
71
74
  const onSubmit = (data) => {
75
+ // Validate custom amount if required
76
+ if (isCustomPrice) {
77
+ const error = validateCustomAmount(customAmount, checkout.currency);
78
+ if (error) {
79
+ setCustomAmountError(error);
80
+ return;
81
+ }
82
+ setCustomAmountError(null);
83
+ }
72
84
  confirmMutation.mutate(data);
73
85
  };
74
86
  const formatCurrency = (amount, currency) => {
@@ -77,6 +89,9 @@ export default function UnconfirmedCheckout({ checkout }) {
77
89
  currency,
78
90
  }).format(amount / 100);
79
91
  };
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') })] }) })] }));
92
+ 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.prices[0].amountType === 'CUSTOM' && (_jsx("span", { className: "text-gray-400", children: "Pay what you want" })), 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" })] }), isCustomPrice && (_jsxs("div", { className: "mb-4", children: [_jsxs("label", { htmlFor: "customAmount", className: "block text-sm font-medium text-gray-300 mb-2", children: ["Enter Amount (", checkout.currency, ")"] }), _jsxs("div", { className: "relative", children: [checkout.currency === 'USD' && (_jsx("span", { className: "absolute left-3 top-1/2 -translate-y-1/2 text-gray-400", children: "$" })), _jsx(Input, { id: "customAmount", type: "number", min: checkout.currency === 'SAT' ? '1' : '0.01', step: checkout.currency === 'SAT' ? '1' : '0.01', value: customAmount, onChange: (e) => {
93
+ setCustomAmount(e.target.value);
94
+ setCustomAmountError(null);
95
+ }, placeholder: checkout.currency === 'SAT' ? '1000' : '', className: "bg-gray-700 border-gray-600 focus:ring-purple-500 focus:border-purple-500 text-white placeholder-gray-400 [appearance:textfield] [&::-webkit-outer-spin-button]:appearance-none [&::-webkit-inner-spin-button]:appearance-none", style: { paddingLeft: checkout.currency === 'USD' ? '1.75rem' : undefined, paddingRight: checkout.currency === 'SAT' ? '3.5rem' : undefined } }), checkout.currency === 'SAT' && (_jsx("span", { className: "absolute right-3 top-1/2 -translate-y-1/2 text-gray-400", children: "sats" }))] }), customAmountError && (_jsx("p", { className: "text-red-400 text-sm mt-1", children: customAmountError }))] })), _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
96
  }
82
97
  //# 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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"}
@@ -12,7 +12,6 @@ const customerInputSchema = z.object({
12
12
  externalId: z.string().optional(),
13
13
  }).catchall(z.string());
14
14
  const commonCheckoutFields = {
15
- currency: z.enum(['USD', 'SAT']).optional(),
16
15
  successUrl: z.string().optional(),
17
16
  checkoutPath: z.string().optional(),
18
17
  metadata: z.record(z.string()).optional()
@@ -33,24 +32,28 @@ const commonCheckoutFields = {
33
32
  };
34
33
  const amountCheckoutSchema = z.object({
35
34
  type: z.literal('AMOUNT'),
35
+ currency: z.enum(['USD', 'SAT']),
36
36
  amount: z.number(),
37
37
  title: z.string().optional(),
38
38
  description: z.string().optional(),
39
39
  ...commonCheckoutFields,
40
40
  });
41
- const productsCheckoutSchema = z.object({
41
+ const productCheckoutSchema = z.object({
42
42
  type: z.literal('PRODUCTS'),
43
- products: z.array(z.string()),
44
- productId: z.string().optional(),
43
+ product: z.string(),
45
44
  ...commonCheckoutFields,
46
45
  });
47
46
  const createCheckoutSchema = z.discriminatedUnion('type', [
48
47
  amountCheckoutSchema,
49
- productsCheckoutSchema,
48
+ productCheckoutSchema,
50
49
  ]);
51
50
  const confirmCheckoutSchema = z.object({
52
51
  checkoutId: z.string(),
53
52
  customer: customerInputSchema.optional(),
53
+ products: z.array(z.object({
54
+ productId: z.string(),
55
+ priceAmount: z.number().optional(),
56
+ })).max(1).optional(),
54
57
  });
55
58
  function jsonResponse(status, body) {
56
59
  return new Response(JSON.stringify(body), {
@@ -1 +1 @@
1
- {"version":3,"file":"checkout.js","sourceRoot":"","sources":["../../src/handlers/checkout.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"checkout.js","sourceRoot":"","sources":["../../src/handlers/checkout.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,eAAe,EAAE,MAAM,QAAQ,CAAA;AACpD,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AAEvB,OAAO,EAAE,eAAe,EAAE,cAAc,EAAE,WAAW,EAAE,MAAM,YAAY,CAAA;AAEzE,OAAO,EAAE,gBAAgB,EAAE,MAAM,2BAA2B,CAAA;AAE5D;;;GAGG;AACH,MAAM,mBAAmB,GAAG,CAAC,CAAC,MAAM,CAAC;IACnC,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC3B,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,KAAK,EAAE,CAAC,QAAQ,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;IACtD,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;CAClC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAA;AAEvB,MAAM,oBAAoB,GAAG;IAC3B,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IACjC,YAAY,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IACnC,QAAQ,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,EAAE;SACtC,WAAW,CAAC,CAAC,QAAQ,EAAE,GAAG,EAAE,EAAE;QAC7B,MAAM,UAAU,GAAG,gBAAgB,CAAC,QAAQ,CAAC,CAAA;QAC7C,IAAI,CAAC,UAAU,CAAC,EAAE,EAAE,CAAC;YACnB,KAAK,MAAM,KAAK,IAAI,UAAU,CAAC,KAAK,EAAE,CAAC;gBACrC,GAAG,CAAC,QAAQ,CAAC;oBACX,IAAI,EAAE,CAAC,CAAC,YAAY,CAAC,MAAM;oBAC3B,OAAO,EAAE,KAAK,CAAC,OAAO;oBACtB,IAAI,EAAE,CAAC,UAAU,CAAC;iBACnB,CAAC,CAAA;YACJ,CAAC;QACH,CAAC;IACH,CAAC,CAAC;IACJ,QAAQ,EAAE,mBAAmB,CAAC,QAAQ,EAAE;IACxC,mBAAmB,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,EAAE;CACpD,CAAA;AAED,MAAM,oBAAoB,GAAG,CAAC,CAAC,MAAM,CAAC;IACpC,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC;IACzB,QAAQ,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;IAChC,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE;IAClB,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC5B,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAClC,GAAG,oBAAoB;CACxB,CAAC,CAAA;AAEF,MAAM,qBAAqB,GAAG,CAAC,CAAC,MAAM,CAAC;IACrC,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,UAAU,CAAC;IAC3B,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE;IACnB,GAAG,oBAAoB;CACxB,CAAC,CAAA;AAEF,MAAM,oBAAoB,GAAG,CAAC,CAAC,kBAAkB,CAAC,MAAM,EAAE;IACxD,oBAAoB;IACpB,qBAAqB;CACtB,CAAC,CAAA;AAEF,MAAM,qBAAqB,GAAG,CAAC,CAAC,MAAM,CAAC;IACrC,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE;IACtB,QAAQ,EAAE,mBAAmB,CAAC,QAAQ,EAAE;IACxC,QAAQ,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC;QACzB,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE;QACrB,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;KACnC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE;CACtB,CAAC,CAAA;AAEF,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,oBAAoB,CAAC,OAAgB;IACzD,IAAI,IAAa,CAAA;IAEjB,IAAI,CAAC;QACH,IAAI,GAAG,MAAM,OAAO,CAAC,IAAI,EAAE,CAAA;IAC7B,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,YAAY,CAAC,GAAG,EAAE,EAAE,KAAK,EAAE,mBAAmB,EAAE,CAAC,CAAA;IAC1D,CAAC;IAED,MAAM,MAAM,GAAG,CAAC,CAAC,MAAM,CAAC,EAAE,MAAM,EAAE,oBAAoB,EAAE,CAAC,CAAC,SAAS,CAAC,IAAI,CAAC,CAAA;IAEzE,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;QACpB,OAAO,YAAY,CAAC,GAAG,EAAE,EAAE,KAAK,EAAE,yBAAyB,EAAE,OAAO,EAAE,MAAM,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,CAAA;IAC9F,CAAC;IAED,MAAM,MAAM,GAAG,MAAM,cAAc,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;IAEvD,IAAI,MAAM,CAAC,KAAK,EAAE,CAAC;QACjB,MAAM,UAAU,GAAG,MAAM,CAAC,KAAK,CAAC,IAAI,KAAK,qBAAqB,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAA;QAC1E,OAAO,YAAY,CAAC,UAAU,EAAE,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,CAAC,OAAO,EAAE,IAAI,EAAE,MAAM,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,CAAA;IAC3F,CAAC;IAED,OAAO,YAAY,CAAC,GAAG,EAAE,EAAE,IAAI,EAAE,MAAM,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAA;AAC1D,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,iBAAiB,CAAC,OAAgB;IACtD,IAAI,IAAa,CAAA;IAEjB,IAAI,CAAC;QACH,IAAI,GAAG,MAAM,OAAO,CAAC,IAAI,EAAE,CAAA;IAC7B,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,YAAY,CAAC,GAAG,EAAE,EAAE,KAAK,EAAE,mBAAmB,EAAE,CAAC,CAAA;IAC1D,CAAC;IAED,MAAM,MAAM,GAAG,CAAC;SACb,MAAM,CAAC,EAAE,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;SACzC,SAAS,CAAC,IAAI,CAAC,CAAA;IAElB,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;QACpB,OAAO,YAAY,CAAC,GAAG,EAAE,EAAE,KAAK,EAAE,oBAAoB,EAAE,CAAC,CAAA;IAC3D,CAAC;IAED,IAAI,CAAC;QACH,MAAM,QAAQ,GAAG,MAAM,WAAW,CAAC,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAA;QAC1D,OAAO,YAAY,CAAC,GAAG,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,CAAA;IAC9C,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,CAAA;QACpB,OAAO,YAAY,CAAC,GAAG,EAAE,EAAE,KAAK,EAAE,0BAA0B,EAAE,CAAC,CAAA;IACjE,CAAC;AACH,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,qBAAqB,CAAC,OAAgB;IAC1D,IAAI,IAAa,CAAA;IAEjB,IAAI,CAAC;QACH,IAAI,GAAG,MAAM,OAAO,CAAC,IAAI,EAAE,CAAA;IAC7B,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,YAAY,CAAC,GAAG,EAAE,EAAE,KAAK,EAAE,mBAAmB,EAAE,CAAC,CAAA;IAC1D,CAAC;IAED,MAAM,MAAM,GAAG,CAAC;SACb,MAAM,CAAC,EAAE,OAAO,EAAE,qBAAqB,EAAE,CAAC;SAC1C,SAAS,CAAC,IAAI,CAAC,CAAA;IAElB,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;QACpB,OAAO,YAAY,CAAC,GAAG,EAAE,EAAE,KAAK,EAAE,yBAAyB,EAAE,OAAO,EAAE,MAAM,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,CAAA;IAC9F,CAAC;IAED,IAAI,CAAC;QACH,MAAM,QAAQ,GAAG,MAAM,eAAe,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;QAC3D,OAAO,YAAY,CAAC,GAAG,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,CAAA;IAC9C,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,CAAA;QACpB,OAAO,YAAY,CAAC,GAAG,EAAE,EAAE,KAAK,EAAE,4BAA4B,EAAE,CAAC,CAAA;IACnE,CAAC;AACH,CAAC;AAUD;;;;;;;;;;;;GAYG;AACH,MAAM,UAAU,iBAAiB,CAC/B,MAA4B,EAC5B,OAAkC;IAElC,MAAM,QAAQ,GAAG,OAAO,EAAE,QAAQ,IAAI,UAAU,CAAA;IAChD,MAAM,WAAW,GAAG,OAAO,CAAC,GAAG,CAAC,gBAAgB,CAAA;IAEhD,IAAI,CAAC,WAAW,EAAE,CAAC;QACjB,MAAM,IAAI,KAAK,CAAC,yDAAyD,CAAC,CAAA;IAC5E,CAAC;IAED,mBAAmB;IACnB,MAAM,SAAS,GAAG,IAAI,eAAe,EAAE,CAAA;IACvC,SAAS,CAAC,GAAG,CAAC,QAAQ,EAAE,gBAAgB,CAAC,CAAA;IAEzC,yCAAyC;IACzC,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;QAClD,IAAI,KAAK,KAAK,SAAS;YAAE,SAAQ;QACjC,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,EAAE,CAAC;YAChD,SAAS,CAAC,GAAG,CAAC,GAAG,EAAE,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAA;QAC3C,CAAC;aAAM,CAAC;YACN,SAAS,CAAC,GAAG,CAAC,GAAG,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC,CAAA;QACnC,CAAC;IACH,CAAC;IAED,sDAAsD;IACtD,SAAS,CAAC,IAAI,EAAE,CAAA;IAChB,MAAM,eAAe,GAAG,SAAS,CAAC,QAAQ,EAAE,CAAA;IAE5C,gCAAgC;IAChC,MAAM,SAAS,GAAG,UAAU,CAAC,QAAQ,EAAE,WAAW,CAAC;SAChD,MAAM,CAAC,eAAe,CAAC;SACvB,MAAM,CAAC,KAAK,CAAC,CAAA;IAEhB,SAAS,CAAC,GAAG,CAAC,WAAW,EAAE,SAAS,CAAC,CAAA;IAErC,OAAO,GAAG,QAAQ,IAAI,SAAS,CAAC,QAAQ,EAAE,EAAE,CAAA;AAC9C,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,uBAAuB,CACrC,MAAuB,EACvB,SAAiB;IAEjB,MAAM,WAAW,GAAG,OAAO,CAAC,GAAG,CAAC,gBAAgB,CAAA;IAChD,IAAI,CAAC,WAAW;QAAE,OAAO,KAAK,CAAA;IAE9B,qDAAqD;IACrD,MAAM,cAAc,GAAG,IAAI,eAAe,CAAC,MAAM,CAAC,CAAA;IAClD,cAAc,CAAC,MAAM,CAAC,WAAW,CAAC,CAAA;IAClC,cAAc,CAAC,IAAI,EAAE,CAAA;IAErB,MAAM,eAAe,GAAG,cAAc,CAAC,QAAQ,EAAE,CAAA;IACjD,MAAM,iBAAiB,GAAG,UAAU,CAAC,QAAQ,EAAE,WAAW,CAAC;SACxD,MAAM,CAAC,eAAe,CAAC;SACvB,MAAM,CAAC,KAAK,CAAC,CAAA;IAEhB,qDAAqD;IACrD,IAAI,CAAC;QACH,MAAM,SAAS,GAAG,MAAM,CAAC,IAAI,CAAC,SAAS,EAAE,KAAK,CAAC,CAAA;QAC/C,MAAM,cAAc,GAAG,MAAM,CAAC,IAAI,CAAC,iBAAiB,EAAE,KAAK,CAAC,CAAA;QAE5D,IAAI,SAAS,CAAC,MAAM,KAAK,cAAc,CAAC,MAAM,EAAE,CAAC;YAC/C,OAAO,KAAK,CAAA;QACd,CAAC;QAED,OAAO,eAAe,CAAC,SAAS,EAAE,cAAc,CAAC,CAAA;IACnD,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,KAAK,CAAA;IACd,CAAC;AACH,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,wBAAwB,CAAC,MAAuB;IAC9D,MAAM,GAAG,GAA4B,EAAE,CAAA;IAEvC,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,EAAE,CAAC;QAClC,0DAA0D;QAC1D,IAAI,GAAG,KAAK,QAAQ,IAAI,GAAG,KAAK,WAAW;YAAE,SAAQ;QAErD,gCAAgC;QAChC,IAAI,GAAG,KAAK,UAAU,IAAI,GAAG,KAAK,UAAU,IAAI,GAAG,KAAK,qBAAqB,IAAI,GAAG,KAAK,UAAU,EAAE,CAAC;YACpG,IAAI,CAAC;gBACH,GAAG,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAA;YAC9B,CAAC;YAAC,MAAM,CAAC;gBACP,wCAAwC;gBACxC,GAAG,CAAC,GAAG,CAAC,GAAG,KAAK,CAAA;YAClB,CAAC;QACH,CAAC;aAAM,IAAI,GAAG,KAAK,QAAQ,EAAE,CAAC;YAC5B,yBAAyB;YACzB,GAAG,CAAC,GAAG,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC,CAAA;QAC1B,CAAC;aAAM,CAAC;YACN,GAAG,CAAC,GAAG,CAAC,GAAG,KAAK,CAAA;QAClB,CAAC;IACH,CAAC;IAED,OAAO,GAAG,CAAA;AACZ,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,UAAU,oBAAoB,CAAC,YAA2B;IAC9D,MAAM,WAAW,GAAG,WAAW,CAAA;IAE/B,IAAI,CAAC,YAAY,EAAE,CAAC;QAClB,OAAO,WAAW,CAAA;IACpB,CAAC;IAED,oCAAoC;IACpC,IAAI,CAAC,YAAY,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;QAClC,OAAO,WAAW,CAAA;IACpB,CAAC;IAED,iFAAiF;IACjF,IAAI,YAAY,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,YAAY,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;QAChE,OAAO,WAAW,CAAA;IACpB,CAAC;IAED,uFAAuF;IACvF,mFAAmF;IACnF,MAAM,UAAU,GAAG,YAAY,CAAC,OAAO,CAAC,GAAG,CAAC,CAAA;IAC5C,MAAM,SAAS,GAAG,YAAY,CAAC,OAAO,CAAC,GAAG,CAAC,CAAA;IAE3C,IAAI,QAAQ,GAAG,YAAY,CAAC,MAAM,CAAA;IAClC,IAAI,UAAU,KAAK,CAAC,CAAC;QAAE,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAA;IAChE,IAAI,SAAS,KAAK,CAAC,CAAC;QAAE,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAA;IAE9D,OAAO,YAAY,CAAC,KAAK,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAA;AACxC,CAAC;AAED;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,2BAA2B,CAC/C,MAA+B;IAE/B,8EAA8E;IAC9E,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;QACjB,MAAM,CAAC,IAAI,GAAG,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,QAAQ,CAAA;IACvD,CAAC;IAED,MAAM,MAAM,GAAG,oBAAoB,CAAC,SAAS,CAAC,MAAM,CAAC,CAAA;IAErD,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;QACpB,MAAM,UAAU,GAAG,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAA;QACzC,OAAO;YACL,KAAK,EAAE;gBACL,IAAI,EAAE,kBAAkB;gBACxB,OAAO,EAAE,UAAU,EAAE,OAAO,IAAI,6BAA6B;aAC9D;SACF,CAAA;IACH,CAAC;IAED,MAAM,MAAM,GAAG,MAAM,cAAc,CAAC,MAAM,CAAC,IAAI,CAAC,CAAA;IAEhD,IAAI,MAAM,CAAC,KAAK,EAAE,CAAC;QACjB,OAAO;YACL,KAAK,EAAE;gBACL,IAAI,EAAE,MAAM,CAAC,KAAK,CAAC,IAAI;gBACvB,OAAO,EAAE,MAAM,CAAC,KAAK,CAAC,OAAO;aAC9B;SACF,CAAA;IACH,CAAC;IAED,OAAO;QACL,IAAI,EAAE;YACJ,EAAE,EAAE,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE;YAC3B,YAAY,EAAE,MAAM,CAAC,IAAI,CAAC,YAAY,IAAI,WAAW;SACtD;KACF,CAAA;AACH,CAAC"}
@@ -11,11 +11,11 @@ import type { MdkError, Result } from '../types';
11
11
  * await createCheckout({ type: 'AMOUNT', amount: 1000, title: 'Donation' })
12
12
  *
13
13
  * // Product checkout
14
- * await createCheckout({ type: 'PRODUCTS', products: ['prod_123'] })
14
+ * await createCheckout({ type: 'PRODUCTS', product: 'prod_123' })
15
15
  *
16
16
  * // With useProducts hook
17
17
  * const { products } = useProducts()
18
- * await createCheckout({ type: 'PRODUCTS', products: [products[0].id] })
18
+ * await createCheckout({ type: 'PRODUCTS', product: products[0].id })
19
19
  * ```
20
20
  */
21
21
  export declare function useCheckout(): {
@@ -13,11 +13,11 @@ import { failure, success } from '../types';
13
13
  * await createCheckout({ type: 'AMOUNT', amount: 1000, title: 'Donation' })
14
14
  *
15
15
  * // Product checkout
16
- * await createCheckout({ type: 'PRODUCTS', products: ['prod_123'] })
16
+ * await createCheckout({ type: 'PRODUCTS', product: 'prod_123' })
17
17
  *
18
18
  * // With useProducts hook
19
19
  * const { products } = useProducts()
20
- * await createCheckout({ type: 'PRODUCTS', products: [products[0].id] })
20
+ * await createCheckout({ type: 'PRODUCTS', product: products[0].id })
21
21
  * ```
22
22
  */
23
23
  export function useCheckout() {
@@ -1,14 +1,14 @@
1
1
  export declare function useProducts(): {
2
2
  products: {
3
- name: string;
4
3
  id: string;
4
+ name: string;
5
5
  description: string | null;
6
6
  recurringInterval: "MONTH" | "QUARTER" | "YEAR" | null;
7
7
  prices: {
8
+ id: string;
8
9
  currency: "USD" | "SAT";
10
+ amountType: "FIXED" | "CUSTOM";
9
11
  priceAmount: number | null;
10
- id: string;
11
- amountType: "FIXED" | "CUSTOM" | "FREE";
12
12
  }[];
13
13
  }[];
14
14
  isLoading: boolean;
@@ -3,6 +3,17 @@ export type MoneyDevKitClientOptions = {
3
3
  accessToken: string;
4
4
  baseUrl: string;
5
5
  };
6
+ /**
7
+ * SDK-level checkout creation options.
8
+ * Uses `product` (singular) for simplicity - multi-product support coming soon.
9
+ */
10
+ export type CreateCheckoutOptions = Omit<CreateCheckout, 'nodeId' | 'products'> & {
11
+ /**
12
+ * Product ID to include in this checkout.
13
+ * @example 'prod_123abc'
14
+ */
15
+ product?: string;
16
+ };
6
17
  export declare class MoneyDevKitClient {
7
18
  private client;
8
19
  constructor(options: MoneyDevKitClientOptions);
@@ -10,7 +21,7 @@ export declare class MoneyDevKitClient {
10
21
  get: (params: {
11
22
  id: string;
12
23
  }) => Promise<Checkout>;
13
- create: (fields: Omit<CreateCheckout, "nodeId">, nodeId: string) => Promise<Checkout>;
24
+ create: (fields: CreateCheckoutOptions, nodeId: string) => Promise<Checkout>;
14
25
  confirm: (params: ConfirmCheckout) => Promise<Checkout>;
15
26
  registerInvoice: (params: RegisterInvoice) => Promise<Checkout>;
16
27
  paymentReceived: (params: PaymentReceived) => Promise<{
@@ -17,8 +17,10 @@ export class MoneyDevKitClient {
17
17
  return await this.client.checkout.get(params);
18
18
  },
19
19
  create: async (fields, nodeId) => {
20
+ const { product, ...rest } = fields;
20
21
  return await this.client.checkout.create({
21
- ...fields,
22
+ ...rest,
23
+ products: product ? [product] : undefined,
22
24
  nodeId,
23
25
  });
24
26
  },
@@ -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;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"}
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;AAsB5C,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,MAA6B,EAC7B,MAAc,EACK,EAAE;gBACrB,MAAM,EAAE,OAAO,EAAE,GAAG,IAAI,EAAE,GAAG,MAAM,CAAA;gBACnC,OAAO,MAAM,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC;oBACvC,GAAG,IAAI;oBACP,QAAQ,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,SAAS;oBACzC,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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@moneydevkit/core",
3
- "version": "0.7.0-beta.8",
3
+ "version": "0.7.0",
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.16",
45
+ "@moneydevkit/api-contract": "^0.1.17",
46
46
  "@moneydevkit/lightning-js": "^0.1.60",
47
47
  "@orpc/client": "1.3.0",
48
48
  "@orpc/contract": "1.3.0",