@vendure/payments-plugin 1.9.5 → 1.9.7

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.
@@ -0,0 +1,13 @@
1
+ import Stripe from 'stripe';
2
+ /**
3
+ * @description
4
+ * Santitize metadata to ensure it follow Stripe's instructions
5
+ *
6
+ * @link
7
+ * https://stripe.com/docs/api/metadata
8
+ *
9
+ * @Restriction
10
+ * You can specify up to 50 keys, with key names up to 40 characters long and values up to 500 characters long.
11
+ *
12
+ */
13
+ export declare function sanitizeMetadata(metadata: Stripe.MetadataParam): Stripe.MetadataParam;
@@ -0,0 +1,33 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.sanitizeMetadata = void 0;
4
+ const MAX_KEYS = 50;
5
+ const MAX_KEY_NAME_LENGTH = 40;
6
+ const MAX_VALUE_LENGTH = 500;
7
+ /**
8
+ * @description
9
+ * Santitize metadata to ensure it follow Stripe's instructions
10
+ *
11
+ * @link
12
+ * https://stripe.com/docs/api/metadata
13
+ *
14
+ * @Restriction
15
+ * You can specify up to 50 keys, with key names up to 40 characters long and values up to 500 characters long.
16
+ *
17
+ */
18
+ function sanitizeMetadata(metadata) {
19
+ if (typeof metadata !== 'object' && metadata !== null)
20
+ return {};
21
+ const keys = Object.keys(metadata)
22
+ .filter(keyName => keyName.length <= MAX_KEY_NAME_LENGTH)
23
+ .filter(keyName => typeof metadata[keyName] !== 'string' ||
24
+ metadata[keyName].length <= MAX_VALUE_LENGTH)
25
+ .slice(0, MAX_KEYS);
26
+ const sanitizedMetadata = keys.reduce((obj, keyName) => {
27
+ obj[keyName] = metadata[keyName];
28
+ return obj;
29
+ }, {});
30
+ return sanitizedMetadata;
31
+ }
32
+ exports.sanitizeMetadata = sanitizeMetadata;
33
+ //# sourceMappingURL=metadata-sanitize.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"metadata-sanitize.js","sourceRoot":"","sources":["../../src/stripe/metadata-sanitize.ts"],"names":[],"mappings":";;;AAEA,MAAM,QAAQ,GAAG,EAAE,CAAC;AACpB,MAAM,mBAAmB,GAAG,EAAE,CAAC;AAC/B,MAAM,gBAAgB,GAAG,GAAG,CAAC;AAC7B;;;;;;;;;;GAUG;AACH,SAAgB,gBAAgB,CAAC,QAA8B;IAC3D,IAAI,OAAO,QAAQ,KAAK,QAAQ,IAAI,QAAQ,KAAK,IAAI;QAAE,OAAO,EAAE,CAAC;IAEjE,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC;SAC7B,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC,OAAO,CAAC,MAAM,IAAI,mBAAmB,CAAC;SACxD,MAAM,CACH,OAAO,CAAC,EAAE,CACN,OAAO,QAAQ,CAAC,OAAO,CAAC,KAAK,QAAQ;QACpC,QAAQ,CAAC,OAAO,CAAY,CAAC,MAAM,IAAI,gBAAgB,CAC/D;SACA,KAAK,CAAC,CAAC,EAAE,QAAQ,CAAsC,CAAC;IAE7D,MAAM,iBAAiB,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,OAAO,EAAE,EAAE;QACnD,GAAG,CAAC,OAAO,CAAC,GAAG,QAAQ,CAAC,OAAO,CAAC,CAAC;QACjC,OAAO,GAAG,CAAC;IACf,CAAC,EAAE,EAA0B,CAAC,CAAC;IAE/B,OAAO,iBAAiB,CAAC;AAC7B,CAAC;AAlBD,4CAkBC"}
@@ -205,10 +205,10 @@ StripePlugin = StripePlugin_1 = __decorate([
205
205
  return config;
206
206
  },
207
207
  shopApiExtensions: {
208
- schema: graphql_tag_1.gql `
209
- extend type Mutation {
210
- createStripePaymentIntent: String
211
- }
208
+ schema: graphql_tag_1.gql `
209
+ extend type Mutation {
210
+ createStripePaymentIntent: String
211
+ }
212
212
  `,
213
213
  resolvers: [stripe_resolver_1.StripeResolver],
214
214
  },
@@ -1,12 +1,14 @@
1
1
  /// <reference types="node" />
2
+ import { ModuleRef } from '@nestjs/core';
2
3
  import { Order, RequestContext, TransactionalConnection } from '@vendure/core';
3
4
  import Stripe from 'stripe';
4
5
  import { StripePluginOptions } from './types';
5
6
  export declare class StripeService {
6
7
  private connection;
7
8
  private options;
9
+ private moduleRef;
8
10
  protected stripe: Stripe;
9
- constructor(connection: TransactionalConnection, options: StripePluginOptions);
11
+ constructor(connection: TransactionalConnection, options: StripePluginOptions, moduleRef: ModuleRef);
10
12
  createPaymentIntent(ctx: RequestContext, order: Order): Promise<string | undefined>;
11
13
  createRefund(paymentIntentId: string, amount: number): Promise<Stripe.Refund | Stripe.StripeError>;
12
14
  constructEventFromPayload(payload: Buffer, signature: string): Stripe.Event;
@@ -17,14 +17,17 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
17
17
  Object.defineProperty(exports, "__esModule", { value: true });
18
18
  exports.StripeService = void 0;
19
19
  const common_1 = require("@nestjs/common");
20
- const core_1 = require("@vendure/core");
20
+ const core_1 = require("@nestjs/core");
21
+ const core_2 = require("@vendure/core");
21
22
  const stripe_1 = __importDefault(require("stripe"));
22
23
  const constants_1 = require("./constants");
24
+ const metadata_sanitize_1 = require("./metadata-sanitize");
23
25
  const stripe_utils_1 = require("./stripe-utils");
24
26
  let StripeService = class StripeService {
25
- constructor(connection, options) {
27
+ constructor(connection, options, moduleRef) {
26
28
  this.connection = connection;
27
29
  this.options = options;
30
+ this.moduleRef = moduleRef;
28
31
  this.stripe = new stripe_1.default(this.options.apiKey, {
29
32
  apiVersion: '2020-08-27',
30
33
  });
@@ -35,6 +38,9 @@ let StripeService = class StripeService {
35
38
  customerId = await this.getStripeCustomerId(ctx, order);
36
39
  }
37
40
  const amountInMinorUnits = stripe_utils_1.getAmountInStripeMinorUnits(order);
41
+ const metadata = metadata_sanitize_1.sanitizeMetadata(Object.assign(Object.assign({}, (typeof this.options.metadata === 'function'
42
+ ? await this.options.metadata(new core_2.Injector(this.moduleRef), ctx, order)
43
+ : {})), { channelToken: ctx.channel.token, orderId: order.id, orderCode: order.code }));
38
44
  const { client_secret } = await this.stripe.paymentIntents.create({
39
45
  amount: amountInMinorUnits,
40
46
  currency: order.currencyCode.toLowerCase(),
@@ -42,15 +48,11 @@ let StripeService = class StripeService {
42
48
  automatic_payment_methods: {
43
49
  enabled: true,
44
50
  },
45
- metadata: {
46
- channelToken: ctx.channel.token,
47
- orderId: order.id,
48
- orderCode: order.code,
49
- },
51
+ metadata,
50
52
  }, { idempotencyKey: `${order.code}_${amountInMinorUnits}` });
51
53
  if (!client_secret) {
52
54
  // This should never happen
53
- core_1.Logger.warn(`Payment intent creation for order ${order.code} did not return client secret`, constants_1.loggerCtx);
55
+ core_2.Logger.warn(`Payment intent creation for order ${order.code} did not return client secret`, constants_1.loggerCtx);
54
56
  }
55
57
  return client_secret !== null && client_secret !== void 0 ? client_secret : undefined;
56
58
  }
@@ -78,7 +80,7 @@ let StripeService = class StripeService {
78
80
  */
79
81
  async getStripeCustomerId(ctx, activeOrder) {
80
82
  // Load relation with customer not available in the response from activeOrderService.getOrderFromContext()
81
- const order = await this.connection.getRepository(core_1.Order).findOne(activeOrder.id, {
83
+ const order = await this.connection.getRepository(core_2.Order).findOne(activeOrder.id, {
82
84
  relations: ['customer'],
83
85
  });
84
86
  if (!order || !order.customer) {
@@ -100,17 +102,17 @@ let StripeService = class StripeService {
100
102
  name: `${customer.firstName} ${customer.lastName}`,
101
103
  });
102
104
  stripeCustomerId = newStripeCustomer.id;
103
- core_1.Logger.info(`Created Stripe Customer record for customerId ${customer.id}`, constants_1.loggerCtx);
105
+ core_2.Logger.info(`Created Stripe Customer record for customerId ${customer.id}`, constants_1.loggerCtx);
104
106
  }
105
107
  customer.customFields.stripeCustomerId = stripeCustomerId;
106
- await this.connection.getRepository(ctx, core_1.Customer).save(customer, { reload: false });
108
+ await this.connection.getRepository(ctx, core_2.Customer).save(customer, { reload: false });
107
109
  return stripeCustomerId;
108
110
  }
109
111
  };
110
112
  StripeService = __decorate([
111
113
  common_1.Injectable(),
112
114
  __param(1, common_1.Inject(constants_1.STRIPE_PLUGIN_OPTIONS)),
113
- __metadata("design:paramtypes", [core_1.TransactionalConnection, Object])
115
+ __metadata("design:paramtypes", [core_2.TransactionalConnection, Object, core_1.ModuleRef])
114
116
  ], StripeService);
115
117
  exports.StripeService = StripeService;
116
118
  //# sourceMappingURL=stripe.service.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"stripe.service.js","sourceRoot":"","sources":["../../src/stripe/stripe.service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"stripe.service.js","sourceRoot":"","sources":["../../src/stripe/stripe.service.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,8 @@
1
1
  /// <reference types="node" />
2
+ import { Injector, Order, RequestContext } from '@vendure/core';
2
3
  import '@vendure/core/dist/entity/custom-entity-fields';
3
4
  import { Request } from 'express';
5
+ import Stripe from 'stripe';
4
6
  declare module '@vendure/core/dist/entity/custom-entity-fields' {
5
7
  interface CustomCustomerFields {
6
8
  stripeCustomerId?: string;
@@ -34,6 +36,13 @@ export interface StripePluginOptions {
34
36
  * @default false
35
37
  */
36
38
  storeCustomersInStripe?: boolean;
39
+ /**
40
+ * @description
41
+ * Attach extra metadata to Stripe payment intent
42
+ *
43
+ * @since 1.9.7
44
+ */
45
+ metadata?: (injector: Injector, ctx: RequestContext, order: Order) => Stripe.MetadataParam | Promise<Stripe.MetadataParam>;
37
46
  }
38
47
  export interface RequestWithRawBody extends Request {
39
48
  rawBody: Buffer;
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/stripe/types.ts"],"names":[],"mappings":";;AAAA,0DAAwD"}
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/stripe/types.ts"],"names":[],"mappings":";;AACA,0DAAwD"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@vendure/payments-plugin",
3
- "version": "1.9.5",
3
+ "version": "1.9.7",
4
4
  "license": "MIT",
5
5
  "main": "package/index.js",
6
6
  "types": "package/index.d.ts",
@@ -33,9 +33,9 @@
33
33
  "@mollie/api-client": "^3.6.0",
34
34
  "@types/braintree": "^2.22.15",
35
35
  "@types/localtunnel": "2.0.1",
36
- "@vendure/common": "^1.9.5",
37
- "@vendure/core": "^1.9.5",
38
- "@vendure/testing": "^1.9.5",
36
+ "@vendure/common": "^1.9.7",
37
+ "@vendure/core": "^1.9.7",
38
+ "@vendure/testing": "^1.9.7",
39
39
  "braintree": "^3.0.0",
40
40
  "localtunnel": "2.0.1",
41
41
  "nock": "^13.1.4",
@@ -43,5 +43,5 @@
43
43
  "stripe": "^8.197.0",
44
44
  "typescript": "4.3.5"
45
45
  },
46
- "gitHead": "09ae64ec5050d81b500ab7bcff27a92a322098da"
46
+ "gitHead": "987ce391e09a702dd7016833549a3d275d0e5ca0"
47
47
  }