@payloadcms/plugin-stripe 0.0.9 → 0.0.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.
Files changed (50) hide show
  1. package/README.md +69 -61
  2. package/dist/hooks/createNewInStripe.d.ts +1 -1
  3. package/dist/hooks/createNewInStripe.js +1 -1
  4. package/dist/hooks/deleteFromStripe.d.ts +1 -1
  5. package/dist/hooks/deleteFromStripe.js +1 -1
  6. package/dist/hooks/syncExistingWithStripe.d.ts +1 -1
  7. package/dist/hooks/syncExistingWithStripe.js +1 -1
  8. package/dist/index.js +6 -5
  9. package/dist/index.js.map +1 -1
  10. package/dist/routes/rest.js +3 -3
  11. package/dist/routes/rest.js.map +1 -1
  12. package/dist/routes/webhooks.js +1 -1
  13. package/dist/types.d.ts +9 -8
  14. package/dist/ui/{index.d.ts → LinkToDoc.d.ts} +1 -0
  15. package/dist/ui/LinkToDoc.js +36 -0
  16. package/dist/ui/LinkToDoc.js.map +1 -0
  17. package/dist/utilities/stripeProxy.js +10 -7
  18. package/dist/utilities/stripeProxy.js.map +1 -1
  19. package/dist/webhooks/handleCreatedOrUpdated.d.ts +1 -1
  20. package/dist/webhooks/handleCreatedOrUpdated.js +5 -3
  21. package/dist/webhooks/handleCreatedOrUpdated.js.map +1 -1
  22. package/dist/webhooks/handleDeleted.d.ts +1 -1
  23. package/dist/webhooks/handleDeleted.js +1 -1
  24. package/dist/webhooks/index.js +1 -1
  25. package/package.json +9 -5
  26. package/types.d.ts +1 -0
  27. package/types.js +1 -0
  28. package/dist/hooks/createNewStripeCustomer.d.ts +0 -2
  29. package/dist/hooks/createNewStripeCustomer.js +0 -104
  30. package/dist/hooks/createNewStripeCustomer.js.map +0 -1
  31. package/dist/hooks/deleteStripeCustomer.d.ts +0 -2
  32. package/dist/hooks/deleteStripeCustomer.js +0 -74
  33. package/dist/hooks/deleteStripeCustomer.js.map +0 -1
  34. package/dist/hooks/syncExistingStripeCustomer.d.ts +0 -2
  35. package/dist/hooks/syncExistingStripeCustomer.js +0 -80
  36. package/dist/hooks/syncExistingStripeCustomer.js.map +0 -1
  37. package/dist/routes/getAllProducts.d.ts +0 -3
  38. package/dist/routes/getAllProducts.js +0 -78
  39. package/dist/routes/getAllProducts.js.map +0 -1
  40. package/dist/routes/getSubscriptions.d.ts +0 -3
  41. package/dist/routes/getSubscriptions.js +0 -115
  42. package/dist/routes/getSubscriptions.js.map +0 -1
  43. package/dist/routes/updatePayment.d.ts +0 -3
  44. package/dist/routes/updatePayment.js +0 -96
  45. package/dist/routes/updatePayment.js.map +0 -1
  46. package/dist/ui/index.js +0 -35
  47. package/dist/ui/index.js.map +0 -1
  48. package/dist/webhooks/handleWebhooks.d.ts +0 -2
  49. package/dist/webhooks/handleWebhooks.js +0 -236
  50. package/dist/webhooks/handleWebhooks.js.map +0 -1
@@ -1,5 +1,5 @@
1
1
  import { SanitizedStripeConfig, StripeWebhookHandler } from '../types';
