@paykit-sdk/react 1.1.0-alpha.2 → 1.1.0-alpha.4
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/README.md +16 -61
- package/dist/index.d.mts +46 -19
- package/dist/index.d.ts +46 -19
- package/dist/index.js +2 -1
- package/dist/index.mjs +2 -1
- package/package.json +12 -5
package/README.md
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# @paykit-sdk/react
|
|
2
2
|
|
|
3
|
-
React hooks and components
|
|
3
|
+
PayKit React is a toolkit designed to simplify payment processing in React applications. It provides hooks and components that work seamlessly with any PayKit provider (Stripe, Polar, Gumroad, etc.) to handle customers, subscriptions, and checkouts.
|
|
4
4
|
|
|
5
5
|
## Installation
|
|
6
6
|
|
|
@@ -16,9 +16,6 @@ npm install @paykit-sdk/react
|
|
|
16
16
|
import { PaykitProvider } from '@paykit-sdk/react';
|
|
17
17
|
import { stripe } from '@paykit-sdk/stripe';
|
|
18
18
|
|
|
19
|
-
// or import { local } from '@paykit-sdk/local';
|
|
20
|
-
// or import { polar } from '@paykit-sdk/polar';
|
|
21
|
-
|
|
22
19
|
const provider = stripe();
|
|
23
20
|
|
|
24
21
|
function App() {
|
|
@@ -33,9 +30,11 @@ function App() {
|
|
|
33
30
|
### 2. Use Hooks
|
|
34
31
|
|
|
35
32
|
```tsx
|
|
33
|
+
import * as React from 'react';
|
|
36
34
|
import { useCustomer, useSubscription, useCheckout } from '@paykit-sdk/react';
|
|
35
|
+
import { CustomerView } from './customer-view';
|
|
37
36
|
|
|
38
|
-
|
|
37
|
+
const CustomerDashboard = ({ customerId }: { customerId: string }) => {
|
|
39
38
|
const { retrieve, create, update } = useCustomer();
|
|
40
39
|
|
|
41
40
|
React.useEffect(() => {
|
|
@@ -43,76 +42,32 @@ function CustomerDashboard() {
|
|
|
43
42
|
}, [customerId]);
|
|
44
43
|
|
|
45
44
|
if (retrieve.loading) return <Spinner />;
|
|
45
|
+
|
|
46
46
|
if (retrieve.error) return <Error error={retrieve.error} />;
|
|
47
47
|
|
|
48
48
|
return <CustomerView customer={retrieve.data} />;
|
|
49
|
-
}
|
|
49
|
+
};
|
|
50
50
|
```
|
|
51
51
|
|
|
52
|
-
## Hooks
|
|
53
|
-
|
|
54
|
-
### `useCustomer(options)`
|
|
55
|
-
|
|
56
|
-
```tsx
|
|
57
|
-
const { customer, create, update } = useCustomer({ customerId: 'cus_123' });
|
|
58
|
-
```
|
|
59
|
-
|
|
60
|
-
**Returns:**
|
|
61
|
-
|
|
62
|
-
- `customer` - Customer data
|
|
63
|
-
- `isLoading` - Loading state
|
|
64
|
-
- `error` - Error state
|
|
65
|
-
- `create` - Create customer mutation
|
|
66
|
-
- `update` - Update customer mutation
|
|
67
|
-
|
|
68
|
-
### `useSubscription(subscriptionId)`
|
|
69
|
-
|
|
70
|
-
```tsx
|
|
71
|
-
const { subscription, update, cancel } = useSubscription('sub_123');
|
|
72
|
-
```
|
|
52
|
+
## Available Hooks
|
|
73
53
|
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
- `
|
|
77
|
-
- `isLoading` - Loading state
|
|
78
|
-
- `error` - Error state
|
|
79
|
-
- `update` - Update subscription mutation
|
|
80
|
-
- `cancel` - Cancel subscription mutation
|
|
81
|
-
|
|
82
|
-
### `useCheckout(checkoutId?)`
|
|
83
|
-
|
|
84
|
-
```tsx
|
|
85
|
-
const { checkout, create } = useCheckout();
|
|
86
|
-
```
|
|
87
|
-
|
|
88
|
-
**Returns:**
|
|
89
|
-
|
|
90
|
-
- `checkout` - Checkout data (if ID provided)
|
|
91
|
-
- `isLoading` - Loading state
|
|
92
|
-
- `error` - Error state
|
|
93
|
-
- `create` - Create checkout mutation
|
|
54
|
+
- `useCustomer()` - Manage customer data
|
|
55
|
+
- `useSubscription()` - Handle subscriptions
|
|
56
|
+
- `useCheckout()` - Process checkouts
|
|
94
57
|
|
|
95
58
|
## Providers
|
|
96
59
|
|
|
97
|
-
Works with any PayKit provider
|
|
98
|
-
|
|
99
|
-
```tsx
|
|
100
|
-
// Stripe
|
|
101
|
-
import { stripe } from '@paykit-sdk/stripe';
|
|
102
|
-
const provider = stripe();
|
|
60
|
+
Works with any PayKit provider including Stripe, Polar, Gumroad, and more.
|
|
103
61
|
|
|
104
|
-
|
|
105
|
-
import { local } from '@paykit-sdk/local';
|
|
106
|
-
const provider = local();
|
|
62
|
+
## Documentation
|
|
107
63
|
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
```
|
|
64
|
+
- [React Documentation](https://usepaykit.dev/docs/react)
|
|
65
|
+
- [PayKit Documentation](https://usepaykit.dev)
|
|
66
|
+
- [Production Examples](https://usepaykit.dev/docs/examples)
|
|
112
67
|
|
|
113
68
|
## TypeScript Support
|
|
114
69
|
|
|
115
|
-
Full TypeScript support included
|
|
70
|
+
Full TypeScript support included.
|
|
116
71
|
|
|
117
72
|
## License
|
|
118
73
|
|
package/dist/index.d.mts
CHANGED
|
@@ -3,31 +3,43 @@ import * as React from 'react';
|
|
|
3
3
|
import * as _paykit_sdk_core from '@paykit-sdk/core';
|
|
4
4
|
import { PayKitProvider } from '@paykit-sdk/core';
|
|
5
5
|
|
|
6
|
-
|
|
6
|
+
interface PaykitProviderProps {
|
|
7
|
+
children: React.ReactNode;
|
|
8
|
+
provider: PayKitProvider;
|
|
9
|
+
}
|
|
10
|
+
declare const PaykitProvider: ({ provider, children }: PaykitProviderProps) => react_jsx_runtime.JSX.Element;
|
|
11
|
+
declare const usePaykitContext: () => {
|
|
7
12
|
provider: PayKitProvider;
|
|
8
13
|
};
|
|
9
|
-
declare const PaykitProvider: ({ provider, children }: React.PropsWithChildren<PaykitContextValue>) => react_jsx_runtime.JSX.Element;
|
|
10
|
-
declare const usePaykitContext: () => PaykitContextValue;
|
|
11
14
|
|
|
12
15
|
declare const useCustomer: () => {
|
|
13
16
|
retrieve: {
|
|
14
17
|
run: (id: string) => Promise<{
|
|
15
|
-
data:
|
|
16
|
-
error: Error
|
|
18
|
+
data: undefined;
|
|
19
|
+
error: Error;
|
|
20
|
+
} | {
|
|
21
|
+
data: _paykit_sdk_core.Customer | null;
|
|
22
|
+
error: undefined;
|
|
17
23
|
}>;
|
|
18
24
|
loading: boolean;
|
|
19
25
|
};
|
|
20
26
|
create: {
|
|
21
27
|
run: (params: _paykit_sdk_core.CreateCustomerParams) => Promise<{
|
|
22
|
-
data:
|
|
23
|
-
error: Error
|
|
28
|
+
data: undefined;
|
|
29
|
+
error: Error;
|
|
30
|
+
} | {
|
|
31
|
+
data: _paykit_sdk_core.Customer;
|
|
32
|
+
error: undefined;
|
|
24
33
|
}>;
|
|
25
34
|
loading: boolean;
|
|
26
35
|
};
|
|
27
36
|
update: {
|
|
28
37
|
run: (id: string, params: _paykit_sdk_core.UpdateCustomerParams) => Promise<{
|
|
29
|
-
data:
|
|
30
|
-
error: Error
|
|
38
|
+
data: undefined;
|
|
39
|
+
error: Error;
|
|
40
|
+
} | {
|
|
41
|
+
data: _paykit_sdk_core.Customer;
|
|
42
|
+
error: undefined;
|
|
31
43
|
}>;
|
|
32
44
|
loading: boolean;
|
|
33
45
|
};
|
|
@@ -36,22 +48,31 @@ declare const useCustomer: () => {
|
|
|
36
48
|
declare const useSubscription: () => {
|
|
37
49
|
retrieve: {
|
|
38
50
|
run: (id: string) => Promise<{
|
|
39
|
-
data:
|
|
40
|
-
error: Error
|
|
51
|
+
data: undefined;
|
|
52
|
+
error: Error;
|
|
53
|
+
} | {
|
|
54
|
+
data: _paykit_sdk_core.Subscription | null;
|
|
55
|
+
error: undefined;
|
|
41
56
|
}>;
|
|
42
57
|
loading: boolean;
|
|
43
58
|
};
|
|
44
59
|
update: {
|
|
45
60
|
run: (id: string, params: _paykit_sdk_core.UpdateSubscriptionParams) => Promise<{
|
|
46
|
-
data:
|
|
47
|
-
error: Error
|
|
61
|
+
data: undefined;
|
|
62
|
+
error: Error;
|
|
63
|
+
} | {
|
|
64
|
+
data: _paykit_sdk_core.Subscription;
|
|
65
|
+
error: undefined;
|
|
48
66
|
}>;
|
|
49
67
|
loading: boolean;
|
|
50
68
|
};
|
|
51
69
|
cancel: {
|
|
52
70
|
run: (id: string) => Promise<{
|
|
53
|
-
data:
|
|
54
|
-
error: Error
|
|
71
|
+
data: undefined;
|
|
72
|
+
error: Error;
|
|
73
|
+
} | {
|
|
74
|
+
data: null;
|
|
75
|
+
error: undefined;
|
|
55
76
|
}>;
|
|
56
77
|
loading: boolean;
|
|
57
78
|
};
|
|
@@ -60,15 +81,21 @@ declare const useSubscription: () => {
|
|
|
60
81
|
declare const useCheckout: () => {
|
|
61
82
|
create: {
|
|
62
83
|
run: (params: _paykit_sdk_core.CreateCheckoutParams) => Promise<{
|
|
63
|
-
data:
|
|
64
|
-
error: Error
|
|
84
|
+
data: undefined;
|
|
85
|
+
error: Error;
|
|
86
|
+
} | {
|
|
87
|
+
data: _paykit_sdk_core.Checkout;
|
|
88
|
+
error: undefined;
|
|
65
89
|
}>;
|
|
66
90
|
loading: boolean;
|
|
67
91
|
};
|
|
68
92
|
retrieve: {
|
|
69
93
|
run: (id: string) => Promise<{
|
|
70
|
-
data:
|
|
71
|
-
error: Error
|
|
94
|
+
data: undefined;
|
|
95
|
+
error: Error;
|
|
96
|
+
} | {
|
|
97
|
+
data: _paykit_sdk_core.Checkout | null;
|
|
98
|
+
error: undefined;
|
|
72
99
|
}>;
|
|
73
100
|
loading: boolean;
|
|
74
101
|
};
|
package/dist/index.d.ts
CHANGED
|
@@ -3,31 +3,43 @@ import * as React from 'react';
|
|
|
3
3
|
import * as _paykit_sdk_core from '@paykit-sdk/core';
|
|
4
4
|
import { PayKitProvider } from '@paykit-sdk/core';
|
|
5
5
|
|
|
6
|
-
|
|
6
|
+
interface PaykitProviderProps {
|
|
7
|
+
children: React.ReactNode;
|
|
8
|
+
provider: PayKitProvider;
|
|
9
|
+
}
|
|
10
|
+
declare const PaykitProvider: ({ provider, children }: PaykitProviderProps) => react_jsx_runtime.JSX.Element;
|
|
11
|
+
declare const usePaykitContext: () => {
|
|
7
12
|
provider: PayKitProvider;
|
|
8
13
|
};
|
|
9
|
-
declare const PaykitProvider: ({ provider, children }: React.PropsWithChildren<PaykitContextValue>) => react_jsx_runtime.JSX.Element;
|
|
10
|
-
declare const usePaykitContext: () => PaykitContextValue;
|
|
11
14
|
|
|
12
15
|
declare const useCustomer: () => {
|
|
13
16
|
retrieve: {
|
|
14
17
|
run: (id: string) => Promise<{
|
|
15
|
-
data:
|
|
16
|
-
error: Error
|
|
18
|
+
data: undefined;
|
|
19
|
+
error: Error;
|
|
20
|
+
} | {
|
|
21
|
+
data: _paykit_sdk_core.Customer | null;
|
|
22
|
+
error: undefined;
|
|
17
23
|
}>;
|
|
18
24
|
loading: boolean;
|
|
19
25
|
};
|
|
20
26
|
create: {
|
|
21
27
|
run: (params: _paykit_sdk_core.CreateCustomerParams) => Promise<{
|
|
22
|
-
data:
|
|
23
|
-
error: Error
|
|
28
|
+
data: undefined;
|
|
29
|
+
error: Error;
|
|
30
|
+
} | {
|
|
31
|
+
data: _paykit_sdk_core.Customer;
|
|
32
|
+
error: undefined;
|
|
24
33
|
}>;
|
|
25
34
|
loading: boolean;
|
|
26
35
|
};
|
|
27
36
|
update: {
|
|
28
37
|
run: (id: string, params: _paykit_sdk_core.UpdateCustomerParams) => Promise<{
|
|
29
|
-
data:
|
|
30
|
-
error: Error
|
|
38
|
+
data: undefined;
|
|
39
|
+
error: Error;
|
|
40
|
+
} | {
|
|
41
|
+
data: _paykit_sdk_core.Customer;
|
|
42
|
+
error: undefined;
|
|
31
43
|
}>;
|
|
32
44
|
loading: boolean;
|
|
33
45
|
};
|
|
@@ -36,22 +48,31 @@ declare const useCustomer: () => {
|
|
|
36
48
|
declare const useSubscription: () => {
|
|
37
49
|
retrieve: {
|
|
38
50
|
run: (id: string) => Promise<{
|
|
39
|
-
data:
|
|
40
|
-
error: Error
|
|
51
|
+
data: undefined;
|
|
52
|
+
error: Error;
|
|
53
|
+
} | {
|
|
54
|
+
data: _paykit_sdk_core.Subscription | null;
|
|
55
|
+
error: undefined;
|
|
41
56
|
}>;
|
|
42
57
|
loading: boolean;
|
|
43
58
|
};
|
|
44
59
|
update: {
|
|
45
60
|
run: (id: string, params: _paykit_sdk_core.UpdateSubscriptionParams) => Promise<{
|
|
46
|
-
data:
|
|
47
|
-
error: Error
|
|
61
|
+
data: undefined;
|
|
62
|
+
error: Error;
|
|
63
|
+
} | {
|
|
64
|
+
data: _paykit_sdk_core.Subscription;
|
|
65
|
+
error: undefined;
|
|
48
66
|
}>;
|
|
49
67
|
loading: boolean;
|
|
50
68
|
};
|
|
51
69
|
cancel: {
|
|
52
70
|
run: (id: string) => Promise<{
|
|
53
|
-
data:
|
|
54
|
-
error: Error
|
|
71
|
+
data: undefined;
|
|
72
|
+
error: Error;
|
|
73
|
+
} | {
|
|
74
|
+
data: null;
|
|
75
|
+
error: undefined;
|
|
55
76
|
}>;
|
|
56
77
|
loading: boolean;
|
|
57
78
|
};
|
|
@@ -60,15 +81,21 @@ declare const useSubscription: () => {
|
|
|
60
81
|
declare const useCheckout: () => {
|
|
61
82
|
create: {
|
|
62
83
|
run: (params: _paykit_sdk_core.CreateCheckoutParams) => Promise<{
|
|
63
|
-
data:
|
|
64
|
-
error: Error
|
|
84
|
+
data: undefined;
|
|
85
|
+
error: Error;
|
|
86
|
+
} | {
|
|
87
|
+
data: _paykit_sdk_core.Checkout;
|
|
88
|
+
error: undefined;
|
|
65
89
|
}>;
|
|
66
90
|
loading: boolean;
|
|
67
91
|
};
|
|
68
92
|
retrieve: {
|
|
69
93
|
run: (id: string) => Promise<{
|
|
70
|
-
data:
|
|
71
|
-
error: Error
|
|
94
|
+
data: undefined;
|
|
95
|
+
error: Error;
|
|
96
|
+
} | {
|
|
97
|
+
data: _paykit_sdk_core.Checkout | null;
|
|
98
|
+
error: undefined;
|
|
72
99
|
}>;
|
|
73
100
|
loading: boolean;
|
|
74
101
|
};
|
package/dist/index.js
CHANGED
|
@@ -65,7 +65,8 @@ var useAsyncFn = (fn) => {
|
|
|
65
65
|
setLoading(true);
|
|
66
66
|
const [data, error] = await (0, import_core.tryCatchAsync)(fn(...args));
|
|
67
67
|
setLoading(false);
|
|
68
|
-
return { data, error };
|
|
68
|
+
if (error) return { data: void 0, error };
|
|
69
|
+
return { data, error: void 0 };
|
|
69
70
|
},
|
|
70
71
|
[fn]
|
|
71
72
|
);
|
package/dist/index.mjs
CHANGED
package/package.json
CHANGED
|
@@ -1,16 +1,23 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@paykit-sdk/react",
|
|
3
|
-
"version": "1.1.0-alpha.
|
|
3
|
+
"version": "1.1.0-alpha.4",
|
|
4
4
|
"main": "dist/index.js",
|
|
5
|
-
"module": "dist/index.
|
|
5
|
+
"module": "dist/index.mjs",
|
|
6
6
|
"types": "dist/index.d.ts",
|
|
7
|
+
"exports": {
|
|
8
|
+
".": {
|
|
9
|
+
"types": "./dist/index.d.ts",
|
|
10
|
+
"import": "./dist/index.mjs",
|
|
11
|
+
"require": "./dist/index.js"
|
|
12
|
+
}
|
|
13
|
+
},
|
|
7
14
|
"files": [
|
|
8
15
|
"dist"
|
|
9
16
|
],
|
|
10
17
|
"scripts": {
|
|
11
18
|
"build": "tsup src/index.ts --format cjs,esm --dts --clean",
|
|
12
19
|
"dev": "tsup src/index.ts --format cjs,esm --dts --watch",
|
|
13
|
-
"prepublishOnly": "npm run build",
|
|
20
|
+
"prepublishOnly": "rm -rf dist && npm run build",
|
|
14
21
|
"typecheck": "tsc --noEmit"
|
|
15
22
|
},
|
|
16
23
|
"publishConfig": {
|
|
@@ -19,7 +26,7 @@
|
|
|
19
26
|
"peerDependencies": {
|
|
20
27
|
"react": ">=16.8.0",
|
|
21
28
|
"react-dom": ">=16.8.0",
|
|
22
|
-
"@paykit-sdk/core": ">=1.1.
|
|
29
|
+
"@paykit-sdk/core": ">=1.1.1-alpha.1"
|
|
23
30
|
},
|
|
24
31
|
"devDependencies": {
|
|
25
32
|
"@swc/core": "^1.12.9",
|
|
@@ -44,5 +51,5 @@
|
|
|
44
51
|
],
|
|
45
52
|
"author": "Emmanuel Odii",
|
|
46
53
|
"license": "ISC",
|
|
47
|
-
"homepage": "https://
|
|
54
|
+
"homepage": "https://usepaykit.dev"
|
|
48
55
|
}
|