@vue-stripe/vue-stripe 5.0.0 → 5.2.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/README.md +52 -12
- package/dist/cjs/index.js +1 -1
- package/dist/es/index.js +957 -561
- package/dist/types/components/VueStripeCheckout.vue.d.ts +35 -11
- package/dist/types/components/VueStripeCheckout.vue.d.ts.map +1 -1
- package/dist/types/components/VueStripeEpsBankElement.vue.d.ts +155 -0
- package/dist/types/components/VueStripeEpsBankElement.vue.d.ts.map +1 -0
- package/dist/types/components/VueStripeIbanElement.vue.d.ts +155 -0
- package/dist/types/components/VueStripeIbanElement.vue.d.ts.map +1 -0
- package/dist/types/components/VueStripeIdealBankElement.vue.d.ts +155 -0
- package/dist/types/components/VueStripeIdealBankElement.vue.d.ts.map +1 -0
- package/dist/types/components/VueStripeP24BankElement.vue.d.ts +155 -0
- package/dist/types/components/VueStripeP24BankElement.vue.d.ts.map +1 -0
- package/dist/types/components/index.d.ts +4 -0
- package/dist/types/components/index.d.ts.map +1 -1
- package/dist/types/composables/useStripeCheckout.d.ts +65 -2
- package/dist/types/composables/useStripeCheckout.d.ts.map +1 -1
- package/dist/types/tsconfig.build.tsbuildinfo +1 -1
- package/dist/umd/index.js +1 -1
- package/dist/vue-stripe.css +1 -1
- package/package.json +3 -3
|
@@ -0,0 +1,155 @@
|
|
|
1
|
+
import { StripeP24BankElement as StripeP24BankElementType, StripeP24BankElementOptions, StripeP24BankElementChangeEvent } from '@stripe/stripe-js';
|
|
2
|
+
import { DefineComponent, Ref, ComponentOptionsMixin, PublicProps, ComponentProvideOptions } from 'vue-demi';
|
|
3
|
+
interface Props {
|
|
4
|
+
options?: StripeP24BankElementOptions;
|
|
5
|
+
}
|
|
6
|
+
declare function __VLS_template(): {
|
|
7
|
+
attrs: Partial<{}>;
|
|
8
|
+
slots: {
|
|
9
|
+
error?(_: {
|
|
10
|
+
error: string;
|
|
11
|
+
}): any;
|
|
12
|
+
loading?(_: {}): any;
|
|
13
|
+
};
|
|
14
|
+
refs: {
|
|
15
|
+
elementRef: HTMLDivElement;
|
|
16
|
+
};
|
|
17
|
+
rootEl: HTMLDivElement;
|
|
18
|
+
};
|
|
19
|
+
type __VLS_TemplateResult = ReturnType<typeof __VLS_template>;
|
|
20
|
+
declare const __VLS_component: DefineComponent<Props, {
|
|
21
|
+
element: Ref<{
|
|
22
|
+
mount: (domElement: string | HTMLElement) => void;
|
|
23
|
+
blur: () => void;
|
|
24
|
+
clear: () => void;
|
|
25
|
+
destroy: () => void;
|
|
26
|
+
focus: () => void;
|
|
27
|
+
unmount: () => void;
|
|
28
|
+
on: {
|
|
29
|
+
(eventType: "change", handler: (event: StripeP24BankElementChangeEvent) => any): StripeP24BankElementType;
|
|
30
|
+
(eventType: "ready", handler: (event: {
|
|
31
|
+
elementType: "p24Bank";
|
|
32
|
+
}) => any): StripeP24BankElementType;
|
|
33
|
+
(eventType: "focus", handler: (event: {
|
|
34
|
+
elementType: "p24Bank";
|
|
35
|
+
}) => any): StripeP24BankElementType;
|
|
36
|
+
(eventType: "blur", handler: (event: {
|
|
37
|
+
elementType: "p24Bank";
|
|
38
|
+
}) => any): StripeP24BankElementType;
|
|
39
|
+
(eventType: "escape", handler: (event: {
|
|
40
|
+
elementType: "p24Bank";
|
|
41
|
+
}) => any): StripeP24BankElementType;
|
|
42
|
+
};
|
|
43
|
+
once: {
|
|
44
|
+
(eventType: "change", handler: (event: StripeP24BankElementChangeEvent) => any): StripeP24BankElementType;
|
|
45
|
+
(eventType: "ready", handler: (event: {
|
|
46
|
+
elementType: "p24Bank";
|
|
47
|
+
}) => any): StripeP24BankElementType;
|
|
48
|
+
(eventType: "focus", handler: (event: {
|
|
49
|
+
elementType: "p24Bank";
|
|
50
|
+
}) => any): StripeP24BankElementType;
|
|
51
|
+
(eventType: "blur", handler: (event: {
|
|
52
|
+
elementType: "p24Bank";
|
|
53
|
+
}) => any): StripeP24BankElementType;
|
|
54
|
+
(eventType: "escape", handler: (event: {
|
|
55
|
+
elementType: "p24Bank";
|
|
56
|
+
}) => any): StripeP24BankElementType;
|
|
57
|
+
};
|
|
58
|
+
off: {
|
|
59
|
+
(eventType: "change", handler: (event: StripeP24BankElementChangeEvent) => any): StripeP24BankElementType;
|
|
60
|
+
(eventType: "ready", handler: (event: {
|
|
61
|
+
elementType: "p24Bank";
|
|
62
|
+
}) => any): StripeP24BankElementType;
|
|
63
|
+
(eventType: "focus", handler: (event: {
|
|
64
|
+
elementType: "p24Bank";
|
|
65
|
+
}) => any): StripeP24BankElementType;
|
|
66
|
+
(eventType: "blur", handler: (event: {
|
|
67
|
+
elementType: "p24Bank";
|
|
68
|
+
}) => any): StripeP24BankElementType;
|
|
69
|
+
(eventType: "escape", handler: (event: {
|
|
70
|
+
elementType: "p24Bank";
|
|
71
|
+
}) => any): StripeP24BankElementType;
|
|
72
|
+
};
|
|
73
|
+
update: (options: Partial<StripeP24BankElementOptions>) => void;
|
|
74
|
+
} | null, StripeP24BankElementType | {
|
|
75
|
+
mount: (domElement: string | HTMLElement) => void;
|
|
76
|
+
blur: () => void;
|
|
77
|
+
clear: () => void;
|
|
78
|
+
destroy: () => void;
|
|
79
|
+
focus: () => void;
|
|
80
|
+
unmount: () => void;
|
|
81
|
+
on: {
|
|
82
|
+
(eventType: "change", handler: (event: StripeP24BankElementChangeEvent) => any): StripeP24BankElementType;
|
|
83
|
+
(eventType: "ready", handler: (event: {
|
|
84
|
+
elementType: "p24Bank";
|
|
85
|
+
}) => any): StripeP24BankElementType;
|
|
86
|
+
(eventType: "focus", handler: (event: {
|
|
87
|
+
elementType: "p24Bank";
|
|
88
|
+
}) => any): StripeP24BankElementType;
|
|
89
|
+
(eventType: "blur", handler: (event: {
|
|
90
|
+
elementType: "p24Bank";
|
|
91
|
+
}) => any): StripeP24BankElementType;
|
|
92
|
+
(eventType: "escape", handler: (event: {
|
|
93
|
+
elementType: "p24Bank";
|
|
94
|
+
}) => any): StripeP24BankElementType;
|
|
95
|
+
};
|
|
96
|
+
once: {
|
|
97
|
+
(eventType: "change", handler: (event: StripeP24BankElementChangeEvent) => any): StripeP24BankElementType;
|
|
98
|
+
(eventType: "ready", handler: (event: {
|
|
99
|
+
elementType: "p24Bank";
|
|
100
|
+
}) => any): StripeP24BankElementType;
|
|
101
|
+
(eventType: "focus", handler: (event: {
|
|
102
|
+
elementType: "p24Bank";
|
|
103
|
+
}) => any): StripeP24BankElementType;
|
|
104
|
+
(eventType: "blur", handler: (event: {
|
|
105
|
+
elementType: "p24Bank";
|
|
106
|
+
}) => any): StripeP24BankElementType;
|
|
107
|
+
(eventType: "escape", handler: (event: {
|
|
108
|
+
elementType: "p24Bank";
|
|
109
|
+
}) => any): StripeP24BankElementType;
|
|
110
|
+
};
|
|
111
|
+
off: {
|
|
112
|
+
(eventType: "change", handler: (event: StripeP24BankElementChangeEvent) => any): StripeP24BankElementType;
|
|
113
|
+
(eventType: "ready", handler: (event: {
|
|
114
|
+
elementType: "p24Bank";
|
|
115
|
+
}) => any): StripeP24BankElementType;
|
|
116
|
+
(eventType: "focus", handler: (event: {
|
|
117
|
+
elementType: "p24Bank";
|
|
118
|
+
}) => any): StripeP24BankElementType;
|
|
119
|
+
(eventType: "blur", handler: (event: {
|
|
120
|
+
elementType: "p24Bank";
|
|
121
|
+
}) => any): StripeP24BankElementType;
|
|
122
|
+
(eventType: "escape", handler: (event: {
|
|
123
|
+
elementType: "p24Bank";
|
|
124
|
+
}) => any): StripeP24BankElementType;
|
|
125
|
+
};
|
|
126
|
+
update: (options: Partial<StripeP24BankElementOptions>) => void;
|
|
127
|
+
} | null>;
|
|
128
|
+
loading: Ref<boolean, boolean>;
|
|
129
|
+
error: Ref<string | null, string | null>;
|
|
130
|
+
focus: () => void | undefined;
|
|
131
|
+
blur: () => void | undefined;
|
|
132
|
+
clear: () => void | undefined;
|
|
133
|
+
}, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {} & {
|
|
134
|
+
blur: () => any;
|
|
135
|
+
change: (event: StripeP24BankElementChangeEvent) => any;
|
|
136
|
+
focus: () => any;
|
|
137
|
+
ready: (element: StripeP24BankElementType) => any;
|
|
138
|
+
escape: () => any;
|
|
139
|
+
}, string, PublicProps, Readonly<Props> & Readonly<{
|
|
140
|
+
onBlur?: () => any;
|
|
141
|
+
onChange?: (event: StripeP24BankElementChangeEvent) => any;
|
|
142
|
+
onFocus?: () => any;
|
|
143
|
+
onReady?: (element: StripeP24BankElementType) => any;
|
|
144
|
+
onEscape?: () => any;
|
|
145
|
+
}>, {}, {}, {}, {}, string, ComponentProvideOptions, false, {
|
|
146
|
+
elementRef: HTMLDivElement;
|
|
147
|
+
}, HTMLDivElement>;
|
|
148
|
+
declare const _default: __VLS_WithTemplateSlots<typeof __VLS_component, __VLS_TemplateResult["slots"]>;
|
|
149
|
+
export default _default;
|
|
150
|
+
type __VLS_WithTemplateSlots<T, S> = T & {
|
|
151
|
+
new (): {
|
|
152
|
+
$slots: S;
|
|
153
|
+
};
|
|
154
|
+
};
|
|
155
|
+
//# sourceMappingURL=VueStripeP24BankElement.vue.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"VueStripeP24BankElement.vue.d.ts","sourceRoot":"","sources":["../../../src/components/VueStripeP24BankElement.vue"],"names":[],"mappings":";AA6NA,OAAO,KAAK,EACV,oBAAoB,IAAI,wBAAwB,EAChD,2BAA2B,EAC3B,+BAA+B,EAChC,MAAM,mBAAmB,CAAA;AAI1B,UAAU,KAAK;IACb,OAAO,CAAC,EAAE,2BAA2B,CAAA;CACtC;AA4ID,iBAAS,cAAc;WA+DT,OAAO,IAA6B;;;;YAZvB,GAAG;yBACD,GAAG;;;;;;EAgB/B;AAYD,KAAK,oBAAoB,GAAG,UAAU,CAAC,OAAO,cAAc,CAAC,CAAC;AAC9D,QAAA,MAAM,eAAe;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;kBAUnB,CAAC;wBACkB,uBAAuB,CAAC,OAAO,eAAe,EAAE,oBAAoB,CAAC,OAAO,CAAC,CAAC;AAAnG,wBAAoG;AAOpG,KAAK,uBAAuB,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG;IACxC,QAAO;QACN,MAAM,EAAE,CAAC,CAAC;KAEV,CAAA;CACD,CAAC"}
|
|
@@ -8,5 +8,9 @@ export { default as VueStripeCardExpiryElement } from './VueStripeCardExpiryElem
|
|
|
8
8
|
export { default as VueStripeCardCvcElement } from './VueStripeCardCvcElement.vue';
|
|
9
9
|
export { default as VueStripeLinkAuthenticationElement } from './VueStripeLinkAuthenticationElement.vue';
|
|
10
10
|
export { default as VueStripeAddressElement } from './VueStripeAddressElement.vue';
|
|
11
|
+
export { default as VueStripeIbanElement } from './VueStripeIbanElement.vue';
|
|
12
|
+
export { default as VueStripeIdealBankElement } from './VueStripeIdealBankElement.vue';
|
|
13
|
+
export { default as VueStripeP24BankElement } from './VueStripeP24BankElement.vue';
|
|
14
|
+
export { default as VueStripeEpsBankElement } from './VueStripeEpsBankElement.vue';
|
|
11
15
|
export { default as VueStripeCheckout } from './VueStripeCheckout.vue';
|
|
12
16
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,IAAI,iBAAiB,EAAE,MAAM,yBAAyB,CAAA;AACtE,OAAO,EAAE,OAAO,IAAI,iBAAiB,EAAE,MAAM,yBAAyB,CAAA;AAGtE,OAAO,EAAE,OAAO,IAAI,uBAAuB,EAAE,MAAM,+BAA+B,CAAA;AAClF,OAAO,EAAE,OAAO,IAAI,+BAA+B,EAAE,MAAM,uCAAuC,CAAA;AAGlG,OAAO,EAAE,OAAO,IAAI,oBAAoB,EAAE,MAAM,4BAA4B,CAAA;AAC5E,OAAO,EAAE,OAAO,IAAI,0BAA0B,EAAE,MAAM,kCAAkC,CAAA;AACxF,OAAO,EAAE,OAAO,IAAI,0BAA0B,EAAE,MAAM,kCAAkC,CAAA;AACxF,OAAO,EAAE,OAAO,IAAI,uBAAuB,EAAE,MAAM,+BAA+B,CAAA;AAGlF,OAAO,EAAE,OAAO,IAAI,kCAAkC,EAAE,MAAM,0CAA0C,CAAA;AACxG,OAAO,EAAE,OAAO,IAAI,uBAAuB,EAAE,MAAM,+BAA+B,CAAA;AAGlF,OAAO,EAAE,OAAO,IAAI,iBAAiB,EAAE,MAAM,yBAAyB,CAAA"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,IAAI,iBAAiB,EAAE,MAAM,yBAAyB,CAAA;AACtE,OAAO,EAAE,OAAO,IAAI,iBAAiB,EAAE,MAAM,yBAAyB,CAAA;AAGtE,OAAO,EAAE,OAAO,IAAI,uBAAuB,EAAE,MAAM,+BAA+B,CAAA;AAClF,OAAO,EAAE,OAAO,IAAI,+BAA+B,EAAE,MAAM,uCAAuC,CAAA;AAGlG,OAAO,EAAE,OAAO,IAAI,oBAAoB,EAAE,MAAM,4BAA4B,CAAA;AAC5E,OAAO,EAAE,OAAO,IAAI,0BAA0B,EAAE,MAAM,kCAAkC,CAAA;AACxF,OAAO,EAAE,OAAO,IAAI,0BAA0B,EAAE,MAAM,kCAAkC,CAAA;AACxF,OAAO,EAAE,OAAO,IAAI,uBAAuB,EAAE,MAAM,+BAA+B,CAAA;AAGlF,OAAO,EAAE,OAAO,IAAI,kCAAkC,EAAE,MAAM,0CAA0C,CAAA;AACxG,OAAO,EAAE,OAAO,IAAI,uBAAuB,EAAE,MAAM,+BAA+B,CAAA;AAGlF,OAAO,EAAE,OAAO,IAAI,oBAAoB,EAAE,MAAM,4BAA4B,CAAA;AAC5E,OAAO,EAAE,OAAO,IAAI,yBAAyB,EAAE,MAAM,iCAAiC,CAAA;AACtF,OAAO,EAAE,OAAO,IAAI,uBAAuB,EAAE,MAAM,+BAA+B,CAAA;AAClF,OAAO,EAAE,OAAO,IAAI,uBAAuB,EAAE,MAAM,+BAA+B,CAAA;AAGlF,OAAO,EAAE,OAAO,IAAI,iBAAiB,EAAE,MAAM,yBAAyB,CAAA"}
|
|
@@ -1,9 +1,72 @@
|
|
|
1
1
|
import { Ref } from 'vue-demi';
|
|
2
|
-
|
|
2
|
+
/**
|
|
3
|
+
* Options for URL-based checkout redirect (v8.x compatible)
|
|
4
|
+
*/
|
|
5
|
+
export interface CheckoutRedirectOptions {
|
|
6
|
+
/** The checkout session URL from your server */
|
|
7
|
+
url: string;
|
|
8
|
+
}
|
|
9
|
+
/**
|
|
10
|
+
* Options for legacy redirectToCheckout (v7.x only)
|
|
11
|
+
* @deprecated Use CheckoutRedirectOptions with URL redirect instead
|
|
12
|
+
*/
|
|
13
|
+
export interface LegacyCheckoutOptions {
|
|
14
|
+
/** Checkout Session ID */
|
|
15
|
+
sessionId?: string;
|
|
16
|
+
/** Line items for client-side session creation */
|
|
17
|
+
lineItems?: Array<{
|
|
18
|
+
price: string;
|
|
19
|
+
quantity: number;
|
|
20
|
+
}>;
|
|
21
|
+
/** Checkout mode */
|
|
22
|
+
mode?: 'payment' | 'subscription' | 'setup';
|
|
23
|
+
/** Success redirect URL */
|
|
24
|
+
successUrl?: string;
|
|
25
|
+
/** Cancel redirect URL */
|
|
26
|
+
cancelUrl?: string;
|
|
27
|
+
}
|
|
3
28
|
export interface UseStripeCheckoutReturn {
|
|
4
|
-
|
|
29
|
+
/**
|
|
30
|
+
* Redirect to Stripe Checkout using session URL (v8.x compatible, recommended)
|
|
31
|
+
*/
|
|
32
|
+
redirectToCheckout: (options: CheckoutRedirectOptions | LegacyCheckoutOptions) => Promise<void>;
|
|
33
|
+
/**
|
|
34
|
+
* Redirect to checkout using session URL (v8.x compatible)
|
|
35
|
+
*/
|
|
36
|
+
redirectToUrl: (url: string) => void;
|
|
5
37
|
loading: Readonly<Ref<boolean>>;
|
|
6
38
|
error: Readonly<Ref<string | null>>;
|
|
7
39
|
}
|
|
40
|
+
/**
|
|
41
|
+
* Composable for handling Stripe Checkout redirects.
|
|
42
|
+
*
|
|
43
|
+
* Supports both @stripe/stripe-js v7.x (redirectToCheckout) and v8.x (URL redirect).
|
|
44
|
+
*
|
|
45
|
+
* @example
|
|
46
|
+
* ```vue
|
|
47
|
+
* <script setup>
|
|
48
|
+
* import { useStripeCheckout } from '@vue-stripe/vue-stripe'
|
|
49
|
+
*
|
|
50
|
+
* const { redirectToCheckout, redirectToUrl, loading, error } = useStripeCheckout()
|
|
51
|
+
*
|
|
52
|
+
* // v8.x compatible (recommended)
|
|
53
|
+
* const handleCheckout = async () => {
|
|
54
|
+
* const response = await fetch('/api/create-checkout-session', {
|
|
55
|
+
* method: 'POST',
|
|
56
|
+
* body: JSON.stringify({ priceId: 'price_xxx' })
|
|
57
|
+
* })
|
|
58
|
+
* const { url } = await response.json()
|
|
59
|
+
* redirectToUrl(url)
|
|
60
|
+
* }
|
|
61
|
+
*
|
|
62
|
+
* // Or using redirectToCheckout with URL
|
|
63
|
+
* const handleCheckoutAlt = async () => {
|
|
64
|
+
* const response = await fetch('/api/create-checkout-session')
|
|
65
|
+
* const { url } = await response.json()
|
|
66
|
+
* await redirectToCheckout({ url })
|
|
67
|
+
* }
|
|
68
|
+
* </script>
|
|
69
|
+
* ```
|
|
70
|
+
*/
|
|
8
71
|
export declare function useStripeCheckout(): UseStripeCheckoutReturn;
|
|
9
72
|
//# sourceMappingURL=useStripeCheckout.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useStripeCheckout.d.ts","sourceRoot":"","sources":["../../../src/composables/useStripeCheckout.ts"],"names":[],"mappings":"AAAA,OAAO,EAAiB,KAAK,GAAG,EAAE,MAAM,UAAU,CAAA;
|
|
1
|
+
{"version":3,"file":"useStripeCheckout.d.ts","sourceRoot":"","sources":["../../../src/composables/useStripeCheckout.ts"],"names":[],"mappings":"AAAA,OAAO,EAAiB,KAAK,GAAG,EAAE,MAAM,UAAU,CAAA;AAIlD;;GAEG;AACH,MAAM,WAAW,uBAAuB;IACtC,gDAAgD;IAChD,GAAG,EAAE,MAAM,CAAA;CACZ;AAED;;;GAGG;AACH,MAAM,WAAW,qBAAqB;IACpC,0BAA0B;IAC1B,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,kDAAkD;IAClD,SAAS,CAAC,EAAE,KAAK,CAAC;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAA;KAAE,CAAC,CAAA;IACtD,oBAAoB;IACpB,IAAI,CAAC,EAAE,SAAS,GAAG,cAAc,GAAG,OAAO,CAAA;IAC3C,2BAA2B;IAC3B,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,0BAA0B;IAC1B,SAAS,CAAC,EAAE,MAAM,CAAA;CACnB;AAED,MAAM,WAAW,uBAAuB;IACtC;;OAEG;IACH,kBAAkB,EAAE,CAAC,OAAO,EAAE,uBAAuB,GAAG,qBAAqB,KAAK,OAAO,CAAC,IAAI,CAAC,CAAA;IAC/F;;OAEG;IACH,aAAa,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,CAAA;IACpC,OAAO,EAAE,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAA;IAC/B,KAAK,EAAE,QAAQ,CAAC,GAAG,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC,CAAA;CACpC;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8BG;AACH,wBAAgB,iBAAiB,IAAI,uBAAuB,CAiF3D"}
|