2
- declare type HandleDeleted = (args: Parameters<StripeWebhookHandler>[0] & {
2
+ type HandleDeleted = (args: Parameters<StripeWebhookHandler>[0] & {
3
3
  resourceType: string;
4
4
  syncConfig: SanitizedStripeConfig['sync'][0];
5
5
  }) => void;
@@ -14,7 +14,7 @@ var __generator = (this && this.__generator) || function (thisArg, body) {
14
14
  function verb(n) { return function (v) { return step([n, v]); }; }
15
15
  function step(op) {
16
16
  if (f) throw new TypeError("Generator is already executing.");
17
- while (_) try {
17
+ while (g && (g = 0, op[0] && (_ = 0)), _) try {
18
18
  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;
19
19
  if (y = 0, t) op = [op[0] & 2, t.value];
20
20
  switch (op[0]) {
@@ -25,7 +25,7 @@ var __generator = (this && this.__generator) || function (thisArg, body) {
25
25
  function verb(n) { return function (v) { return step([n, v]); }; }
26
26
  function step(op) {
27
27
  if (f) throw new TypeError("Generator is already executing.");
28
- while (_) try {
28
+ while (g && (g = 0, op[0] && (_ = 0)), _) try {
29
29
  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;
30
30
  if (y = 0, t) op = [op[0] & 2, t.value];
31
31
  switch (op[0]) {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@payloadcms/plugin-stripe",
3
- "version": "0.0.9",
3
+ "version": "0.0.11",
4
4
  "homepage:": "https://payloadcms.com",
5
5
  "repository": "git@github.com:payloadcms/plugin-stripe.git",
6
6
  "description": "Stripe plugin for Payload CMS",
@@ -24,19 +24,23 @@
24
24
  "author": "dev@payloadcms.com",
25
25
  "license": "MIT",
26
26
  "peerDependencies": {
27
- "payload": "^1.1.4"
27
+ "payload": "^1.1.8"
28
28
  },
29
29
  "dependencies": {
30
+ "@types/uuid": "^9.0.0",
30
31
  "lodash.get": "^4.4.2",
31
- "stripe": "^10.2.0"
32
+ "stripe": "^10.2.0",
33
+ "uuid": "^9.0.0"
32
34
  },
33
35
  "devDependencies": {
34
36
  "@types/express": "^4.17.13",
35
37
  "@types/lodash.get": "^4.4.7",
36
- "payload": "^1.1.4",
38
+ "payload": "^1.1.8",
37
39
  "typescript": "^4.5.5"
38
40
  },
39
41
  "files": [
40
- "dist"
42
+ "dist",
43
+ "types.js",
44
+ "types.d.ts"
41
45
  ]
42
46
  }
package/types.d.ts ADDED
@@ -0,0 +1 @@
1
+ export * from './dist/types';
package/types.js ADDED
@@ -0,0 +1 @@
1
+ module.exports = require('./dist/types');
@@ -1,2 +0,0 @@
1
- import type { CollectionBeforeValidateHook } from 'payload/types';
2
- export declare const createNewStripeCustomer: CollectionBeforeValidateHook;
@@ -1,104 +0,0 @@
1
- "use strict";
2
- var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
- return new (P || (P = Promise))(function (resolve, reject) {
5
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
- step((generator = generator.apply(thisArg, _arguments || [])).next());
9
- });
10
- };
11
- var __generator = (this && this.__generator) || function (thisArg, body) {
12
- var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
13
- return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
14
- function verb(n) { return function (v) { return step([n, v]); }; }
15
- function step(op) {
16
- if (f) throw new TypeError("Generator is already executing.");
17
- while (_) try {
18
- 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;
19
- if (y = 0, t) op = [op[0] & 2, t.value];
20
- switch (op[0]) {
21
- case 0: case 1: t = op; break;
22
- case 4: _.label++; return { value: op[1], done: false };
23
- case 5: _.label++; y = op[1]; op = [0]; continue;
24
- case 7: op = _.ops.pop(); _.trys.pop(); continue;
25
- default:
26
- if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
27
- if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
28
- if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
29
- if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
30
- if (t[2]) _.ops.pop();
31
- _.trys.pop(); continue;
32
- }
33
- op = body.call(thisArg, _);
34
- } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
35
- if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
36
- }
37
- };
38
- var __importDefault = (this && this.__importDefault) || function (mod) {
39
- return (mod && mod.__esModule) ? mod : { "default": mod };
40
- };
41
- Object.defineProperty(exports, "__esModule", { value: true });
42
- exports.createNewStripeCustomer = void 0;
43
- var errors_1 = require("payload/errors");
44
- var stripe_1 = __importDefault(require("stripe"));
45
- var stripeSecretKey = process.env.STRIPE_SECRET_KEY;
46
- var stripe = new stripe_1.default(stripeSecretKey || '', { apiVersion: '2022-08-01' });
47
- var createNewStripeCustomer = function (_a) {
48
- var req = _a.req, operation = _a.operation, data = _a.data;
49
- return __awaiter(void 0, void 0, void 0, function () {
50
- var dataRef, payload, customerQuery, existingCustomer, customer, error_1;
51
- return __generator(this, function (_b) {
52
- switch (_b.label) {
53
- case 0:
54
- dataRef = data || {};
55
- if (!req) return [3 /*break*/, 7];
56
- payload = req.payload;
57
- if (!(operation === 'create' && (data === null || data === void 0 ? void 0 : data.email))) return [3 /*break*/, 6];
58
- return [4 /*yield*/, payload.find({
59
- collection: 'customers',
60
- where: {
61
- email: {
62
- equals: data.email,
63
- },
64
- },
65
- })];
66
- case 1:
67
- customerQuery = _b.sent();
68
- existingCustomer = customerQuery.docs[0];
69
- if (existingCustomer) {
70
- throw new errors_1.APIError("Account already exists with e-mail: ".concat(data.email, ". If this is your e-mail, please log in and checkout again."));
71
- }
72
- if (!(process.env.NODE_ENV === 'test')) return [3 /*break*/, 2];
73
- dataRef.stripeCustomerID = 'test';
74
- return [3 /*break*/, 6];
75
- case 2:
76
- if (!!data.isSyncedToStripe) return [3 /*break*/, 6];
77
- console.log("Creating new customer in Stripe with email: '".concat(data.email, "'"));
78
- _b.label = 3;
79
- case 3:
80
- _b.trys.push([3, 5, , 6]);
81
- return [4 /*yield*/, stripe.customers.create({
82
- email: data.email,
83
- name: data.name,
84
- })];
85
- case 4:
86
- customer = _b.sent();
87
- console.log("Successfully created new customer in Stripe. Their customer ID is: '".concat(customer.id, "'."));
88
- dataRef.stripeCustomerID = customer.id;
89
- dataRef.isSyncedToStripe = true;
90
- return [3 /*break*/, 6];
91
- case 5:
92
- error_1 = _b.sent();
93
- throw new errors_1.APIError("Error creating new customer in Stripe: ".concat((error_1 === null || error_1 === void 0 ? void 0 : error_1.message) || ''));
94
- case 6:
95
- // Set to false so that all Payload events sync to Stripe, EXCEPT for those that originate from webhooks
96
- dataRef.isSyncedToStripe = false;
97
- _b.label = 7;
98
- case 7: return [2 /*return*/, dataRef];
99
- }
100
- });
101
- });
102
- };
103
- exports.createNewStripeCustomer = createNewStripeCustomer;
104
- //# sourceMappingURL=createNewStripeCustomer.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"createNewStripeCustomer.js","sourceRoot":"","sources":["../../src/hooks/createNewStripeCustomer.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,yCAA0C;AAC1C,kDAA4B;AAG5B,IAAM,eAAe,GAAG,OAAO,CAAC,GAAG,CAAC,iBAAiB,CAAC;AACtD,IAAM,MAAM,GAAG,IAAI,gBAAM,CAAC,eAAe,IAAI,EAAE,EAAE,EAAE,UAAU,EAAE,YAAY,EAAE,CAAC,CAAC;AAExE,IAAM,uBAAuB,GAAiC,UAAO,EAAwB;QAAtB,GAAG,SAAA,EAAE,SAAS,eAAA,EAAE,IAAI,UAAA;;;;;;oBAC1F,OAAO,GAAG,IAAI,IAAI,EAAE,CAAC;yBAEvB,GAAG,EAAH,wBAAG;oBACG,OAAO,GAAK,GAAG,QAAR,CAAS;yBAGpB,CAAA,SAAS,KAAK,QAAQ,KAAI,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,KAAK,CAAA,CAAA,EAArC,wBAAqC;oBACjB,qBAAM,OAAO,CAAC,IAAI,CAAC;4BACvC,UAAU,EAAE,WAAW;4BACvB,KAAK,EAAE;gCACL,KAAK,EAAE;oCACL,MAAM,EAAE,IAAI,CAAC,KAAK;iCACnB;6BACF;yBACF,CAAC,EAAA;;oBAPI,aAAa,GAAG,SAOpB;oBAEI,gBAAgB,GAAG,aAAa,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;oBAE/C,IAAI,gBAAgB,EAAE;wBACpB,MAAM,IAAI,iBAAQ,CAChB,8CAAuC,IAAI,CAAC,KAAK,gEAA6D,CAC/G,CAAC;qBACH;yBAEG,CAAA,OAAO,CAAC,GAAG,CAAC,QAAQ,KAAK,MAAM,CAAA,EAA/B,wBAA+B;oBACjC,OAAO,CAAC,gBAAgB,GAAG,MAAM,CAAC;;;yBAE9B,CAAC,IAAI,CAAC,gBAAgB,EAAtB,wBAAsB;oBACxB,OAAO,CAAC,GAAG,CAAC,uDAAgD,IAAI,CAAC,KAAK,MAAG,CAAC,CAAC;;;;oBAGxD,qBAAM,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC;4BAC7C,KAAK,EAAE,IAAI,CAAC,KAAK;4BACjB,IAAI,EAAE,IAAI,CAAC,IAAI;yBAChB,CAAC,EAAA;;oBAHI,QAAQ,GAAG,SAGf;oBAEF,OAAO,CAAC,GAAG,CAAC,8EAAuE,QAAQ,CAAC,EAAE,OAAI,CAAC,CAAC;oBAEpG,OAAO,CAAC,gBAAgB,GAAG,QAAQ,CAAC,EAAE,CAAC;oBACvC,OAAO,CAAC,gBAAgB,GAAG,IAAI,CAAC;;;;oBAEhC,MAAM,IAAI,iBAAQ,CAAC,iDAA0C,CAAA,OAAK,aAAL,OAAK,uBAAL,OAAK,CAAE,OAAO,KAAI,EAAE,CAAE,CAAC,CAAC;;oBAM7F,wGAAwG;oBACxG,OAAO,CAAC,gBAAgB,GAAG,KAAK,CAAC;;wBAGnC,sBAAO,OAAO,EAAC;;;;CAChB,CAAC;AArDW,QAAA,uBAAuB,2BAqDlC"}
@@ -1,2 +0,0 @@
1
- import type { CollectionAfterDeleteHook } from 'payload/types';
2
- export declare const deleteStripeCustomer: CollectionAfterDeleteHook;
@@ -1,74 +0,0 @@
1
- "use strict";
2
- var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
- return new (P || (P = Promise))(function (resolve, reject) {
5
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
- step((generator = generator.apply(thisArg, _arguments || [])).next());
9
- });
10
- };
11
- var __generator = (this && this.__generator) || function (thisArg, body) {
12
- var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
13
- return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
14
- function verb(n) { return function (v) { return step([n, v]); }; }
15
- function step(op) {
16
- if (f) throw new TypeError("Generator is already executing.");
17
- while (_) try {
18
- 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;
19
- if (y = 0, t) op = [op[0] & 2, t.value];
20
- switch (op[0]) {
21
- case 0: case 1: t = op; break;
22
- case 4: _.label++; return { value: op[1], done: false };
23
- case 5: _.label++; y = op[1]; op = [0]; continue;
24
- case 7: op = _.ops.pop(); _.trys.pop(); continue;
25
- default:
26
- if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
27
- if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
28
- if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
29
- if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
30
- if (t[2]) _.ops.pop();
31
- _.trys.pop(); continue;
32
- }
33
- op = body.call(thisArg, _);
34
- } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
35
- if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
36
- }
37
- };
38
- var __importDefault = (this && this.__importDefault) || function (mod) {
39
- return (mod && mod.__esModule) ? mod : { "default": mod };
40
- };
41
- Object.defineProperty(exports, "__esModule", { value: true });
42
- exports.deleteStripeCustomer = void 0;
43
- var stripe_1 = __importDefault(require("stripe"));
44
- var stripeSecretKey = process.env.STRIPE_SECRET_KEY;
45
- var stripe = new stripe_1.default(stripeSecretKey || '', { apiVersion: '2022-08-01' });
46
- var deleteStripeCustomer = function (_a) {
47
- var req = _a.req, doc = _a.doc;
48
- return __awaiter(void 0, void 0, void 0, function () {
49
- var payload, error_1;
50
- return __generator(this, function (_b) {
51
- switch (_b.label) {
52
- case 0:
53
- payload = req.payload;
54
- if (!(process.env.NODE_ENV !== 'test')) return [3 /*break*/, 4];
55
- console.log("Deleting customer with ID: '".concat(doc.stripeCustomerID, "' from Stripe."));
56
- _b.label = 1;
57
- case 1:
58
- _b.trys.push([1, 3, , 4]);
59
- return [4 /*yield*/, stripe.customers.del(doc.stripeCustomerID)];
60
- case 2:
61
- _b.sent();
62
- console.log("Successfully deleted customer ID: '".concat(doc.stripeCustomerID, "' from Stripe."));
63
- return [3 /*break*/, 4];
64
- case 3:
65
- error_1 = _b.sent();
66
- payload.logger.error("Error deleting customer ID: '".concat(doc.stripeCustomerID, "' from Stripe: ").concat((error_1 === null || error_1 === void 0 ? void 0 : error_1.message) || ''));
67
- return [3 /*break*/, 4];
68
- case 4: return [2 /*return*/];
69
- }
70
- });
71
- });
72
- };
73
- exports.deleteStripeCustomer = deleteStripeCustomer;
74
- //# sourceMappingURL=deleteStripeCustomer.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"deleteStripeCustomer.js","sourceRoot":"","sources":["../../src/hooks/deleteStripeCustomer.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AACA,kDAA4B;AAE5B,IAAM,eAAe,GAAG,OAAO,CAAC,GAAG,CAAC,iBAAiB,CAAC;AACtD,IAAM,MAAM,GAAG,IAAI,gBAAM,CAAC,eAAe,IAAI,EAAE,EAAE,EAAE,UAAU,EAAE,YAAY,EAAE,CAAC,CAAC;AAExE,IAAM,oBAAoB,GAA8B,UAAO,EAAY;QAAV,GAAG,SAAA,EAAE,GAAG,SAAA;;;;;;oBACtE,OAAO,GAAK,GAAG,QAAR,CAAS;yBAEpB,CAAA,OAAO,CAAC,GAAG,CAAC,QAAQ,KAAK,MAAM,CAAA,EAA/B,wBAA+B;oBACjC,OAAO,CAAC,GAAG,CAAC,sCAA+B,GAAG,CAAC,gBAAgB,mBAAgB,CAAC,CAAC;;;;oBAG/E,qBAAM,MAAM,CAAC,SAAS,CAAC,GAAG,CAAC,GAAG,CAAC,gBAAgB,CAAC,EAAA;;oBAAhD,SAAgD,CAAC;oBAEjD,OAAO,CAAC,GAAG,CAAC,6CAAsC,GAAG,CAAC,gBAAgB,mBAAgB,CAAC,CAAC;;;;oBAExF,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,uCAAgC,GAAG,CAAC,gBAAgB,4BAAkB,CAAA,OAAK,aAAL,OAAK,uBAAL,OAAK,CAAE,OAAO,KAAI,EAAE,CAAE,CAAC,CAAC;;;;;;CAGxH,CAAA;AAdY,QAAA,oBAAoB,wBAchC"}
@@ -1,2 +0,0 @@
1
- import type { CollectionAfterChangeHook } from 'payload/types';
2
- export declare const syncExistingStripeCustomer: CollectionAfterChangeHook;
@@ -1,80 +0,0 @@
1
- "use strict";
2
- var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
- return new (P || (P = Promise))(function (resolve, reject) {
5
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
- step((generator = generator.apply(thisArg, _arguments || [])).next());
9
- });
10
- };
11
- var __generator = (this && this.__generator) || function (thisArg, body) {
12
- var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
13
- return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
14
- function verb(n) { return function (v) { return step([n, v]); }; }
15
- function step(op) {
16
- if (f) throw new TypeError("Generator is already executing.");
17
- while (_) try {
18
- 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;
19
- if (y = 0, t) op = [op[0] & 2, t.value];
20
- switch (op[0]) {
21
- case 0: case 1: t = op; break;
22
- case 4: _.label++; return { value: op[1], done: false };
23
- case 5: _.label++; y = op[1]; op = [0]; continue;
24
- case 7: op = _.ops.pop(); _.trys.pop(); continue;
25
- default:
26
- if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
27
- if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
28
- if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
29
- if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
30
- if (t[2]) _.ops.pop();
31
- _.trys.pop(); continue;
32
- }
33
- op = body.call(thisArg, _);
34
- } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
35
- if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
36
- }
37
- };
38
- var __importDefault = (this && this.__importDefault) || function (mod) {
39
- return (mod && mod.__esModule) ? mod : { "default": mod };
40
- };
41
- Object.defineProperty(exports, "__esModule", { value: true });
42
- exports.syncExistingStripeCustomer = void 0;
43
- var stripe_1 = __importDefault(require("stripe"));
44
- var stripeSecretKey = process.env.STRIPE_SECRET_KEY;
45
- var stripe = new stripe_1.default(stripeSecretKey || '', { apiVersion: '2022-08-01' });
46
- var syncExistingStripeCustomer = function (_a) {
47
- var req = _a.req, operation = _a.operation, doc = _a.doc;
48
- return __awaiter(void 0, void 0, void 0, function () {
49
- var payload, customer, error_1;
50
- return __generator(this, function (_b) {
51
- switch (_b.label) {
52
- case 0:
53
- payload = req.payload;
54
- if (!(process.env.NODE_ENV !== 'test' && !doc.isSyncedToStripe)) return [3 /*break*/, 4];
55
- if (!(operation === 'update')) return [3 /*break*/, 4];
56
- console.log("Syncing Payload customer with ID: '".concat(doc.id, "' to Stripe."));
57
- _b.label = 1;
58
- case 1:
59
- _b.trys.push([1, 3, , 4]);
60
- return [4 /*yield*/, stripe.customers.update(doc.stripeCustomerID, {
61
- email: doc.email,
62
- name: doc.name,
63
- })];
64
- case 2:
65
- customer = _b.sent();
66
- // Set to false so that all Payload events sync to Stripe, EXCEPT for those that originate from webhooks
67
- doc.isSyncedToStripe = false;
68
- console.log("Successfully updated customer ID: '".concat(customer.id, "' in Stripe."));
69
- return [3 /*break*/, 4];
70
- case 3:
71
- error_1 = _b.sent();
72
- payload.logger.error("Error updating customer ID: '".concat(doc.stripeCustomerID, "' in Stripe: ").concat((error_1 === null || error_1 === void 0 ? void 0 : error_1.message) || ''));
73
- return [3 /*break*/, 4];
74
- case 4: return [2 /*return*/, doc];
75
- }
76
- });
77
- });
78
- };
79
- exports.syncExistingStripeCustomer = syncExistingStripeCustomer;
80
- //# sourceMappingURL=syncExistingStripeCustomer.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"syncExistingStripeCustomer.js","sourceRoot":"","sources":["../../src/hooks/syncExistingStripeCustomer.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AACA,kDAA4B;AAE5B,IAAM,eAAe,GAAG,OAAO,CAAC,GAAG,CAAC,iBAAiB,CAAC;AACtD,IAAM,MAAM,GAAG,IAAI,gBAAM,CAAC,eAAe,IAAI,EAAE,EAAE,EAAE,UAAU,EAAE,YAAY,EAAE,CAAC,CAAC;AAExE,IAAM,0BAA0B,GAA8B,UAAO,EAAuB;QAArB,GAAG,SAAA,EAAE,SAAS,eAAA,EAAE,GAAG,SAAA;;;;;;oBACvF,OAAO,GAAK,GAAG,QAAR,CAAS;yBAEpB,CAAA,OAAO,CAAC,GAAG,CAAC,QAAQ,KAAK,MAAM,IAAI,CAAC,GAAG,CAAC,gBAAgB,CAAA,EAAxD,wBAAwD;yBACtD,CAAA,SAAS,KAAK,QAAQ,CAAA,EAAtB,wBAAsB;oBACxB,OAAO,CAAC,GAAG,CAAC,6CAAsC,GAAG,CAAC,EAAE,iBAAc,CAAC,CAAC;;;;oBAGrD,qBAAM,MAAM,CAAC,SAAS,CAAC,MAAM,CAC5C,GAAG,CAAC,gBAAgB,EACpB;4BACE,KAAK,EAAE,GAAG,CAAC,KAAK;4BAChB,IAAI,EAAE,GAAG,CAAC,IAAI;yBACf,CACF,EAAA;;oBANK,QAAQ,GAAG,SAMhB;oBAED,wGAAwG;oBACxG,GAAG,CAAC,gBAAgB,GAAG,KAAK,CAAC;oBAE7B,OAAO,CAAC,GAAG,CAAC,6CAAsC,QAAQ,CAAC,EAAE,iBAAc,CAAC,CAAC;;;;oBAE7E,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,uCAAgC,GAAG,CAAC,gBAAgB,0BAAgB,CAAA,OAAK,aAAL,OAAK,uBAAL,OAAK,CAAE,OAAO,KAAI,EAAE,CAAE,CAAC,CAAC;;wBAKvH,sBAAO,GAAG,EAAC;;;;CACZ,CAAA;AA3BY,QAAA,0BAA0B,8BA2BtC"}
@@ -1,3 +0,0 @@
1
- import { PayloadRequest } from 'payload/dist/types';
2
- import { StripeConfig } from '../types';
3
- export declare const getAllProducts: (req: PayloadRequest, res: any, next: any, stripeConfig: StripeConfig) => Promise<any>;
@@ -1,78 +0,0 @@
1
- "use strict";
2
- var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
- return new (P || (P = Promise))(function (resolve, reject) {
5
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
- step((generator = generator.apply(thisArg, _arguments || [])).next());
9
- });
10
- };
11
- var __generator = (this && this.__generator) || function (thisArg, body) {
12
- var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
13
- return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
14
- function verb(n) { return function (v) { return step([n, v]); }; }
15
- function step(op) {
16
- if (f) throw new TypeError("Generator is already executing.");
17
- while (_) try {
18
- 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;
19
- if (y = 0, t) op = [op[0] & 2, t.value];
20
- switch (op[0]) {
21
- case 0: case 1: t = op; break;
22
- case 4: _.label++; return { value: op[1], done: false };
23
- case 5: _.label++; y = op[1]; op = [0]; continue;
24
- case 7: op = _.ops.pop(); _.trys.pop(); continue;
25
- default:
26
- if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
27
- if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
28
- if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
29
- if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
30
- if (t[2]) _.ops.pop();
31
- _.trys.pop(); continue;
32
- }
33
- op = body.call(thisArg, _);
34
- } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
35
- if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
36
- }
37
- };
38
- var __importDefault = (this && this.__importDefault) || function (mod) {
39
- return (mod && mod.__esModule) ? mod : { "default": mod };
40
- };
41
- Object.defineProperty(exports, "__esModule", { value: true });
42
- exports.getAllProducts = void 0;
43
- var errors_1 = require("payload/errors");
44
- var stripe_1 = __importDefault(require("stripe"));
45
- var getAllProducts = function (req, res, next, stripeConfig) { return __awaiter(void 0, void 0, void 0, function () {
46
- var stripeSecretKey, stripe, id, user, products, err_1;
47
- return __generator(this, function (_a) {
48
- switch (_a.label) {
49
- case 0:
50
- stripeSecretKey = stripeConfig.stripeSecretKey;
51
- stripe = new stripe_1.default(stripeSecretKey, { apiVersion: '2022-08-01' });
52
- _a.label = 1;
53
- case 1:
54
- _a.trys.push([1, 3, , 4]);
55
- id = req.params.id, user = req.user;
56
- if (!user) {
57
- throw new errors_1.Forbidden();
58
- }
59
- return [4 /*yield*/, stripe.products.list(({
60
- limit: 20,
61
- }))];
62
- case 2:
63
- products = _a.sent();
64
- if (!(products === null || products === void 0 ? void 0 : products.data)) {
65
- return [2 /*return*/, res.status(404)];
66
- }
67
- return [2 /*return*/, res.json({
68
- products: products
69
- })];
70
- case 3:
71
- err_1 = _a.sent();
72
- return [2 /*return*/, next(err_1)];
73
- case 4: return [2 /*return*/];
74
- }
75
- });
76
- }); };
77
- exports.getAllProducts = getAllProducts;
78
- //# sourceMappingURL=getAllProducts.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"getAllProducts.js","sourceRoot":"","sources":["../../src/routes/getAllProducts.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEA,yCAA2C;AAC3C,kDAA4B;AAGrB,IAAM,cAAc,GAAG,UAC5B,GAAmB,EACnB,GAAQ,EACR,IAAS,EACT,YAA0B;;;;;gBAElB,eAAe,GAAK,YAAY,gBAAjB,CAAkB;gBAEnC,MAAM,GAAG,IAAI,gBAAM,CAAC,eAAe,EAAE,EAAE,UAAU,EAAE,YAAY,EAAE,CAAC,CAAC;;;;gBAGrD,EAAE,GAAa,GAAG,UAAhB,EAAI,IAAI,GAAK,GAAG,KAAR,CAAS;gBAErC,IAAI,CAAC,IAAI,EAAE;oBACT,MAAM,IAAI,kBAAS,EAAE,CAAC;iBACvB;gBAEgB,qBAAM,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;wBAC3C,KAAK,EAAE,EAAE;qBACV,CAAC,CAAC,EAAA;;gBAFG,QAAQ,GAAG,SAEd;gBAEH,IAAI,CAAC,CAAA,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAE,IAAI,CAAA,EAAE;oBACnB,sBAAO,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,EAAC;iBACxB;gBAED,sBAAO,GAAG,CAAC,IAAI,CAAC;wBACd,QAAQ,UAAA;qBACT,CAAC,EAAC;;;gBAEH,sBAAO,IAAI,CAAC,KAAG,CAAC,EAAC;;;;KAEpB,CAAC;AA/BW,QAAA,cAAc,kBA+BzB"}
@@ -1,3 +0,0 @@
1
- import { PayloadRequest } from 'payload/dist/types';
2
- import { StripeConfig } from '../types';
3
- export declare const getStripeSubscriptions: (req: PayloadRequest, res: any, next: any, stripeConfig: StripeConfig) => Promise<any>;
@@ -1,115 +0,0 @@
1
- "use strict";
2
- var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
- return new (P || (P = Promise))(function (resolve, reject) {
5
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
- step((generator = generator.apply(thisArg, _arguments || [])).next());
9
- });
10
- };
11
- var __generator = (this && this.__generator) || function (thisArg, body) {
12
- var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
13
- return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
14
- function verb(n) { return function (v) { return step([n, v]); }; }
15
- function step(op) {
16
- if (f) throw new TypeError("Generator is already executing.");
17
- while (_) try {
18
- 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;
19
- if (y = 0, t) op = [op[0] & 2, t.value];
20
- switch (op[0]) {
21
- case 0: case 1: t = op; break;
22
- case 4: _.label++; return { value: op[1], done: false };
23
- case 5: _.label++; y = op[1]; op = [0]; continue;
24
- case 7: op = _.ops.pop(); _.trys.pop(); continue;
25
- default:
26
- if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
27
- if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
28
- if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
29
- if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
30
- if (t[2]) _.ops.pop();
31
- _.trys.pop(); continue;
32
- }
33
- op = body.call(thisArg, _);
34
- } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
35
- if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
36
- }
37
- };
38
- var __importDefault = (this && this.__importDefault) || function (mod) {
39
- return (mod && mod.__esModule) ? mod : { "default": mod };
40
- };
41
- Object.defineProperty(exports, "__esModule", { value: true });
42
- exports.getStripeSubscriptions = void 0;
43
- var payload_1 = __importDefault(require("payload"));
44
- var errors_1 = require("payload/errors");
45
- var stripe_1 = __importDefault(require("stripe"));
46
- var getStripeSubscriptions = function (req, res, next, stripeConfig) { return __awaiter(void 0, void 0, void 0, function () {
47
- var stripeSecretKey, stripe, id, user, matchingCustomers, customer, subscription, paymentMethod, invoices, err_1;
48
- var _a, _b, _c, _d, _e, _f;
49
- return __generator(this, function (_g) {
50
- switch (_g.label) {
51
- case 0:
52
- stripeSecretKey = stripeConfig.stripeSecretKey;
53
- stripe = new stripe_1.default(stripeSecretKey, { apiVersion: '2022-08-01' });
54
- _g.label = 1;
55
- case 1:
56
- _g.trys.push([1, 6, , 7]);
57
- id = req.params.id, user = req.user;
58
- if (!user) {
59
- throw new errors_1.Forbidden();
60
- }
61
- return [4 /*yield*/, payload_1.default.find({
62
- collection: 'customers',
63
- where: {
64
- and: [
65
- {
66
- stripeSubscriptionID: {
67
- equals: id,
68
- },
69
- },
70
- ],
71
- },
72
- })];
73
- case 2:
74
- matchingCustomers = _g.sent();
75
- if (matchingCustomers.docs.length !== 1) {
76
- throw new errors_1.Forbidden();
77
- }
78
- customer = matchingCustomers.docs[0];
79
- return [4 /*yield*/, stripe.subscriptions.retrieve(id)];
80
- case 3:
81
- subscription = _g.sent();
82
- if (!((_d = (_c = (_b = (_a = subscription === null || subscription === void 0 ? void 0 : subscription.items) === null || _a === void 0 ? void 0 : _a.data) === null || _b === void 0 ? void 0 : _b[0]) === null || _c === void 0 ? void 0 : _c.plan) === null || _d === void 0 ? void 0 : _d.id)) {
83
- return [2 /*return*/, res.status(404)];
84
- }
85
- return [4 /*yield*/, stripe.paymentMethods.retrieve(subscription.default_payment_method)];
86
- case 4:
87
- paymentMethod = _g.sent();
88
- return [4 /*yield*/, stripe.invoices.list({
89
- subscription: id,
90
- limit: 20,
91
- })];
92
- case 5:
93
- invoices = _g.sent();
94
- return [2 /*return*/, res.json({
95
- paymentMethod: {
96
- brand: (_e = paymentMethod === null || paymentMethod === void 0 ? void 0 : paymentMethod.card) === null || _e === void 0 ? void 0 : _e.brand,
97
- last4: (_f = paymentMethod === null || paymentMethod === void 0 ? void 0 : paymentMethod.card) === null || _f === void 0 ? void 0 : _f.last4,
98
- },
99
- invoices: invoices.data.map(function (_a) {
100
- var amount = _a.amount_due, created = _a.created;
101
- return ({
102
- amount: amount,
103
- created: created,
104
- });
105
- }),
106
- })];
107
- case 6:
108
- err_1 = _g.sent();
109
- return [2 /*return*/, next(err_1)];
110
- case 7: return [2 /*return*/];
111
- }
112
- });
113
- }); };
114
- exports.getStripeSubscriptions = getStripeSubscriptions;
115
- //# sourceMappingURL=getSubscriptions.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"getSubscriptions.js","sourceRoot":"","sources":["../../src/routes/getSubscriptions.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,oDAA8B;AAE9B,yCAA2C;AAC3C,kDAA4B;AAGrB,IAAM,sBAAsB,GAAG,UACpC,GAAmB,EACnB,GAAQ,EACR,IAAS,EACT,YAA0B;;;;;;gBAElB,eAAe,GAAK,YAAY,gBAAjB,CAAkB;gBAEnC,MAAM,GAAG,IAAI,gBAAM,CAAC,eAAe,EAAE,EAAE,UAAU,EAAE,YAAY,EAAE,CAAC,CAAC;;;;gBAGrD,EAAE,GAAa,GAAG,UAAhB,EAAI,IAAI,GAAK,GAAG,KAAR,CAAS;gBAErC,IAAI,CAAC,IAAI,EAAE;oBACT,MAAM,IAAI,kBAAS,EAAE,CAAC;iBACvB;gBAEyB,qBAAM,iBAAO,CAAC,IAAI,CAAC;wBAC3C,UAAU,EAAE,WAAW;wBACvB,KAAK,EAAE;4BACL,GAAG,EAAE;gCACH;oCACE,oBAAoB,EAAE;wCACpB,MAAM,EAAE,EAAE;qCACX;iCACF;6BACF;yBACF;qBACF,CAAC,EAAA;;gBAXI,iBAAiB,GAAG,SAWxB;gBAEF,IAAI,iBAAiB,CAAC,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE;oBACvC,MAAM,IAAI,kBAAS,EAAE,CAAC;iBACvB;gBAEK,QAAQ,GAAG,iBAAiB,CAAC,IAAI,CAAC,CAAC,CAAQ,CAAC;gBAE7B,qBAAM,MAAM,CAAC,aAAa,CAAC,QAAQ,CAAC,EAAE,CAAC,EAAA;;gBAAtD,YAAY,GAAG,SAAuC;gBAE5D,IAAI,CAAC,CAAA,MAAA,MAAA,MAAA,MAAA,YAAY,aAAZ,YAAY,uBAAZ,YAAY,CAAE,KAAK,0CAAE,IAAI,0CAAG,CAAC,CAAC,0CAAE,IAAI,0CAAE,EAAE,CAAA,EAAE;oBAC7C,sBAAO,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,EAAC;iBACxB;gBAEqB,qBAAM,MAAM,CAAC,cAAc,CAAC,QAAQ,CAAC,YAAY,CAAC,sBAAgC,CAAC,EAAA;;gBAAnG,aAAa,GAAG,SAAmF;gBAExF,qBAAM,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC;wBAC1C,YAAY,EAAE,EAAE;wBAChB,KAAK,EAAE,EAAE;qBACV,CAAC,EAAA;;gBAHI,QAAQ,GAAG,SAGf;gBAEF,sBAAO,GAAG,CAAC,IAAI,CAAC;wBACd,aAAa,EAAE;4BACb,KAAK,EAAE,MAAA,aAAa,aAAb,aAAa,uBAAb,aAAa,CAAE,IAAI,0CAAE,KAAK;4BACjC,KAAK,EAAE,MAAA,aAAa,aAAb,aAAa,uBAAb,aAAa,CAAE,IAAI,0CAAE,KAAK;yBAClC;wBACD,QAAQ,EAAE,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,UAAC,EAA+B;gCAAjB,MAAM,gBAAA,EAAE,OAAO,aAAA;4BAAO,OAAA,CAAC;gCAChE,MAAM,QAAA;gCACN,OAAO,SAAA;6BACR,CAAC;wBAH+D,CAG/D,CAAC;qBACJ,CAAC,EAAC;;;gBAEH,sBAAO,IAAI,CAAC,KAAG,CAAC,EAAC;;;;KAEpB,CAAC;AA9DW,QAAA,sBAAsB,0BA8DjC"}
@@ -1,3 +0,0 @@
1
- import { PayloadRequest } from 'payload/dist/types';
2
- import { StripeConfig } from '../types';
3
- export declare const updateStripePayment: (req: PayloadRequest, res: any, next: any, stripeConfig: StripeConfig) => Promise<any>;