@medusajs/payment-stripe 0.0.3 → 1.0.0-rc-20241003153304
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/core/stripe-base.d.ts +6 -7
- package/dist/core/stripe-base.d.ts.map +1 -0
- package/dist/core/stripe-base.js +238 -440
- package/dist/core/stripe-base.js.map +1 -0
- package/dist/index.d.ts +2 -1
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +5 -5
- package/dist/index.js.map +1 -0
- package/dist/services/index.d.ts +1 -0
- package/dist/services/index.d.ts.map +1 -0
- package/dist/services/index.js +1 -1
- package/dist/services/index.js.map +1 -0
- package/dist/services/stripe-bancontact.d.ts +1 -0
- package/dist/services/stripe-bancontact.d.ts.map +1 -0
- package/dist/services/stripe-bancontact.js +14 -35
- package/dist/services/stripe-bancontact.js.map +1 -0
- package/dist/services/stripe-blik.d.ts +1 -0
- package/dist/services/stripe-blik.d.ts.map +1 -0
- package/dist/services/stripe-blik.js +14 -35
- package/dist/services/stripe-blik.js.map +1 -0
- package/dist/services/stripe-giropay.d.ts +1 -0
- package/dist/services/stripe-giropay.d.ts.map +1 -0
- package/dist/services/stripe-giropay.js +14 -35
- package/dist/services/stripe-giropay.js.map +1 -0
- package/dist/services/stripe-ideal.d.ts +1 -0
- package/dist/services/stripe-ideal.d.ts.map +1 -0
- package/dist/services/stripe-ideal.js +14 -35
- package/dist/services/stripe-ideal.js.map +1 -0
- package/dist/services/stripe-provider.d.ts +1 -0
- package/dist/services/stripe-provider.d.ts.map +1 -0
- package/dist/services/stripe-provider.js +11 -32
- package/dist/services/stripe-provider.js.map +1 -0
- package/dist/services/stripe-przelewy24.d.ts +1 -0
- package/dist/services/stripe-przelewy24.d.ts.map +1 -0
- package/dist/services/stripe-przelewy24.js +14 -35
- package/dist/services/stripe-przelewy24.js.map +1 -0
- package/dist/tsconfig.tsbuildinfo +1 -0
- package/dist/types/index.d.ts +11 -7
- package/dist/types/index.d.ts.map +1 -0
- package/dist/types/index.js +1 -1
- package/dist/types/index.js.map +1 -0
- package/dist/utils/get-smallest-unit.d.ts +17 -0
- package/dist/utils/get-smallest-unit.d.ts.map +1 -0
- package/dist/utils/get-smallest-unit.js +68 -0
- package/dist/utils/get-smallest-unit.js.map +1 -0
- package/package.json +15 -16
package/dist/core/stripe-base.js
CHANGED
@@ -1,471 +1,269 @@
|
|
1
1
|
"use strict";
|
2
|
-
var __extends = (this && this.__extends) || (function () {
|
3
|
-
var extendStatics = function (d, b) {
|
4
|
-
extendStatics = Object.setPrototypeOf ||
|
5
|
-
({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
|
6
|
-
function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };
|
7
|
-
return extendStatics(d, b);
|
8
|
-
};
|
9
|
-
return function (d, b) {
|
10
|
-
if (typeof b !== "function" && b !== null)
|
11
|
-
throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");
|
12
|
-
extendStatics(d, b);
|
13
|
-
function __() { this.constructor = d; }
|
14
|
-
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
|
15
|
-
};
|
16
|
-
})();
|
17
|
-
var __assign = (this && this.__assign) || function () {
|
18
|
-
__assign = Object.assign || function(t) {
|
19
|
-
for (var s, i = 1, n = arguments.length; i < n; i++) {
|
20
|
-
s = arguments[i];
|
21
|
-
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
|
22
|
-
t[p] = s[p];
|
23
|
-
}
|
24
|
-
return t;
|
25
|
-
};
|
26
|
-
return __assign.apply(this, arguments);
|
27
|
-
};
|
28
|
-
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
29
|
-
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
30
|
-
return new (P || (P = Promise))(function (resolve, reject) {
|
31
|
-
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
32
|
-
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
33
|
-
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
34
|
-
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
35
|
-
});
|
36
|
-
};
|
37
|
-
var __generator = (this && this.__generator) || function (thisArg, body) {
|
38
|
-
var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
|
39
|
-
return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
|
40
|
-
function verb(n) { return function (v) { return step([n, v]); }; }
|
41
|
-
function step(op) {
|
42
|
-
if (f) throw new TypeError("Generator is already executing.");
|
43
|
-
while (g && (g = 0, op[0] && (_ = 0)), _) try {
|
44
|
-
if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
|
45
|
-
if (y = 0, t) op = [op[0] & 2, t.value];
|
46
|
-
switch (op[0]) {
|
47
|
-
case 0: case 1: t = op; break;
|
48
|
-
case 4: _.label++; return { value: op[1], done: false };
|
49
|
-
case 5: _.label++; y = op[1]; op = [0]; continue;
|
50
|
-
case 7: op = _.ops.pop(); _.trys.pop(); continue;
|
51
|
-
default:
|
52
|
-
if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
|
53
|
-
if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
|
54
|
-
if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
|
55
|
-
if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
|
56
|
-
if (t[2]) _.ops.pop();
|
57
|
-
_.trys.pop(); continue;
|
58
|
-
}
|
59
|
-
op = body.call(thisArg, _);
|
60
|
-
} catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
|
61
|
-
if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
|
62
|
-
}
|
63
|
-
};
|
64
|
-
var __read = (this && this.__read) || function (o, n) {
|
65
|
-
var m = typeof Symbol === "function" && o[Symbol.iterator];
|
66
|
-
if (!m) return o;
|
67
|
-
var i = m.call(o), r, ar = [], e;
|
68
|
-
try {
|
69
|
-
while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);
|
70
|
-
}
|
71
|
-
catch (error) { e = { error: error }; }
|
72
|
-
finally {
|
73
|
-
try {
|
74
|
-
if (r && !r.done && (m = i["return"])) m.call(i);
|
75
|
-
}
|
76
|
-
finally { if (e) throw e.error; }
|
77
|
-
}
|
78
|
-
return ar;
|
79
|
-
};
|
80
|
-
var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {
|
81
|
-
if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {
|
82
|
-
if (ar || !(i in from)) {
|
83
|
-
if (!ar) ar = Array.prototype.slice.call(from, 0, i);
|
84
|
-
ar[i] = from[i];
|
85
|
-
}
|
86
|
-
}
|
87
|
-
return to.concat(ar || Array.prototype.slice.call(from));
|
88
|
-
};
|
89
2
|
var __importDefault = (this && this.__importDefault) || function (mod) {
|
90
3
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
91
4
|
};
|
92
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
93
|
-
|
94
|
-
|
95
|
-
|
96
|
-
|
97
|
-
|
98
|
-
|
99
|
-
|
100
|
-
|
101
|
-
function StripeBase(container, options) {
|
102
|
-
var _this = _super.apply(this, __spreadArray([], __read(arguments), false)) || this;
|
103
|
-
_this.container_ = container;
|
104
|
-
_this.options_ = options;
|
105
|
-
_this.stripe_ = _this.init();
|
106
|
-
return _this;
|
107
|
-
}
|
108
|
-
StripeBase.prototype.init = function () {
|
109
|
-
this.validateOptions(this.config);
|
110
|
-
return new stripe_1.default(this.config.apiKey);
|
111
|
-
};
|
112
|
-
StripeBase.prototype.validateOptions = function (options) {
|
113
|
-
if (!(0, medusa_core_utils_1.isDefined)(options.apiKey)) {
|
6
|
+
const os_1 = require("os");
|
7
|
+
const stripe_1 = __importDefault(require("stripe"));
|
8
|
+
const utils_1 = require("@medusajs/framework/utils");
|
9
|
+
const types_1 = require("../types");
|
10
|
+
const get_smallest_unit_1 = require("../utils/get-smallest-unit");
|
11
|
+
class StripeBase extends utils_1.AbstractPaymentProvider {
|
12
|
+
static validateOptions(options) {
|
13
|
+
if (!(0, utils_1.isDefined)(options.apiKey)) {
|
114
14
|
throw new Error("Required option `apiKey` is missing in Stripe plugin");
|
115
15
|
}
|
116
|
-
}
|
117
|
-
|
118
|
-
|
119
|
-
|
120
|
-
|
121
|
-
|
122
|
-
|
123
|
-
}
|
124
|
-
|
125
|
-
|
126
|
-
|
127
|
-
|
16
|
+
}
|
17
|
+
constructor(container, options) {
|
18
|
+
// @ts-ignore
|
19
|
+
super(...arguments);
|
20
|
+
this.container_ = container;
|
21
|
+
this.options_ = options;
|
22
|
+
this.stripe_ = new stripe_1.default(options.apiKey);
|
23
|
+
}
|
24
|
+
get options() {
|
25
|
+
return this.options_;
|
26
|
+
}
|
27
|
+
getPaymentIntentOptions() {
|
28
|
+
const options = {};
|
29
|
+
if (this?.paymentIntentOptions?.capture_method) {
|
128
30
|
options.capture_method = this.paymentIntentOptions.capture_method;
|
129
31
|
}
|
130
|
-
if (
|
32
|
+
if (this?.paymentIntentOptions?.setup_future_usage) {
|
131
33
|
options.setup_future_usage = this.paymentIntentOptions.setup_future_usage;
|
132
34
|
}
|
133
|
-
if (
|
35
|
+
if (this?.paymentIntentOptions?.payment_method_types) {
|
134
36
|
options.payment_method_types =
|
135
37
|
this.paymentIntentOptions.payment_method_types;
|
136
38
|
}
|
137
39
|
return options;
|
138
|
-
}
|
139
|
-
|
140
|
-
|
141
|
-
|
142
|
-
|
143
|
-
|
144
|
-
|
145
|
-
|
146
|
-
|
147
|
-
|
148
|
-
|
149
|
-
|
150
|
-
|
151
|
-
|
152
|
-
|
153
|
-
|
154
|
-
|
155
|
-
|
156
|
-
|
157
|
-
|
158
|
-
|
159
|
-
|
160
|
-
|
161
|
-
|
162
|
-
|
163
|
-
|
164
|
-
|
165
|
-
|
166
|
-
|
167
|
-
|
168
|
-
|
169
|
-
|
170
|
-
|
171
|
-
|
172
|
-
|
173
|
-
|
174
|
-
|
175
|
-
|
176
|
-
|
177
|
-
|
178
|
-
|
179
|
-
|
180
|
-
|
181
|
-
|
182
|
-
|
183
|
-
|
184
|
-
|
185
|
-
|
186
|
-
|
187
|
-
|
188
|
-
|
189
|
-
|
190
|
-
|
191
|
-
|
192
|
-
|
193
|
-
|
194
|
-
|
195
|
-
|
196
|
-
|
197
|
-
|
198
|
-
|
199
|
-
|
200
|
-
|
201
|
-
|
202
|
-
|
203
|
-
|
204
|
-
|
205
|
-
|
206
|
-
|
207
|
-
|
208
|
-
|
209
|
-
|
210
|
-
|
211
|
-
|
212
|
-
|
213
|
-
|
214
|
-
|
215
|
-
|
216
|
-
|
217
|
-
|
218
|
-
|
219
|
-
|
220
|
-
|
221
|
-
|
222
|
-
|
223
|
-
|
224
|
-
|
225
|
-
|
226
|
-
|
227
|
-
|
228
|
-
|
229
|
-
|
230
|
-
|
231
|
-
|
232
|
-
|
233
|
-
|
234
|
-
|
235
|
-
|
236
|
-
return [2 /*return*/, { data: paymentSessionData, status: status }];
|
237
|
-
}
|
238
|
-
});
|
239
|
-
});
|
240
|
-
};
|
241
|
-
StripeBase.prototype.cancelPayment = function (paymentSessionData) {
|
242
|
-
var _a;
|
243
|
-
return __awaiter(this, void 0, void 0, function () {
|
244
|
-
var id, error_1;
|
245
|
-
return __generator(this, function (_b) {
|
246
|
-
switch (_b.label) {
|
247
|
-
case 0:
|
248
|
-
_b.trys.push([0, 2, , 3]);
|
249
|
-
id = paymentSessionData.id;
|
250
|
-
return [4 /*yield*/, this.stripe_.paymentIntents.cancel(id)];
|
251
|
-
case 1: return [2 /*return*/, (_b.sent())];
|
252
|
-
case 2:
|
253
|
-
error_1 = _b.sent();
|
254
|
-
if (((_a = error_1.payment_intent) === null || _a === void 0 ? void 0 : _a.status) === types_2.ErrorIntentStatus.CANCELED) {
|
255
|
-
return [2 /*return*/, error_1.payment_intent];
|
256
|
-
}
|
257
|
-
return [2 /*return*/, this.buildError("An error occurred in cancelPayment", error_1)];
|
258
|
-
case 3: return [2 /*return*/];
|
259
|
-
}
|
260
|
-
});
|
261
|
-
});
|
262
|
-
};
|
263
|
-
StripeBase.prototype.capturePayment = function (paymentSessionData) {
|
264
|
-
var _a;
|
265
|
-
return __awaiter(this, void 0, void 0, function () {
|
266
|
-
var id, intent, error_2;
|
267
|
-
return __generator(this, function (_b) {
|
268
|
-
switch (_b.label) {
|
269
|
-
case 0:
|
270
|
-
id = paymentSessionData.id;
|
271
|
-
_b.label = 1;
|
272
|
-
case 1:
|
273
|
-
_b.trys.push([1, 3, , 4]);
|
274
|
-
return [4 /*yield*/, this.stripe_.paymentIntents.capture(id)];
|
275
|
-
case 2:
|
276
|
-
intent = _b.sent();
|
277
|
-
return [2 /*return*/, intent];
|
278
|
-
case 3:
|
279
|
-
error_2 = _b.sent();
|
280
|
-
if (error_2.code === types_2.ErrorCodes.PAYMENT_INTENT_UNEXPECTED_STATE) {
|
281
|
-
if (((_a = error_2.payment_intent) === null || _a === void 0 ? void 0 : _a.status) === types_2.ErrorIntentStatus.SUCCEEDED) {
|
282
|
-
return [2 /*return*/, error_2.payment_intent];
|
283
|
-
}
|
284
|
-
}
|
285
|
-
return [2 /*return*/, this.buildError("An error occurred in capturePayment", error_2)];
|
286
|
-
case 4: return [2 /*return*/];
|
287
|
-
}
|
288
|
-
});
|
289
|
-
});
|
290
|
-
};
|
291
|
-
StripeBase.prototype.deletePayment = function (paymentSessionData) {
|
292
|
-
return __awaiter(this, void 0, void 0, function () {
|
293
|
-
return __generator(this, function (_a) {
|
294
|
-
switch (_a.label) {
|
295
|
-
case 0: return [4 /*yield*/, this.cancelPayment(paymentSessionData)];
|
296
|
-
case 1: return [2 /*return*/, _a.sent()];
|
297
|
-
}
|
298
|
-
});
|
299
|
-
});
|
300
|
-
};
|
301
|
-
StripeBase.prototype.refundPayment = function (paymentSessionData, refundAmount) {
|
302
|
-
return __awaiter(this, void 0, void 0, function () {
|
303
|
-
var id, e_3;
|
304
|
-
return __generator(this, function (_a) {
|
305
|
-
switch (_a.label) {
|
306
|
-
case 0:
|
307
|
-
id = paymentSessionData.id;
|
308
|
-
_a.label = 1;
|
309
|
-
case 1:
|
310
|
-
_a.trys.push([1, 3, , 4]);
|
311
|
-
return [4 /*yield*/, this.stripe_.refunds.create({
|
312
|
-
amount: Math.round(refundAmount),
|
313
|
-
payment_intent: id,
|
314
|
-
})];
|
315
|
-
case 2:
|
316
|
-
_a.sent();
|
317
|
-
return [3 /*break*/, 4];
|
318
|
-
case 3:
|
319
|
-
e_3 = _a.sent();
|
320
|
-
return [2 /*return*/, this.buildError("An error occurred in refundPayment", e_3)];
|
321
|
-
case 4: return [2 /*return*/, paymentSessionData];
|
322
|
-
}
|
323
|
-
});
|
324
|
-
});
|
325
|
-
};
|
326
|
-
StripeBase.prototype.retrievePayment = function (paymentSessionData) {
|
327
|
-
return __awaiter(this, void 0, void 0, function () {
|
328
|
-
var id, intent, e_4;
|
329
|
-
return __generator(this, function (_a) {
|
330
|
-
switch (_a.label) {
|
331
|
-
case 0:
|
332
|
-
_a.trys.push([0, 2, , 3]);
|
333
|
-
id = paymentSessionData.id;
|
334
|
-
return [4 /*yield*/, this.stripe_.paymentIntents.retrieve(id)];
|
335
|
-
case 1:
|
336
|
-
intent = _a.sent();
|
337
|
-
return [2 /*return*/, intent];
|
338
|
-
case 2:
|
339
|
-
e_4 = _a.sent();
|
340
|
-
return [2 /*return*/, this.buildError("An error occurred in retrievePayment", e_4)];
|
341
|
-
case 3: return [2 /*return*/];
|
342
|
-
}
|
343
|
-
});
|
344
|
-
});
|
345
|
-
};
|
346
|
-
StripeBase.prototype.updatePayment = function (input) {
|
347
|
-
var _a, _b;
|
348
|
-
return __awaiter(this, void 0, void 0, function () {
|
349
|
-
var context, data, amount, amountNumeric, stripeId, result, id, sessionData, e_5;
|
350
|
-
return __generator(this, function (_c) {
|
351
|
-
switch (_c.label) {
|
352
|
-
case 0:
|
353
|
-
context = input.context, data = input.data, amount = input.amount;
|
354
|
-
amountNumeric = Math.round(new utils_1.BigNumber(amount).numeric);
|
355
|
-
stripeId = (_b = (_a = context.customer) === null || _a === void 0 ? void 0 : _a.metadata) === null || _b === void 0 ? void 0 : _b.stripe_id;
|
356
|
-
if (!(stripeId !== data.customer)) return [3 /*break*/, 2];
|
357
|
-
return [4 /*yield*/, this.initiatePayment(input)];
|
358
|
-
case 1:
|
359
|
-
result = _c.sent();
|
360
|
-
if ((0, utils_1.isPaymentProviderError)(result)) {
|
361
|
-
return [2 /*return*/, this.buildError("An error occurred in updatePayment during the initiate of the new payment for the new customer", result)];
|
362
|
-
}
|
363
|
-
return [2 /*return*/, result];
|
364
|
-
case 2:
|
365
|
-
if (amount && data.amount === amountNumeric) {
|
366
|
-
return [2 /*return*/, { data: data }];
|
367
|
-
}
|
368
|
-
_c.label = 3;
|
369
|
-
case 3:
|
370
|
-
_c.trys.push([3, 5, , 6]);
|
371
|
-
id = data.id;
|
372
|
-
return [4 /*yield*/, this.stripe_.paymentIntents.update(id, {
|
373
|
-
amount: amountNumeric,
|
374
|
-
})];
|
375
|
-
case 4:
|
376
|
-
sessionData = (_c.sent());
|
377
|
-
return [2 /*return*/, { data: sessionData }];
|
378
|
-
case 5:
|
379
|
-
e_5 = _c.sent();
|
380
|
-
return [2 /*return*/, this.buildError("An error occurred in updatePayment", e_5)];
|
381
|
-
case 6: return [2 /*return*/];
|
382
|
-
}
|
383
|
-
});
|
384
|
-
});
|
385
|
-
};
|
386
|
-
StripeBase.prototype.updatePaymentData = function (sessionId, data) {
|
387
|
-
return __awaiter(this, void 0, void 0, function () {
|
388
|
-
var e_6;
|
389
|
-
return __generator(this, function (_a) {
|
390
|
-
switch (_a.label) {
|
391
|
-
case 0:
|
392
|
-
_a.trys.push([0, 2, , 3]);
|
393
|
-
// Prevent from updating the amount from here as it should go through
|
394
|
-
// the updatePayment method to perform the correct logic
|
395
|
-
if (data.amount) {
|
396
|
-
throw new utils_1.MedusaError(utils_1.MedusaError.Types.INVALID_DATA, "Cannot update amount, use updatePayment instead");
|
397
|
-
}
|
398
|
-
return [4 /*yield*/, this.stripe_.paymentIntents.update(sessionId, __assign({}, data))];
|
399
|
-
case 1: return [2 /*return*/, (_a.sent())];
|
400
|
-
case 2:
|
401
|
-
e_6 = _a.sent();
|
402
|
-
return [2 /*return*/, this.buildError("An error occurred in updatePaymentData", e_6)];
|
403
|
-
case 3: return [2 /*return*/];
|
404
|
-
}
|
405
|
-
});
|
406
|
-
});
|
407
|
-
};
|
408
|
-
StripeBase.prototype.getWebhookActionAndData = function (webhookData) {
|
409
|
-
return __awaiter(this, void 0, void 0, function () {
|
410
|
-
var event, intent;
|
411
|
-
return __generator(this, function (_a) {
|
412
|
-
event = this.constructWebhookEvent(webhookData);
|
413
|
-
intent = event.data.object;
|
414
|
-
switch (event.type) {
|
415
|
-
case "payment_intent.amount_capturable_updated":
|
416
|
-
return [2 /*return*/, {
|
417
|
-
action: utils_1.PaymentActions.AUTHORIZED,
|
418
|
-
data: {
|
419
|
-
resource_id: intent.metadata.resource_id,
|
420
|
-
amount: intent.amount_capturable, // NOTE: revisit when implementing multicapture
|
421
|
-
},
|
422
|
-
}];
|
423
|
-
case "payment_intent.succeeded":
|
424
|
-
return [2 /*return*/, {
|
425
|
-
action: utils_1.PaymentActions.SUCCESSFUL,
|
426
|
-
data: {
|
427
|
-
resource_id: intent.metadata.resource_id,
|
428
|
-
amount: intent.amount_received,
|
429
|
-
},
|
430
|
-
}];
|
431
|
-
case "payment_intent.payment_failed":
|
432
|
-
return [2 /*return*/, {
|
433
|
-
action: utils_1.PaymentActions.FAILED,
|
434
|
-
data: {
|
435
|
-
resource_id: intent.metadata.resource_id,
|
436
|
-
amount: intent.amount,
|
437
|
-
},
|
438
|
-
}];
|
439
|
-
default:
|
440
|
-
return [2 /*return*/, { action: utils_1.PaymentActions.NOT_SUPPORTED }];
|
40
|
+
}
|
41
|
+
async getPaymentStatus(paymentSessionData) {
|
42
|
+
const id = paymentSessionData.id;
|
43
|
+
const paymentIntent = await this.stripe_.paymentIntents.retrieve(id);
|
44
|
+
switch (paymentIntent.status) {
|
45
|
+
case "requires_payment_method":
|
46
|
+
case "requires_confirmation":
|
47
|
+
case "processing":
|
48
|
+
return utils_1.PaymentSessionStatus.PENDING;
|
49
|
+
case "requires_action":
|
50
|
+
return utils_1.PaymentSessionStatus.REQUIRES_MORE;
|
51
|
+
case "canceled":
|
52
|
+
return utils_1.PaymentSessionStatus.CANCELED;
|
53
|
+
case "requires_capture":
|
54
|
+
return utils_1.PaymentSessionStatus.AUTHORIZED;
|
55
|
+
case "succeeded":
|
56
|
+
return utils_1.PaymentSessionStatus.CAPTURED;
|
57
|
+
default:
|
58
|
+
return utils_1.PaymentSessionStatus.PENDING;
|
59
|
+
}
|
60
|
+
}
|
61
|
+
async initiatePayment(input) {
|
62
|
+
const intentRequestData = this.getPaymentIntentOptions();
|
63
|
+
const { email, extra, session_id, customer } = input.context;
|
64
|
+
const { currency_code, amount } = input;
|
65
|
+
const description = (extra?.payment_description ??
|
66
|
+
this.options_?.paymentDescription);
|
67
|
+
const intentRequest = {
|
68
|
+
description,
|
69
|
+
amount: (0, get_smallest_unit_1.getSmallestUnit)(amount, currency_code),
|
70
|
+
currency: currency_code,
|
71
|
+
metadata: { session_id: session_id },
|
72
|
+
capture_method: this.options_.capture ? "automatic" : "manual",
|
73
|
+
...intentRequestData,
|
74
|
+
};
|
75
|
+
if (this.options_?.automaticPaymentMethods) {
|
76
|
+
intentRequest.automatic_payment_methods = { enabled: true };
|
77
|
+
}
|
78
|
+
if (customer?.metadata?.stripe_id) {
|
79
|
+
intentRequest.customer = customer.metadata.stripe_id;
|
80
|
+
}
|
81
|
+
else {
|
82
|
+
let stripeCustomer;
|
83
|
+
try {
|
84
|
+
stripeCustomer = await this.stripe_.customers.create({
|
85
|
+
email,
|
86
|
+
});
|
87
|
+
}
|
88
|
+
catch (e) {
|
89
|
+
return this.buildError("An error occurred in initiatePayment when creating a Stripe customer", e);
|
90
|
+
}
|
91
|
+
intentRequest.customer = stripeCustomer.id;
|
92
|
+
}
|
93
|
+
let sessionData;
|
94
|
+
try {
|
95
|
+
sessionData = (await this.stripe_.paymentIntents.create(intentRequest));
|
96
|
+
}
|
97
|
+
catch (e) {
|
98
|
+
return this.buildError("An error occurred in InitiatePayment during the creation of the stripe payment intent", e);
|
99
|
+
}
|
100
|
+
return {
|
101
|
+
data: sessionData,
|
102
|
+
// TODO: REVISIT
|
103
|
+
// update_requests: customer?.metadata?.stripe_id
|
104
|
+
// ? undefined
|
105
|
+
// : {
|
106
|
+
// customer_metadata: {
|
107
|
+
// stripe_id: intentRequest.customer,
|
108
|
+
// },
|
109
|
+
// },
|
110
|
+
};
|
111
|
+
}
|
112
|
+
async authorizePayment(paymentSessionData, context) {
|
113
|
+
const status = await this.getPaymentStatus(paymentSessionData);
|
114
|
+
return { data: paymentSessionData, status };
|
115
|
+
}
|
116
|
+
async cancelPayment(paymentSessionData) {
|
117
|
+
try {
|
118
|
+
const id = paymentSessionData.id;
|
119
|
+
return (await this.stripe_.paymentIntents.cancel(id));
|
120
|
+
}
|
121
|
+
catch (error) {
|
122
|
+
if (error.payment_intent?.status === types_1.ErrorIntentStatus.CANCELED) {
|
123
|
+
return error.payment_intent;
|
124
|
+
}
|
125
|
+
return this.buildError("An error occurred in cancelPayment", error);
|
126
|
+
}
|
127
|
+
}
|
128
|
+
async capturePayment(paymentSessionData) {
|
129
|
+
const id = paymentSessionData.id;
|
130
|
+
try {
|
131
|
+
const intent = await this.stripe_.paymentIntents.capture(id);
|
132
|
+
return intent;
|
133
|
+
}
|
134
|
+
catch (error) {
|
135
|
+
if (error.code === types_1.ErrorCodes.PAYMENT_INTENT_UNEXPECTED_STATE) {
|
136
|
+
if (error.payment_intent?.status === types_1.ErrorIntentStatus.SUCCEEDED) {
|
137
|
+
return error.payment_intent;
|
441
138
|
}
|
442
|
-
|
139
|
+
}
|
140
|
+
return this.buildError("An error occurred in capturePayment", error);
|
141
|
+
}
|
142
|
+
}
|
143
|
+
async deletePayment(paymentSessionData) {
|
144
|
+
return await this.cancelPayment(paymentSessionData);
|
145
|
+
}
|
146
|
+
async refundPayment(paymentSessionData, refundAmount) {
|
147
|
+
const id = paymentSessionData.id;
|
148
|
+
try {
|
149
|
+
const { currency } = paymentSessionData;
|
150
|
+
await this.stripe_.refunds.create({
|
151
|
+
amount: (0, get_smallest_unit_1.getSmallestUnit)(refundAmount, currency),
|
152
|
+
payment_intent: id,
|
443
153
|
});
|
444
|
-
}
|
445
|
-
|
154
|
+
}
|
155
|
+
catch (e) {
|
156
|
+
return this.buildError("An error occurred in refundPayment", e);
|
157
|
+
}
|
158
|
+
return paymentSessionData;
|
159
|
+
}
|
160
|
+
async retrievePayment(paymentSessionData) {
|
161
|
+
try {
|
162
|
+
const id = paymentSessionData.id;
|
163
|
+
const intent = await this.stripe_.paymentIntents.retrieve(id);
|
164
|
+
intent.amount = (0, get_smallest_unit_1.getAmountFromSmallestUnit)(intent.amount, intent.currency);
|
165
|
+
return intent;
|
166
|
+
}
|
167
|
+
catch (e) {
|
168
|
+
return this.buildError("An error occurred in retrievePayment", e);
|
169
|
+
}
|
170
|
+
}
|
171
|
+
async updatePayment(input) {
|
172
|
+
const { context, data, currency_code, amount } = input;
|
173
|
+
const amountNumeric = (0, get_smallest_unit_1.getSmallestUnit)(amount, currency_code);
|
174
|
+
const stripeId = context.customer?.metadata?.stripe_id;
|
175
|
+
if (stripeId !== data.customer) {
|
176
|
+
const result = await this.initiatePayment(input);
|
177
|
+
if ((0, utils_1.isPaymentProviderError)(result)) {
|
178
|
+
return this.buildError("An error occurred in updatePayment during the initiate of the new payment for the new customer", result);
|
179
|
+
}
|
180
|
+
return result;
|
181
|
+
}
|
182
|
+
else {
|
183
|
+
if ((0, utils_1.isPresent)(amount) && data.amount === amountNumeric) {
|
184
|
+
return { data };
|
185
|
+
}
|
186
|
+
try {
|
187
|
+
const id = data.id;
|
188
|
+
const sessionData = (await this.stripe_.paymentIntents.update(id, {
|
189
|
+
amount: amountNumeric,
|
190
|
+
}));
|
191
|
+
return { data: sessionData };
|
192
|
+
}
|
193
|
+
catch (e) {
|
194
|
+
return this.buildError("An error occurred in updatePayment", e);
|
195
|
+
}
|
196
|
+
}
|
197
|
+
}
|
198
|
+
async updatePaymentData(sessionId, data) {
|
199
|
+
try {
|
200
|
+
// Prevent from updating the amount from here as it should go through
|
201
|
+
// the updatePayment method to perform the correct logic
|
202
|
+
if ((0, utils_1.isPresent)(data.amount)) {
|
203
|
+
throw new utils_1.MedusaError(utils_1.MedusaError.Types.INVALID_DATA, "Cannot update amount, use updatePayment instead");
|
204
|
+
}
|
205
|
+
return (await this.stripe_.paymentIntents.update(sessionId, {
|
206
|
+
...data,
|
207
|
+
}));
|
208
|
+
}
|
209
|
+
catch (e) {
|
210
|
+
return this.buildError("An error occurred in updatePaymentData", e);
|
211
|
+
}
|
212
|
+
}
|
213
|
+
async getWebhookActionAndData(webhookData) {
|
214
|
+
const event = this.constructWebhookEvent(webhookData);
|
215
|
+
const intent = event.data.object;
|
216
|
+
const { currency } = intent;
|
217
|
+
switch (event.type) {
|
218
|
+
case "payment_intent.amount_capturable_updated":
|
219
|
+
return {
|
220
|
+
action: utils_1.PaymentActions.AUTHORIZED,
|
221
|
+
data: {
|
222
|
+
session_id: intent.metadata.session_id,
|
223
|
+
amount: (0, get_smallest_unit_1.getAmountFromSmallestUnit)(intent.amount_capturable, currency), // NOTE: revisit when implementing multicapture
|
224
|
+
},
|
225
|
+
};
|
226
|
+
case "payment_intent.succeeded":
|
227
|
+
return {
|
228
|
+
action: utils_1.PaymentActions.SUCCESSFUL,
|
229
|
+
data: {
|
230
|
+
session_id: intent.metadata.session_id,
|
231
|
+
amount: (0, get_smallest_unit_1.getAmountFromSmallestUnit)(intent.amount_received, currency),
|
232
|
+
},
|
233
|
+
};
|
234
|
+
case "payment_intent.payment_failed":
|
235
|
+
return {
|
236
|
+
action: utils_1.PaymentActions.FAILED,
|
237
|
+
data: {
|
238
|
+
session_id: intent.metadata.session_id,
|
239
|
+
amount: (0, get_smallest_unit_1.getAmountFromSmallestUnit)(intent.amount, currency),
|
240
|
+
},
|
241
|
+
};
|
242
|
+
default:
|
243
|
+
return { action: utils_1.PaymentActions.NOT_SUPPORTED };
|
244
|
+
}
|
245
|
+
}
|
446
246
|
/**
|
447
247
|
* Constructs Stripe Webhook event
|
448
248
|
* @param {object} data - the data of the webhook request: req.body
|
449
249
|
* ensures integrity of the webhook event
|
450
250
|
* @return {object} Stripe Webhook event
|
451
251
|
*/
|
452
|
-
|
453
|
-
|
454
|
-
return this.stripe_.webhooks.constructEvent(data.rawData, signature, this.
|
455
|
-
}
|
456
|
-
|
457
|
-
var _a, _b;
|
252
|
+
constructWebhookEvent(data) {
|
253
|
+
const signature = data.headers["stripe-signature"];
|
254
|
+
return this.stripe_.webhooks.constructEvent(data.rawData, signature, this.options_.webhookSecret);
|
255
|
+
}
|
256
|
+
buildError(message, error) {
|
458
257
|
return {
|
459
258
|
error: message,
|
460
259
|
code: "code" in error ? error.code : "unknown",
|
461
260
|
detail: (0, utils_1.isPaymentProviderError)(error)
|
462
|
-
?
|
261
|
+
? `${error.error}${os_1.EOL}${error.detail ?? ""}`
|
463
262
|
: "detail" in error
|
464
263
|
? error.detail
|
465
|
-
:
|
264
|
+
: error.message ?? "",
|
466
265
|
};
|
467
|
-
}
|
468
|
-
|
469
|
-
}(utils_1.AbstractPaymentProvider));
|
266
|
+
}
|
267
|
+
}
|
470
268
|
exports.default = StripeBase;
|
471
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RyaXBlLWJhc2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvY29yZS9zdHJpcGUtYmFzZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLHlCQUF3QjtBQUV4QixrREFBMkI7QUFFM0IseUNBUXdCO0FBQ3hCLHlDQU13QjtBQUN4Qix1REFBNkM7QUFHN0Msa0NBTWlCO0FBRWpCO0lBQWtDLDhCQUEwQztJQUsxRSxvQkFBc0IsU0FBMEIsRUFBRSxPQUFzQjtRQUF4RSx3REFFVyxTQUFTLG1CQU1uQjtRQUpDLEtBQUksQ0FBQyxVQUFVLEdBQUcsU0FBUyxDQUFBO1FBQzNCLEtBQUksQ0FBQyxRQUFRLEdBQUcsT0FBTyxDQUFBO1FBRXZCLEtBQUksQ0FBQyxPQUFPLEdBQUcsS0FBSSxDQUFDLElBQUksRUFBRSxDQUFBOztJQUM1QixDQUFDO0lBRVMseUJBQUksR0FBZDtRQUNFLElBQUksQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFBO1FBRWpDLE9BQU8sSUFBSSxnQkFBTSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLENBQUE7SUFDdkMsQ0FBQztJQUlPLG9DQUFlLEdBQXZCLFVBQXdCLE9BQTBCO1FBQ2hELElBQUksQ0FBQyxJQUFBLDZCQUFTLEVBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxFQUFFO1lBQzlCLE1BQU0sSUFBSSxLQUFLLENBQUMsc0RBQXNELENBQUMsQ0FBQTtTQUN4RTtJQUNILENBQUM7SUFFRCxzQkFBSSwrQkFBTzthQUFYO1lBQ0UsT0FBTyxJQUFJLENBQUMsUUFBUSxDQUFBO1FBQ3RCLENBQUM7OztPQUFBO0lBRUQsNENBQXVCLEdBQXZCOztRQUNFLElBQU0sT0FBTyxHQUF5QixFQUFFLENBQUE7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
|
269
|
+
//# sourceMappingURL=stripe-base.js.map
|