n8n-nodes-base 1.97.1 → 1.98.1

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 (36) hide show
  1. package/dist/credentials/Snowflake.credentials.js +12 -7
  2. package/dist/credentials/Snowflake.credentials.js.map +1 -1
  3. package/dist/nodes/Aws/DynamoDB/AwsDynamoDB.node.js +5 -5
  4. package/dist/nodes/Aws/DynamoDB/AwsDynamoDB.node.js.map +1 -1
  5. package/dist/nodes/Aws/DynamoDB/ItemDescription.js +1 -1
  6. package/dist/nodes/Aws/DynamoDB/ItemDescription.js.map +1 -1
  7. package/dist/nodes/ExecuteWorkflow/ExecuteWorkflow/GenericFunctions.js +4 -1
  8. package/dist/nodes/ExecuteWorkflow/ExecuteWorkflow/GenericFunctions.js.map +1 -1
  9. package/dist/nodes/Github/Github.node.js +5 -4
  10. package/dist/nodes/Github/Github.node.js.map +1 -1
  11. package/dist/nodes/Google/Ads/CampaignDescription.js +3 -3
  12. package/dist/nodes/Google/Ads/CampaignDescription.js.map +1 -1
  13. package/dist/nodes/Google/Ads/GoogleAds.node.js +1 -1
  14. package/dist/nodes/Google/Ads/GoogleAds.node.js.map +1 -1
  15. package/dist/nodes/Google/GSuiteAdmin/DeviceDescription.js +1 -1
  16. package/dist/nodes/Google/GSuiteAdmin/DeviceDescription.js.map +1 -1
  17. package/dist/nodes/Notion/shared/GenericFunctions.js +1 -1
  18. package/dist/nodes/Notion/shared/GenericFunctions.js.map +1 -1
  19. package/dist/nodes/Snowflake/GenericFunctions.js +17 -1
  20. package/dist/nodes/Snowflake/GenericFunctions.js.map +1 -1
  21. package/dist/nodes/Strapi/GenericFunctions.js +3 -10
  22. package/dist/nodes/Strapi/GenericFunctions.js.map +1 -1
  23. package/dist/nodes/Strapi/Strapi.node.js +2 -1
  24. package/dist/nodes/Strapi/Strapi.node.js.map +1 -1
  25. package/dist/nodes/Stripe/StripeTrigger.node.js +12 -0
  26. package/dist/nodes/Stripe/StripeTrigger.node.js.map +1 -1
  27. package/dist/nodes/Telegram/Telegram.node.js +3 -0
  28. package/dist/nodes/Telegram/Telegram.node.js.map +1 -1
  29. package/dist/nodes/Telegram/tests/Workflow/apiResponses.js +39 -0
  30. package/dist/nodes/Telegram/tests/Workflow/apiResponses.js.map +1 -1
  31. package/dist/types/credentials.json +1 -1
  32. package/dist/types/nodes.json +8 -8
  33. package/dist/utils/utilities.d.ts +2 -1
  34. package/dist/utils/utilities.js +8 -0
  35. package/dist/utils/utilities.js.map +1 -1
  36. package/package.json +7 -7
@@ -19,19 +19,13 @@ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: tru
19
19
  var GenericFunctions_exports = {};
20
20
  __export(GenericFunctions_exports, {
21
21
  getToken: () => getToken,
22
- removeTrailingSlash: () => removeTrailingSlash,
23
22
  strapiApiRequest: () => strapiApiRequest,
24
23
  strapiApiRequestAllItems: () => strapiApiRequestAllItems,
25
24
  validateJSON: () => validateJSON
26
25
  });
27
26
  module.exports = __toCommonJS(GenericFunctions_exports);
28
27
  var import_n8n_workflow = require("n8n-workflow");
