@appfunnel-dev/sdk 2.0.0-canary.1 → 2.0.0-canary.11
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 +1 -1
- package/dist/capabilities-Dq22RCr_.d.cts +180 -0
- package/dist/capabilities-Dq22RCr_.d.ts +180 -0
- package/dist/checkout-ClaO5IYV.d.ts +333 -0
- package/dist/checkout-DBp4bCpC.d.cts +333 -0
- package/dist/chunk-7JLOF6CJ.cjs +172 -0
- package/dist/chunk-7JLOF6CJ.cjs.map +1 -0
- package/dist/chunk-EMMSS5I5.cjs +37 -0
- package/dist/chunk-EMMSS5I5.cjs.map +1 -0
- package/dist/chunk-G3PMV62Z.js +33 -0
- package/dist/chunk-G3PMV62Z.js.map +1 -0
- package/dist/chunk-JAO6AA4R.js +99 -0
- package/dist/chunk-JAO6AA4R.js.map +1 -0
- package/dist/chunk-OXQBEKZ5.js +157 -0
- package/dist/chunk-OXQBEKZ5.js.map +1 -0
- package/dist/chunk-RKPRMTSU.cjs +517 -0
- package/dist/chunk-RKPRMTSU.cjs.map +1 -0
- package/dist/chunk-SXENKZ4U.js +486 -0
- package/dist/chunk-SXENKZ4U.js.map +1 -0
- package/dist/chunk-VV7TFC64.cjs +106 -0
- package/dist/chunk-VV7TFC64.cjs.map +1 -0
- package/dist/chunk-WYUDL4FI.cjs +8 -0
- package/dist/chunk-WYUDL4FI.cjs.map +1 -0
- package/dist/chunk-ZZJG4EYL.js +6 -0
- package/dist/chunk-ZZJG4EYL.js.map +1 -0
- package/dist/driver-paddle.cjs +817 -0
- package/dist/driver-paddle.cjs.map +1 -0
- package/dist/driver-paddle.d.cts +10 -0
- package/dist/driver-paddle.d.ts +10 -0
- package/dist/driver-paddle.js +814 -0
- package/dist/driver-paddle.js.map +1 -0
- package/dist/driver-stripe.cjs +2312 -0
- package/dist/driver-stripe.cjs.map +1 -0
- package/dist/driver-stripe.d.cts +24 -0
- package/dist/driver-stripe.d.ts +24 -0
- package/dist/driver-stripe.js +2305 -0
- package/dist/driver-stripe.js.map +1 -0
- package/dist/index.cjs +2677 -846
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +358 -1005
- package/dist/index.d.ts +358 -1005
- package/dist/index.js +2395 -698
- package/dist/index.js.map +1 -1
- package/dist/manifest-C2mDXWNU.d.cts +996 -0
- package/dist/manifest-C2mDXWNU.d.ts +996 -0
- package/dist/manifest-entry.cjs +408 -0
- package/dist/manifest-entry.cjs.map +1 -0
- package/dist/manifest-entry.d.cts +192 -0
- package/dist/manifest-entry.d.ts +192 -0
- package/dist/manifest-entry.js +270 -0
- package/dist/manifest-entry.js.map +1 -0
- package/dist/protocol.cjs +13 -0
- package/dist/protocol.cjs.map +1 -0
- package/dist/protocol.d.cts +182 -0
- package/dist/protocol.d.ts +182 -0
- package/dist/protocol.js +4 -0
- package/dist/protocol.js.map +1 -0
- package/package.json +49 -4
|
@@ -0,0 +1,814 @@
|
|
|
1
|
+
import { completeWithPoll, postComplete, settlementToResult, postSession, leaveForRedirect, toCheckoutError } from './chunk-JAO6AA4R.js';
|
|
2
|
+
import { checkoutError } from './chunk-OXQBEKZ5.js';
|
|
3
|
+
import './chunk-G3PMV62Z.js';
|
|
4
|
+
import { createElement, useState, useId, useRef, useEffect } from 'react';
|
|
5
|
+
|
|
6
|
+
// ../../node_modules/@paddle/paddle-js/dist/index.esm.js
|
|
7
|
+
function asyncGeneratorStep(n, t, e, r, o, a, c) {
|
|
8
|
+
try {
|
|
9
|
+
var i = n[a](c), u = i.value;
|
|
10
|
+
} catch (n2) {
|
|
11
|
+
return void e(n2);
|
|
12
|
+
}
|
|
13
|
+
i.done ? t(u) : Promise.resolve(u).then(r, o);
|
|
14
|
+
}
|
|
15
|
+
function _asyncToGenerator(n) {
|
|
16
|
+
return function() {
|
|
17
|
+
var t = this, e = arguments;
|
|
18
|
+
return new Promise(function(r, o) {
|
|
19
|
+
var a = n.apply(t, e);
|
|
20
|
+
function _next(n2) {
|
|
21
|
+
asyncGeneratorStep(a, r, o, _next, _throw, "next", n2);
|
|
22
|
+
}
|
|
23
|
+
function _throw(n2) {
|
|
24
|
+
asyncGeneratorStep(a, r, o, _next, _throw, "throw", n2);
|
|
25
|
+
}
|
|
26
|
+
_next(void 0);
|
|
27
|
+
});
|
|
28
|
+
};
|
|
29
|
+
}
|
|
30
|
+
function _defineProperty(e, r, t) {
|
|
31
|
+
return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, {
|
|
32
|
+
value: t,
|
|
33
|
+
enumerable: true,
|
|
34
|
+
configurable: true,
|
|
35
|
+
writable: true
|
|
36
|
+
}) : e[r] = t, e;
|
|
37
|
+
}
|
|
38
|
+
function ownKeys(e, r) {
|
|
39
|
+
var t = Object.keys(e);
|
|
40
|
+
if (Object.getOwnPropertySymbols) {
|
|
41
|
+
var o = Object.getOwnPropertySymbols(e);
|
|
42
|
+
r && (o = o.filter(function(r2) {
|
|
43
|
+
return Object.getOwnPropertyDescriptor(e, r2).enumerable;
|
|
44
|
+
})), t.push.apply(t, o);
|
|
45
|
+
}
|
|
46
|
+
return t;
|
|
47
|
+
}
|
|
48
|
+
function _objectSpread2(e) {
|
|
49
|
+
for (var r = 1; r < arguments.length; r++) {
|
|
50
|
+
var t = null != arguments[r] ? arguments[r] : {};
|
|
51
|
+
r % 2 ? ownKeys(Object(t), true).forEach(function(r2) {
|
|
52
|
+
_defineProperty(e, r2, t[r2]);
|
|
53
|
+
}) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function(r2) {
|
|
54
|
+
Object.defineProperty(e, r2, Object.getOwnPropertyDescriptor(t, r2));
|
|
55
|
+
});
|
|
56
|
+
}
|
|
57
|
+
return e;
|
|
58
|
+
}
|
|
59
|
+
function _objectWithoutProperties(e, t) {
|
|
60
|
+
if (null == e) return {};
|
|
61
|
+
var o, r, i = _objectWithoutPropertiesLoose(e, t);
|
|
62
|
+
if (Object.getOwnPropertySymbols) {
|
|
63
|
+
var s = Object.getOwnPropertySymbols(e);
|
|
64
|
+
for (r = 0; r < s.length; r++) o = s[r], t.includes(o) || {}.propertyIsEnumerable.call(e, o) && (i[o] = e[o]);
|
|
65
|
+
}
|
|
66
|
+
return i;
|
|
67
|
+
}
|
|
68
|
+
function _objectWithoutPropertiesLoose(r, e) {
|
|
69
|
+
if (null == r) return {};
|
|
70
|
+
var t = {};
|
|
71
|
+
for (var n in r) if ({}.hasOwnProperty.call(r, n)) {
|
|
72
|
+
if (e.includes(n)) continue;
|
|
73
|
+
t[n] = r[n];
|
|
74
|
+
}
|
|
75
|
+
return t;
|
|
76
|
+
}
|
|
77
|
+
function _regeneratorRuntime() {
|
|
78
|
+
_regeneratorRuntime = function() {
|
|
79
|
+
return e;
|
|
80
|
+
};
|
|
81
|
+
var t, e = {}, r = Object.prototype, n = r.hasOwnProperty, o = Object.defineProperty || function(t2, e2, r2) {
|
|
82
|
+
t2[e2] = r2.value;
|
|
83
|
+
}, i = "function" == typeof Symbol ? Symbol : {}, a = i.iterator || "@@iterator", c = i.asyncIterator || "@@asyncIterator", u = i.toStringTag || "@@toStringTag";
|
|
84
|
+
function define(t2, e2, r2) {
|
|
85
|
+
return Object.defineProperty(t2, e2, {
|
|
86
|
+
value: r2,
|
|
87
|
+
enumerable: true,
|
|
88
|
+
configurable: true,
|
|
89
|
+
writable: true
|
|
90
|
+
}), t2[e2];
|
|
91
|
+
}
|
|
92
|
+
try {
|
|
93
|
+
define({}, "");
|
|
94
|
+
} catch (t2) {
|
|
95
|
+
define = function(t3, e2, r2) {
|
|
96
|
+
return t3[e2] = r2;
|
|
97
|
+
};
|
|
98
|
+
}
|
|
99
|
+
function wrap(t2, e2, r2, n2) {
|
|
100
|
+
var i2 = e2 && e2.prototype instanceof Generator ? e2 : Generator, a2 = Object.create(i2.prototype), c2 = new Context(n2 || []);
|
|
101
|
+
return o(a2, "_invoke", {
|
|
102
|
+
value: makeInvokeMethod(t2, r2, c2)
|
|
103
|
+
}), a2;
|
|
104
|
+
}
|
|
105
|
+
function tryCatch(t2, e2, r2) {
|
|
106
|
+
try {
|
|
107
|
+
return {
|
|
108
|
+
type: "normal",
|
|
109
|
+
arg: t2.call(e2, r2)
|
|
110
|
+
};
|
|
111
|
+
} catch (t3) {
|
|
112
|
+
return {
|
|
113
|
+
type: "throw",
|
|
114
|
+
arg: t3
|
|
115
|
+
};
|
|
116
|
+
}
|
|
117
|
+
}
|
|
118
|
+
e.wrap = wrap;
|
|
119
|
+
var h = "suspendedStart", l = "suspendedYield", f = "executing", s = "completed", y = {};
|
|
120
|
+
function Generator() {
|
|
121
|
+
}
|
|
122
|
+
function GeneratorFunction() {
|
|
123
|
+
}
|
|
124
|
+
function GeneratorFunctionPrototype() {
|
|
125
|
+
}
|
|
126
|
+
var p = {};
|
|
127
|
+
define(p, a, function() {
|
|
128
|
+
return this;
|
|
129
|
+
});
|
|
130
|
+
var d = Object.getPrototypeOf, v = d && d(d(values([])));
|
|
131
|
+
v && v !== r && n.call(v, a) && (p = v);
|
|
132
|
+
var g = GeneratorFunctionPrototype.prototype = Generator.prototype = Object.create(p);
|
|
133
|
+
function defineIteratorMethods(t2) {
|
|
134
|
+
["next", "throw", "return"].forEach(function(e2) {
|
|
135
|
+
define(t2, e2, function(t3) {
|
|
136
|
+
return this._invoke(e2, t3);
|
|
137
|
+
});
|
|
138
|
+
});
|
|
139
|
+
}
|
|
140
|
+
function AsyncIterator(t2, e2) {
|
|
141
|
+
function invoke(r3, o2, i2, a2) {
|
|
142
|
+
var c2 = tryCatch(t2[r3], t2, o2);
|
|
143
|
+
if ("throw" !== c2.type) {
|
|
144
|
+
var u2 = c2.arg, h2 = u2.value;
|
|
145
|
+
return h2 && "object" == typeof h2 && n.call(h2, "__await") ? e2.resolve(h2.__await).then(function(t3) {
|
|
146
|
+
invoke("next", t3, i2, a2);
|
|
147
|
+
}, function(t3) {
|
|
148
|
+
invoke("throw", t3, i2, a2);
|
|
149
|
+
}) : e2.resolve(h2).then(function(t3) {
|
|
150
|
+
u2.value = t3, i2(u2);
|
|
151
|
+
}, function(t3) {
|
|
152
|
+
return invoke("throw", t3, i2, a2);
|
|
153
|
+
});
|
|
154
|
+
}
|
|
155
|
+
a2(c2.arg);
|
|
156
|
+
}
|
|
157
|
+
var r2;
|
|
158
|
+
o(this, "_invoke", {
|
|
159
|
+
value: function(t3, n2) {
|
|
160
|
+
function callInvokeWithMethodAndArg() {
|
|
161
|
+
return new e2(function(e3, r3) {
|
|
162
|
+
invoke(t3, n2, e3, r3);
|
|
163
|
+
});
|
|
164
|
+
}
|
|
165
|
+
return r2 = r2 ? r2.then(callInvokeWithMethodAndArg, callInvokeWithMethodAndArg) : callInvokeWithMethodAndArg();
|
|
166
|
+
}
|
|
167
|
+
});
|
|
168
|
+
}
|
|
169
|
+
function makeInvokeMethod(e2, r2, n2) {
|
|
170
|
+
var o2 = h;
|
|
171
|
+
return function(i2, a2) {
|
|
172
|
+
if (o2 === f) throw Error("Generator is already running");
|
|
173
|
+
if (o2 === s) {
|
|
174
|
+
if ("throw" === i2) throw a2;
|
|
175
|
+
return {
|
|
176
|
+
value: t,
|
|
177
|
+
done: true
|
|
178
|
+
};
|
|
179
|
+
}
|
|
180
|
+
for (n2.method = i2, n2.arg = a2; ; ) {
|
|
181
|
+
var c2 = n2.delegate;
|
|
182
|
+
if (c2) {
|
|
183
|
+
var u2 = maybeInvokeDelegate(c2, n2);
|
|
184
|
+
if (u2) {
|
|
185
|
+
if (u2 === y) continue;
|
|
186
|
+
return u2;
|
|
187
|
+
}
|
|
188
|
+
}
|
|
189
|
+
if ("next" === n2.method) n2.sent = n2._sent = n2.arg;
|
|
190
|
+
else if ("throw" === n2.method) {
|
|
191
|
+
if (o2 === h) throw o2 = s, n2.arg;
|
|
192
|
+
n2.dispatchException(n2.arg);
|
|
193
|
+
} else "return" === n2.method && n2.abrupt("return", n2.arg);
|
|
194
|
+
o2 = f;
|
|
195
|
+
var p2 = tryCatch(e2, r2, n2);
|
|
196
|
+
if ("normal" === p2.type) {
|
|
197
|
+
if (o2 = n2.done ? s : l, p2.arg === y) continue;
|
|
198
|
+
return {
|
|
199
|
+
value: p2.arg,
|
|
200
|
+
done: n2.done
|
|
201
|
+
};
|
|
202
|
+
}
|
|
203
|
+
"throw" === p2.type && (o2 = s, n2.method = "throw", n2.arg = p2.arg);
|
|
204
|
+
}
|
|
205
|
+
};
|
|
206
|
+
}
|
|
207
|
+
function maybeInvokeDelegate(e2, r2) {
|
|
208
|
+
var n2 = r2.method, o2 = e2.iterator[n2];
|
|
209
|
+
if (o2 === t) return r2.delegate = null, "throw" === n2 && e2.iterator.return && (r2.method = "return", r2.arg = t, maybeInvokeDelegate(e2, r2), "throw" === r2.method) || "return" !== n2 && (r2.method = "throw", r2.arg = new TypeError("The iterator does not provide a '" + n2 + "' method")), y;
|
|
210
|
+
var i2 = tryCatch(o2, e2.iterator, r2.arg);
|
|
211
|
+
if ("throw" === i2.type) return r2.method = "throw", r2.arg = i2.arg, r2.delegate = null, y;
|
|
212
|
+
var a2 = i2.arg;
|
|
213
|
+
return a2 ? a2.done ? (r2[e2.resultName] = a2.value, r2.next = e2.nextLoc, "return" !== r2.method && (r2.method = "next", r2.arg = t), r2.delegate = null, y) : a2 : (r2.method = "throw", r2.arg = new TypeError("iterator result is not an object"), r2.delegate = null, y);
|
|
214
|
+
}
|
|
215
|
+
function pushTryEntry(t2) {
|
|
216
|
+
var e2 = {
|
|
217
|
+
tryLoc: t2[0]
|
|
218
|
+
};
|
|
219
|
+
1 in t2 && (e2.catchLoc = t2[1]), 2 in t2 && (e2.finallyLoc = t2[2], e2.afterLoc = t2[3]), this.tryEntries.push(e2);
|
|
220
|
+
}
|
|
221
|
+
function resetTryEntry(t2) {
|
|
222
|
+
var e2 = t2.completion || {};
|
|
223
|
+
e2.type = "normal", delete e2.arg, t2.completion = e2;
|
|
224
|
+
}
|
|
225
|
+
function Context(t2) {
|
|
226
|
+
this.tryEntries = [{
|
|
227
|
+
tryLoc: "root"
|
|
228
|
+
}], t2.forEach(pushTryEntry, this), this.reset(true);
|
|
229
|
+
}
|
|
230
|
+
function values(e2) {
|
|
231
|
+
if (e2 || "" === e2) {
|
|
232
|
+
var r2 = e2[a];
|
|
233
|
+
if (r2) return r2.call(e2);
|
|
234
|
+
if ("function" == typeof e2.next) return e2;
|
|
235
|
+
if (!isNaN(e2.length)) {
|
|
236
|
+
var o2 = -1, i2 = function next() {
|
|
237
|
+
for (; ++o2 < e2.length; ) if (n.call(e2, o2)) return next.value = e2[o2], next.done = false, next;
|
|
238
|
+
return next.value = t, next.done = true, next;
|
|
239
|
+
};
|
|
240
|
+
return i2.next = i2;
|
|
241
|
+
}
|
|
242
|
+
}
|
|
243
|
+
throw new TypeError(typeof e2 + " is not iterable");
|
|
244
|
+
}
|
|
245
|
+
return GeneratorFunction.prototype = GeneratorFunctionPrototype, o(g, "constructor", {
|
|
246
|
+
value: GeneratorFunctionPrototype,
|
|
247
|
+
configurable: true
|
|
248
|
+
}), o(GeneratorFunctionPrototype, "constructor", {
|
|
249
|
+
value: GeneratorFunction,
|
|
250
|
+
configurable: true
|
|
251
|
+
}), GeneratorFunction.displayName = define(GeneratorFunctionPrototype, u, "GeneratorFunction"), e.isGeneratorFunction = function(t2) {
|
|
252
|
+
var e2 = "function" == typeof t2 && t2.constructor;
|
|
253
|
+
return !!e2 && (e2 === GeneratorFunction || "GeneratorFunction" === (e2.displayName || e2.name));
|
|
254
|
+
}, e.mark = function(t2) {
|
|
255
|
+
return Object.setPrototypeOf ? Object.setPrototypeOf(t2, GeneratorFunctionPrototype) : (t2.__proto__ = GeneratorFunctionPrototype, define(t2, u, "GeneratorFunction")), t2.prototype = Object.create(g), t2;
|
|
256
|
+
}, e.awrap = function(t2) {
|
|
257
|
+
return {
|
|
258
|
+
__await: t2
|
|
259
|
+
};
|
|
260
|
+
}, defineIteratorMethods(AsyncIterator.prototype), define(AsyncIterator.prototype, c, function() {
|
|
261
|
+
return this;
|
|
262
|
+
}), e.AsyncIterator = AsyncIterator, e.async = function(t2, r2, n2, o2, i2) {
|
|
263
|
+
void 0 === i2 && (i2 = Promise);
|
|
264
|
+
var a2 = new AsyncIterator(wrap(t2, r2, n2, o2), i2);
|
|
265
|
+
return e.isGeneratorFunction(r2) ? a2 : a2.next().then(function(t3) {
|
|
266
|
+
return t3.done ? t3.value : a2.next();
|
|
267
|
+
});
|
|
268
|
+
}, defineIteratorMethods(g), define(g, u, "Generator"), define(g, a, function() {
|
|
269
|
+
return this;
|
|
270
|
+
}), define(g, "toString", function() {
|
|
271
|
+
return "[object Generator]";
|
|
272
|
+
}), e.keys = function(t2) {
|
|
273
|
+
var e2 = Object(t2), r2 = [];
|
|
274
|
+
for (var n2 in e2) r2.push(n2);
|
|
275
|
+
return r2.reverse(), function next() {
|
|
276
|
+
for (; r2.length; ) {
|
|
277
|
+
var t3 = r2.pop();
|
|
278
|
+
if (t3 in e2) return next.value = t3, next.done = false, next;
|
|
279
|
+
}
|
|
280
|
+
return next.done = true, next;
|
|
281
|
+
};
|
|
282
|
+
}, e.values = values, Context.prototype = {
|
|
283
|
+
constructor: Context,
|
|
284
|
+
reset: function(e2) {
|
|
285
|
+
if (this.prev = 0, this.next = 0, this.sent = this._sent = t, this.done = false, this.delegate = null, this.method = "next", this.arg = t, this.tryEntries.forEach(resetTryEntry), !e2) for (var r2 in this) "t" === r2.charAt(0) && n.call(this, r2) && !isNaN(+r2.slice(1)) && (this[r2] = t);
|
|
286
|
+
},
|
|
287
|
+
stop: function() {
|
|
288
|
+
this.done = true;
|
|
289
|
+
var t2 = this.tryEntries[0].completion;
|
|
290
|
+
if ("throw" === t2.type) throw t2.arg;
|
|
291
|
+
return this.rval;
|
|
292
|
+
},
|
|
293
|
+
dispatchException: function(e2) {
|
|
294
|
+
if (this.done) throw e2;
|
|
295
|
+
var r2 = this;
|
|
296
|
+
function handle(n2, o3) {
|
|
297
|
+
return a2.type = "throw", a2.arg = e2, r2.next = n2, o3 && (r2.method = "next", r2.arg = t), !!o3;
|
|
298
|
+
}
|
|
299
|
+
for (var o2 = this.tryEntries.length - 1; o2 >= 0; --o2) {
|
|
300
|
+
var i2 = this.tryEntries[o2], a2 = i2.completion;
|
|
301
|
+
if ("root" === i2.tryLoc) return handle("end");
|
|
302
|
+
if (i2.tryLoc <= this.prev) {
|
|
303
|
+
var c2 = n.call(i2, "catchLoc"), u2 = n.call(i2, "finallyLoc");
|
|
304
|
+
if (c2 && u2) {
|
|
305
|
+
if (this.prev < i2.catchLoc) return handle(i2.catchLoc, true);
|
|
306
|
+
if (this.prev < i2.finallyLoc) return handle(i2.finallyLoc);
|
|
307
|
+
} else if (c2) {
|
|
308
|
+
if (this.prev < i2.catchLoc) return handle(i2.catchLoc, true);
|
|
309
|
+
} else {
|
|
310
|
+
if (!u2) throw Error("try statement without catch or finally");
|
|
311
|
+
if (this.prev < i2.finallyLoc) return handle(i2.finallyLoc);
|
|
312
|
+
}
|
|
313
|
+
}
|
|
314
|
+
}
|
|
315
|
+
},
|
|
316
|
+
abrupt: function(t2, e2) {
|
|
317
|
+
for (var r2 = this.tryEntries.length - 1; r2 >= 0; --r2) {
|
|
318
|
+
var o2 = this.tryEntries[r2];
|
|
319
|
+
if (o2.tryLoc <= this.prev && n.call(o2, "finallyLoc") && this.prev < o2.finallyLoc) {
|
|
320
|
+
var i2 = o2;
|
|
321
|
+
break;
|
|
322
|
+
}
|
|
323
|
+
}
|
|
324
|
+
i2 && ("break" === t2 || "continue" === t2) && i2.tryLoc <= e2 && e2 <= i2.finallyLoc && (i2 = null);
|
|
325
|
+
var a2 = i2 ? i2.completion : {};
|
|
326
|
+
return a2.type = t2, a2.arg = e2, i2 ? (this.method = "next", this.next = i2.finallyLoc, y) : this.complete(a2);
|
|
327
|
+
},
|
|
328
|
+
complete: function(t2, e2) {
|
|
329
|
+
if ("throw" === t2.type) throw t2.arg;
|
|
330
|
+
return "break" === t2.type || "continue" === t2.type ? this.next = t2.arg : "return" === t2.type ? (this.rval = this.arg = t2.arg, this.method = "return", this.next = "end") : "normal" === t2.type && e2 && (this.next = e2), y;
|
|
331
|
+
},
|
|
332
|
+
finish: function(t2) {
|
|
333
|
+
for (var e2 = this.tryEntries.length - 1; e2 >= 0; --e2) {
|
|
334
|
+
var r2 = this.tryEntries[e2];
|
|
335
|
+
if (r2.finallyLoc === t2) return this.complete(r2.completion, r2.afterLoc), resetTryEntry(r2), y;
|
|
336
|
+
}
|
|
337
|
+
},
|
|
338
|
+
catch: function(t2) {
|
|
339
|
+
for (var e2 = this.tryEntries.length - 1; e2 >= 0; --e2) {
|
|
340
|
+
var r2 = this.tryEntries[e2];
|
|
341
|
+
if (r2.tryLoc === t2) {
|
|
342
|
+
var n2 = r2.completion;
|
|
343
|
+
if ("throw" === n2.type) {
|
|
344
|
+
var o2 = n2.arg;
|
|
345
|
+
resetTryEntry(r2);
|
|
346
|
+
}
|
|
347
|
+
return o2;
|
|
348
|
+
}
|
|
349
|
+
}
|
|
350
|
+
throw Error("illegal catch attempt");
|
|
351
|
+
},
|
|
352
|
+
delegateYield: function(e2, r2, n2) {
|
|
353
|
+
return this.delegate = {
|
|
354
|
+
iterator: values(e2),
|
|
355
|
+
resultName: r2,
|
|
356
|
+
nextLoc: n2
|
|
357
|
+
}, "next" === this.method && (this.arg = t), y;
|
|
358
|
+
}
|
|
359
|
+
}, e;
|
|
360
|
+
}
|
|
361
|
+
function _toPrimitive(t, r) {
|
|
362
|
+
if ("object" != typeof t || !t) return t;
|
|
363
|
+
var e = t[Symbol.toPrimitive];
|
|
364
|
+
if (void 0 !== e) {
|
|
365
|
+
var i = e.call(t, r);
|
|
366
|
+
if ("object" != typeof i) return i;
|
|
367
|
+
throw new TypeError("@@toPrimitive must return a primitive value.");
|
|
368
|
+
}
|
|
369
|
+
return ("string" === r ? String : Number)(t);
|
|
370
|
+
}
|
|
371
|
+
function _toPropertyKey(t) {
|
|
372
|
+
var i = _toPrimitive(t, "string");
|
|
373
|
+
return "symbol" == typeof i ? i : i + "";
|
|
374
|
+
}
|
|
375
|
+
var Versions = {
|
|
376
|
+
CLASSIC: "classic",
|
|
377
|
+
V1: "v1"
|
|
378
|
+
};
|
|
379
|
+
var DefaultVersion = Versions.V1;
|
|
380
|
+
var PaddleClassicCDNUrl = "https://cdn.paddle.com/paddle/paddle.js";
|
|
381
|
+
var PaddleBillingCDNUrl = "https://cdn.paddle.com/paddle/v2/paddle.js";
|
|
382
|
+
var PaddleClassicInfo = {
|
|
383
|
+
url: PaddleClassicCDNUrl
|
|
384
|
+
};
|
|
385
|
+
var PaddleBillingV1Info = {
|
|
386
|
+
url: PaddleBillingCDNUrl
|
|
387
|
+
};
|
|
388
|
+
function findScript(cdnUrl) {
|
|
389
|
+
return document.querySelector('script[src="'.concat(cdnUrl, '"]')) || void 0;
|
|
390
|
+
}
|
|
391
|
+
function injectScript(src) {
|
|
392
|
+
var script = document.createElement("script");
|
|
393
|
+
script.src = src;
|
|
394
|
+
var headOrBody = document.head || document.body;
|
|
395
|
+
if (!headOrBody) {
|
|
396
|
+
throw new Error("Cannot inject Paddle.js. It needs a <head> or <body> element.");
|
|
397
|
+
}
|
|
398
|
+
headOrBody.appendChild(script);
|
|
399
|
+
return script;
|
|
400
|
+
}
|
|
401
|
+
var promiseMap = {
|
|
402
|
+
classic: void 0,
|
|
403
|
+
v1: void 0
|
|
404
|
+
};
|
|
405
|
+
var VersionToPaddleMap = {
|
|
406
|
+
classic: "PaddleClassic",
|
|
407
|
+
v1: "PaddleBillingV1"
|
|
408
|
+
};
|
|
409
|
+
function loadFromCDN(version) {
|
|
410
|
+
var _getCDNInfoBasedOnVer;
|
|
411
|
+
var cdnUrl = (_getCDNInfoBasedOnVer = getCDNInfoBasedOnVersion(version)) === null || _getCDNInfoBasedOnVer === void 0 ? void 0 : _getCDNInfoBasedOnVer.url;
|
|
412
|
+
if (!cdnUrl) {
|
|
413
|
+
return;
|
|
414
|
+
}
|
|
415
|
+
var existingPromise = promiseMap[version];
|
|
416
|
+
var paddleInstanceName = VersionToPaddleMap[version];
|
|
417
|
+
if (existingPromise !== void 0) {
|
|
418
|
+
return existingPromise;
|
|
419
|
+
}
|
|
420
|
+
promiseMap[version] = new Promise(function(resolve, reject) {
|
|
421
|
+
if (typeof window === "undefined") {
|
|
422
|
+
resolve(void 0);
|
|
423
|
+
return;
|
|
424
|
+
}
|
|
425
|
+
if (window[paddleInstanceName]) {
|
|
426
|
+
resolve(window[paddleInstanceName]);
|
|
427
|
+
return;
|
|
428
|
+
}
|
|
429
|
+
try {
|
|
430
|
+
var script = findScript(cdnUrl);
|
|
431
|
+
if (!script) {
|
|
432
|
+
script = injectScript(cdnUrl);
|
|
433
|
+
}
|
|
434
|
+
script.addEventListener("load", function() {
|
|
435
|
+
if (window[paddleInstanceName]) {
|
|
436
|
+
resolve(window[paddleInstanceName]);
|
|
437
|
+
} else {
|
|
438
|
+
reject(new Error("Paddle.js not available"));
|
|
439
|
+
}
|
|
440
|
+
});
|
|
441
|
+
script.addEventListener("error", function() {
|
|
442
|
+
reject(new Error("Failed to load Paddle.js - ".concat(version)));
|
|
443
|
+
});
|
|
444
|
+
} catch (error) {
|
|
445
|
+
reject(error);
|
|
446
|
+
return;
|
|
447
|
+
}
|
|
448
|
+
});
|
|
449
|
+
return promiseMap[version];
|
|
450
|
+
}
|
|
451
|
+
function getCDNInfoBasedOnVersion(version) {
|
|
452
|
+
if (version === Versions.CLASSIC) {
|
|
453
|
+
return PaddleClassicInfo;
|
|
454
|
+
}
|
|
455
|
+
if (version === Versions.V1) {
|
|
456
|
+
return PaddleBillingV1Info;
|
|
457
|
+
} else {
|
|
458
|
+
console.error("[Paddle] Unknown Paddle Version");
|
|
459
|
+
return;
|
|
460
|
+
}
|
|
461
|
+
}
|
|
462
|
+
var _excluded = ["environment", "version"];
|
|
463
|
+
var _excluded2 = ["environment", "version"];
|
|
464
|
+
function initializePaddleBillingV1(options, paddle) {
|
|
465
|
+
var environment = options.environment;
|
|
466
|
+
options.version;
|
|
467
|
+
var rest = _objectWithoutProperties(options, _excluded);
|
|
468
|
+
try {
|
|
469
|
+
if (environment) {
|
|
470
|
+
paddle.Environment.set(environment);
|
|
471
|
+
}
|
|
472
|
+
if (paddle.Initialized) {
|
|
473
|
+
paddle.Update(_objectSpread2({}, rest));
|
|
474
|
+
} else {
|
|
475
|
+
paddle.Initialize(_objectSpread2({}, rest));
|
|
476
|
+
}
|
|
477
|
+
} catch (e) {
|
|
478
|
+
console.warn("[Paddle] Paddle Initialization failed. Please check the inputs", e);
|
|
479
|
+
}
|
|
480
|
+
}
|
|
481
|
+
function initializePaddleClassic(options, paddle) {
|
|
482
|
+
var environment = options.environment;
|
|
483
|
+
options.version;
|
|
484
|
+
var rest = _objectWithoutProperties(options, _excluded2);
|
|
485
|
+
try {
|
|
486
|
+
if (environment) {
|
|
487
|
+
paddle.Environment.set(environment);
|
|
488
|
+
}
|
|
489
|
+
paddle.Setup(_objectSpread2({}, rest));
|
|
490
|
+
} catch (e) {
|
|
491
|
+
console.warn("[Paddle] Paddle Initialization failed. Please check the inputs", e);
|
|
492
|
+
}
|
|
493
|
+
}
|
|
494
|
+
var CheckoutEventNames;
|
|
495
|
+
(function(CheckoutEventNames2) {
|
|
496
|
+
CheckoutEventNames2["CHECKOUT_LOADED"] = "checkout.loaded";
|
|
497
|
+
CheckoutEventNames2["CHECKOUT_CLOSED"] = "checkout.closed";
|
|
498
|
+
CheckoutEventNames2["CHECKOUT_UPDATED"] = "checkout.updated";
|
|
499
|
+
CheckoutEventNames2["CHECKOUT_COMPLETED"] = "checkout.completed";
|
|
500
|
+
CheckoutEventNames2["CHECKOUT_ERROR"] = "checkout.error";
|
|
501
|
+
CheckoutEventNames2["CHECKOUT_FAILED"] = "checkout.failed";
|
|
502
|
+
CheckoutEventNames2["CHECKOUT_ITEMS_UPDATED"] = "checkout.items.updated";
|
|
503
|
+
CheckoutEventNames2["CHECKOUT_ITEMS_REMOVED"] = "checkout.items.removed";
|
|
504
|
+
CheckoutEventNames2["CHECKOUT_CUSTOMER_CREATED"] = "checkout.customer.created";
|
|
505
|
+
CheckoutEventNames2["CHECKOUT_CUSTOMER_UPDATED"] = "checkout.customer.updated";
|
|
506
|
+
CheckoutEventNames2["CHECKOUT_CUSTOMER_REMOVED"] = "checkout.customer.removed";
|
|
507
|
+
CheckoutEventNames2["CHECKOUT_PAYMENT_SELECTED"] = "checkout.payment.selected";
|
|
508
|
+
CheckoutEventNames2["CHECKOUT_PAYMENT_INITIATED"] = "checkout.payment.initiated";
|
|
509
|
+
CheckoutEventNames2["CHECKOUT_PAYMENT_FAILED"] = "checkout.payment.failed";
|
|
510
|
+
CheckoutEventNames2["CHECKOUT_PAYMENT_ERROR"] = "checkout.payment.error";
|
|
511
|
+
CheckoutEventNames2["CHECKOUT_DISCOUNT_APPLIED"] = "checkout.discount.applied";
|
|
512
|
+
CheckoutEventNames2["CHECKOUT_DISCOUNT_REMOVED"] = "checkout.discount.removed";
|
|
513
|
+
CheckoutEventNames2["CHECKOUT_UPSELL_CANCELED"] = "checkout.upsell.canceled";
|
|
514
|
+
})(CheckoutEventNames || (CheckoutEventNames = {}));
|
|
515
|
+
var CheckoutEventsTimePeriodInterval;
|
|
516
|
+
(function(CheckoutEventsTimePeriodInterval2) {
|
|
517
|
+
CheckoutEventsTimePeriodInterval2["DAY"] = "day";
|
|
518
|
+
CheckoutEventsTimePeriodInterval2["WEEK"] = "week";
|
|
519
|
+
CheckoutEventsTimePeriodInterval2["MONTH"] = "month";
|
|
520
|
+
CheckoutEventsTimePeriodInterval2["YEAR"] = "year";
|
|
521
|
+
})(CheckoutEventsTimePeriodInterval || (CheckoutEventsTimePeriodInterval = {}));
|
|
522
|
+
var CheckoutEventsPaymentMethodTypes;
|
|
523
|
+
(function(CheckoutEventsPaymentMethodTypes2) {
|
|
524
|
+
CheckoutEventsPaymentMethodTypes2["ALIPAY"] = "alipay";
|
|
525
|
+
CheckoutEventsPaymentMethodTypes2["APPLE_PAY"] = "apple-pay";
|
|
526
|
+
CheckoutEventsPaymentMethodTypes2["CARD"] = "card";
|
|
527
|
+
CheckoutEventsPaymentMethodTypes2["GOOGLE_PAY"] = "google-pay";
|
|
528
|
+
CheckoutEventsPaymentMethodTypes2["IDEAL"] = "ideal";
|
|
529
|
+
CheckoutEventsPaymentMethodTypes2["PAYPAL"] = "paypal";
|
|
530
|
+
CheckoutEventsPaymentMethodTypes2["WECHAT_PAY"] = "wechat-pay";
|
|
531
|
+
CheckoutEventsPaymentMethodTypes2["WIRE_TRANSFER"] = "wire-transfer";
|
|
532
|
+
CheckoutEventsPaymentMethodTypes2["NONE"] = "none";
|
|
533
|
+
})(CheckoutEventsPaymentMethodTypes || (CheckoutEventsPaymentMethodTypes = {}));
|
|
534
|
+
var CheckoutEventsPaymentMethodCardTypes;
|
|
535
|
+
(function(CheckoutEventsPaymentMethodCardTypes2) {
|
|
536
|
+
CheckoutEventsPaymentMethodCardTypes2["AMERICAN_EXPRESS"] = "american_express";
|
|
537
|
+
CheckoutEventsPaymentMethodCardTypes2["DINERS_CLUB"] = "diners_club";
|
|
538
|
+
CheckoutEventsPaymentMethodCardTypes2["DISCOVER"] = "discover";
|
|
539
|
+
CheckoutEventsPaymentMethodCardTypes2["JCB"] = "jcb";
|
|
540
|
+
CheckoutEventsPaymentMethodCardTypes2["MADA"] = "mada";
|
|
541
|
+
CheckoutEventsPaymentMethodCardTypes2["MAESTRO"] = "maestro";
|
|
542
|
+
CheckoutEventsPaymentMethodCardTypes2["MASTER_CARD"] = "mastercard";
|
|
543
|
+
CheckoutEventsPaymentMethodCardTypes2["UNION_PAY"] = "union_pay";
|
|
544
|
+
CheckoutEventsPaymentMethodCardTypes2["VISA"] = "visa";
|
|
545
|
+
CheckoutEventsPaymentMethodCardTypes2["UNKNOWN"] = "unknown";
|
|
546
|
+
})(CheckoutEventsPaymentMethodCardTypes || (CheckoutEventsPaymentMethodCardTypes = {}));
|
|
547
|
+
var CheckoutEventsStatus;
|
|
548
|
+
(function(CheckoutEventsStatus2) {
|
|
549
|
+
CheckoutEventsStatus2["DRAFT"] = "draft";
|
|
550
|
+
CheckoutEventsStatus2["READY"] = "ready";
|
|
551
|
+
CheckoutEventsStatus2["COMPLETED"] = "completed";
|
|
552
|
+
CheckoutEventsStatus2["BILLED"] = "billed";
|
|
553
|
+
CheckoutEventsStatus2["canceled"] = "canceled";
|
|
554
|
+
CheckoutEventsStatus2["PAST_DUE"] = "past_due";
|
|
555
|
+
})(CheckoutEventsStatus || (CheckoutEventsStatus = {}));
|
|
556
|
+
function initializePaddle(_x) {
|
|
557
|
+
return _initializePaddle.apply(this, arguments);
|
|
558
|
+
}
|
|
559
|
+
function _initializePaddle() {
|
|
560
|
+
_initializePaddle = _asyncToGenerator(/* @__PURE__ */ _regeneratorRuntime().mark(function _callee(options) {
|
|
561
|
+
var requestedVersion, paddle;
|
|
562
|
+
return _regeneratorRuntime().wrap(function _callee$(_context) {
|
|
563
|
+
while (1) switch (_context.prev = _context.next) {
|
|
564
|
+
case 0:
|
|
565
|
+
requestedVersion = (options === null || options === void 0 ? void 0 : options.version) || DefaultVersion;
|
|
566
|
+
_context.next = 3;
|
|
567
|
+
return loadFromCDN(requestedVersion);
|
|
568
|
+
case 3:
|
|
569
|
+
paddle = _context.sent;
|
|
570
|
+
if (!paddle) {
|
|
571
|
+
_context.next = 9;
|
|
572
|
+
break;
|
|
573
|
+
}
|
|
574
|
+
if (options) {
|
|
575
|
+
if (requestedVersion === Versions.V1) {
|
|
576
|
+
initializePaddleBillingV1(options, paddle);
|
|
577
|
+
} else if (requestedVersion === Versions.CLASSIC) {
|
|
578
|
+
initializePaddleClassic(options, paddle);
|
|
579
|
+
}
|
|
580
|
+
}
|
|
581
|
+
return _context.abrupt("return", paddle);
|
|
582
|
+
case 9:
|
|
583
|
+
console.error("[Paddle] Error Loading Paddle");
|
|
584
|
+
return _context.abrupt("return");
|
|
585
|
+
case 11:
|
|
586
|
+
case "end":
|
|
587
|
+
return _context.stop();
|
|
588
|
+
}
|
|
589
|
+
}, _callee);
|
|
590
|
+
}));
|
|
591
|
+
return _initializePaddle.apply(this, arguments);
|
|
592
|
+
}
|
|
593
|
+
|
|
594
|
+
// src/drivers/paddle.tsx
|
|
595
|
+
var PADDLE_TIMEOUT_MESSAGE = "The payment is still being confirmed \u2014 if you completed checkout, your receipt will arrive by email.";
|
|
596
|
+
var PADDLE_PENDING_TIMEOUT_MESSAGE = "The charge is still being confirmed \u2014 it may still complete; please check back shortly.";
|
|
597
|
+
var listeners = /* @__PURE__ */ new Set();
|
|
598
|
+
function eventMatchesAttempt(event, correlationId, transactionId) {
|
|
599
|
+
if (transactionId) {
|
|
600
|
+
const eventTransactionId = event.data?.transaction_id;
|
|
601
|
+
if (eventTransactionId == null) return true;
|
|
602
|
+
return eventTransactionId === transactionId;
|
|
603
|
+
}
|
|
604
|
+
const customData = event.data?.custom_data;
|
|
605
|
+
if (customData == null) return true;
|
|
606
|
+
return customData.af_correlation_id === correlationId;
|
|
607
|
+
}
|
|
608
|
+
var pendingTimeouts = /* @__PURE__ */ new Map();
|
|
609
|
+
var pendingKeyOf = (req) => `${req.product}::${req.intent}`;
|
|
610
|
+
function rememberIfStillPending(req, correlationId, result) {
|
|
611
|
+
if (!result.ok && result.error?.declineCode === "completion_timeout") {
|
|
612
|
+
pendingTimeouts.set(pendingKeyOf(req), correlationId);
|
|
613
|
+
}
|
|
614
|
+
return result;
|
|
615
|
+
}
|
|
616
|
+
function __resetPaddleDriverState() {
|
|
617
|
+
pendingTimeouts.clear();
|
|
618
|
+
}
|
|
619
|
+
var paddleInstances = /* @__PURE__ */ new Map();
|
|
620
|
+
function getPaddle(clientToken, environment) {
|
|
621
|
+
const key = `${environment}:${clientToken}`;
|
|
622
|
+
let instance = paddleInstances.get(key);
|
|
623
|
+
if (!instance) {
|
|
624
|
+
instance = initializePaddle({
|
|
625
|
+
token: clientToken,
|
|
626
|
+
environment,
|
|
627
|
+
eventCallback: (event) => {
|
|
628
|
+
for (const listener of Array.from(listeners)) listener({ name: event.name, data: event.data });
|
|
629
|
+
}
|
|
630
|
+
});
|
|
631
|
+
paddleInstances.set(key, instance);
|
|
632
|
+
}
|
|
633
|
+
return instance;
|
|
634
|
+
}
|
|
635
|
+
async function openCheckout(ctx, session, correlationId, display) {
|
|
636
|
+
if (!session.transactionId && !session.items) {
|
|
637
|
+
return {
|
|
638
|
+
ok: false,
|
|
639
|
+
error: checkoutError("processing_error", "provider_checkout carried neither items nor a transactionId")
|
|
640
|
+
};
|
|
641
|
+
}
|
|
642
|
+
const paddle = await getPaddle(session.clientToken, session.providerEnvironment);
|
|
643
|
+
if (!paddle) {
|
|
644
|
+
return { ok: false, error: checkoutError("processing_error", "Paddle.js failed to initialize") };
|
|
645
|
+
}
|
|
646
|
+
return await new Promise((resolve) => {
|
|
647
|
+
let done = false;
|
|
648
|
+
const listener = (event) => {
|
|
649
|
+
if (done) return;
|
|
650
|
+
if (!eventMatchesAttempt(event, correlationId, session.transactionId)) return;
|
|
651
|
+
if (event.name === "checkout.completed") {
|
|
652
|
+
done = true;
|
|
653
|
+
listeners.delete(listener);
|
|
654
|
+
void completeWithPoll(ctx, correlationId, {
|
|
655
|
+
attempts: 10,
|
|
656
|
+
intervalMs: 3e3,
|
|
657
|
+
timeoutMessage: PADDLE_TIMEOUT_MESSAGE
|
|
658
|
+
}).then(resolve);
|
|
659
|
+
} else if (event.name === "checkout.closed") {
|
|
660
|
+
done = true;
|
|
661
|
+
listeners.delete(listener);
|
|
662
|
+
resolve({ ok: false, error: checkoutError("canceled", "Checkout was closed before completing") });
|
|
663
|
+
}
|
|
664
|
+
};
|
|
665
|
+
listeners.add(listener);
|
|
666
|
+
if (session.transactionId) {
|
|
667
|
+
paddle.Checkout.open({ transactionId: session.transactionId, settings: display });
|
|
668
|
+
} else {
|
|
669
|
+
paddle.Checkout.open({
|
|
670
|
+
// Provider-native line items resolved by the server from the binding —
|
|
671
|
+
// the browser never sees or chooses raw price ids beyond passing these through.
|
|
672
|
+
items: session.items,
|
|
673
|
+
// Carries the correlationId into Paddle's transaction custom data — the
|
|
674
|
+
// webhook links back to this attempt through it.
|
|
675
|
+
customData: session.customData,
|
|
676
|
+
settings: display
|
|
677
|
+
});
|
|
678
|
+
}
|
|
679
|
+
});
|
|
680
|
+
}
|
|
681
|
+
function paddleCheckoutDriver(ctx) {
|
|
682
|
+
return {
|
|
683
|
+
provider: "paddle",
|
|
684
|
+
async start(req) {
|
|
685
|
+
const priorKey = pendingKeyOf(req);
|
|
686
|
+
const prior = pendingTimeouts.get(priorKey);
|
|
687
|
+
if (prior) {
|
|
688
|
+
pendingTimeouts.delete(priorKey);
|
|
689
|
+
try {
|
|
690
|
+
const check = await postComplete(ctx, prior);
|
|
691
|
+
if (check.step === "settled") return settlementToResult(check.result);
|
|
692
|
+
} catch {
|
|
693
|
+
}
|
|
694
|
+
}
|
|
695
|
+
const correlationId = crypto.randomUUID();
|
|
696
|
+
try {
|
|
697
|
+
const session = await postSession(ctx, req, correlationId);
|
|
698
|
+
switch (session.step) {
|
|
699
|
+
case "settled":
|
|
700
|
+
return settlementToResult(session.result);
|
|
701
|
+
case "pending":
|
|
702
|
+
return rememberIfStillPending(
|
|
703
|
+
req,
|
|
704
|
+
correlationId,
|
|
705
|
+
await completeWithPoll(ctx, correlationId, {
|
|
706
|
+
timeoutMessage: PADDLE_PENDING_TIMEOUT_MESSAGE
|
|
707
|
+
})
|
|
708
|
+
);
|
|
709
|
+
case "failed":
|
|
710
|
+
return { ok: false, error: session.error };
|
|
711
|
+
case "redirect":
|
|
712
|
+
return leaveForRedirect(session.url);
|
|
713
|
+
case "provider_checkout":
|
|
714
|
+
return rememberIfStillPending(
|
|
715
|
+
req,
|
|
716
|
+
correlationId,
|
|
717
|
+
await openCheckout(ctx, session, correlationId, { displayMode: "overlay" })
|
|
718
|
+
);
|
|
719
|
+
default:
|
|
720
|
+
return {
|
|
721
|
+
ok: false,
|
|
722
|
+
error: checkoutError(
|
|
723
|
+
"processing_error",
|
|
724
|
+
`Paddle returned '${session.step}' for a trigger start \u2014 Paddle has no in-page confirm step`
|
|
725
|
+
)
|
|
726
|
+
};
|
|
727
|
+
}
|
|
728
|
+
} catch (e) {
|
|
729
|
+
return { ok: false, error: toCheckoutError(e) };
|
|
730
|
+
}
|
|
731
|
+
},
|
|
732
|
+
renderInline(req, cb) {
|
|
733
|
+
return createElement(PaddleInline, { ctx, req, cb });
|
|
734
|
+
},
|
|
735
|
+
// Redirect-return resume: verify an existing attempt. Webhook-dependent, so it
|
|
736
|
+
// gets the same ~10×3s window the overlay completion poll uses.
|
|
737
|
+
resume(correlationId) {
|
|
738
|
+
return completeWithPoll(ctx, correlationId, {
|
|
739
|
+
attempts: 10,
|
|
740
|
+
intervalMs: 3e3,
|
|
741
|
+
timeoutMessage: PADDLE_TIMEOUT_MESSAGE
|
|
742
|
+
});
|
|
743
|
+
}
|
|
744
|
+
};
|
|
745
|
+
}
|
|
746
|
+
function PaddleInline({
|
|
747
|
+
ctx,
|
|
748
|
+
req,
|
|
749
|
+
cb
|
|
750
|
+
}) {
|
|
751
|
+
const [correlationId] = useState(() => crypto.randomUUID());
|
|
752
|
+
const uid = useId().replace(/[^a-zA-Z0-9_-]/g, "");
|
|
753
|
+
const frameClass = `af-paddle-frame-${uid}`;
|
|
754
|
+
const cbRef = useRef(cb);
|
|
755
|
+
cbRef.current = cb;
|
|
756
|
+
useEffect(() => {
|
|
757
|
+
let disposed = false;
|
|
758
|
+
void (async () => {
|
|
759
|
+
try {
|
|
760
|
+
const session = await postSession(ctx, req, correlationId);
|
|
761
|
+
if (disposed) return;
|
|
762
|
+
switch (session.step) {
|
|
763
|
+
case "provider_checkout": {
|
|
764
|
+
cbRef.current.onStart?.();
|
|
765
|
+
const express = req.surface === "express";
|
|
766
|
+
const result = await openCheckout(ctx, session, correlationId, {
|
|
767
|
+
displayMode: "inline",
|
|
768
|
+
frameTarget: frameClass,
|
|
769
|
+
frameInitialHeight: express ? 182 : 450,
|
|
770
|
+
// Paddle's documented inline-frame baseline: fluid width, no chrome.
|
|
771
|
+
frameStyle: "width: 100%; min-width: 286px; background-color: transparent; border: none;",
|
|
772
|
+
...express ? { variant: "express" } : {}
|
|
773
|
+
});
|
|
774
|
+
if (disposed) return;
|
|
775
|
+
if (result.ok) cbRef.current.onSuccess(result);
|
|
776
|
+
else cbRef.current.onError(result.error ?? checkoutError("unknown", "Checkout failed"));
|
|
777
|
+
return;
|
|
778
|
+
}
|
|
779
|
+
case "settled":
|
|
780
|
+
cbRef.current.onSuccess(settlementToResult(session.result));
|
|
781
|
+
return;
|
|
782
|
+
case "failed":
|
|
783
|
+
cbRef.current.onError(session.error);
|
|
784
|
+
return;
|
|
785
|
+
case "redirect": {
|
|
786
|
+
const result = await leaveForRedirect(session.url);
|
|
787
|
+
if (!disposed && !result.ok) {
|
|
788
|
+
cbRef.current.onError(result.error ?? checkoutError("canceled", "Checkout was canceled"));
|
|
789
|
+
}
|
|
790
|
+
return;
|
|
791
|
+
}
|
|
792
|
+
default:
|
|
793
|
+
cbRef.current.onError(
|
|
794
|
+
checkoutError("processing_error", "unexpected step for a Paddle inline surface")
|
|
795
|
+
);
|
|
796
|
+
}
|
|
797
|
+
} catch (e) {
|
|
798
|
+
if (!disposed) cbRef.current.onError(toCheckoutError(e));
|
|
799
|
+
}
|
|
800
|
+
})();
|
|
801
|
+
return () => {
|
|
802
|
+
disposed = true;
|
|
803
|
+
};
|
|
804
|
+
}, []);
|
|
805
|
+
return createElement("div", {
|
|
806
|
+
"data-appfunnel-checkout": "paddle",
|
|
807
|
+
"data-checkout-surface": req.surface,
|
|
808
|
+
className: frameClass
|
|
809
|
+
});
|
|
810
|
+
}
|
|
811
|
+
|
|
812
|
+
export { __resetPaddleDriverState, paddleCheckoutDriver };
|
|
813
|
+
//# sourceMappingURL=driver-paddle.js.map
|
|
814
|
+
//# sourceMappingURL=driver-paddle.js.map
|