29
- const removeTrailingSlash = (url) => {
30
- if (url.endsWith("/")) {
31
- return url.slice(0, -1);
32
- }
33
- return url;
34
- };
28
+ var import_utilities = require("../../utils/utilities");
35
29
  async function strapiApiRequest(method, resource, body = {}, qs = {}, uri, headers = {}) {
36
30
  const authenticationMethod = this.getNodeParameter("authentication", 0);
37
31
  let credentials;
@@ -40,7 +34,7 @@ async function strapiApiRequest(method, resource, body = {}, qs = {}, uri, heade
40
34
  } else {
41
35
  credentials = await this.getCredentials("strapiTokenApi");
42
36
  }
43
- const url = removeTrailingSlash(credentials.url);
37
+ const url = (0, import_utilities.removeTrailingSlash)(credentials.url);
44
38
  try {
45
39
  const options = {
46
40
  headers: {},
@@ -70,7 +64,7 @@ async function strapiApiRequest(method, resource, body = {}, qs = {}, uri, heade
70
64
  }
71
65
  async function getToken() {
72
66
  const credentials = await this.getCredentials("strapiApi");
73
- const url = removeTrailingSlash(credentials.url);
67
+ const url = (0, import_utilities.removeTrailingSlash)(credentials.url);
74
68
  let options = {};
75
69
  options = {
76
70
  headers: {
@@ -136,7 +130,6 @@ function validateJSON(json) {
136
130
  // Annotate the CommonJS export names for ESM import in node:
137
131
  0 && (module.exports = {
138
132
  getToken,
139
- removeTrailingSlash,
140
133
  strapiApiRequest,
141
134
  strapiApiRequestAllItems,
142
135
  validateJSON
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../nodes/Strapi/GenericFunctions.ts"],"sourcesContent":["import type {\n\tICredentialDataDecryptedObject,\n\tIDataObject,\n\tIExecuteFunctions,\n\tIHookFunctions,\n\tIHttpRequestMethods,\n\tILoadOptionsFunctions,\n\tIRequestOptions,\n\tIWebhookFunctions,\n\tJsonObject,\n} from 'n8n-workflow';\nimport { NodeApiError } from 'n8n-workflow';\n\nexport const removeTrailingSlash = (url: string) => {\n\tif (url.endsWith('/')) {\n\t\treturn url.slice(0, -1);\n\t}\n\treturn url;\n};\n\nexport async function strapiApiRequest(\n\tthis: IExecuteFunctions | ILoadOptionsFunctions | IHookFunctions | IWebhookFunctions,\n\tmethod: IHttpRequestMethods,\n\tresource: string,\n\tbody: IDataObject = {},\n\tqs: IDataObject = {},\n\turi?: string,\n\theaders: IDataObject = {},\n) {\n\tconst authenticationMethod = this.getNodeParameter('authentication', 0);\n\tlet credentials: ICredentialDataDecryptedObject;\n\n\tif (authenticationMethod === 'password') {\n\t\tcredentials = await this.getCredentials('strapiApi');\n\t} else {\n\t\tcredentials = await this.getCredentials('strapiTokenApi');\n\t}\n\n\tconst url = removeTrailingSlash(credentials.url as string);\n\n\ttry {\n\t\tconst options: IRequestOptions = {\n\t\t\theaders: {},\n\t\t\tmethod,\n\t\t\tbody,\n\t\t\tqs,\n\t\t\turi: uri || credentials.apiVersion === 'v4' ? `${url}/api${resource}` : `${url}${resource}`,\n\t\t\tjson: true,\n\t\t\tqsStringifyOptions: {\n\t\t\t\tarrayFormat: 'indices',\n\t\t\t},\n\t\t};\n\t\tif (Object.keys(headers).length !== 0) {\n\t\t\toptions.headers = Object.assign({}, options.headers, headers);\n\t\t}\n\t\tif (Object.keys(body).length === 0) {\n\t\t\tdelete options.body;\n\t\t}\n\n\t\treturn await this.helpers.requestWithAuthentication.call(\n\t\t\tthis,\n\t\t\tauthenticationMethod === 'password' ? 'strapiApi' : 'strapiTokenApi',\n\t\t\toptions,\n\t\t);\n\t} catch (error) {\n\t\tthrow new NodeApiError(this.getNode(), error as JsonObject);\n\t}\n}\n\nexport async function getToken(\n\tthis: IExecuteFunctions | ILoadOptionsFunctions | IHookFunctions | IWebhookFunctions,\n): Promise<{ jwt: string }> {\n\tconst credentials = await this.getCredentials('strapiApi');\n\n\tconst url = removeTrailingSlash(credentials.url as string);\n\n\tlet options = {} as IRequestOptions;\n\toptions = {\n\t\theaders: {\n\t\t\t'content-type': 'application/json',\n\t\t},\n\t\tmethod: 'POST',\n\t\tbody: {\n\t\t\tidentifier: credentials.email,\n\t\t\tpassword: credentials.password,\n\t\t},\n\t\turi: credentials.apiVersion === 'v4' ? `${url}/api/auth/local` : `${url}/auth/local`,\n\t\tjson: true,\n\t};\n\treturn await (this.helpers.request(options) as Promise<{ jwt: string }>);\n}\n\nexport async function strapiApiRequestAllItems(\n\tthis: IHookFunctions | ILoadOptionsFunctions | IExecuteFunctions,\n\tmethod: IHttpRequestMethods,\n\tresource: string,\n\tbody: IDataObject = {},\n\tquery: IDataObject = {},\n\theaders: IDataObject = {},\n\tapiVersion: string = 'v3',\n) {\n\tconst returnData: IDataObject[] = [];\n\n\tlet responseData;\n\tif (apiVersion === 'v4') {\n\t\tquery['pagination[pageSize]'] = 20;\n\t\tquery['pagination[page]'] = 1;\n\t\tdo {\n\t\t\t({ data: responseData } = await strapiApiRequest.call(\n\t\t\t\tthis,\n\t\t\t\tmethod,\n\t\t\t\tresource,\n\t\t\t\tbody,\n\t\t\t\tquery,\n\t\t\t\tundefined,\n\t\t\t\theaders,\n\t\t\t));\n\t\t\tquery['pagination[page]']++;\n\t\t\treturnData.push.apply(returnData, responseData as IDataObject[]);\n\t\t} while (responseData.length !== 0);\n\t} else {\n\t\tquery._limit = 20;\n\t\tquery._start = 0;\n\t\tdo {\n\t\t\tresponseData = await strapiApiRequest.call(\n\t\t\t\tthis,\n\t\t\t\tmethod,\n\t\t\t\tresource,\n\t\t\t\tbody,\n\t\t\t\tquery,\n\t\t\t\tundefined,\n\t\t\t\theaders,\n\t\t\t);\n\t\t\tquery._start += query._limit;\n\t\t\treturnData.push.apply(returnData, responseData as IDataObject[]);\n\t\t} while (responseData.length !== 0);\n\t}\n\treturn returnData;\n}\n\nexport function validateJSON(json: string | undefined): any {\n\tlet result;\n\ttry {\n\t\tresult = JSON.parse(json!);\n\t} catch (exception) {\n\t\tresult = undefined;\n\t}\n\treturn result;\n}\n"],"mappings":"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","names":[]}
1
+ {"version":3,"sources":["../../../nodes/Strapi/GenericFunctions.ts"],"sourcesContent":["import type {\n\tICredentialDataDecryptedObject,\n\tIDataObject,\n\tIExecuteFunctions,\n\tIHookFunctions,\n\tIHttpRequestMethods,\n\tILoadOptionsFunctions,\n\tIRequestOptions,\n\tIWebhookFunctions,\n\tJsonObject,\n} from 'n8n-workflow';\nimport { NodeApiError } from 'n8n-workflow';\n\nimport { removeTrailingSlash } from '../../utils/utilities';\n\nexport async function strapiApiRequest(\n\tthis: IExecuteFunctions | ILoadOptionsFunctions | IHookFunctions | IWebhookFunctions,\n\tmethod: IHttpRequestMethods,\n\tresource: string,\n\tbody: IDataObject = {},\n\tqs: IDataObject = {},\n\turi?: string,\n\theaders: IDataObject = {},\n) {\n\tconst authenticationMethod = this.getNodeParameter('authentication', 0);\n\tlet credentials: ICredentialDataDecryptedObject;\n\n\tif (authenticationMethod === 'password') {\n\t\tcredentials = await this.getCredentials('strapiApi');\n\t} else {\n\t\tcredentials = await this.getCredentials('strapiTokenApi');\n\t}\n\n\tconst url = removeTrailingSlash(credentials.url as string);\n\n\ttry {\n\t\tconst options: IRequestOptions = {\n\t\t\theaders: {},\n\t\t\tmethod,\n\t\t\tbody,\n\t\t\tqs,\n\t\t\turi: uri || credentials.apiVersion === 'v4' ? `${url}/api${resource}` : `${url}${resource}`,\n\t\t\tjson: true,\n\t\t\tqsStringifyOptions: {\n\t\t\t\tarrayFormat: 'indices',\n\t\t\t},\n\t\t};\n\t\tif (Object.keys(headers).length !== 0) {\n\t\t\toptions.headers = Object.assign({}, options.headers, headers);\n\t\t}\n\t\tif (Object.keys(body).length === 0) {\n\t\t\tdelete options.body;\n\t\t}\n\n\t\treturn await this.helpers.requestWithAuthentication.call(\n\t\t\tthis,\n\t\t\tauthenticationMethod === 'password' ? 'strapiApi' : 'strapiTokenApi',\n\t\t\toptions,\n\t\t);\n\t} catch (error) {\n\t\tthrow new NodeApiError(this.getNode(), error as JsonObject);\n\t}\n}\n\nexport async function getToken(\n\tthis: IExecuteFunctions | ILoadOptionsFunctions | IHookFunctions | IWebhookFunctions,\n): Promise<{ jwt: string }> {\n\tconst credentials = await this.getCredentials('strapiApi');\n\n\tconst url = removeTrailingSlash(credentials.url as string);\n\n\tlet options = {} as IRequestOptions;\n\toptions = {\n\t\theaders: {\n\t\t\t'content-type': 'application/json',\n\t\t},\n\t\tmethod: 'POST',\n\t\tbody: {\n\t\t\tidentifier: credentials.email,\n\t\t\tpassword: credentials.password,\n\t\t},\n\t\turi: credentials.apiVersion === 'v4' ? `${url}/api/auth/local` : `${url}/auth/local`,\n\t\tjson: true,\n\t};\n\treturn await (this.helpers.request(options) as Promise<{ jwt: string }>);\n}\n\nexport async function strapiApiRequestAllItems(\n\tthis: IHookFunctions | ILoadOptionsFunctions | IExecuteFunctions,\n\tmethod: IHttpRequestMethods,\n\tresource: string,\n\tbody: IDataObject = {},\n\tquery: IDataObject = {},\n\theaders: IDataObject = {},\n\tapiVersion: string = 'v3',\n) {\n\tconst returnData: IDataObject[] = [];\n\n\tlet responseData;\n\tif (apiVersion === 'v4') {\n\t\tquery['pagination[pageSize]'] = 20;\n\t\tquery['pagination[page]'] = 1;\n\t\tdo {\n\t\t\t({ data: responseData } = await strapiApiRequest.call(\n\t\t\t\tthis,\n\t\t\t\tmethod,\n\t\t\t\tresource,\n\t\t\t\tbody,\n\t\t\t\tquery,\n\t\t\t\tundefined,\n\t\t\t\theaders,\n\t\t\t));\n\t\t\tquery['pagination[page]']++;\n\t\t\treturnData.push.apply(returnData, responseData as IDataObject[]);\n\t\t} while (responseData.length !== 0);\n\t} else {\n\t\tquery._limit = 20;\n\t\tquery._start = 0;\n\t\tdo {\n\t\t\tresponseData = await strapiApiRequest.call(\n\t\t\t\tthis,\n\t\t\t\tmethod,\n\t\t\t\tresource,\n\t\t\t\tbody,\n\t\t\t\tquery,\n\t\t\t\tundefined,\n\t\t\t\theaders,\n\t\t\t);\n\t\t\tquery._start += query._limit;\n\t\t\treturnData.push.apply(returnData, responseData as IDataObject[]);\n\t\t} while (responseData.length !== 0);\n\t}\n\treturn returnData;\n}\n\nexport function validateJSON(json: string | undefined): any {\n\tlet result;\n\ttry {\n\t\tresult = JSON.parse(json!);\n\t} catch (exception) {\n\t\tresult = undefined;\n\t}\n\treturn result;\n}\n"],"mappings":"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","names":[]}
@@ -24,6 +24,7 @@ module.exports = __toCommonJS(Strapi_node_exports);
24
24
  var import_n8n_workflow = require("n8n-workflow");
25
25
  var import_EntryDescription = require("./EntryDescription");
26
26
  var import_GenericFunctions = require("./GenericFunctions");
27
+ var import_utilities = require("../../utils/utilities");
27
28
  class Strapi {
28
29
  constructor() {
29
30
  this.description = {
@@ -100,7 +101,7 @@ class Strapi {
100
101
  async strapiApiTest(credential) {
101
102
  const credentials = credential.data;
102
103
  let options = {};
103
- const url = (0, import_GenericFunctions.removeTrailingSlash)(credentials.url);
104
+ const url = (0, import_utilities.removeTrailingSlash)(credentials.url);
104
105
  options = {
105
106
  headers: {
106
107
  "content-type": "application/json"
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../nodes/Strapi/Strapi.node.ts"],"sourcesContent":["import type {\n\tIExecuteFunctions,\n\tICredentialsDecrypted,\n\tICredentialTestFunctions,\n\tIDataObject,\n\tINodeCredentialTestResult,\n\tINodeExecutionData,\n\tINodeType,\n\tINodeTypeDescription,\n\tIRequestOptions,\n} from 'n8n-workflow';\nimport { NodeConnectionTypes, NodeOperationError } from 'n8n-workflow';\n\nimport { entryFields, entryOperations } from './EntryDescription';\nimport {\n\tgetToken,\n\tremoveTrailingSlash,\n\tstrapiApiRequest,\n\tstrapiApiRequestAllItems,\n\tvalidateJSON,\n} from './GenericFunctions';\n\nexport class Strapi implements INodeType {\n\tdescription: INodeTypeDescription = {\n\t\tdisplayName: 'Strapi',\n\t\tname: 'strapi',\n\t\ticon: 'file:strapi.svg',\n\t\tgroup: ['input'],\n\t\tversion: 1,\n\t\tsubtitle: '={{$parameter[\"operation\"] + \": \" + $parameter[\"resource\"]}}',\n\t\tdescription: 'Consume Strapi API',\n\t\tdefaults: {\n\t\t\tname: 'Strapi',\n\t\t},\n\t\tusableAsTool: true,\n\t\tinputs: [NodeConnectionTypes.Main],\n\t\toutputs: [NodeConnectionTypes.Main],\n\t\tcredentials: [\n\t\t\t{\n\t\t\t\tname: 'strapiApi',\n\t\t\t\trequired: true,\n\t\t\t\ttestedBy: 'strapiApiTest',\n\t\t\t\tdisplayOptions: {\n\t\t\t\t\tshow: {\n\t\t\t\t\t\tauthentication: ['password'],\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t\t{\n\t\t\t\tname: 'strapiTokenApi',\n\t\t\t\trequired: true,\n\t\t\t\tdisplayOptions: {\n\t\t\t\t\tshow: {\n\t\t\t\t\t\tauthentication: ['token'],\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t],\n\t\tproperties: [\n\t\t\t{\n\t\t\t\tdisplayName: 'Authentication',\n\t\t\t\tname: 'authentication',\n\t\t\t\ttype: 'options',\n\t\t\t\toptions: [\n\t\t\t\t\t{\n\t\t\t\t\t\tname: 'Username & Password',\n\t\t\t\t\t\tvalue: 'password',\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tname: 'API Token',\n\t\t\t\t\t\tvalue: 'token',\n\t\t\t\t\t},\n\t\t\t\t],\n\t\t\t\tdefault: 'password',\n\t\t\t},\n\t\t\t{\n\t\t\t\tdisplayName: 'Resource',\n\t\t\t\tname: 'resource',\n\t\t\t\tnoDataExpression: true,\n\t\t\t\ttype: 'options',\n\t\t\t\toptions: [\n\t\t\t\t\t{\n\t\t\t\t\t\tname: 'Entry',\n\t\t\t\t\t\tvalue: 'entry',\n\t\t\t\t\t},\n\t\t\t\t],\n\t\t\t\tdefault: 'entry',\n\t\t\t},\n\t\t\t...entryOperations,\n\t\t\t...entryFields,\n\t\t],\n\t};\n\n\tmethods = {\n\t\tcredentialTest: {\n\t\t\tasync strapiApiTest(\n\t\t\t\tthis: ICredentialTestFunctions,\n\t\t\t\tcredential: ICredentialsDecrypted,\n\t\t\t): Promise<INodeCredentialTestResult> {\n\t\t\t\tconst credentials = credential.data as IDataObject;\n\t\t\t\tlet options: IRequestOptions = {};\n\n\t\t\t\tconst url = removeTrailingSlash(credentials.url as string);\n\n\t\t\t\toptions = {\n\t\t\t\t\theaders: {\n\t\t\t\t\t\t'content-type': 'application/json',\n\t\t\t\t\t},\n\t\t\t\t\tmethod: 'POST',\n\t\t\t\t\tbody: {\n\t\t\t\t\t\tidentifier: credentials.email,\n\t\t\t\t\t\tpassword: credentials.password,\n\t\t\t\t\t},\n\t\t\t\t\turi: credentials.apiVersion === 'v4' ? `${url}/api/auth/local` : `${url}/auth/local`,\n\t\t\t\t\tjson: true,\n\t\t\t\t};\n\n\t\t\t\ttry {\n\t\t\t\t\tawait this.helpers.request(options);\n\t\t\t\t\treturn {\n\t\t\t\t\t\tstatus: 'OK',\n\t\t\t\t\t\tmessage: 'Authentication successful',\n\t\t\t\t\t};\n\t\t\t\t} catch (error) {\n\t\t\t\t\treturn {\n\t\t\t\t\t\tstatus: 'Error',\n\t\t\t\t\t\tmessage: `Auth settings are not valid: ${error}`,\n\t\t\t\t\t};\n\t\t\t\t}\n\t\t\t},\n\t\t},\n\t};\n\n\tasync execute(this: IExecuteFunctions): Promise<INodeExecutionData[][]> {\n\t\tconst items = this.getInputData();\n\t\tconst returnData: INodeExecutionData[] = [];\n\t\tconst length = items.length;\n\t\tconst qs: IDataObject = {};\n\t\tconst headers: IDataObject = {};\n\t\tlet responseData;\n\t\tconst resource = this.getNodeParameter('resource', 0);\n\t\tconst operation = this.getNodeParameter('operation', 0);\n\n\t\tconst authenticationMethod = this.getNodeParameter('authentication', 0);\n\n\t\tlet apiVersion: string;\n\n\t\tif (authenticationMethod === 'password') {\n\t\t\tconst { jwt } = await getToken.call(this);\n\t\t\tapiVersion = (await this.getCredentials('strapiApi')).apiVersion as string;\n\t\t\theaders.Authorization = `Bearer ${jwt}`;\n\t\t} else {\n\t\t\tapiVersion = (await this.getCredentials('strapiTokenApi')).apiVersion as string;\n\t\t}\n\n\t\tfor (let i = 0; i < length; i++) {\n\t\t\ttry {\n\t\t\t\tif (resource === 'entry') {\n\t\t\t\t\tif (operation === 'create') {\n\t\t\t\t\t\tconst body: IDataObject = {};\n\n\t\t\t\t\t\tconst contentType = this.getNodeParameter('contentType', i) as string;\n\n\t\t\t\t\t\tconst columns = this.getNodeParameter('columns', i) as string;\n\n\t\t\t\t\t\tconst columnList = columns.split(',').map((column) => column.trim());\n\n\t\t\t\t\t\tfor (const key of Object.keys(items[i].json)) {\n\t\t\t\t\t\t\tif (columnList.includes(key)) {\n\t\t\t\t\t\t\t\tapiVersion === 'v4'\n\t\t\t\t\t\t\t\t\t? (body.data = items[i].json)\n\t\t\t\t\t\t\t\t\t: (body[key] = items[i].json[key]);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t\tresponseData = await strapiApiRequest.call(\n\t\t\t\t\t\t\tthis,\n\t\t\t\t\t\t\t'POST',\n\t\t\t\t\t\t\t`/${contentType}`,\n\t\t\t\t\t\t\tbody,\n\t\t\t\t\t\t\tqs,\n\t\t\t\t\t\t\tundefined,\n\t\t\t\t\t\t\theaders,\n\t\t\t\t\t\t);\n\n\t\t\t\t\t\tconst executionData = this.helpers.constructExecutionMetaData(\n\t\t\t\t\t\t\tthis.helpers.returnJsonArray(responseData as IDataObject),\n\t\t\t\t\t\t\t{ itemData: { item: i } },\n\t\t\t\t\t\t);\n\n\t\t\t\t\t\treturnData.push(...executionData);\n\t\t\t\t\t}\n\n\t\t\t\t\tif (operation === 'delete') {\n\t\t\t\t\t\tconst contentType = this.getNodeParameter('contentType', i) as string;\n\n\t\t\t\t\t\tconst entryId = this.getNodeParameter('entryId', i) as string;\n\n\t\t\t\t\t\tresponseData = await strapiApiRequest.call(\n\t\t\t\t\t\t\tthis,\n\t\t\t\t\t\t\t'DELETE',\n\t\t\t\t\t\t\t`/${contentType}/${entryId}`,\n\t\t\t\t\t\t\t{},\n\t\t\t\t\t\t\tqs,\n\t\t\t\t\t\t\tundefined,\n\t\t\t\t\t\t\theaders,\n\t\t\t\t\t\t);\n\n\t\t\t\t\t\tconst executionData = this.helpers.constructExecutionMetaData(\n\t\t\t\t\t\t\tthis.helpers.returnJsonArray(responseData as IDataObject),\n\t\t\t\t\t\t\t{ itemData: { item: i } },\n\t\t\t\t\t\t);\n\n\t\t\t\t\t\treturnData.push(...executionData);\n\t\t\t\t\t}\n\n\t\t\t\t\tif (operation === 'getAll') {\n\t\t\t\t\t\tconst returnAll = this.getNodeParameter('returnAll', i);\n\n\t\t\t\t\t\tconst contentType = this.getNodeParameter('contentType', i) as string;\n\n\t\t\t\t\t\tconst options = this.getNodeParameter('options', i);\n\n\t\t\t\t\t\tif (apiVersion === 'v4') {\n\t\t\t\t\t\t\t// Sort Option\n\t\t\t\t\t\t\tif (options.sort && (options.sort as string[]).length !== 0) {\n\t\t\t\t\t\t\t\tconst sortFields = options.sort as string[];\n\t\t\t\t\t\t\t\tqs.sort = sortFields.join(',');\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t// Filter Option\n\t\t\t\t\t\t\tif (options.where) {\n\t\t\t\t\t\t\t\tconst query = validateJSON(options.where as string);\n\t\t\t\t\t\t\t\tif (query !== undefined) {\n\t\t\t\t\t\t\t\t\tqs.filters = query;\n\t\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\t\tthrow new NodeOperationError(this.getNode(), 'Query must be a valid JSON', {\n\t\t\t\t\t\t\t\t\t\titemIndex: i,\n\t\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t// Publication Option\n\t\t\t\t\t\t\tif (options.publicationState) {\n\t\t\t\t\t\t\t\tqs.publicationState = options.publicationState as string;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t// Limit Option\n\t\t\t\t\t\t\tif (returnAll) {\n\t\t\t\t\t\t\t\tresponseData = await strapiApiRequestAllItems.call(\n\t\t\t\t\t\t\t\t\tthis,\n\t\t\t\t\t\t\t\t\t'GET',\n\t\t\t\t\t\t\t\t\t`/${contentType}`,\n\t\t\t\t\t\t\t\t\t{},\n\t\t\t\t\t\t\t\t\tqs,\n\t\t\t\t\t\t\t\t\theaders,\n\t\t\t\t\t\t\t\t\tapiVersion,\n\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\tqs['pagination[pageSize]'] = this.getNodeParameter('limit', i);\n\t\t\t\t\t\t\t\t({ data: responseData } = await strapiApiRequest.call(\n\t\t\t\t\t\t\t\t\tthis,\n\t\t\t\t\t\t\t\t\t'GET',\n\t\t\t\t\t\t\t\t\t`/${contentType}`,\n\t\t\t\t\t\t\t\t\t{},\n\t\t\t\t\t\t\t\t\tqs,\n\t\t\t\t\t\t\t\t\tundefined,\n\t\t\t\t\t\t\t\t\theaders,\n\t\t\t\t\t\t\t\t));\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t// Sort Option\n\t\t\t\t\t\t\tif (options.sort && (options.sort as string[]).length !== 0) {\n\t\t\t\t\t\t\t\tconst sortFields = options.sort as string[];\n\t\t\t\t\t\t\t\tqs._sort = sortFields.join(',');\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t// Filter Option\n\t\t\t\t\t\t\tif (options.where) {\n\t\t\t\t\t\t\t\tconst query = validateJSON(options.where as string);\n\t\t\t\t\t\t\t\tif (query !== undefined) {\n\t\t\t\t\t\t\t\t\tqs._where = query;\n\t\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\t\tthrow new NodeOperationError(this.getNode(), 'Query must be a valid JSON', {\n\t\t\t\t\t\t\t\t\t\titemIndex: i,\n\t\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t// Publication Option\n\t\t\t\t\t\t\tif (options.publicationState) {\n\t\t\t\t\t\t\t\tqs._publicationState = options.publicationState as string;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t// Limit Option\n\t\t\t\t\t\t\tif (returnAll) {\n\t\t\t\t\t\t\t\tresponseData = await strapiApiRequestAllItems.call(\n\t\t\t\t\t\t\t\t\tthis,\n\t\t\t\t\t\t\t\t\t'GET',\n\t\t\t\t\t\t\t\t\t`/${contentType}`,\n\t\t\t\t\t\t\t\t\t{},\n\t\t\t\t\t\t\t\t\tqs,\n\t\t\t\t\t\t\t\t\theaders,\n\t\t\t\t\t\t\t\t\tapiVersion,\n\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\tqs._limit = this.getNodeParameter('limit', i);\n\t\t\t\t\t\t\t\tresponseData = await strapiApiRequest.call(\n\t\t\t\t\t\t\t\t\tthis,\n\t\t\t\t\t\t\t\t\t'GET',\n\t\t\t\t\t\t\t\t\t`/${contentType}`,\n\t\t\t\t\t\t\t\t\t{},\n\t\t\t\t\t\t\t\t\tqs,\n\t\t\t\t\t\t\t\t\tundefined,\n\t\t\t\t\t\t\t\t\theaders,\n\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tconst executionData = this.helpers.constructExecutionMetaData(\n\t\t\t\t\t\t\tthis.helpers.returnJsonArray(responseData as IDataObject),\n\t\t\t\t\t\t\t{ itemData: { item: i } },\n\t\t\t\t\t\t);\n\n\t\t\t\t\t\treturnData.push(...executionData);\n\t\t\t\t\t}\n\n\t\t\t\t\tif (operation === 'get') {\n\t\t\t\t\t\tconst contentType = this.getNodeParameter('contentType', i) as string;\n\n\t\t\t\t\t\tconst entryId = this.getNodeParameter('entryId', i) as string;\n\n\t\t\t\t\t\tresponseData = await strapiApiRequest.call(\n\t\t\t\t\t\t\tthis,\n\t\t\t\t\t\t\t'GET',\n\t\t\t\t\t\t\t`/${contentType}/${entryId}`,\n\t\t\t\t\t\t\t{},\n\t\t\t\t\t\t\tqs,\n\t\t\t\t\t\t\tundefined,\n\t\t\t\t\t\t\theaders,\n\t\t\t\t\t\t);\n\n\t\t\t\t\t\tif (apiVersion === 'v4') {\n\t\t\t\t\t\t\tresponseData = responseData.data;\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tconst executionData = this.helpers.constructExecutionMetaData(\n\t\t\t\t\t\t\tthis.helpers.returnJsonArray(responseData as IDataObject),\n\t\t\t\t\t\t\t{ itemData: { item: i } },\n\t\t\t\t\t\t);\n\n\t\t\t\t\t\treturnData.push(...executionData);\n\t\t\t\t\t}\n\n\t\t\t\t\tif (operation === 'update') {\n\t\t\t\t\t\tconst body: IDataObject = {};\n\n\t\t\t\t\t\tconst contentType = this.getNodeParameter('contentType', i) as string;\n\n\t\t\t\t\t\tconst columns = this.getNodeParameter('columns', i) as string;\n\n\t\t\t\t\t\tconst updateKey = this.getNodeParameter('updateKey', i) as string;\n\n\t\t\t\t\t\tconst columnList = columns.split(',').map((column) => column.trim());\n\n\t\t\t\t\t\tconst entryId = items[i].json[updateKey];\n\n\t\t\t\t\t\tfor (const key of Object.keys(items[i].json)) {\n\t\t\t\t\t\t\tif (columnList.includes(key)) {\n\t\t\t\t\t\t\t\tapiVersion === 'v4'\n\t\t\t\t\t\t\t\t\t? (body.data = items[i].json)\n\t\t\t\t\t\t\t\t\t: (body[key] = items[i].json[key]);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tresponseData = await strapiApiRequest.call(\n\t\t\t\t\t\t\tthis,\n\t\t\t\t\t\t\t'PUT',\n\t\t\t\t\t\t\t`/${contentType}/${entryId}`,\n\t\t\t\t\t\t\tbody,\n\t\t\t\t\t\t\tqs,\n\t\t\t\t\t\t\tundefined,\n\t\t\t\t\t\t\theaders,\n\t\t\t\t\t\t);\n\n\t\t\t\t\t\tif (apiVersion === 'v4') {\n\t\t\t\t\t\t\tresponseData = responseData.data;\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tconst executionData = this.helpers.constructExecutionMetaData(\n\t\t\t\t\t\t\tthis.helpers.returnJsonArray(responseData as IDataObject),\n\t\t\t\t\t\t\t{ itemData: { item: i } },\n\t\t\t\t\t\t);\n\n\t\t\t\t\t\treturnData.push(...executionData);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t} catch (error) {\n\t\t\t\tif (this.continueOnFail()) {\n\t\t\t\t\tconst executionErrorData = this.helpers.constructExecutionMetaData(\n\t\t\t\t\t\tthis.helpers.returnJsonArray({ error: error.message }),\n\t\t\t\t\t\t{ itemData: { item: i } },\n\t\t\t\t\t);\n\t\t\t\t\treturnData.push(...executionErrorData);\n\t\t\t\t\tcontinue;\n\t\t\t\t}\n\t\t\t\tthrow error;\n\t\t\t}\n\t\t}\n\t\treturn [returnData];\n\t}\n}\n"],"mappings":"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","names":[]}
1
+ {"version":3,"sources":["../../../nodes/Strapi/Strapi.node.ts"],"sourcesContent":["import type {\n\tIExecuteFunctions,\n\tICredentialsDecrypted,\n\tICredentialTestFunctions,\n\tIDataObject,\n\tINodeCredentialTestResult,\n\tINodeExecutionData,\n\tINodeType,\n\tINodeTypeDescription,\n\tIRequestOptions,\n} from 'n8n-workflow';\nimport { NodeConnectionTypes, NodeOperationError } from 'n8n-workflow';\n\nimport { entryFields, entryOperations } from './EntryDescription';\nimport {\n\tgetToken,\n\tstrapiApiRequest,\n\tstrapiApiRequestAllItems,\n\tvalidateJSON,\n} from './GenericFunctions';\nimport { removeTrailingSlash } from '../../utils/utilities';\n\nexport class Strapi implements INodeType {\n\tdescription: INodeTypeDescription = {\n\t\tdisplayName: 'Strapi',\n\t\tname: 'strapi',\n\t\ticon: 'file:strapi.svg',\n\t\tgroup: ['input'],\n\t\tversion: 1,\n\t\tsubtitle: '={{$parameter[\"operation\"] + \": \" + $parameter[\"resource\"]}}',\n\t\tdescription: 'Consume Strapi API',\n\t\tdefaults: {\n\t\t\tname: 'Strapi',\n\t\t},\n\t\tusableAsTool: true,\n\t\tinputs: [NodeConnectionTypes.Main],\n\t\toutputs: [NodeConnectionTypes.Main],\n\t\tcredentials: [\n\t\t\t{\n\t\t\t\tname: 'strapiApi',\n\t\t\t\trequired: true,\n\t\t\t\ttestedBy: 'strapiApiTest',\n\t\t\t\tdisplayOptions: {\n\t\t\t\t\tshow: {\n\t\t\t\t\t\tauthentication: ['password'],\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t\t{\n\t\t\t\tname: 'strapiTokenApi',\n\t\t\t\trequired: true,\n\t\t\t\tdisplayOptions: {\n\t\t\t\t\tshow: {\n\t\t\t\t\t\tauthentication: ['token'],\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t],\n\t\tproperties: [\n\t\t\t{\n\t\t\t\tdisplayName: 'Authentication',\n\t\t\t\tname: 'authentication',\n\t\t\t\ttype: 'options',\n\t\t\t\toptions: [\n\t\t\t\t\t{\n\t\t\t\t\t\tname: 'Username & Password',\n\t\t\t\t\t\tvalue: 'password',\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tname: 'API Token',\n\t\t\t\t\t\tvalue: 'token',\n\t\t\t\t\t},\n\t\t\t\t],\n\t\t\t\tdefault: 'password',\n\t\t\t},\n\t\t\t{\n\t\t\t\tdisplayName: 'Resource',\n\t\t\t\tname: 'resource',\n\t\t\t\tnoDataExpression: true,\n\t\t\t\ttype: 'options',\n\t\t\t\toptions: [\n\t\t\t\t\t{\n\t\t\t\t\t\tname: 'Entry',\n\t\t\t\t\t\tvalue: 'entry',\n\t\t\t\t\t},\n\t\t\t\t],\n\t\t\t\tdefault: 'entry',\n\t\t\t},\n\t\t\t...entryOperations,\n\t\t\t...entryFields,\n\t\t],\n\t};\n\n\tmethods = {\n\t\tcredentialTest: {\n\t\t\tasync strapiApiTest(\n\t\t\t\tthis: ICredentialTestFunctions,\n\t\t\t\tcredential: ICredentialsDecrypted,\n\t\t\t): Promise<INodeCredentialTestResult> {\n\t\t\t\tconst credentials = credential.data as IDataObject;\n\t\t\t\tlet options: IRequestOptions = {};\n\n\t\t\t\tconst url = removeTrailingSlash(credentials.url as string);\n\n\t\t\t\toptions = {\n\t\t\t\t\theaders: {\n\t\t\t\t\t\t'content-type': 'application/json',\n\t\t\t\t\t},\n\t\t\t\t\tmethod: 'POST',\n\t\t\t\t\tbody: {\n\t\t\t\t\t\tidentifier: credentials.email,\n\t\t\t\t\t\tpassword: credentials.password,\n\t\t\t\t\t},\n\t\t\t\t\turi: credentials.apiVersion === 'v4' ? `${url}/api/auth/local` : `${url}/auth/local`,\n\t\t\t\t\tjson: true,\n\t\t\t\t};\n\n\t\t\t\ttry {\n\t\t\t\t\tawait this.helpers.request(options);\n\t\t\t\t\treturn {\n\t\t\t\t\t\tstatus: 'OK',\n\t\t\t\t\t\tmessage: 'Authentication successful',\n\t\t\t\t\t};\n\t\t\t\t} catch (error) {\n\t\t\t\t\treturn {\n\t\t\t\t\t\tstatus: 'Error',\n\t\t\t\t\t\tmessage: `Auth settings are not valid: ${error}`,\n\t\t\t\t\t};\n\t\t\t\t}\n\t\t\t},\n\t\t},\n\t};\n\n\tasync execute(this: IExecuteFunctions): Promise<INodeExecutionData[][]> {\n\t\tconst items = this.getInputData();\n\t\tconst returnData: INodeExecutionData[] = [];\n\t\tconst length = items.length;\n\t\tconst qs: IDataObject = {};\n\t\tconst headers: IDataObject = {};\n\t\tlet responseData;\n\t\tconst resource = this.getNodeParameter('resource', 0);\n\t\tconst operation = this.getNodeParameter('operation', 0);\n\n\t\tconst authenticationMethod = this.getNodeParameter('authentication', 0);\n\n\t\tlet apiVersion: string;\n\n\t\tif (authenticationMethod === 'password') {\n\t\t\tconst { jwt } = await getToken.call(this);\n\t\t\tapiVersion = (await this.getCredentials('strapiApi')).apiVersion as string;\n\t\t\theaders.Authorization = `Bearer ${jwt}`;\n\t\t} else {\n\t\t\tapiVersion = (await this.getCredentials('strapiTokenApi')).apiVersion as string;\n\t\t}\n\n\t\tfor (let i = 0; i < length; i++) {\n\t\t\ttry {\n\t\t\t\tif (resource === 'entry') {\n\t\t\t\t\tif (operation === 'create') {\n\t\t\t\t\t\tconst body: IDataObject = {};\n\n\t\t\t\t\t\tconst contentType = this.getNodeParameter('contentType', i) as string;\n\n\t\t\t\t\t\tconst columns = this.getNodeParameter('columns', i) as string;\n\n\t\t\t\t\t\tconst columnList = columns.split(',').map((column) => column.trim());\n\n\t\t\t\t\t\tfor (const key of Object.keys(items[i].json)) {\n\t\t\t\t\t\t\tif (columnList.includes(key)) {\n\t\t\t\t\t\t\t\tapiVersion === 'v4'\n\t\t\t\t\t\t\t\t\t? (body.data = items[i].json)\n\t\t\t\t\t\t\t\t\t: (body[key] = items[i].json[key]);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t\tresponseData = await strapiApiRequest.call(\n\t\t\t\t\t\t\tthis,\n\t\t\t\t\t\t\t'POST',\n\t\t\t\t\t\t\t`/${contentType}`,\n\t\t\t\t\t\t\tbody,\n\t\t\t\t\t\t\tqs,\n\t\t\t\t\t\t\tundefined,\n\t\t\t\t\t\t\theaders,\n\t\t\t\t\t\t);\n\n\t\t\t\t\t\tconst executionData = this.helpers.constructExecutionMetaData(\n\t\t\t\t\t\t\tthis.helpers.returnJsonArray(responseData as IDataObject),\n\t\t\t\t\t\t\t{ itemData: { item: i } },\n\t\t\t\t\t\t);\n\n\t\t\t\t\t\treturnData.push(...executionData);\n\t\t\t\t\t}\n\n\t\t\t\t\tif (operation === 'delete') {\n\t\t\t\t\t\tconst contentType = this.getNodeParameter('contentType', i) as string;\n\n\t\t\t\t\t\tconst entryId = this.getNodeParameter('entryId', i) as string;\n\n\t\t\t\t\t\tresponseData = await strapiApiRequest.call(\n\t\t\t\t\t\t\tthis,\n\t\t\t\t\t\t\t'DELETE',\n\t\t\t\t\t\t\t`/${contentType}/${entryId}`,\n\t\t\t\t\t\t\t{},\n\t\t\t\t\t\t\tqs,\n\t\t\t\t\t\t\tundefined,\n\t\t\t\t\t\t\theaders,\n\t\t\t\t\t\t);\n\n\t\t\t\t\t\tconst executionData = this.helpers.constructExecutionMetaData(\n\t\t\t\t\t\t\tthis.helpers.returnJsonArray(responseData as IDataObject),\n\t\t\t\t\t\t\t{ itemData: { item: i } },\n\t\t\t\t\t\t);\n\n\t\t\t\t\t\treturnData.push(...executionData);\n\t\t\t\t\t}\n\n\t\t\t\t\tif (operation === 'getAll') {\n\t\t\t\t\t\tconst returnAll = this.getNodeParameter('returnAll', i);\n\n\t\t\t\t\t\tconst contentType = this.getNodeParameter('contentType', i) as string;\n\n\t\t\t\t\t\tconst options = this.getNodeParameter('options', i);\n\n\t\t\t\t\t\tif (apiVersion === 'v4') {\n\t\t\t\t\t\t\t// Sort Option\n\t\t\t\t\t\t\tif (options.sort && (options.sort as string[]).length !== 0) {\n\t\t\t\t\t\t\t\tconst sortFields = options.sort as string[];\n\t\t\t\t\t\t\t\tqs.sort = sortFields.join(',');\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t// Filter Option\n\t\t\t\t\t\t\tif (options.where) {\n\t\t\t\t\t\t\t\tconst query = validateJSON(options.where as string);\n\t\t\t\t\t\t\t\tif (query !== undefined) {\n\t\t\t\t\t\t\t\t\tqs.filters = query;\n\t\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\t\tthrow new NodeOperationError(this.getNode(), 'Query must be a valid JSON', {\n\t\t\t\t\t\t\t\t\t\titemIndex: i,\n\t\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t// Publication Option\n\t\t\t\t\t\t\tif (options.publicationState) {\n\t\t\t\t\t\t\t\tqs.publicationState = options.publicationState as string;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t// Limit Option\n\t\t\t\t\t\t\tif (returnAll) {\n\t\t\t\t\t\t\t\tresponseData = await strapiApiRequestAllItems.call(\n\t\t\t\t\t\t\t\t\tthis,\n\t\t\t\t\t\t\t\t\t'GET',\n\t\t\t\t\t\t\t\t\t`/${contentType}`,\n\t\t\t\t\t\t\t\t\t{},\n\t\t\t\t\t\t\t\t\tqs,\n\t\t\t\t\t\t\t\t\theaders,\n\t\t\t\t\t\t\t\t\tapiVersion,\n\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\tqs['pagination[pageSize]'] = this.getNodeParameter('limit', i);\n\t\t\t\t\t\t\t\t({ data: responseData } = await strapiApiRequest.call(\n\t\t\t\t\t\t\t\t\tthis,\n\t\t\t\t\t\t\t\t\t'GET',\n\t\t\t\t\t\t\t\t\t`/${contentType}`,\n\t\t\t\t\t\t\t\t\t{},\n\t\t\t\t\t\t\t\t\tqs,\n\t\t\t\t\t\t\t\t\tundefined,\n\t\t\t\t\t\t\t\t\theaders,\n\t\t\t\t\t\t\t\t));\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t// Sort Option\n\t\t\t\t\t\t\tif (options.sort && (options.sort as string[]).length !== 0) {\n\t\t\t\t\t\t\t\tconst sortFields = options.sort as string[];\n\t\t\t\t\t\t\t\tqs._sort = sortFields.join(',');\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t// Filter Option\n\t\t\t\t\t\t\tif (options.where) {\n\t\t\t\t\t\t\t\tconst query = validateJSON(options.where as string);\n\t\t\t\t\t\t\t\tif (query !== undefined) {\n\t\t\t\t\t\t\t\t\tqs._where = query;\n\t\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\t\tthrow new NodeOperationError(this.getNode(), 'Query must be a valid JSON', {\n\t\t\t\t\t\t\t\t\t\titemIndex: i,\n\t\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t// Publication Option\n\t\t\t\t\t\t\tif (options.publicationState) {\n\t\t\t\t\t\t\t\tqs._publicationState = options.publicationState as string;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t// Limit Option\n\t\t\t\t\t\t\tif (returnAll) {\n\t\t\t\t\t\t\t\tresponseData = await strapiApiRequestAllItems.call(\n\t\t\t\t\t\t\t\t\tthis,\n\t\t\t\t\t\t\t\t\t'GET',\n\t\t\t\t\t\t\t\t\t`/${contentType}`,\n\t\t\t\t\t\t\t\t\t{},\n\t\t\t\t\t\t\t\t\tqs,\n\t\t\t\t\t\t\t\t\theaders,\n\t\t\t\t\t\t\t\t\tapiVersion,\n\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\tqs._limit = this.getNodeParameter('limit', i);\n\t\t\t\t\t\t\t\tresponseData = await strapiApiRequest.call(\n\t\t\t\t\t\t\t\t\tthis,\n\t\t\t\t\t\t\t\t\t'GET',\n\t\t\t\t\t\t\t\t\t`/${contentType}`,\n\t\t\t\t\t\t\t\t\t{},\n\t\t\t\t\t\t\t\t\tqs,\n\t\t\t\t\t\t\t\t\tundefined,\n\t\t\t\t\t\t\t\t\theaders,\n\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tconst executionData = this.helpers.constructExecutionMetaData(\n\t\t\t\t\t\t\tthis.helpers.returnJsonArray(responseData as IDataObject),\n\t\t\t\t\t\t\t{ itemData: { item: i } },\n\t\t\t\t\t\t);\n\n\t\t\t\t\t\treturnData.push(...executionData);\n\t\t\t\t\t}\n\n\t\t\t\t\tif (operation === 'get') {\n\t\t\t\t\t\tconst contentType = this.getNodeParameter('contentType', i) as string;\n\n\t\t\t\t\t\tconst entryId = this.getNodeParameter('entryId', i) as string;\n\n\t\t\t\t\t\tresponseData = await strapiApiRequest.call(\n\t\t\t\t\t\t\tthis,\n\t\t\t\t\t\t\t'GET',\n\t\t\t\t\t\t\t`/${contentType}/${entryId}`,\n\t\t\t\t\t\t\t{},\n\t\t\t\t\t\t\tqs,\n\t\t\t\t\t\t\tundefined,\n\t\t\t\t\t\t\theaders,\n\t\t\t\t\t\t);\n\n\t\t\t\t\t\tif (apiVersion === 'v4') {\n\t\t\t\t\t\t\tresponseData = responseData.data;\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tconst executionData = this.helpers.constructExecutionMetaData(\n\t\t\t\t\t\t\tthis.helpers.returnJsonArray(responseData as IDataObject),\n\t\t\t\t\t\t\t{ itemData: { item: i } },\n\t\t\t\t\t\t);\n\n\t\t\t\t\t\treturnData.push(...executionData);\n\t\t\t\t\t}\n\n\t\t\t\t\tif (operation === 'update') {\n\t\t\t\t\t\tconst body: IDataObject = {};\n\n\t\t\t\t\t\tconst contentType = this.getNodeParameter('contentType', i) as string;\n\n\t\t\t\t\t\tconst columns = this.getNodeParameter('columns', i) as string;\n\n\t\t\t\t\t\tconst updateKey = this.getNodeParameter('updateKey', i) as string;\n\n\t\t\t\t\t\tconst columnList = columns.split(',').map((column) => column.trim());\n\n\t\t\t\t\t\tconst entryId = items[i].json[updateKey];\n\n\t\t\t\t\t\tfor (const key of Object.keys(items[i].json)) {\n\t\t\t\t\t\t\tif (columnList.includes(key)) {\n\t\t\t\t\t\t\t\tapiVersion === 'v4'\n\t\t\t\t\t\t\t\t\t? (body.data = items[i].json)\n\t\t\t\t\t\t\t\t\t: (body[key] = items[i].json[key]);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tresponseData = await strapiApiRequest.call(\n\t\t\t\t\t\t\tthis,\n\t\t\t\t\t\t\t'PUT',\n\t\t\t\t\t\t\t`/${contentType}/${entryId}`,\n\t\t\t\t\t\t\tbody,\n\t\t\t\t\t\t\tqs,\n\t\t\t\t\t\t\tundefined,\n\t\t\t\t\t\t\theaders,\n\t\t\t\t\t\t);\n\n\t\t\t\t\t\tif (apiVersion === 'v4') {\n\t\t\t\t\t\t\tresponseData = responseData.data;\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tconst executionData = this.helpers.constructExecutionMetaData(\n\t\t\t\t\t\t\tthis.helpers.returnJsonArray(responseData as IDataObject),\n\t\t\t\t\t\t\t{ itemData: { item: i } },\n\t\t\t\t\t\t);\n\n\t\t\t\t\t\treturnData.push(...executionData);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t} catch (error) {\n\t\t\t\tif (this.continueOnFail()) {\n\t\t\t\t\tconst executionErrorData = this.helpers.constructExecutionMetaData(\n\t\t\t\t\t\tthis.helpers.returnJsonArray({ error: error.message }),\n\t\t\t\t\t\t{ itemData: { item: i } },\n\t\t\t\t\t);\n\t\t\t\t\treturnData.push(...executionErrorData);\n\t\t\t\t\tcontinue;\n\t\t\t\t}\n\t\t\t\tthrow error;\n\t\t\t}\n\t\t}\n\t\treturn [returnData];\n\t}\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAWA,0BAAwD;AAExD,8BAA6C;AAC7C,8BAKO;AACP,uBAAoC;AAE7B,MAAM,OAA4B;AAAA,EAAlC;AACN,uBAAoC;AAAA,MACnC,aAAa;AAAA,MACb,MAAM;AAAA,MACN,MAAM;AAAA,MACN,OAAO,CAAC,OAAO;AAAA,MACf,SAAS;AAAA,MACT,UAAU;AAAA,MACV,aAAa;AAAA,MACb,UAAU;AAAA,QACT,MAAM;AAAA,MACP;AAAA,MACA,cAAc;AAAA,MACd,QAAQ,CAAC,wCAAoB,IAAI;AAAA,MACjC,SAAS,CAAC,wCAAoB,IAAI;AAAA,MAClC,aAAa;AAAA,QACZ;AAAA,UACC,MAAM;AAAA,UACN,UAAU;AAAA,UACV,UAAU;AAAA,UACV,gBAAgB;AAAA,YACf,MAAM;AAAA,cACL,gBAAgB,CAAC,UAAU;AAAA,YAC5B;AAAA,UACD;AAAA,QACD;AAAA,QACA;AAAA,UACC,MAAM;AAAA,UACN,UAAU;AAAA,UACV,gBAAgB;AAAA,YACf,MAAM;AAAA,cACL,gBAAgB,CAAC,OAAO;AAAA,YACzB;AAAA,UACD;AAAA,QACD;AAAA,MACD;AAAA,MACA,YAAY;AAAA,QACX;AAAA,UACC,aAAa;AAAA,UACb,MAAM;AAAA,UACN,MAAM;AAAA,UACN,SAAS;AAAA,YACR;AAAA,cACC,MAAM;AAAA,cACN,OAAO;AAAA,YACR;AAAA,YACA;AAAA,cACC,MAAM;AAAA,cACN,OAAO;AAAA,YACR;AAAA,UACD;AAAA,UACA,SAAS;AAAA,QACV;AAAA,QACA;AAAA,UACC,aAAa;AAAA,UACb,MAAM;AAAA,UACN,kBAAkB;AAAA,UAClB,MAAM;AAAA,UACN,SAAS;AAAA,YACR;AAAA,cACC,MAAM;AAAA,cACN,OAAO;AAAA,YACR;AAAA,UACD;AAAA,UACA,SAAS;AAAA,QACV;AAAA,QACA,GAAG;AAAA,QACH,GAAG;AAAA,MACJ;AAAA,IACD;AAEA,mBAAU;AAAA,MACT,gBAAgB;AAAA,QACf,MAAM,cAEL,YACqC;AACrC,gBAAM,cAAc,WAAW;AAC/B,cAAI,UAA2B,CAAC;AAEhC,gBAAM,UAAM,sCAAoB,YAAY,GAAa;AAEzD,oBAAU;AAAA,YACT,SAAS;AAAA,cACR,gBAAgB;AAAA,YACjB;AAAA,YACA,QAAQ;AAAA,YACR,MAAM;AAAA,cACL,YAAY,YAAY;AAAA,cACxB,UAAU,YAAY;AAAA,YACvB;AAAA,YACA,KAAK,YAAY,eAAe,OAAO,GAAG,GAAG,oBAAoB,GAAG,GAAG;AAAA,YACvE,MAAM;AAAA,UACP;AAEA,cAAI;AACH,kBAAM,KAAK,QAAQ,QAAQ,OAAO;AAClC,mBAAO;AAAA,cACN,QAAQ;AAAA,cACR,SAAS;AAAA,YACV;AAAA,UACD,SAAS,OAAO;AACf,mBAAO;AAAA,cACN,QAAQ;AAAA,cACR,SAAS,gCAAgC,KAAK;AAAA,YAC/C;AAAA,UACD;AAAA,QACD;AAAA,MACD;AAAA,IACD;AAAA;AAAA,EAEA,MAAM,UAAkE;AACvE,UAAM,QAAQ,KAAK,aAAa;AAChC,UAAM,aAAmC,CAAC;AAC1C,UAAM,SAAS,MAAM;AACrB,UAAM,KAAkB,CAAC;AACzB,UAAM,UAAuB,CAAC;AAC9B,QAAI;AACJ,UAAM,WAAW,KAAK,iBAAiB,YAAY,CAAC;AACpD,UAAM,YAAY,KAAK,iBAAiB,aAAa,CAAC;AAEtD,UAAM,uBAAuB,KAAK,iBAAiB,kBAAkB,CAAC;AAEtE,QAAI;AAEJ,QAAI,yBAAyB,YAAY;AACxC,YAAM,EAAE,IAAI,IAAI,MAAM,iCAAS,KAAK,IAAI;AACxC,oBAAc,MAAM,KAAK,eAAe,WAAW,GAAG;AACtD,cAAQ,gBAAgB,UAAU,GAAG;AAAA,IACtC,OAAO;AACN,oBAAc,MAAM,KAAK,eAAe,gBAAgB,GAAG;AAAA,IAC5D;AAEA,aAAS,IAAI,GAAG,IAAI,QAAQ,KAAK;AAChC,UAAI;AACH,YAAI,aAAa,SAAS;AACzB,cAAI,cAAc,UAAU;AAC3B,kBAAM,OAAoB,CAAC;AAE3B,kBAAM,cAAc,KAAK,iBAAiB,eAAe,CAAC;AAE1D,kBAAM,UAAU,KAAK,iBAAiB,WAAW,CAAC;AAElD,kBAAM,aAAa,QAAQ,MAAM,GAAG,EAAE,IAAI,CAAC,WAAW,OAAO,KAAK,CAAC;AAEnE,uBAAW,OAAO,OAAO,KAAK,MAAM,CAAC,EAAE,IAAI,GAAG;AAC7C,kBAAI,WAAW,SAAS,GAAG,GAAG;AAC7B,+BAAe,OACX,KAAK,OAAO,MAAM,CAAC,EAAE,OACrB,KAAK,GAAG,IAAI,MAAM,CAAC,EAAE,KAAK,GAAG;AAAA,cAClC;AAAA,YACD;AACA,2BAAe,MAAM,yCAAiB;AAAA,cACrC;AAAA,cACA;AAAA,cACA,IAAI,WAAW;AAAA,cACf;AAAA,cACA;AAAA,cACA;AAAA,cACA;AAAA,YACD;AAEA,kBAAM,gBAAgB,KAAK,QAAQ;AAAA,cAClC,KAAK,QAAQ,gBAAgB,YAA2B;AAAA,cACxD,EAAE,UAAU,EAAE,MAAM,EAAE,EAAE;AAAA,YACzB;AAEA,uBAAW,KAAK,GAAG,aAAa;AAAA,UACjC;AAEA,cAAI,cAAc,UAAU;AAC3B,kBAAM,cAAc,KAAK,iBAAiB,eAAe,CAAC;AAE1D,kBAAM,UAAU,KAAK,iBAAiB,WAAW,CAAC;AAElD,2BAAe,MAAM,yCAAiB;AAAA,cACrC;AAAA,cACA;AAAA,cACA,IAAI,WAAW,IAAI,OAAO;AAAA,cAC1B,CAAC;AAAA,cACD;AAAA,cACA;AAAA,cACA;AAAA,YACD;AAEA,kBAAM,gBAAgB,KAAK,QAAQ;AAAA,cAClC,KAAK,QAAQ,gBAAgB,YAA2B;AAAA,cACxD,EAAE,UAAU,EAAE,MAAM,EAAE,EAAE;AAAA,YACzB;AAEA,uBAAW,KAAK,GAAG,aAAa;AAAA,UACjC;AAEA,cAAI,cAAc,UAAU;AAC3B,kBAAM,YAAY,KAAK,iBAAiB,aAAa,CAAC;AAEtD,kBAAM,cAAc,KAAK,iBAAiB,eAAe,CAAC;AAE1D,kBAAM,UAAU,KAAK,iBAAiB,WAAW,CAAC;AAElD,gBAAI,eAAe,MAAM;AAExB,kBAAI,QAAQ,QAAS,QAAQ,KAAkB,WAAW,GAAG;AAC5D,sBAAM,aAAa,QAAQ;AAC3B,mBAAG,OAAO,WAAW,KAAK,GAAG;AAAA,cAC9B;AAEA,kBAAI,QAAQ,OAAO;AAClB,sBAAM,YAAQ,sCAAa,QAAQ,KAAe;AAClD,oBAAI,UAAU,QAAW;AACxB,qBAAG,UAAU;AAAA,gBACd,OAAO;AACN,wBAAM,IAAI,uCAAmB,KAAK,QAAQ,GAAG,8BAA8B;AAAA,oBAC1E,WAAW;AAAA,kBACZ,CAAC;AAAA,gBACF;AAAA,cACD;AAEA,kBAAI,QAAQ,kBAAkB;AAC7B,mBAAG,mBAAmB,QAAQ;AAAA,cAC/B;AAEA,kBAAI,WAAW;AACd,+BAAe,MAAM,iDAAyB;AAAA,kBAC7C;AAAA,kBACA;AAAA,kBACA,IAAI,WAAW;AAAA,kBACf,CAAC;AAAA,kBACD;AAAA,kBACA;AAAA,kBACA;AAAA,gBACD;AAAA,cACD,OAAO;AACN,mBAAG,sBAAsB,IAAI,KAAK,iBAAiB,SAAS,CAAC;AAC7D,iBAAC,EAAE,MAAM,aAAa,IAAI,MAAM,yCAAiB;AAAA,kBAChD;AAAA,kBACA;AAAA,kBACA,IAAI,WAAW;AAAA,kBACf,CAAC;AAAA,kBACD;AAAA,kBACA;AAAA,kBACA;AAAA,gBACD;AAAA,cACD;AAAA,YACD,OAAO;AAEN,kBAAI,QAAQ,QAAS,QAAQ,KAAkB,WAAW,GAAG;AAC5D,sBAAM,aAAa,QAAQ;AAC3B,mBAAG,QAAQ,WAAW,KAAK,GAAG;AAAA,cAC/B;AAEA,kBAAI,QAAQ,OAAO;AAClB,sBAAM,YAAQ,sCAAa,QAAQ,KAAe;AAClD,oBAAI,UAAU,QAAW;AACxB,qBAAG,SAAS;AAAA,gBACb,OAAO;AACN,wBAAM,IAAI,uCAAmB,KAAK,QAAQ,GAAG,8BAA8B;AAAA,oBAC1E,WAAW;AAAA,kBACZ,CAAC;AAAA,gBACF;AAAA,cACD;AAEA,kBAAI,QAAQ,kBAAkB;AAC7B,mBAAG,oBAAoB,QAAQ;AAAA,cAChC;AAEA,kBAAI,WAAW;AACd,+BAAe,MAAM,iDAAyB;AAAA,kBAC7C;AAAA,kBACA;AAAA,kBACA,IAAI,WAAW;AAAA,kBACf,CAAC;AAAA,kBACD;AAAA,kBACA;AAAA,kBACA;AAAA,gBACD;AAAA,cACD,OAAO;AACN,mBAAG,SAAS,KAAK,iBAAiB,SAAS,CAAC;AAC5C,+BAAe,MAAM,yCAAiB;AAAA,kBACrC;AAAA,kBACA;AAAA,kBACA,IAAI,WAAW;AAAA,kBACf,CAAC;AAAA,kBACD;AAAA,kBACA;AAAA,kBACA;AAAA,gBACD;AAAA,cACD;AAAA,YACD;AAEA,kBAAM,gBAAgB,KAAK,QAAQ;AAAA,cAClC,KAAK,QAAQ,gBAAgB,YAA2B;AAAA,cACxD,EAAE,UAAU,EAAE,MAAM,EAAE,EAAE;AAAA,YACzB;AAEA,uBAAW,KAAK,GAAG,aAAa;AAAA,UACjC;AAEA,cAAI,cAAc,OAAO;AACxB,kBAAM,cAAc,KAAK,iBAAiB,eAAe,CAAC;AAE1D,kBAAM,UAAU,KAAK,iBAAiB,WAAW,CAAC;AAElD,2BAAe,MAAM,yCAAiB;AAAA,cACrC;AAAA,cACA;AAAA,cACA,IAAI,WAAW,IAAI,OAAO;AAAA,cAC1B,CAAC;AAAA,cACD;AAAA,cACA;AAAA,cACA;AAAA,YACD;AAEA,gBAAI,eAAe,MAAM;AACxB,6BAAe,aAAa;AAAA,YAC7B;AAEA,kBAAM,gBAAgB,KAAK,QAAQ;AAAA,cAClC,KAAK,QAAQ,gBAAgB,YAA2B;AAAA,cACxD,EAAE,UAAU,EAAE,MAAM,EAAE,EAAE;AAAA,YACzB;AAEA,uBAAW,KAAK,GAAG,aAAa;AAAA,UACjC;AAEA,cAAI,cAAc,UAAU;AAC3B,kBAAM,OAAoB,CAAC;AAE3B,kBAAM,cAAc,KAAK,iBAAiB,eAAe,CAAC;AAE1D,kBAAM,UAAU,KAAK,iBAAiB,WAAW,CAAC;AAElD,kBAAM,YAAY,KAAK,iBAAiB,aAAa,CAAC;AAEtD,kBAAM,aAAa,QAAQ,MAAM,GAAG,EAAE,IAAI,CAAC,WAAW,OAAO,KAAK,CAAC;AAEnE,kBAAM,UAAU,MAAM,CAAC,EAAE,KAAK,SAAS;AAEvC,uBAAW,OAAO,OAAO,KAAK,MAAM,CAAC,EAAE,IAAI,GAAG;AAC7C,kBAAI,WAAW,SAAS,GAAG,GAAG;AAC7B,+BAAe,OACX,KAAK,OAAO,MAAM,CAAC,EAAE,OACrB,KAAK,GAAG,IAAI,MAAM,CAAC,EAAE,KAAK,GAAG;AAAA,cAClC;AAAA,YACD;AAEA,2BAAe,MAAM,yCAAiB;AAAA,cACrC;AAAA,cACA;AAAA,cACA,IAAI,WAAW,IAAI,OAAO;AAAA,cAC1B;AAAA,cACA;AAAA,cACA;AAAA,cACA;AAAA,YACD;AAEA,gBAAI,eAAe,MAAM;AACxB,6BAAe,aAAa;AAAA,YAC7B;AAEA,kBAAM,gBAAgB,KAAK,QAAQ;AAAA,cAClC,KAAK,QAAQ,gBAAgB,YAA2B;AAAA,cACxD,EAAE,UAAU,EAAE,MAAM,EAAE,EAAE;AAAA,YACzB;AAEA,uBAAW,KAAK,GAAG,aAAa;AAAA,UACjC;AAAA,QACD;AAAA,MACD,SAAS,OAAO;AACf,YAAI,KAAK,eAAe,GAAG;AAC1B,gBAAM,qBAAqB,KAAK,QAAQ;AAAA,YACvC,KAAK,QAAQ,gBAAgB,EAAE,OAAO,MAAM,QAAQ,CAAC;AAAA,YACrD,EAAE,UAAU,EAAE,MAAM,EAAE,EAAE;AAAA,UACzB;AACA,qBAAW,KAAK,GAAG,kBAAkB;AACrC;AAAA,QACD;AACA,cAAM;AAAA,MACP;AAAA,IACD;AACA,WAAO,CAAC,UAAU;AAAA,EACnB;AACD;","names":[]}
@@ -812,6 +812,14 @@ class StripeTrigger {
812
812
  description: "Occurs whenever a transfer's description or metadata is updated."
813
813
  }
814
814
  ]
815
+ },
816
+ {
817
+ displayName: "API Version",
818
+ name: "apiVersion",
819
+ type: "string",
820
+ placeholder: "2025-05-28.basil",
821
+ default: "",
822
+ description: "The API version to use for requests. It controls the format and structure of the incoming event payloads that Stripe sends to your webhook. If empty, Stripe will use the default API version set in your account at the time, which may lead to event processing issues if the API version changes in the future."
815
823
  }
816
824
  ]
817
825
  };
@@ -846,6 +854,10 @@ class StripeTrigger {
846
854
  description: webhookDescription,
847
855
  enabled_events: events
848
856
  };
857
+ const apiVersion = this.getNodeParameter("apiVersion", "");
858
+ if (apiVersion && apiVersion !== "") {
859
+ body.api_version = apiVersion;
860
+ }
849
861
  const responseData = await import_helpers.stripeApiRequest.call(this, "POST", endpoint, body);
850
862
  if (responseData.id === void 0 || responseData.secret === void 0 || responseData.status !== "enabled") {
851
863
  throw new import_n8n_workflow.NodeApiError(this.getNode(), responseData, {
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../nodes/Stripe/StripeTrigger.node.ts"],"sourcesContent":["/* eslint-disable n8n-nodes-base/node-param-description-excess-final-period */\nimport type {\n\tIDataObject,\n\tIHookFunctions,\n\tIWebhookFunctions,\n\tINodeType,\n\tINodeTypeDescription,\n\tIWebhookResponseData,\n\tJsonObject,\n} from 'n8n-workflow';\nimport { NodeApiError, NodeConnectionTypes } from 'n8n-workflow';\n\nimport { stripeApiRequest } from './helpers';\n\nexport class StripeTrigger implements INodeType {\n\tdescription: INodeTypeDescription = {\n\t\tdisplayName: 'Stripe Trigger',\n\t\tname: 'stripeTrigger',\n\t\ticon: 'file:stripe.svg',\n\t\tgroup: ['trigger'],\n\t\tversion: 1,\n\t\tdescription: 'Handle Stripe events via webhooks',\n\t\tdefaults: {\n\t\t\tname: 'Stripe Trigger',\n\t\t},\n\t\tinputs: [],\n\t\toutputs: [NodeConnectionTypes.Main],\n\t\tcredentials: [\n\t\t\t{\n\t\t\t\tname: 'stripeApi',\n\t\t\t\trequired: true,\n\t\t\t},\n\t\t],\n\t\twebhooks: [\n\t\t\t{\n\t\t\t\tname: 'default',\n\t\t\t\thttpMethod: 'POST',\n\t\t\t\tresponseMode: 'onReceived',\n\t\t\t\tpath: 'webhook',\n\t\t\t},\n\t\t],\n\t\tproperties: [\n\t\t\t{\n\t\t\t\tdisplayName: 'Events',\n\t\t\t\tname: 'events',\n\t\t\t\ttype: 'multiOptions',\n\t\t\t\trequired: true,\n\t\t\t\tdefault: [],\n\t\t\t\tdescription: 'The event to listen to',\n\t\t\t\t// eslint-disable-next-line n8n-nodes-base/node-param-multi-options-type-unsorted-items\n\t\t\t\toptions: [\n\t\t\t\t\t{\n\t\t\t\t\t\tname: '*',\n\t\t\t\t\t\tvalue: '*',\n\t\t\t\t\t\tdescription: 'Any time any event is triggered (Wildcard Event)',\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tname: 'Account Updated',\n\t\t\t\t\t\tvalue: 'account.updated',\n\t\t\t\t\t\tdescription: 'Occurs whenever an account status or property has changed',\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tname: 'Account Application.authorized',\n\t\t\t\t\t\tvalue: 'account.application.authorized',\n\t\t\t\t\t\tdescription:\n\t\t\t\t\t\t\t'Occurs whenever a user authorizes an application. Sent to the related application only.',\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tname: 'Account Application.deauthorized',\n\t\t\t\t\t\tvalue: 'account.application.deauthorized',\n\t\t\t\t\t\tdescription:\n\t\t\t\t\t\t\t'Occurs whenever a user deauthorizes an application. Sent to the related application only.',\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tname: 'Account External_account.created',\n\t\t\t\t\t\tvalue: 'account.external_account.created',\n\t\t\t\t\t\tdescription: 'Occurs whenever an external account is created.',\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tname: 'Account External_account.deleted',\n\t\t\t\t\t\tvalue: 'account.external_account.deleted',\n\t\t\t\t\t\tdescription: 'Occurs whenever an external account is deleted.',\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tname: 'Account External_account.updated',\n\t\t\t\t\t\tvalue: 'account.external_account.updated',\n\t\t\t\t\t\tdescription: 'Occurs whenever an external account is updated.',\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tname: 'Application Fee.created',\n\t\t\t\t\t\tvalue: 'application_fee.created',\n\t\t\t\t\t\tdescription: 'Occurs whenever an application fee is created on a charge.',\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tname: 'Application Fee.refunded',\n\t\t\t\t\t\tvalue: 'application_fee.refunded',\n\t\t\t\t\t\tdescription:\n\t\t\t\t\t\t\t'Occurs whenever an application fee is refunded, whether from refunding a charge or from refunding the application fee directly. This includes partial refunds.',\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tname: 'Application Fee.refund.updated',\n\t\t\t\t\t\tvalue: 'application_fee.refund.updated',\n\t\t\t\t\t\tdescription: 'Occurs whenever an application fee refund is updated.',\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tname: 'Balance Available',\n\t\t\t\t\t\tvalue: 'balance.available',\n\t\t\t\t\t\tdescription:\n\t\t\t\t\t\t\t'Occurs whenever your Stripe balance has been updated (e.g., when a charge is available to be paid out). By default, Stripe automatically transfers funds in your balance to your bank account on a daily basis.',\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tname: 'Capability Updated',\n\t\t\t\t\t\tvalue: 'capability.updated',\n\t\t\t\t\t\tdescription: 'Occurs whenever a capability has new requirements or a new status.',\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tname: 'Charge Captured',\n\t\t\t\t\t\tvalue: 'charge.captured',\n\t\t\t\t\t\tdescription: 'Occurs whenever a previously uncaptured charge is captured.',\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tname: 'Charge Expired',\n\t\t\t\t\t\tvalue: 'charge.expired',\n\t\t\t\t\t\tdescription: 'Occurs whenever an uncaptured charge expires.',\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tname: 'Charge Failed',\n\t\t\t\t\t\tvalue: 'charge.failed',\n\t\t\t\t\t\tdescription: 'Occurs whenever a failed charge attempt occurs.',\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tname: 'Charge Pending',\n\t\t\t\t\t\tvalue: 'charge.pending',\n\t\t\t\t\t\tdescription: 'Occurs whenever a pending charge is created.',\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tname: 'Charge Refunded',\n\t\t\t\t\t\tvalue: 'charge.refunded',\n\t\t\t\t\t\tdescription: 'Occurs whenever a charge is refunded, including partial refunds.',\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tname: 'Charge Succeeded',\n\t\t\t\t\t\tvalue: 'charge.succeeded',\n\t\t\t\t\t\tdescription: 'Occurs whenever a new charge is created and is successful.',\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tname: 'Charge Updated',\n\t\t\t\t\t\tvalue: 'charge.updated',\n\t\t\t\t\t\tdescription: 'Occurs whenever a charge description or metadata is updated.',\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tname: 'Charge Dispute.closed',\n\t\t\t\t\t\tvalue: 'charge.dispute.closed',\n\t\t\t\t\t\tdescription:\n\t\t\t\t\t\t\t'Occurs when a dispute is closed and the dispute status changes to lost, warning_closed, or won.',\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tname: 'Charge Dispute.created',\n\t\t\t\t\t\tvalue: 'charge.dispute.created',\n\t\t\t\t\t\tdescription: 'Occurs whenever a customer disputes a charge with their bank.',\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tname: 'Charge Dispute.funds_reinstated',\n\t\t\t\t\t\tvalue: 'charge.dispute.funds_reinstated',\n\t\t\t\t\t\tdescription:\n\t\t\t\t\t\t\t'Occurs when funds are reinstated to your account after a dispute is closed. This includes partially refunded payments.',\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tname: 'Charge Dispute.funds_withdrawn',\n\t\t\t\t\t\tvalue: 'charge.dispute.funds_withdrawn',\n\t\t\t\t\t\tdescription: 'Occurs when funds are removed from your account due to a dispute.',\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tname: 'Charge Dispute.updated',\n\t\t\t\t\t\tvalue: 'charge.dispute.updated',\n\t\t\t\t\t\tdescription: 'Occurs when the dispute is updated (usually with evidence).',\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tname: 'Charge Refund.updated',\n\t\t\t\t\t\tvalue: 'charge.refund.updated',\n\t\t\t\t\t\tdescription: 'Occurs whenever a refund is updated, on selected payment methods.',\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tname: 'Checkout Session.completed',\n\t\t\t\t\t\tvalue: 'checkout.session.completed',\n\t\t\t\t\t\tdescription: 'Occurs when a Checkout Session has been successfully completed.',\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tname: 'Coupon Created',\n\t\t\t\t\t\tvalue: 'coupon.created',\n\t\t\t\t\t\tdescription: 'Occurs whenever a coupon is created.',\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tname: 'Coupon Deleted',\n\t\t\t\t\t\tvalue: 'coupon.deleted',\n\t\t\t\t\t\tdescription: 'Occurs whenever a coupon is deleted.',\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tname: 'Coupon Updated',\n\t\t\t\t\t\tvalue: 'coupon.updated',\n\t\t\t\t\t\tdescription: 'Occurs whenever a coupon is updated.',\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tname: 'Credit Note.created',\n\t\t\t\t\t\tvalue: 'credit_note.created',\n\t\t\t\t\t\tdescription: 'Occurs whenever a credit note is created.',\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tname: 'Credit Note.updated',\n\t\t\t\t\t\tvalue: 'credit_note.updated',\n\t\t\t\t\t\tdescription: 'Occurs whenever a credit note is updated.',\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tname: 'Credit Note.voided',\n\t\t\t\t\t\tvalue: 'credit_note.voided',\n\t\t\t\t\t\tdescription: 'Occurs whenever a credit note is voided.',\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tname: 'Customer Created',\n\t\t\t\t\t\tvalue: 'customer.created',\n\t\t\t\t\t\tdescription: 'Occurs whenever a new customer is created.',\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tname: 'Customer Deleted',\n\t\t\t\t\t\tvalue: 'customer.deleted',\n\t\t\t\t\t\tdescription: 'Occurs whenever a customer is deleted.',\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tname: 'Customer Updated',\n\t\t\t\t\t\tvalue: 'customer.updated',\n\t\t\t\t\t\tdescription: 'Occurs whenever any property of a customer changes.',\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tname: 'Customer Discount.created',\n\t\t\t\t\t\tvalue: 'customer.discount.created',\n\t\t\t\t\t\tdescription: 'Occurs whenever a coupon is attached to a customer.',\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tname: 'Customer Discount.deleted',\n\t\t\t\t\t\tvalue: 'customer.discount.deleted',\n\t\t\t\t\t\tdescription: 'Occurs whenever a coupon is removed from a customer.',\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tname: 'Customer Discount.updated',\n\t\t\t\t\t\tvalue: 'customer.discount.updated',\n\t\t\t\t\t\tdescription: 'Occurs whenever a customer is switched from one coupon to another.',\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tname: 'Customer Source.created',\n\t\t\t\t\t\tvalue: 'customer.source.created',\n\t\t\t\t\t\tdescription: 'Occurs whenever a new source is created for a customer.',\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tname: 'Customer Source.deleted',\n\t\t\t\t\t\tvalue: 'customer.source.deleted',\n\t\t\t\t\t\tdescription: 'Occurs whenever a source is removed from a customer.',\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tname: 'Customer Source.expiring',\n\t\t\t\t\t\tvalue: 'customer.source.expiring',\n\t\t\t\t\t\tdescription: 'Occurs whenever a card or source will expire at the end of the month.',\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tname: 'Customer Source.updated',\n\t\t\t\t\t\tvalue: 'customer.source.updated',\n\t\t\t\t\t\tdescription: \"Occurs whenever a source's details are changed.\",\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tname: 'Customer Subscription.created',\n\t\t\t\t\t\tvalue: 'customer.subscription.created',\n\t\t\t\t\t\tdescription: 'Occurs whenever a customer is signed up for a new plan.',\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tname: 'Customer Subscription.deleted',\n\t\t\t\t\t\tvalue: 'customer.subscription.deleted',\n\t\t\t\t\t\tdescription: \"Occurs whenever a customer's subscription ends.\",\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tname: 'Customer Subscription.trial_will_end',\n\t\t\t\t\t\tvalue: 'customer.subscription.trial_will_end',\n\t\t\t\t\t\tdescription:\n\t\t\t\t\t\t\t\"Occurs three days before a subscription's trial period is scheduled to end, or when a trial is ended immediately (using trial_end=now).\",\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tname: 'Customer Subscription.updated',\n\t\t\t\t\t\tvalue: 'customer.subscription.updated',\n\t\t\t\t\t\tdescription:\n\t\t\t\t\t\t\t'Occurs whenever a subscription changes (e.g., switching from one plan to another, or changing the status from trial to active).',\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tname: 'Customer Tax_id.created',\n\t\t\t\t\t\tvalue: 'customer.tax_id.created',\n\t\t\t\t\t\tdescription: 'Occurs whenever a tax ID is created for a customer.',\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tname: 'Customer Tax_id.deleted',\n\t\t\t\t\t\tvalue: 'customer.tax_id.deleted',\n\t\t\t\t\t\tdescription: 'Occurs whenever a tax ID is deleted from a customer.',\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tname: 'Customer Tax_id.updated',\n\t\t\t\t\t\tvalue: 'customer.tax_id.updated',\n\t\t\t\t\t\tdescription: \"Occurs whenever a customer's tax ID is updated.\",\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tname: 'File Created',\n\t\t\t\t\t\tvalue: 'file.created',\n\t\t\t\t\t\tdescription:\n\t\t\t\t\t\t\t'Occurs whenever a new Stripe-generated file is available for your account.',\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tname: 'Invoice Created',\n\t\t\t\t\t\tvalue: 'invoice.created',\n\t\t\t\t\t\tdescription:\n\t\t\t\t\t\t\t'Occurs whenever a new invoice is created. To learn how webhooks can be used with this event, and how they can affect it, see Using Webhooks with Subscriptions.',\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tname: 'Invoice Deleted',\n\t\t\t\t\t\tvalue: 'invoice.deleted',\n\t\t\t\t\t\tdescription: 'Occurs whenever a draft invoice is deleted.',\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tname: 'Invoice Finalized',\n\t\t\t\t\t\tvalue: 'invoice.finalized',\n\t\t\t\t\t\tdescription:\n\t\t\t\t\t\t\t'Occurs whenever a draft invoice is finalized and updated to be an open invoice.',\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tname: 'Invoice Marked_uncollectible',\n\t\t\t\t\t\tvalue: 'invoice.marked_uncollectible',\n\t\t\t\t\t\tdescription: 'Occurs whenever an invoice is marked uncollectible.',\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tname: 'Invoice Payment_action_required',\n\t\t\t\t\t\tvalue: 'invoice.payment_action_required',\n\t\t\t\t\t\tdescription:\n\t\t\t\t\t\t\t'Occurs whenever an invoice payment attempt requires further user action to complete.',\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tname: 'Invoice Payment_failed',\n\t\t\t\t\t\tvalue: 'invoice.payment_failed',\n\t\t\t\t\t\tdescription:\n\t\t\t\t\t\t\t'Occurs whenever an invoice payment attempt fails, due either to a declined payment or to the lack of a stored payment method.',\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tname: 'Invoice Payment_succeeded',\n\t\t\t\t\t\tvalue: 'invoice.payment_succeeded',\n\t\t\t\t\t\tdescription: 'Occurs whenever an invoice payment attempt succeeds.',\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tname: 'Invoice Sent',\n\t\t\t\t\t\tvalue: 'invoice.sent',\n\t\t\t\t\t\tdescription: 'Occurs whenever an invoice email is sent out.',\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tname: 'Invoice Upcoming',\n\t\t\t\t\t\tvalue: 'invoice.upcoming',\n\t\t\t\t\t\tdescription:\n\t\t\t\t\t\t\t'Occurs X number of days before a subscription is scheduled to create an invoice that is automatically charged—where X is determined by your subscriptions settings. Note: The received Invoice object will not have an invoice ID.',\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tname: 'Invoice Updated',\n\t\t\t\t\t\tvalue: 'invoice.updated',\n\t\t\t\t\t\tdescription: 'Occurs whenever an invoice changes (e.g., the invoice amount).',\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tname: 'Invoice Voided',\n\t\t\t\t\t\tvalue: 'invoice.voided',\n\t\t\t\t\t\tdescription: 'Occurs whenever an invoice is voided.',\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tname: 'Invoiceitem Created',\n\t\t\t\t\t\tvalue: 'invoiceitem.created',\n\t\t\t\t\t\tdescription: 'Occurs whenever an invoice item is created.',\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tname: 'Invoiceitem Deleted',\n\t\t\t\t\t\tvalue: 'invoiceitem.deleted',\n\t\t\t\t\t\tdescription: 'Occurs whenever an invoice item is deleted.',\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tname: 'Invoiceitem Updated',\n\t\t\t\t\t\tvalue: 'invoiceitem.updated',\n\t\t\t\t\t\tdescription: 'Occurs whenever an invoice item is updated.',\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tname: 'Issuing Authorization.created',\n\t\t\t\t\t\tvalue: 'issuing_authorization.created',\n\t\t\t\t\t\tdescription: 'Occurs whenever an authorization is created.',\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tname: 'Issuing Authorization.request',\n\t\t\t\t\t\tvalue: 'issuing_authorization.request',\n\t\t\t\t\t\tdescription:\n\t\t\t\t\t\t\t'Represents a synchronous request for authorization, see Using your integration to handle authorization requests.',\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tname: 'Issuing Authorization.updated',\n\t\t\t\t\t\tvalue: 'issuing_authorization.updated',\n\t\t\t\t\t\tdescription: 'Occurs whenever an authorization is updated.',\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tname: 'Issuing Card.created',\n\t\t\t\t\t\tvalue: 'issuing_card.created',\n\t\t\t\t\t\tdescription: 'Occurs whenever a card is created.',\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tname: 'Issuing Card.updated',\n\t\t\t\t\t\tvalue: 'issuing_card.updated',\n\t\t\t\t\t\tdescription: 'Occurs whenever a card is updated.',\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tname: 'Issuing Cardholder.created',\n\t\t\t\t\t\tvalue: 'issuing_cardholder.created',\n\t\t\t\t\t\tdescription: 'Occurs whenever a cardholder is created.',\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tname: 'Issuing Cardholder.updated',\n\t\t\t\t\t\tvalue: 'issuing_cardholder.updated',\n\t\t\t\t\t\tdescription: 'Occurs whenever a cardholder is updated.',\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tname: 'Issuing Dispute.created',\n\t\t\t\t\t\tvalue: 'issuing_dispute.created',\n\t\t\t\t\t\tdescription: 'Occurs whenever a dispute is created.',\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tname: 'Issuing Dispute.updated',\n\t\t\t\t\t\tvalue: 'issuing_dispute.updated',\n\t\t\t\t\t\tdescription: 'Occurs whenever a dispute is updated.',\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tname: 'Issuing Settlement.created',\n\t\t\t\t\t\tvalue: 'issuing_settlement.created',\n\t\t\t\t\t\tdescription: 'Occurs whenever an issuing settlement is created.',\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tname: 'Issuing Settlement.updated',\n\t\t\t\t\t\tvalue: 'issuing_settlement.updated',\n\t\t\t\t\t\tdescription: 'Occurs whenever an issuing settlement is updated.',\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tname: 'Issuing Transaction.created',\n\t\t\t\t\t\tvalue: 'issuing_transaction.created',\n\t\t\t\t\t\tdescription: 'Occurs whenever an issuing transaction is created.',\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tname: 'Issuing Transaction.updated',\n\t\t\t\t\t\tvalue: 'issuing_transaction.updated',\n\t\t\t\t\t\tdescription: 'Occurs whenever an issuing transaction is updated.',\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tname: 'Order Created',\n\t\t\t\t\t\tvalue: 'order.created',\n\t\t\t\t\t\tdescription: 'Occurs whenever an order is created.',\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tname: 'Order Payment_failed',\n\t\t\t\t\t\tvalue: 'order.payment_failed',\n\t\t\t\t\t\tdescription: 'Occurs whenever an order payment attempt fails.',\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tname: 'Order Payment_succeeded',\n\t\t\t\t\t\tvalue: 'order.payment_succeeded',\n\t\t\t\t\t\tdescription: 'Occurs whenever an order payment attempt succeeds.',\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tname: 'Order Updated',\n\t\t\t\t\t\tvalue: 'order.updated',\n\t\t\t\t\t\tdescription: 'Occurs whenever an order is updated.',\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tname: 'Order Return.created',\n\t\t\t\t\t\tvalue: 'order_return.created',\n\t\t\t\t\t\tdescription: 'Occurs whenever an order return is created.',\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tname: 'Payment Intent.amount_capturable_updated',\n\t\t\t\t\t\tvalue: 'payment_intent.amount_capturable_updated',\n\t\t\t\t\t\tdescription:\n\t\t\t\t\t\t\t'Occurs when a PaymentIntent has funds to be captured. Check the amount_capturable property on the PaymentIntent to determine the amount that can be captured. You may capture the PaymentIntent with an amount_to_capture value up to the specified amount. Learn more about capturing PaymentIntents.',\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tname: 'Payment Intent.canceled',\n\t\t\t\t\t\tvalue: 'payment_intent.canceled',\n\t\t\t\t\t\tdescription: 'Occurs when a PaymentIntent is canceled.',\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tname: 'Payment Intent.created',\n\t\t\t\t\t\tvalue: 'payment_intent.created',\n\t\t\t\t\t\tdescription: 'Occurs when a new PaymentIntent is created.',\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tname: 'Payment Intent.payment_failed',\n\t\t\t\t\t\tvalue: 'payment_intent.payment_failed',\n\t\t\t\t\t\tdescription:\n\t\t\t\t\t\t\t'Occurs when a PaymentIntent has failed the attempt to create a source or a payment.',\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tname: 'Payment Intent.succeeded',\n\t\t\t\t\t\tvalue: 'payment_intent.succeeded',\n\t\t\t\t\t\tdescription: 'Occurs when a PaymentIntent has been successfully fulfilled.',\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tname: 'Payment Intent.requires_action',\n\t\t\t\t\t\tvalue: 'payment_intent.requires_action',\n\t\t\t\t\t\tdescription: 'Occurs when a PaymentIntent requires an action.',\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tname: 'Payment Method.attached',\n\t\t\t\t\t\tvalue: 'payment_method.attached',\n\t\t\t\t\t\tdescription: 'Occurs whenever a new payment method is attached to a customer.',\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tname: 'Payment Method.card_automatically_updated',\n\t\t\t\t\t\tvalue: 'payment_method.card_automatically_updated',\n\t\t\t\t\t\tdescription:\n\t\t\t\t\t\t\t\"Occurs whenever a card payment method's details are automatically updated by the network.\",\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tname: 'Payment Method.detached',\n\t\t\t\t\t\tvalue: 'payment_method.detached',\n\t\t\t\t\t\tdescription: 'Occurs whenever a payment method is detached from a customer.',\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tname: 'Payment Method.updated',\n\t\t\t\t\t\tvalue: 'payment_method.updated',\n\t\t\t\t\t\tdescription:\n\t\t\t\t\t\t\t'Occurs whenever a payment method is updated via the PaymentMethod update API.',\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tname: 'Payout Canceled',\n\t\t\t\t\t\tvalue: 'payout.canceled',\n\t\t\t\t\t\tdescription: 'Occurs whenever a payout is canceled.',\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tname: 'Payout Created',\n\t\t\t\t\t\tvalue: 'payout.created',\n\t\t\t\t\t\tdescription: 'Occurs whenever a payout is created.',\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tname: 'Payout Failed',\n\t\t\t\t\t\tvalue: 'payout.failed',\n\t\t\t\t\t\tdescription: 'Occurs whenever a payout attempt fails.',\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tname: 'Payout Paid',\n\t\t\t\t\t\tvalue: 'payout.paid',\n\t\t\t\t\t\tdescription:\n\t\t\t\t\t\t\t'Occurs whenever a payout is expected to be available in the destination account. If the payout fails, a payout.failed notification is also sent, at a later time.',\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tname: 'Payout Updated',\n\t\t\t\t\t\tvalue: 'payout.updated',\n\t\t\t\t\t\tdescription: 'Occurs whenever a payout is updated.',\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tname: 'Person Created',\n\t\t\t\t\t\tvalue: 'person.created',\n\t\t\t\t\t\tdescription: 'Occurs whenever a person associated with an account is created.',\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tname: 'Person Deleted',\n\t\t\t\t\t\tvalue: 'person.deleted',\n\t\t\t\t\t\tdescription: 'Occurs whenever a person associated with an account is deleted.',\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tname: 'Person Updated',\n\t\t\t\t\t\tvalue: 'person.updated',\n\t\t\t\t\t\tdescription: 'Occurs whenever a person associated with an account is updated.',\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tname: 'Plan Created',\n\t\t\t\t\t\tvalue: 'plan.created',\n\t\t\t\t\t\tdescription: 'Occurs whenever a plan is created.',\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tname: 'Plan Deleted',\n\t\t\t\t\t\tvalue: 'plan.deleted',\n\t\t\t\t\t\tdescription: 'Occurs whenever a plan is deleted.',\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tname: 'Plan Updated',\n\t\t\t\t\t\tvalue: 'plan.updated',\n\t\t\t\t\t\tdescription: 'Occurs whenever a plan is updated.',\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tname: 'Product Created',\n\t\t\t\t\t\tvalue: 'product.created',\n\t\t\t\t\t\tdescription: 'Occurs whenever a product is created.',\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tname: 'Product Deleted',\n\t\t\t\t\t\tvalue: 'product.deleted',\n\t\t\t\t\t\tdescription: 'Occurs whenever a product is deleted.',\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tname: 'Product Updated',\n\t\t\t\t\t\tvalue: 'product.updated',\n\t\t\t\t\t\tdescription: 'Occurs whenever a product is updated.',\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tname: 'Radar Early_fraud_warning.created',\n\t\t\t\t\t\tvalue: 'radar.early_fraud_warning.created',\n\t\t\t\t\t\tdescription: 'Occurs whenever an early fraud warning is created.',\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tname: 'Radar Early_fraud_warning.updated',\n\t\t\t\t\t\tvalue: 'radar.early_fraud_warning.updated',\n\t\t\t\t\t\tdescription: 'Occurs whenever an early fraud warning is updated.',\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tname: 'Recipient Created',\n\t\t\t\t\t\tvalue: 'recipient.created',\n\t\t\t\t\t\tdescription: 'Occurs whenever a recipient is created.',\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tname: 'Recipient Deleted',\n\t\t\t\t\t\tvalue: 'recipient.deleted',\n\t\t\t\t\t\tdescription: 'Occurs whenever a recipient is deleted.',\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tname: 'Recipient Updated',\n\t\t\t\t\t\tvalue: 'recipient.updated',\n\t\t\t\t\t\tdescription: 'Occurs whenever a recipient is updated.',\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tname: 'Reporting Report_run.failed',\n\t\t\t\t\t\tvalue: 'reporting.report_run.failed',\n\t\t\t\t\t\tdescription: 'Occurs whenever a requested **ReportRun** failed to complete.',\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tname: 'Reporting Report_run.succeeded',\n\t\t\t\t\t\tvalue: 'reporting.report_run.succeeded',\n\t\t\t\t\t\tdescription: 'Occurs whenever a requested **ReportRun** completed succesfully.',\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tname: 'Reporting Report_type.updated',\n\t\t\t\t\t\tvalue: 'reporting.report_type.updated',\n\t\t\t\t\t\tdescription:\n\t\t\t\t\t\t\t\"Occurs whenever a **ReportType** is updated (typically to indicate that a new day's data has come available).\",\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tname: 'Review Closed',\n\t\t\t\t\t\tvalue: 'review.closed',\n\t\t\t\t\t\tdescription:\n\t\t\t\t\t\t\t\"Occurs whenever a review is closed. The review's reason field indicates why: approved, disputed, refunded, or refunded_as_fraud.\",\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tname: 'Review Opened',\n\t\t\t\t\t\tvalue: 'review.opened',\n\t\t\t\t\t\tdescription: 'Occurs whenever a review is opened.',\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tname: 'Setup Intent.canceled',\n\t\t\t\t\t\tvalue: 'setup_intent.canceled',\n\t\t\t\t\t\tdescription: 'Occurs when a SetupIntent is canceled.',\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tname: 'Setup Intent.created',\n\t\t\t\t\t\tvalue: 'setup_intent.created',\n\t\t\t\t\t\tdescription: 'Occurs when a new SetupIntent is created.',\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tname: 'Setup Intent.setup_failed',\n\t\t\t\t\t\tvalue: 'setup_intent.setup_failed',\n\t\t\t\t\t\tdescription:\n\t\t\t\t\t\t\t'Occurs when a SetupIntent has failed the attempt to setup a payment method.',\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tname: 'Setup Intent.succeeded',\n\t\t\t\t\t\tvalue: 'setup_intent.succeeded',\n\t\t\t\t\t\tdescription: 'Occurs when an SetupIntent has successfully setup a payment method.',\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tname: 'Sigma Scheduled_query_run.created',\n\t\t\t\t\t\tvalue: 'sigma.scheduled_query_run.created',\n\t\t\t\t\t\tdescription: 'Occurs whenever a Sigma scheduled query run finishes.',\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tname: 'Sku Created',\n\t\t\t\t\t\tvalue: 'sku.created',\n\t\t\t\t\t\tdescription: 'Occurs whenever a SKU is created.',\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tname: 'Sku Deleted',\n\t\t\t\t\t\tvalue: 'sku.deleted',\n\t\t\t\t\t\tdescription: 'Occurs whenever a SKU is deleted.',\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tname: 'Sku Updated',\n\t\t\t\t\t\tvalue: 'sku.updated',\n\t\t\t\t\t\tdescription: 'Occurs whenever a SKU is updated.',\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tname: 'Source Canceled',\n\t\t\t\t\t\tvalue: 'source.canceled',\n\t\t\t\t\t\tdescription: 'Occurs whenever a source is canceled.',\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tname: 'Source Chargeable',\n\t\t\t\t\t\tvalue: 'source.chargeable',\n\t\t\t\t\t\tdescription: 'Occurs whenever a source transitions to chargeable.',\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tname: 'Source Failed',\n\t\t\t\t\t\tvalue: 'source.failed',\n\t\t\t\t\t\tdescription: 'Occurs whenever a source fails.',\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tname: 'Source Mandate_notification',\n\t\t\t\t\t\tvalue: 'source.mandate_notification',\n\t\t\t\t\t\tdescription: 'Occurs whenever a source mandate notification method is set to manual.',\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tname: 'Source Refund_attributes_required',\n\t\t\t\t\t\tvalue: 'source.refund_attributes_required',\n\t\t\t\t\t\tdescription:\n\t\t\t\t\t\t\t'Occurs whenever the refund attributes are required on a receiver source to process a refund or a mispayment.',\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tname: 'Source Transaction.created',\n\t\t\t\t\t\tvalue: 'source.transaction.created',\n\t\t\t\t\t\tdescription: 'Occurs whenever a source transaction is created.',\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tname: 'Source Transaction.updated',\n\t\t\t\t\t\tvalue: 'source.transaction.updated',\n\t\t\t\t\t\tdescription: 'Occurs whenever a source transaction is updated.',\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tname: 'Subscription Schedule.aborted',\n\t\t\t\t\t\tvalue: 'subscription_schedule.aborted',\n\t\t\t\t\t\tdescription:\n\t\t\t\t\t\t\t'Occurs whenever a subscription schedule is canceled due to the underlying subscription being canceled because of delinquency.',\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tname: 'Subscription Schedule.canceled',\n\t\t\t\t\t\tvalue: 'subscription_schedule.canceled',\n\t\t\t\t\t\tdescription: 'Occurs whenever a subscription schedule is canceled.',\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tname: 'Subscription Schedule.completed',\n\t\t\t\t\t\tvalue: 'subscription_schedule.completed',\n\t\t\t\t\t\tdescription: 'Occurs whenever a new subscription schedule is completed.',\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tname: 'Subscription Schedule.created',\n\t\t\t\t\t\tvalue: 'subscription_schedule.created',\n\t\t\t\t\t\tdescription: 'Occurs whenever a new subscription schedule is created.',\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tname: 'Subscription Schedule.expiring',\n\t\t\t\t\t\tvalue: 'subscription_schedule.expiring',\n\t\t\t\t\t\tdescription: 'Occurs 7 days before a subscription schedule will expire.',\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tname: 'Subscription Schedule.released',\n\t\t\t\t\t\tvalue: 'subscription_schedule.released',\n\t\t\t\t\t\tdescription: 'Occurs whenever a new subscription schedule is released.',\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tname: 'Subscription Schedule.updated',\n\t\t\t\t\t\tvalue: 'subscription_schedule.updated',\n\t\t\t\t\t\tdescription: 'Occurs whenever a subscription schedule is updated.',\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tname: 'Tax Rate.created',\n\t\t\t\t\t\tvalue: 'tax_rate.created',\n\t\t\t\t\t\tdescription: 'Occurs whenever a new tax rate is created.',\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tname: 'Tax Rate.updated',\n\t\t\t\t\t\tvalue: 'tax_rate.updated',\n\t\t\t\t\t\tdescription: 'Occurs whenever a tax rate is updated.',\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tname: 'Topup Canceled',\n\t\t\t\t\t\tvalue: 'topup.canceled',\n\t\t\t\t\t\tdescription: 'Occurs whenever a top-up is canceled.',\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tname: 'Topup Created',\n\t\t\t\t\t\tvalue: 'topup.created',\n\t\t\t\t\t\tdescription: 'Occurs whenever a top-up is created.',\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tname: 'Topup Failed',\n\t\t\t\t\t\tvalue: 'topup.failed',\n\t\t\t\t\t\tdescription: 'Occurs whenever a top-up fails.',\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tname: 'Topup Reversed',\n\t\t\t\t\t\tvalue: 'topup.reversed',\n\t\t\t\t\t\tdescription: 'Occurs whenever a top-up is reversed.',\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tname: 'Topup Succeeded',\n\t\t\t\t\t\tvalue: 'topup.succeeded',\n\t\t\t\t\t\tdescription: 'Occurs whenever a top-up succeeds.',\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tname: 'Transfer Created',\n\t\t\t\t\t\tvalue: 'transfer.created',\n\t\t\t\t\t\tdescription: 'Occurs whenever a transfer is created.',\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tname: 'Transfer Failed',\n\t\t\t\t\t\tvalue: 'transfer.failed',\n\t\t\t\t\t\tdescription: 'Occurs whenever a transfer failed.',\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tname: 'Transfer Paid',\n\t\t\t\t\t\tvalue: 'transfer.paid',\n\t\t\t\t\t\tdescription:\n\t\t\t\t\t\t\t'Occurs after a transfer is paid. For Instant Payouts, the event will be sent on the next business day, although the funds should be received well beforehand.',\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tname: 'Transfer Reversed',\n\t\t\t\t\t\tvalue: 'transfer.reversed',\n\t\t\t\t\t\tdescription: 'Occurs whenever a transfer is reversed, including partial reversals.',\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tname: 'Transfer Updated',\n\t\t\t\t\t\tvalue: 'transfer.updated',\n\t\t\t\t\t\tdescription: \"Occurs whenever a transfer's description or metadata is updated.\",\n\t\t\t\t\t},\n\t\t\t\t],\n\t\t\t},\n\t\t],\n\t};\n\n\twebhookMethods = {\n\t\tdefault: {\n\t\t\tasync checkExists(this: IHookFunctions): Promise<boolean> {\n\t\t\t\tconst webhookData = this.getWorkflowStaticData('node');\n\n\t\t\t\tif (webhookData.webhookId === undefined) {\n\t\t\t\t\t// No webhook id is set so no webhook can exist\n\t\t\t\t\treturn false;\n\t\t\t\t}\n\n\t\t\t\t// Webhook got created before so check if it still exists\n\t\t\t\tconst endpoint = `/webhook_endpoints/${webhookData.webhookId}`;\n\n\t\t\t\ttry {\n\t\t\t\t\tawait stripeApiRequest.call(this, 'GET', endpoint, {});\n\t\t\t\t} catch (error) {\n\t\t\t\t\tif (error.httpCode === '404' || error.message.includes('resource_missing')) {\n\t\t\t\t\t\t// Webhook does not exist\n\t\t\t\t\t\tdelete webhookData.webhookId;\n\t\t\t\t\t\tdelete webhookData.webhookEvents;\n\t\t\t\t\t\tdelete webhookData.webhookSecret;\n\n\t\t\t\t\t\treturn false;\n\t\t\t\t\t}\n\n\t\t\t\t\t// Some error occured\n\t\t\t\t\tthrow error;\n\t\t\t\t}\n\n\t\t\t\t// If it did not error then the webhook exists\n\t\t\t\treturn true;\n\t\t\t},\n\t\t\tasync create(this: IHookFunctions): Promise<boolean> {\n\t\t\t\tconst webhookUrl = this.getNodeWebhookUrl('default');\n\n\t\t\t\tconst webhookDescription = `Created by n8n for workflow ID: ${this.getWorkflow().id}`;\n\n\t\t\t\tconst events = this.getNodeParameter('events', []);\n\n\t\t\t\tconst endpoint = '/webhook_endpoints';\n\n\t\t\t\tconst body = {\n\t\t\t\t\turl: webhookUrl,\n\t\t\t\t\tdescription: webhookDescription,\n\t\t\t\t\tenabled_events: events,\n\t\t\t\t};\n\n\t\t\t\tconst responseData = await stripeApiRequest.call(this, 'POST', endpoint, body);\n\n\t\t\t\tif (\n\t\t\t\t\tresponseData.id === undefined ||\n\t\t\t\t\tresponseData.secret === undefined ||\n\t\t\t\t\tresponseData.status !== 'enabled'\n\t\t\t\t) {\n\t\t\t\t\t// Required data is missing so was not successful\n\t\t\t\t\tthrow new NodeApiError(this.getNode(), responseData as JsonObject, {\n\t\t\t\t\t\tmessage: 'Stripe webhook creation response did not contain the expected data.',\n\t\t\t\t\t});\n\t\t\t\t}\n\n\t\t\t\tconst webhookData = this.getWorkflowStaticData('node');\n\t\t\t\twebhookData.webhookId = responseData.id as string;\n\t\t\t\twebhookData.webhookEvents = responseData.enabled_events as string[];\n\t\t\t\twebhookData.webhookSecret = responseData.secret as string;\n\n\t\t\t\treturn true;\n\t\t\t},\n\t\t\tasync delete(this: IHookFunctions): Promise<boolean> {\n\t\t\t\tconst webhookData = this.getWorkflowStaticData('node');\n\n\t\t\t\tif (webhookData.webhookId !== undefined) {\n\t\t\t\t\tconst endpoint = `/webhook_endpoints/${webhookData.webhookId}`;\n\t\t\t\t\tconst body = {};\n\n\t\t\t\t\ttry {\n\t\t\t\t\t\tawait stripeApiRequest.call(this, 'DELETE', endpoint, body);\n\t\t\t\t\t} catch (error) {\n\t\t\t\t\t\treturn false;\n\t\t\t\t\t}\n\n\t\t\t\t\t// Remove from the static workflow data so that it is clear\n\t\t\t\t\t// that no webhooks are registered anymore\n\t\t\t\t\tdelete webhookData.webhookId;\n\t\t\t\t\tdelete webhookData.webhookEvents;\n\t\t\t\t\tdelete webhookData.webhookSecret;\n\t\t\t\t}\n\n\t\t\t\treturn true;\n\t\t\t},\n\t\t},\n\t};\n\n\tasync webhook(this: IWebhookFunctions): Promise<IWebhookResponseData> {\n\t\tconst bodyData = this.getBodyData();\n\t\tconst req = this.getRequestObject();\n\n\t\tconst events = this.getNodeParameter('events', []) as string[];\n\n\t\tconst eventType = bodyData.type as string | undefined;\n\n\t\tif (eventType === undefined || (!events.includes('*') && !events.includes(eventType))) {\n\t\t\t// If not eventType is defined or when one is defined but we are not\n\t\t\t// listening to it do not start the workflow.\n\t\t\treturn {};\n\t\t}\n\n\t\treturn {\n\t\t\tworkflowData: [this.helpers.returnJsonArray(req.body as IDataObject)],\n\t\t};\n\t}\n}\n"],"mappings":"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","names":[]}
1
+ {"version":3,"sources":["../../../nodes/Stripe/StripeTrigger.node.ts"],"sourcesContent":["/* eslint-disable n8n-nodes-base/node-param-description-excess-final-period */\nimport type {\n\tIDataObject,\n\tIHookFunctions,\n\tIWebhookFunctions,\n\tINodeType,\n\tINodeTypeDescription,\n\tIWebhookResponseData,\n\tJsonObject,\n\tNodeParameterValue,\n} from 'n8n-workflow';\nimport { NodeApiError, NodeConnectionTypes } from 'n8n-workflow';\n\nimport { stripeApiRequest } from './helpers';\n\nexport class StripeTrigger implements INodeType {\n\tdescription: INodeTypeDescription = {\n\t\tdisplayName: 'Stripe Trigger',\n\t\tname: 'stripeTrigger',\n\t\ticon: 'file:stripe.svg',\n\t\tgroup: ['trigger'],\n\t\tversion: 1,\n\t\tdescription: 'Handle Stripe events via webhooks',\n\t\tdefaults: {\n\t\t\tname: 'Stripe Trigger',\n\t\t},\n\t\tinputs: [],\n\t\toutputs: [NodeConnectionTypes.Main],\n\t\tcredentials: [\n\t\t\t{\n\t\t\t\tname: 'stripeApi',\n\t\t\t\trequired: true,\n\t\t\t},\n\t\t],\n\t\twebhooks: [\n\t\t\t{\n\t\t\t\tname: 'default',\n\t\t\t\thttpMethod: 'POST',\n\t\t\t\tresponseMode: 'onReceived',\n\t\t\t\tpath: 'webhook',\n\t\t\t},\n\t\t],\n\t\tproperties: [\n\t\t\t{\n\t\t\t\tdisplayName: 'Events',\n\t\t\t\tname: 'events',\n\t\t\t\ttype: 'multiOptions',\n\t\t\t\trequired: true,\n\t\t\t\tdefault: [],\n\t\t\t\tdescription: 'The event to listen to',\n\t\t\t\t// eslint-disable-next-line n8n-nodes-base/node-param-multi-options-type-unsorted-items\n\t\t\t\toptions: [\n\t\t\t\t\t{\n\t\t\t\t\t\tname: '*',\n\t\t\t\t\t\tvalue: '*',\n\t\t\t\t\t\tdescription: 'Any time any event is triggered (Wildcard Event)',\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tname: 'Account Updated',\n\t\t\t\t\t\tvalue: 'account.updated',\n\t\t\t\t\t\tdescription: 'Occurs whenever an account status or property has changed',\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tname: 'Account Application.authorized',\n\t\t\t\t\t\tvalue: 'account.application.authorized',\n\t\t\t\t\t\tdescription:\n\t\t\t\t\t\t\t'Occurs whenever a user authorizes an application. Sent to the related application only.',\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tname: 'Account Application.deauthorized',\n\t\t\t\t\t\tvalue: 'account.application.deauthorized',\n\t\t\t\t\t\tdescription:\n\t\t\t\t\t\t\t'Occurs whenever a user deauthorizes an application. Sent to the related application only.',\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tname: 'Account External_account.created',\n\t\t\t\t\t\tvalue: 'account.external_account.created',\n\t\t\t\t\t\tdescription: 'Occurs whenever an external account is created.',\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tname: 'Account External_account.deleted',\n\t\t\t\t\t\tvalue: 'account.external_account.deleted',\n\t\t\t\t\t\tdescription: 'Occurs whenever an external account is deleted.',\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tname: 'Account External_account.updated',\n\t\t\t\t\t\tvalue: 'account.external_account.updated',\n\t\t\t\t\t\tdescription: 'Occurs whenever an external account is updated.',\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tname: 'Application Fee.created',\n\t\t\t\t\t\tvalue: 'application_fee.created',\n\t\t\t\t\t\tdescription: 'Occurs whenever an application fee is created on a charge.',\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tname: 'Application Fee.refunded',\n\t\t\t\t\t\tvalue: 'application_fee.refunded',\n\t\t\t\t\t\tdescription:\n\t\t\t\t\t\t\t'Occurs whenever an application fee is refunded, whether from refunding a charge or from refunding the application fee directly. This includes partial refunds.',\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tname: 'Application Fee.refund.updated',\n\t\t\t\t\t\tvalue: 'application_fee.refund.updated',\n\t\t\t\t\t\tdescription: 'Occurs whenever an application fee refund is updated.',\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tname: 'Balance Available',\n\t\t\t\t\t\tvalue: 'balance.available',\n\t\t\t\t\t\tdescription:\n\t\t\t\t\t\t\t'Occurs whenever your Stripe balance has been updated (e.g., when a charge is available to be paid out). By default, Stripe automatically transfers funds in your balance to your bank account on a daily basis.',\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tname: 'Capability Updated',\n\t\t\t\t\t\tvalue: 'capability.updated',\n\t\t\t\t\t\tdescription: 'Occurs whenever a capability has new requirements or a new status.',\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tname: 'Charge Captured',\n\t\t\t\t\t\tvalue: 'charge.captured',\n\t\t\t\t\t\tdescription: 'Occurs whenever a previously uncaptured charge is captured.',\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tname: 'Charge Expired',\n\t\t\t\t\t\tvalue: 'charge.expired',\n\t\t\t\t\t\tdescription: 'Occurs whenever an uncaptured charge expires.',\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tname: 'Charge Failed',\n\t\t\t\t\t\tvalue: 'charge.failed',\n\t\t\t\t\t\tdescription: 'Occurs whenever a failed charge attempt occurs.',\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tname: 'Charge Pending',\n\t\t\t\t\t\tvalue: 'charge.pending',\n\t\t\t\t\t\tdescription: 'Occurs whenever a pending charge is created.',\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tname: 'Charge Refunded',\n\t\t\t\t\t\tvalue: 'charge.refunded',\n\t\t\t\t\t\tdescription: 'Occurs whenever a charge is refunded, including partial refunds.',\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tname: 'Charge Succeeded',\n\t\t\t\t\t\tvalue: 'charge.succeeded',\n\t\t\t\t\t\tdescription: 'Occurs whenever a new charge is created and is successful.',\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tname: 'Charge Updated',\n\t\t\t\t\t\tvalue: 'charge.updated',\n\t\t\t\t\t\tdescription: 'Occurs whenever a charge description or metadata is updated.',\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tname: 'Charge Dispute.closed',\n\t\t\t\t\t\tvalue: 'charge.dispute.closed',\n\t\t\t\t\t\tdescription:\n\t\t\t\t\t\t\t'Occurs when a dispute is closed and the dispute status changes to lost, warning_closed, or won.',\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tname: 'Charge Dispute.created',\n\t\t\t\t\t\tvalue: 'charge.dispute.created',\n\t\t\t\t\t\tdescription: 'Occurs whenever a customer disputes a charge with their bank.',\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tname: 'Charge Dispute.funds_reinstated',\n\t\t\t\t\t\tvalue: 'charge.dispute.funds_reinstated',\n\t\t\t\t\t\tdescription:\n\t\t\t\t\t\t\t'Occurs when funds are reinstated to your account after a dispute is closed. This includes partially refunded payments.',\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tname: 'Charge Dispute.funds_withdrawn',\n\t\t\t\t\t\tvalue: 'charge.dispute.funds_withdrawn',\n\t\t\t\t\t\tdescription: 'Occurs when funds are removed from your account due to a dispute.',\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tname: 'Charge Dispute.updated',\n\t\t\t\t\t\tvalue: 'charge.dispute.updated',\n\t\t\t\t\t\tdescription: 'Occurs when the dispute is updated (usually with evidence).',\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tname: 'Charge Refund.updated',\n\t\t\t\t\t\tvalue: 'charge.refund.updated',\n\t\t\t\t\t\tdescription: 'Occurs whenever a refund is updated, on selected payment methods.',\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tname: 'Checkout Session.completed',\n\t\t\t\t\t\tvalue: 'checkout.session.completed',\n\t\t\t\t\t\tdescription: 'Occurs when a Checkout Session has been successfully completed.',\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tname: 'Coupon Created',\n\t\t\t\t\t\tvalue: 'coupon.created',\n\t\t\t\t\t\tdescription: 'Occurs whenever a coupon is created.',\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tname: 'Coupon Deleted',\n\t\t\t\t\t\tvalue: 'coupon.deleted',\n\t\t\t\t\t\tdescription: 'Occurs whenever a coupon is deleted.',\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tname: 'Coupon Updated',\n\t\t\t\t\t\tvalue: 'coupon.updated',\n\t\t\t\t\t\tdescription: 'Occurs whenever a coupon is updated.',\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tname: 'Credit Note.created',\n\t\t\t\t\t\tvalue: 'credit_note.created',\n\t\t\t\t\t\tdescription: 'Occurs whenever a credit note is created.',\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tname: 'Credit Note.updated',\n\t\t\t\t\t\tvalue: 'credit_note.updated',\n\t\t\t\t\t\tdescription: 'Occurs whenever a credit note is updated.',\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tname: 'Credit Note.voided',\n\t\t\t\t\t\tvalue: 'credit_note.voided',\n\t\t\t\t\t\tdescription: 'Occurs whenever a credit note is voided.',\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tname: 'Customer Created',\n\t\t\t\t\t\tvalue: 'customer.created',\n\t\t\t\t\t\tdescription: 'Occurs whenever a new customer is created.',\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tname: 'Customer Deleted',\n\t\t\t\t\t\tvalue: 'customer.deleted',\n\t\t\t\t\t\tdescription: 'Occurs whenever a customer is deleted.',\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tname: 'Customer Updated',\n\t\t\t\t\t\tvalue: 'customer.updated',\n\t\t\t\t\t\tdescription: 'Occurs whenever any property of a customer changes.',\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tname: 'Customer Discount.created',\n\t\t\t\t\t\tvalue: 'customer.discount.created',\n\t\t\t\t\t\tdescription: 'Occurs whenever a coupon is attached to a customer.',\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tname: 'Customer Discount.deleted',\n\t\t\t\t\t\tvalue: 'customer.discount.deleted',\n\t\t\t\t\t\tdescription: 'Occurs whenever a coupon is removed from a customer.',\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tname: 'Customer Discount.updated',\n\t\t\t\t\t\tvalue: 'customer.discount.updated',\n\t\t\t\t\t\tdescription: 'Occurs whenever a customer is switched from one coupon to another.',\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tname: 'Customer Source.created',\n\t\t\t\t\t\tvalue: 'customer.source.created',\n\t\t\t\t\t\tdescription: 'Occurs whenever a new source is created for a customer.',\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tname: 'Customer Source.deleted',\n\t\t\t\t\t\tvalue: 'customer.source.deleted',\n\t\t\t\t\t\tdescription: 'Occurs whenever a source is removed from a customer.',\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tname: 'Customer Source.expiring',\n\t\t\t\t\t\tvalue: 'customer.source.expiring',\n\t\t\t\t\t\tdescription: 'Occurs whenever a card or source will expire at the end of the month.',\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tname: 'Customer Source.updated',\n\t\t\t\t\t\tvalue: 'customer.source.updated',\n\t\t\t\t\t\tdescription: \"Occurs whenever a source's details are changed.\",\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tname: 'Customer Subscription.created',\n\t\t\t\t\t\tvalue: 'customer.subscription.created',\n\t\t\t\t\t\tdescription: 'Occurs whenever a customer is signed up for a new plan.',\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tname: 'Customer Subscription.deleted',\n\t\t\t\t\t\tvalue: 'customer.subscription.deleted',\n\t\t\t\t\t\tdescription: \"Occurs whenever a customer's subscription ends.\",\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tname: 'Customer Subscription.trial_will_end',\n\t\t\t\t\t\tvalue: 'customer.subscription.trial_will_end',\n\t\t\t\t\t\tdescription:\n\t\t\t\t\t\t\t\"Occurs three days before a subscription's trial period is scheduled to end, or when a trial is ended immediately (using trial_end=now).\",\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tname: 'Customer Subscription.updated',\n\t\t\t\t\t\tvalue: 'customer.subscription.updated',\n\t\t\t\t\t\tdescription:\n\t\t\t\t\t\t\t'Occurs whenever a subscription changes (e.g., switching from one plan to another, or changing the status from trial to active).',\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tname: 'Customer Tax_id.created',\n\t\t\t\t\t\tvalue: 'customer.tax_id.created',\n\t\t\t\t\t\tdescription: 'Occurs whenever a tax ID is created for a customer.',\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tname: 'Customer Tax_id.deleted',\n\t\t\t\t\t\tvalue: 'customer.tax_id.deleted',\n\t\t\t\t\t\tdescription: 'Occurs whenever a tax ID is deleted from a customer.',\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tname: 'Customer Tax_id.updated',\n\t\t\t\t\t\tvalue: 'customer.tax_id.updated',\n\t\t\t\t\t\tdescription: \"Occurs whenever a customer's tax ID is updated.\",\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tname: 'File Created',\n\t\t\t\t\t\tvalue: 'file.created',\n\t\t\t\t\t\tdescription:\n\t\t\t\t\t\t\t'Occurs whenever a new Stripe-generated file is available for your account.',\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tname: 'Invoice Created',\n\t\t\t\t\t\tvalue: 'invoice.created',\n\t\t\t\t\t\tdescription:\n\t\t\t\t\t\t\t'Occurs whenever a new invoice is created. To learn how webhooks can be used with this event, and how they can affect it, see Using Webhooks with Subscriptions.',\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tname: 'Invoice Deleted',\n\t\t\t\t\t\tvalue: 'invoice.deleted',\n\t\t\t\t\t\tdescription: 'Occurs whenever a draft invoice is deleted.',\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tname: 'Invoice Finalized',\n\t\t\t\t\t\tvalue: 'invoice.finalized',\n\t\t\t\t\t\tdescription:\n\t\t\t\t\t\t\t'Occurs whenever a draft invoice is finalized and updated to be an open invoice.',\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tname: 'Invoice Marked_uncollectible',\n\t\t\t\t\t\tvalue: 'invoice.marked_uncollectible',\n\t\t\t\t\t\tdescription: 'Occurs whenever an invoice is marked uncollectible.',\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tname: 'Invoice Payment_action_required',\n\t\t\t\t\t\tvalue: 'invoice.payment_action_required',\n\t\t\t\t\t\tdescription:\n\t\t\t\t\t\t\t'Occurs whenever an invoice payment attempt requires further user action to complete.',\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tname: 'Invoice Payment_failed',\n\t\t\t\t\t\tvalue: 'invoice.payment_failed',\n\t\t\t\t\t\tdescription:\n\t\t\t\t\t\t\t'Occurs whenever an invoice payment attempt fails, due either to a declined payment or to the lack of a stored payment method.',\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tname: 'Invoice Payment_succeeded',\n\t\t\t\t\t\tvalue: 'invoice.payment_succeeded',\n\t\t\t\t\t\tdescription: 'Occurs whenever an invoice payment attempt succeeds.',\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tname: 'Invoice Sent',\n\t\t\t\t\t\tvalue: 'invoice.sent',\n\t\t\t\t\t\tdescription: 'Occurs whenever an invoice email is sent out.',\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tname: 'Invoice Upcoming',\n\t\t\t\t\t\tvalue: 'invoice.upcoming',\n\t\t\t\t\t\tdescription:\n\t\t\t\t\t\t\t'Occurs X number of days before a subscription is scheduled to create an invoice that is automatically charged—where X is determined by your subscriptions settings. Note: The received Invoice object will not have an invoice ID.',\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tname: 'Invoice Updated',\n\t\t\t\t\t\tvalue: 'invoice.updated',\n\t\t\t\t\t\tdescription: 'Occurs whenever an invoice changes (e.g., the invoice amount).',\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tname: 'Invoice Voided',\n\t\t\t\t\t\tvalue: 'invoice.voided',\n\t\t\t\t\t\tdescription: 'Occurs whenever an invoice is voided.',\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tname: 'Invoiceitem Created',\n\t\t\t\t\t\tvalue: 'invoiceitem.created',\n\t\t\t\t\t\tdescription: 'Occurs whenever an invoice item is created.',\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tname: 'Invoiceitem Deleted',\n\t\t\t\t\t\tvalue: 'invoiceitem.deleted',\n\t\t\t\t\t\tdescription: 'Occurs whenever an invoice item is deleted.',\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tname: 'Invoiceitem Updated',\n\t\t\t\t\t\tvalue: 'invoiceitem.updated',\n\t\t\t\t\t\tdescription: 'Occurs whenever an invoice item is updated.',\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tname: 'Issuing Authorization.created',\n\t\t\t\t\t\tvalue: 'issuing_authorization.created',\n\t\t\t\t\t\tdescription: 'Occurs whenever an authorization is created.',\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tname: 'Issuing Authorization.request',\n\t\t\t\t\t\tvalue: 'issuing_authorization.request',\n\t\t\t\t\t\tdescription:\n\t\t\t\t\t\t\t'Represents a synchronous request for authorization, see Using your integration to handle authorization requests.',\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tname: 'Issuing Authorization.updated',\n\t\t\t\t\t\tvalue: 'issuing_authorization.updated',\n\t\t\t\t\t\tdescription: 'Occurs whenever an authorization is updated.',\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tname: 'Issuing Card.created',\n\t\t\t\t\t\tvalue: 'issuing_card.created',\n\t\t\t\t\t\tdescription: 'Occurs whenever a card is created.',\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tname: 'Issuing Card.updated',\n\t\t\t\t\t\tvalue: 'issuing_card.updated',\n\t\t\t\t\t\tdescription: 'Occurs whenever a card is updated.',\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tname: 'Issuing Cardholder.created',\n\t\t\t\t\t\tvalue: 'issuing_cardholder.created',\n\t\t\t\t\t\tdescription: 'Occurs whenever a cardholder is created.',\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tname: 'Issuing Cardholder.updated',\n\t\t\t\t\t\tvalue: 'issuing_cardholder.updated',\n\t\t\t\t\t\tdescription: 'Occurs whenever a cardholder is updated.',\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tname: 'Issuing Dispute.created',\n\t\t\t\t\t\tvalue: 'issuing_dispute.created',\n\t\t\t\t\t\tdescription: 'Occurs whenever a dispute is created.',\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tname: 'Issuing Dispute.updated',\n\t\t\t\t\t\tvalue: 'issuing_dispute.updated',\n\t\t\t\t\t\tdescription: 'Occurs whenever a dispute is updated.',\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tname: 'Issuing Settlement.created',\n\t\t\t\t\t\tvalue: 'issuing_settlement.created',\n\t\t\t\t\t\tdescription: 'Occurs whenever an issuing settlement is created.',\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tname: 'Issuing Settlement.updated',\n\t\t\t\t\t\tvalue: 'issuing_settlement.updated',\n\t\t\t\t\t\tdescription: 'Occurs whenever an issuing settlement is updated.',\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tname: 'Issuing Transaction.created',\n\t\t\t\t\t\tvalue: 'issuing_transaction.created',\n\t\t\t\t\t\tdescription: 'Occurs whenever an issuing transaction is created.',\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tname: 'Issuing Transaction.updated',\n\t\t\t\t\t\tvalue: 'issuing_transaction.updated',\n\t\t\t\t\t\tdescription: 'Occurs whenever an issuing transaction is updated.',\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tname: 'Order Created',\n\t\t\t\t\t\tvalue: 'order.created',\n\t\t\t\t\t\tdescription: 'Occurs whenever an order is created.',\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tname: 'Order Payment_failed',\n\t\t\t\t\t\tvalue: 'order.payment_failed',\n\t\t\t\t\t\tdescription: 'Occurs whenever an order payment attempt fails.',\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tname: 'Order Payment_succeeded',\n\t\t\t\t\t\tvalue: 'order.payment_succeeded',\n\t\t\t\t\t\tdescription: 'Occurs whenever an order payment attempt succeeds.',\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tname: 'Order Updated',\n\t\t\t\t\t\tvalue: 'order.updated',\n\t\t\t\t\t\tdescription: 'Occurs whenever an order is updated.',\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tname: 'Order Return.created',\n\t\t\t\t\t\tvalue: 'order_return.created',\n\t\t\t\t\t\tdescription: 'Occurs whenever an order return is created.',\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tname: 'Payment Intent.amount_capturable_updated',\n\t\t\t\t\t\tvalue: 'payment_intent.amount_capturable_updated',\n\t\t\t\t\t\tdescription:\n\t\t\t\t\t\t\t'Occurs when a PaymentIntent has funds to be captured. Check the amount_capturable property on the PaymentIntent to determine the amount that can be captured. You may capture the PaymentIntent with an amount_to_capture value up to the specified amount. Learn more about capturing PaymentIntents.',\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tname: 'Payment Intent.canceled',\n\t\t\t\t\t\tvalue: 'payment_intent.canceled',\n\t\t\t\t\t\tdescription: 'Occurs when a PaymentIntent is canceled.',\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tname: 'Payment Intent.created',\n\t\t\t\t\t\tvalue: 'payment_intent.created',\n\t\t\t\t\t\tdescription: 'Occurs when a new PaymentIntent is created.',\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tname: 'Payment Intent.payment_failed',\n\t\t\t\t\t\tvalue: 'payment_intent.payment_failed',\n\t\t\t\t\t\tdescription:\n\t\t\t\t\t\t\t'Occurs when a PaymentIntent has failed the attempt to create a source or a payment.',\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tname: 'Payment Intent.succeeded',\n\t\t\t\t\t\tvalue: 'payment_intent.succeeded',\n\t\t\t\t\t\tdescription: 'Occurs when a PaymentIntent has been successfully fulfilled.',\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tname: 'Payment Intent.requires_action',\n\t\t\t\t\t\tvalue: 'payment_intent.requires_action',\n\t\t\t\t\t\tdescription: 'Occurs when a PaymentIntent requires an action.',\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tname: 'Payment Method.attached',\n\t\t\t\t\t\tvalue: 'payment_method.attached',\n\t\t\t\t\t\tdescription: 'Occurs whenever a new payment method is attached to a customer.',\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tname: 'Payment Method.card_automatically_updated',\n\t\t\t\t\t\tvalue: 'payment_method.card_automatically_updated',\n\t\t\t\t\t\tdescription:\n\t\t\t\t\t\t\t\"Occurs whenever a card payment method's details are automatically updated by the network.\",\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tname: 'Payment Method.detached',\n\t\t\t\t\t\tvalue: 'payment_method.detached',\n\t\t\t\t\t\tdescription: 'Occurs whenever a payment method is detached from a customer.',\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tname: 'Payment Method.updated',\n\t\t\t\t\t\tvalue: 'payment_method.updated',\n\t\t\t\t\t\tdescription:\n\t\t\t\t\t\t\t'Occurs whenever a payment method is updated via the PaymentMethod update API.',\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tname: 'Payout Canceled',\n\t\t\t\t\t\tvalue: 'payout.canceled',\n\t\t\t\t\t\tdescription: 'Occurs whenever a payout is canceled.',\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tname: 'Payout Created',\n\t\t\t\t\t\tvalue: 'payout.created',\n\t\t\t\t\t\tdescription: 'Occurs whenever a payout is created.',\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tname: 'Payout Failed',\n\t\t\t\t\t\tvalue: 'payout.failed',\n\t\t\t\t\t\tdescription: 'Occurs whenever a payout attempt fails.',\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tname: 'Payout Paid',\n\t\t\t\t\t\tvalue: 'payout.paid',\n\t\t\t\t\t\tdescription:\n\t\t\t\t\t\t\t'Occurs whenever a payout is expected to be available in the destination account. If the payout fails, a payout.failed notification is also sent, at a later time.',\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tname: 'Payout Updated',\n\t\t\t\t\t\tvalue: 'payout.updated',\n\t\t\t\t\t\tdescription: 'Occurs whenever a payout is updated.',\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tname: 'Person Created',\n\t\t\t\t\t\tvalue: 'person.created',\n\t\t\t\t\t\tdescription: 'Occurs whenever a person associated with an account is created.',\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tname: 'Person Deleted',\n\t\t\t\t\t\tvalue: 'person.deleted',\n\t\t\t\t\t\tdescription: 'Occurs whenever a person associated with an account is deleted.',\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tname: 'Person Updated',\n\t\t\t\t\t\tvalue: 'person.updated',\n\t\t\t\t\t\tdescription: 'Occurs whenever a person associated with an account is updated.',\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tname: 'Plan Created',\n\t\t\t\t\t\tvalue: 'plan.created',\n\t\t\t\t\t\tdescription: 'Occurs whenever a plan is created.',\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tname: 'Plan Deleted',\n\t\t\t\t\t\tvalue: 'plan.deleted',\n\t\t\t\t\t\tdescription: 'Occurs whenever a plan is deleted.',\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tname: 'Plan Updated',\n\t\t\t\t\t\tvalue: 'plan.updated',\n\t\t\t\t\t\tdescription: 'Occurs whenever a plan is updated.',\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tname: 'Product Created',\n\t\t\t\t\t\tvalue: 'product.created',\n\t\t\t\t\t\tdescription: 'Occurs whenever a product is created.',\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tname: 'Product Deleted',\n\t\t\t\t\t\tvalue: 'product.deleted',\n\t\t\t\t\t\tdescription: 'Occurs whenever a product is deleted.',\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tname: 'Product Updated',\n\t\t\t\t\t\tvalue: 'product.updated',\n\t\t\t\t\t\tdescription: 'Occurs whenever a product is updated.',\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tname: 'Radar Early_fraud_warning.created',\n\t\t\t\t\t\tvalue: 'radar.early_fraud_warning.created',\n\t\t\t\t\t\tdescription: 'Occurs whenever an early fraud warning is created.',\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tname: 'Radar Early_fraud_warning.updated',\n\t\t\t\t\t\tvalue: 'radar.early_fraud_warning.updated',\n\t\t\t\t\t\tdescription: 'Occurs whenever an early fraud warning is updated.',\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tname: 'Recipient Created',\n\t\t\t\t\t\tvalue: 'recipient.created',\n\t\t\t\t\t\tdescription: 'Occurs whenever a recipient is created.',\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tname: 'Recipient Deleted',\n\t\t\t\t\t\tvalue: 'recipient.deleted',\n\t\t\t\t\t\tdescription: 'Occurs whenever a recipient is deleted.',\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tname: 'Recipient Updated',\n\t\t\t\t\t\tvalue: 'recipient.updated',\n\t\t\t\t\t\tdescription: 'Occurs whenever a recipient is updated.',\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tname: 'Reporting Report_run.failed',\n\t\t\t\t\t\tvalue: 'reporting.report_run.failed',\n\t\t\t\t\t\tdescription: 'Occurs whenever a requested **ReportRun** failed to complete.',\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tname: 'Reporting Report_run.succeeded',\n\t\t\t\t\t\tvalue: 'reporting.report_run.succeeded',\n\t\t\t\t\t\tdescription: 'Occurs whenever a requested **ReportRun** completed succesfully.',\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tname: 'Reporting Report_type.updated',\n\t\t\t\t\t\tvalue: 'reporting.report_type.updated',\n\t\t\t\t\t\tdescription:\n\t\t\t\t\t\t\t\"Occurs whenever a **ReportType** is updated (typically to indicate that a new day's data has come available).\",\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tname: 'Review Closed',\n\t\t\t\t\t\tvalue: 'review.closed',\n\t\t\t\t\t\tdescription:\n\t\t\t\t\t\t\t\"Occurs whenever a review is closed. The review's reason field indicates why: approved, disputed, refunded, or refunded_as_fraud.\",\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tname: 'Review Opened',\n\t\t\t\t\t\tvalue: 'review.opened',\n\t\t\t\t\t\tdescription: 'Occurs whenever a review is opened.',\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tname: 'Setup Intent.canceled',\n\t\t\t\t\t\tvalue: 'setup_intent.canceled',\n\t\t\t\t\t\tdescription: 'Occurs when a SetupIntent is canceled.',\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tname: 'Setup Intent.created',\n\t\t\t\t\t\tvalue: 'setup_intent.created',\n\t\t\t\t\t\tdescription: 'Occurs when a new SetupIntent is created.',\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tname: 'Setup Intent.setup_failed',\n\t\t\t\t\t\tvalue: 'setup_intent.setup_failed',\n\t\t\t\t\t\tdescription:\n\t\t\t\t\t\t\t'Occurs when a SetupIntent has failed the attempt to setup a payment method.',\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tname: 'Setup Intent.succeeded',\n\t\t\t\t\t\tvalue: 'setup_intent.succeeded',\n\t\t\t\t\t\tdescription: 'Occurs when an SetupIntent has successfully setup a payment method.',\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tname: 'Sigma Scheduled_query_run.created',\n\t\t\t\t\t\tvalue: 'sigma.scheduled_query_run.created',\n\t\t\t\t\t\tdescription: 'Occurs whenever a Sigma scheduled query run finishes.',\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tname: 'Sku Created',\n\t\t\t\t\t\tvalue: 'sku.created',\n\t\t\t\t\t\tdescription: 'Occurs whenever a SKU is created.',\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tname: 'Sku Deleted',\n\t\t\t\t\t\tvalue: 'sku.deleted',\n\t\t\t\t\t\tdescription: 'Occurs whenever a SKU is deleted.',\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tname: 'Sku Updated',\n\t\t\t\t\t\tvalue: 'sku.updated',\n\t\t\t\t\t\tdescription: 'Occurs whenever a SKU is updated.',\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tname: 'Source Canceled',\n\t\t\t\t\t\tvalue: 'source.canceled',\n\t\t\t\t\t\tdescription: 'Occurs whenever a source is canceled.',\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tname: 'Source Chargeable',\n\t\t\t\t\t\tvalue: 'source.chargeable',\n\t\t\t\t\t\tdescription: 'Occurs whenever a source transitions to chargeable.',\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tname: 'Source Failed',\n\t\t\t\t\t\tvalue: 'source.failed',\n\t\t\t\t\t\tdescription: 'Occurs whenever a source fails.',\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tname: 'Source Mandate_notification',\n\t\t\t\t\t\tvalue: 'source.mandate_notification',\n\t\t\t\t\t\tdescription: 'Occurs whenever a source mandate notification method is set to manual.',\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tname: 'Source Refund_attributes_required',\n\t\t\t\t\t\tvalue: 'source.refund_attributes_required',\n\t\t\t\t\t\tdescription:\n\t\t\t\t\t\t\t'Occurs whenever the refund attributes are required on a receiver source to process a refund or a mispayment.',\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tname: 'Source Transaction.created',\n\t\t\t\t\t\tvalue: 'source.transaction.created',\n\t\t\t\t\t\tdescription: 'Occurs whenever a source transaction is created.',\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tname: 'Source Transaction.updated',\n\t\t\t\t\t\tvalue: 'source.transaction.updated',\n\t\t\t\t\t\tdescription: 'Occurs whenever a source transaction is updated.',\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tname: 'Subscription Schedule.aborted',\n\t\t\t\t\t\tvalue: 'subscription_schedule.aborted',\n\t\t\t\t\t\tdescription:\n\t\t\t\t\t\t\t'Occurs whenever a subscription schedule is canceled due to the underlying subscription being canceled because of delinquency.',\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tname: 'Subscription Schedule.canceled',\n\t\t\t\t\t\tvalue: 'subscription_schedule.canceled',\n\t\t\t\t\t\tdescription: 'Occurs whenever a subscription schedule is canceled.',\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tname: 'Subscription Schedule.completed',\n\t\t\t\t\t\tvalue: 'subscription_schedule.completed',\n\t\t\t\t\t\tdescription: 'Occurs whenever a new subscription schedule is completed.',\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tname: 'Subscription Schedule.created',\n\t\t\t\t\t\tvalue: 'subscription_schedule.created',\n\t\t\t\t\t\tdescription: 'Occurs whenever a new subscription schedule is created.',\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tname: 'Subscription Schedule.expiring',\n\t\t\t\t\t\tvalue: 'subscription_schedule.expiring',\n\t\t\t\t\t\tdescription: 'Occurs 7 days before a subscription schedule will expire.',\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tname: 'Subscription Schedule.released',\n\t\t\t\t\t\tvalue: 'subscription_schedule.released',\n\t\t\t\t\t\tdescription: 'Occurs whenever a new subscription schedule is released.',\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tname: 'Subscription Schedule.updated',\n\t\t\t\t\t\tvalue: 'subscription_schedule.updated',\n\t\t\t\t\t\tdescription: 'Occurs whenever a subscription schedule is updated.',\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tname: 'Tax Rate.created',\n\t\t\t\t\t\tvalue: 'tax_rate.created',\n\t\t\t\t\t\tdescription: 'Occurs whenever a new tax rate is created.',\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tname: 'Tax Rate.updated',\n\t\t\t\t\t\tvalue: 'tax_rate.updated',\n\t\t\t\t\t\tdescription: 'Occurs whenever a tax rate is updated.',\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tname: 'Topup Canceled',\n\t\t\t\t\t\tvalue: 'topup.canceled',\n\t\t\t\t\t\tdescription: 'Occurs whenever a top-up is canceled.',\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tname: 'Topup Created',\n\t\t\t\t\t\tvalue: 'topup.created',\n\t\t\t\t\t\tdescription: 'Occurs whenever a top-up is created.',\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tname: 'Topup Failed',\n\t\t\t\t\t\tvalue: 'topup.failed',\n\t\t\t\t\t\tdescription: 'Occurs whenever a top-up fails.',\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tname: 'Topup Reversed',\n\t\t\t\t\t\tvalue: 'topup.reversed',\n\t\t\t\t\t\tdescription: 'Occurs whenever a top-up is reversed.',\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tname: 'Topup Succeeded',\n\t\t\t\t\t\tvalue: 'topup.succeeded',\n\t\t\t\t\t\tdescription: 'Occurs whenever a top-up succeeds.',\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tname: 'Transfer Created',\n\t\t\t\t\t\tvalue: 'transfer.created',\n\t\t\t\t\t\tdescription: 'Occurs whenever a transfer is created.',\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tname: 'Transfer Failed',\n\t\t\t\t\t\tvalue: 'transfer.failed',\n\t\t\t\t\t\tdescription: 'Occurs whenever a transfer failed.',\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tname: 'Transfer Paid',\n\t\t\t\t\t\tvalue: 'transfer.paid',\n\t\t\t\t\t\tdescription:\n\t\t\t\t\t\t\t'Occurs after a transfer is paid. For Instant Payouts, the event will be sent on the next business day, although the funds should be received well beforehand.',\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tname: 'Transfer Reversed',\n\t\t\t\t\t\tvalue: 'transfer.reversed',\n\t\t\t\t\t\tdescription: 'Occurs whenever a transfer is reversed, including partial reversals.',\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tname: 'Transfer Updated',\n\t\t\t\t\t\tvalue: 'transfer.updated',\n\t\t\t\t\t\tdescription: \"Occurs whenever a transfer's description or metadata is updated.\",\n\t\t\t\t\t},\n\t\t\t\t],\n\t\t\t},\n\t\t\t{\n\t\t\t\tdisplayName: 'API Version',\n\t\t\t\tname: 'apiVersion',\n\t\t\t\ttype: 'string',\n\t\t\t\tplaceholder: '2025-05-28.basil',\n\t\t\t\tdefault: '',\n\t\t\t\tdescription:\n\t\t\t\t\t'The API version to use for requests. It controls the format and structure of the incoming event payloads that Stripe sends to your webhook. If empty, Stripe will use the default API version set in your account at the time, which may lead to event processing issues if the API version changes in the future.',\n\t\t\t},\n\t\t],\n\t};\n\n\twebhookMethods = {\n\t\tdefault: {\n\t\t\tasync checkExists(this: IHookFunctions): Promise<boolean> {\n\t\t\t\tconst webhookData = this.getWorkflowStaticData('node');\n\n\t\t\t\tif (webhookData.webhookId === undefined) {\n\t\t\t\t\t// No webhook id is set so no webhook can exist\n\t\t\t\t\treturn false;\n\t\t\t\t}\n\n\t\t\t\t// Webhook got created before so check if it still exists\n\t\t\t\tconst endpoint = `/webhook_endpoints/${webhookData.webhookId}`;\n\n\t\t\t\ttry {\n\t\t\t\t\tawait stripeApiRequest.call(this, 'GET', endpoint, {});\n\t\t\t\t} catch (error) {\n\t\t\t\t\tif (error.httpCode === '404' || error.message.includes('resource_missing')) {\n\t\t\t\t\t\t// Webhook does not exist\n\t\t\t\t\t\tdelete webhookData.webhookId;\n\t\t\t\t\t\tdelete webhookData.webhookEvents;\n\t\t\t\t\t\tdelete webhookData.webhookSecret;\n\n\t\t\t\t\t\treturn false;\n\t\t\t\t\t}\n\n\t\t\t\t\t// Some error occured\n\t\t\t\t\tthrow error;\n\t\t\t\t}\n\n\t\t\t\t// If it did not error then the webhook exists\n\t\t\t\treturn true;\n\t\t\t},\n\t\t\tasync create(this: IHookFunctions): Promise<boolean> {\n\t\t\t\tconst webhookUrl = this.getNodeWebhookUrl('default');\n\n\t\t\t\tconst webhookDescription = `Created by n8n for workflow ID: ${this.getWorkflow().id}`;\n\n\t\t\t\tconst events = this.getNodeParameter('events', []);\n\n\t\t\t\tconst endpoint = '/webhook_endpoints';\n\n\t\t\t\tinterface StripeWebhookBody {\n\t\t\t\t\turl: string | undefined;\n\t\t\t\t\tdescription: string;\n\t\t\t\t\tenabled_events: object | NodeParameterValue;\n\t\t\t\t\tapi_version?: string;\n\t\t\t\t\t[key: string]: any;\n\t\t\t\t}\n\n\t\t\t\tconst body: StripeWebhookBody = {\n\t\t\t\t\turl: webhookUrl,\n\t\t\t\t\tdescription: webhookDescription,\n\t\t\t\t\tenabled_events: events,\n\t\t\t\t};\n\n\t\t\t\tconst apiVersion = this.getNodeParameter('apiVersion', '');\n\t\t\t\tif (apiVersion && apiVersion !== '') {\n\t\t\t\t\tbody.api_version = apiVersion as string;\n\t\t\t\t}\n\n\t\t\t\tconst responseData = await stripeApiRequest.call(this, 'POST', endpoint, body);\n\n\t\t\t\tif (\n\t\t\t\t\tresponseData.id === undefined ||\n\t\t\t\t\tresponseData.secret === undefined ||\n\t\t\t\t\tresponseData.status !== 'enabled'\n\t\t\t\t) {\n\t\t\t\t\t// Required data is missing so was not successful\n\t\t\t\t\tthrow new NodeApiError(this.getNode(), responseData as JsonObject, {\n\t\t\t\t\t\tmessage: 'Stripe webhook creation response did not contain the expected data.',\n\t\t\t\t\t});\n\t\t\t\t}\n\n\t\t\t\tconst webhookData = this.getWorkflowStaticData('node');\n\t\t\t\twebhookData.webhookId = responseData.id as string;\n\t\t\t\twebhookData.webhookEvents = responseData.enabled_events as string[];\n\t\t\t\twebhookData.webhookSecret = responseData.secret as string;\n\n\t\t\t\treturn true;\n\t\t\t},\n\t\t\tasync delete(this: IHookFunctions): Promise<boolean> {\n\t\t\t\tconst webhookData = this.getWorkflowStaticData('node');\n\n\t\t\t\tif (webhookData.webhookId !== undefined) {\n\t\t\t\t\tconst endpoint = `/webhook_endpoints/${webhookData.webhookId}`;\n\t\t\t\t\tconst body = {};\n\n\t\t\t\t\ttry {\n\t\t\t\t\t\tawait stripeApiRequest.call(this, 'DELETE', endpoint, body);\n\t\t\t\t\t} catch (error) {\n\t\t\t\t\t\treturn false;\n\t\t\t\t\t}\n\n\t\t\t\t\t// Remove from the static workflow data so that it is clear\n\t\t\t\t\t// that no webhooks are registered anymore\n\t\t\t\t\tdelete webhookData.webhookId;\n\t\t\t\t\tdelete webhookData.webhookEvents;\n\t\t\t\t\tdelete webhookData.webhookSecret;\n\t\t\t\t}\n\n\t\t\t\treturn true;\n\t\t\t},\n\t\t},\n\t};\n\n\tasync webhook(this: IWebhookFunctions): Promise<IWebhookResponseData> {\n\t\tconst bodyData = this.getBodyData();\n\t\tconst req = this.getRequestObject();\n\n\t\tconst events = this.getNodeParameter('events', []) as string[];\n\n\t\tconst eventType = bodyData.type as string | undefined;\n\n\t\tif (eventType === undefined || (!events.includes('*') && !events.includes(eventType))) {\n\t\t\t// If not eventType is defined or when one is defined but we are not\n\t\t\t// listening to it do not start the workflow.\n\t\t\treturn {};\n\t\t}\n\n\t\treturn {\n\t\t\tworkflowData: [this.helpers.returnJsonArray(req.body as IDataObject)],\n\t\t};\n\t}\n}\n"],"mappings":"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","names":[]}
@@ -1899,6 +1899,9 @@ class Telegram {
1899
1899
  }
1900
1900
  }
1901
1901
  };
1902
+ if (formData.reply_markup) {
1903
+ formData.reply_markup = JSON.stringify(formData.reply_markup);
1904
+ }
1902
1905
  responseData = await import_GenericFunctions.apiRequest.call(this, requestMethod, endpoint, {}, qs, {
1903
1906
  formData
1904
1907
  });