@vendure/payments-plugin 1.6.2 → 1.6.3

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.
@@ -1 +1 @@
1
- {"version":3,"file":"raw-body.middleware.js","sourceRoot":"","sources":["../../src/stripe/raw-body.middleware.ts"],"names":[],"mappings":";;;AAAA,6CAAmC;AAKnC;;;GAGG;AACU,QAAA,iBAAiB,GAAG,kBAAI,CAAC;IAClC,MAAM,CAAC,GAA+B,EAAE,CAAiB,EAAE,GAAW;QAClE,IAAI,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE;YACtB,GAAG,CAAC,OAAO,GAAG,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;SAClC;QAED,OAAO,IAAI,CAAC;IAChB,CAAC;CACJ,CAAC,CAAC"}
1
+ {"version":3,"file":"raw-body.middleware.js","sourceRoot":"","sources":["../../src/stripe/raw-body.middleware.ts"],"names":[],"mappings":";;;AAAA,6CAAmC;AAKnC;;;GAGG;AACU,QAAA,iBAAiB,GAAG,kBAAI,CAAC;IAClC,MAAM,CAAC,GAAuB,EAAE,CAAiB,EAAE,GAAW;QAC1D,IAAI,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE;YACtB,GAAG,CAAC,OAAO,GAAG,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;SAClC;QAED,OAAO,IAAI,CAAC;IAChB,CAAC;CACJ,CAAC,CAAC"}
@@ -1,14 +1,14 @@
1
- import { ChannelService, OrderService, TransactionalConnection } from '@vendure/core';
1
+ import { OrderService, RequestContextService, TransactionalConnection } from '@vendure/core';
2
2
  import { Response } from 'express';
3
3
  import { StripeService } from './stripe.service';
4
- import { IncomingMessageWithRawBody } from './types';
4
+ import { RequestWithRawBody } from './types';
5
5
  export declare class StripeController {
6
6
  private connection;
7
- private channelService;
8
7
  private orderService;
9
8
  private stripeService;
10
- constructor(connection: TransactionalConnection, channelService: ChannelService, orderService: OrderService, stripeService: StripeService);
11
- webhook(signature: string | undefined, request: IncomingMessageWithRawBody, response: Response): Promise<void>;
9
+ private requestContextService;
10
+ constructor(connection: TransactionalConnection, orderService: OrderService, stripeService: StripeService, requestContextService: RequestContextService);
11
+ webhook(signature: string | undefined, request: RequestWithRawBody, response: Response): Promise<void>;
12
12
  private createContext;
13
13
  private getPaymentMethod;
14
14
  }
@@ -23,11 +23,11 @@ const missingHeaderErrorMessage = 'Missing stripe-signature header';
23
23
  const signatureErrorMessage = 'Error verifying Stripe webhook signature';
24
24
  const noPaymentIntentErrorMessage = 'No payment intent in the event payload';
25
25
  let StripeController = class StripeController {
26
- constructor(connection, channelService, orderService, stripeService) {
26
+ constructor(connection, orderService, stripeService, requestContextService) {
27
27
  this.connection = connection;
28
- this.channelService = channelService;
29
28
  this.orderService = orderService;
30
29
  this.stripeService = stripeService;
30
+ this.requestContextService = requestContextService;
31
31
  }
32
32
  async webhook(signature, request, response) {
33
33
  var _a;
@@ -63,7 +63,7 @@ let StripeController = class StripeController {
63
63
  core_1.Logger.info(`Received ${event.type} status update for order ${orderCode}`, constants_1.loggerCtx);
64
64
  return;
65
65
  }
66
- const ctx = await this.createContext(channelToken);
66
+ const ctx = await this.createContext(channelToken, request);
67
67
  const order = await this.orderService.findOneByCode(ctx, orderCode);
68
68
  if (!order) {
69
69
  throw Error(`Unable to find order ${orderCode}, unable to settle payment ${paymentIntent.id}!`);
@@ -89,13 +89,11 @@ let StripeController = class StripeController {
89
89
  core_1.Logger.info(`Stripe payment intent id ${paymentIntent.id} added to order ${orderCode}`, constants_1.loggerCtx);
90
90
  response.status(common_1.HttpStatus.OK).send('Ok');
91
91
  }
92
- async createContext(channelToken) {
93
- const channel = await this.channelService.getChannelFromToken(channelToken);
94
- return new core_1.RequestContext({
92
+ async createContext(channelToken, req) {
93
+ return this.requestContextService.create({
95
94
  apiType: 'admin',
96
- isAuthorized: true,
97
- authorizedAsOwnerOnly: false,
98
- channel,
95
+ channelOrToken: channelToken,
96
+ req,
99
97
  languageCode: core_1.LanguageCode.en,
100
98
  });
101
99
  }
@@ -119,9 +117,9 @@ __decorate([
119
117
  StripeController = __decorate([
120
118
  common_1.Controller('payments'),
121
119
  __metadata("design:paramtypes", [core_1.TransactionalConnection,
122
- core_1.ChannelService,
123
120
  core_1.OrderService,
124
- stripe_service_1.StripeService])
121
+ stripe_service_1.StripeService,
122
+ core_1.RequestContextService])
125
123
  ], StripeController);
126
124
  exports.StripeController = StripeController;
127
125
  //# sourceMappingURL=stripe.controller.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"stripe.controller.js","sourceRoot":"","sources":["../../src/stripe/stripe.controller.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"stripe.controller.js","sourceRoot":"","sources":["../../src/stripe/stripe.controller.ts"],"names":[],"mappings":"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"}
@@ -5,7 +5,7 @@ import { StripePluginOptions } from './types';
5
5
  export declare class StripeService {
6
6
  private connection;
7
7
  private options;
8
- private stripe;
8
+ protected stripe: Stripe;
9
9
  constructor(connection: TransactionalConnection, options: StripePluginOptions);
10
10
  createPaymentIntent(ctx: RequestContext, order: Order): Promise<string | undefined>;
11
11
  createRefund(paymentIntentId: string, amount: number): Promise<Stripe.Refund | Stripe.StripeError>;
@@ -16,4 +16,5 @@ export declare class StripeService {
16
16
  * Otherwise, creates a new Customer record in Stripe and returns the generated id.
17
17
  */
18
18
  private getStripeCustomerId;
19
+ private currencyHasFractionPart;
19
20
  }
@@ -33,8 +33,19 @@ let StripeService = class StripeService {
33
33
  if (this.options.storeCustomersInStripe && ctx.activeUserId) {
34
34
  customerId = await this.getStripeCustomerId(ctx, order);
35
35
  }
36
+ // From the [Stripe docs](https://stripe.com/docs/currencies#zero-decimal):
37
+ // > All API requests expect amounts to be provided in a currency’s smallest unit.
38
+ // > For example, to charge 10 USD, provide an amount value of 1000 (that is, 1000 cents).
39
+ // > For zero-decimal currencies, still provide amounts as an integer but without multiplying by 100.
40
+ // > For example, to charge ¥500, provide an amount value of 500.
41
+ //
42
+ // Therefore, for a fractionless currency like JPY, we need to divide the amount by 100 (since Vendure always
43
+ // stores money amounts multiplied by 100). See https://github.com/vendure-ecommerce/vendure/issues/1630
44
+ const amountInMinorUnits = this.currencyHasFractionPart(order.currencyCode)
45
+ ? order.totalWithTax
46
+ : Math.round(order.totalWithTax / 100);
36
47
  const { client_secret } = await this.stripe.paymentIntents.create({
37
- amount: order.totalWithTax,
48
+ amount: amountInMinorUnits,
38
49
  currency: order.currencyCode.toLowerCase(),
39
50
  customer: customerId,
40
51
  automatic_payment_methods: {
@@ -104,6 +115,15 @@ let StripeService = class StripeService {
104
115
  await this.connection.getRepository(ctx, core_1.Customer).save(customer, { reload: false });
105
116
  return stripeCustomerId;
106
117
  }
118
+ currencyHasFractionPart(currencyCode) {
119
+ const parts = new Intl.NumberFormat(undefined, {
120
+ style: 'currency',
121
+ currency: currencyCode,
122
+ currencyDisplay: 'symbol',
123
+ }).formatToParts(123.45);
124
+ const hasFractionPart = !!parts.find(p => p.type === 'fraction');
125
+ return hasFractionPart;
126
+ }
107
127
  };
108
128
  StripeService = __decorate([
109
129
  common_1.Injectable(),
@@ -1 +1 @@
1
- {"version":3,"file":"stripe.service.js","sourceRoot":"","sources":["../../src/stripe/stripe.service.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;AAAA,2CAAoD;AACpD,wCAAiG;AACjG,oDAA4B;AAE5B,2CAA+D;AAI/D,IAAa,aAAa,GAA1B,MAAa,aAAa;IAGtB,YACY,UAAmC,EACJ,OAA4B;QAD3D,eAAU,GAAV,UAAU,CAAyB;QACJ,YAAO,GAAP,OAAO,CAAqB;QAEnE,IAAI,CAAC,MAAM,GAAG,IAAI,gBAAM,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE;YAC1C,UAAU,EAAE,YAAY;SAC3B,CAAC,CAAC;IACP,CAAC;IAED,KAAK,CAAC,mBAAmB,CAAC,GAAmB,EAAE,KAAY;QACvD,IAAI,UAA8B,CAAC;QAEnC,IAAI,IAAI,CAAC,OAAO,CAAC,sBAAsB,IAAI,GAAG,CAAC,YAAY,EAAE;YACzD,UAAU,GAAG,MAAM,IAAI,CAAC,mBAAmB,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;SAC3D;QAED,MAAM,EAAE,aAAa,EAAE,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,cAAc,CAAC,MAAM,CAAC;YAC9D,MAAM,EAAE,KAAK,CAAC,YAAY;YAC1B,QAAQ,EAAE,KAAK,CAAC,YAAY,CAAC,WAAW,EAAE;YAC1C,QAAQ,EAAE,UAAU;YACpB,yBAAyB,EAAE;gBACvB,OAAO,EAAE,IAAI;aAChB;YACD,QAAQ,EAAE;gBACN,YAAY,EAAE,GAAG,CAAC,OAAO,CAAC,KAAK;gBAC/B,OAAO,EAAE,KAAK,CAAC,EAAE;gBACjB,SAAS,EAAE,KAAK,CAAC,IAAI;aACxB;SACJ,CAAC,CAAC;QAEH,IAAI,CAAC,aAAa,EAAE;YAChB,2BAA2B;YAC3B,aAAM,CAAC,IAAI,CACP,qCAAqC,KAAK,CAAC,IAAI,+BAA+B,EAC9E,qBAAS,CACZ,CAAC;SACL;QAED,OAAO,aAAa,aAAb,aAAa,cAAb,aAAa,GAAI,SAAS,CAAC;IACtC,CAAC;IAED,KAAK,CAAC,YAAY,CAAC,eAAuB,EAAE,MAAc;QACtD,uFAAuF;QACvF,0DAA0D;QAC1D,IAAI;YACA,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC;gBAC5C,cAAc,EAAE,eAAe;gBAC/B,MAAM;aACT,CAAC,CAAC;YAEH,OAAO,MAAM,CAAC;SACjB;QAAC,OAAO,CAAM,EAAE;YACb,OAAO,CAAuB,CAAC;SAClC;IACL,CAAC;IAED,yBAAyB,CAAC,OAAe,EAAE,SAAiB;QACxD,OAAO,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,cAAc,CAAC,OAAO,EAAE,SAAS,EAAE,IAAI,CAAC,OAAO,CAAC,oBAAoB,CAAC,CAAC;IACtG,CAAC;IAED;;;;OAIG;IACK,KAAK,CAAC,mBAAmB,CAAC,GAAmB,EAAE,WAAkB;QACrE,0GAA0G;QAC1G,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,YAAK,CAAC,CAAC,OAAO,CAAC,WAAW,CAAC,EAAE,EAAE;YAC7E,SAAS,EAAE,CAAC,UAAU,CAAC;SAC1B,CAAC,CAAC;QAEH,IAAI,CAAC,KAAK,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE;YAC3B,2BAA2B;YAC3B,OAAO,SAAS,CAAC;SACpB;QAED,MAAM,EAAE,QAAQ,EAAE,GAAG,KAAK,CAAC;QAE3B,IAAI,QAAQ,CAAC,YAAY,CAAC,gBAAgB,EAAE;YACxC,OAAO,QAAQ,CAAC,YAAY,CAAC,gBAAgB,CAAC;SACjD;QAED,IAAI,gBAAgB,CAAC;QAErB,MAAM,eAAe,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,QAAQ,CAAC,YAAY,EAAE,CAAC,CAAC;QAC3F,IAAI,eAAe,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE;YACjC,gBAAgB,GAAG,eAAe,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;SACjD;aAAM;YACH,MAAM,iBAAiB,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC;gBACzD,KAAK,EAAE,QAAQ,CAAC,YAAY;gBAC5B,IAAI,EAAE,GAAG,QAAQ,CAAC,SAAS,IAAI,QAAQ,CAAC,QAAQ,EAAE;aACrD,CAAC,CAAC;YAEH,gBAAgB,GAAG,iBAAiB,CAAC,EAAE,CAAC;YAExC,aAAM,CAAC,IAAI,CAAC,iDAAiD,QAAQ,CAAC,EAAE,EAAE,EAAE,qBAAS,CAAC,CAAC;SAC1F;QAED,QAAQ,CAAC,YAAY,CAAC,gBAAgB,GAAG,gBAAgB,CAAC;QAC1D,MAAM,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,GAAG,EAAE,eAAQ,CAAC,CAAC,IAAI,CAAC,QAAQ,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,CAAC;QAErF,OAAO,gBAAgB,CAAC;IAC5B,CAAC;CACJ,CAAA;AA1GY,aAAa;IADzB,mBAAU,EAAE;IAMJ,WAAA,eAAM,CAAC,iCAAqB,CAAC,CAAA;qCADV,8BAAuB;GAJtC,aAAa,CA0GzB;AA1GY,sCAAa"}
1
+ {"version":3,"file":"stripe.service.js","sourceRoot":"","sources":["../../src/stripe/stripe.service.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,6 @@
1
1
  /// <reference types="node" />
2
2
  import '@vendure/core/dist/entity/custom-entity-fields';
3
- import { IncomingMessage } from 'http';
3
+ import { Request } from 'express';
4
4
  declare module '@vendure/core/dist/entity/custom-entity-fields' {
5
5
  interface CustomCustomerFields {
6
6
  stripeCustomerId?: string;
@@ -35,6 +35,6 @@ export interface StripePluginOptions {
35
35
  */
36
36
  storeCustomersInStripe?: boolean;
37
37
  }
38
- export interface IncomingMessageWithRawBody extends IncomingMessage {
38
+ export interface RequestWithRawBody extends Request {
39
39
  rawBody: Buffer;
40
40
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@vendure/payments-plugin",
3
- "version": "1.6.2",
3
+ "version": "1.6.3",
4
4
  "license": "MIT",
5
5
  "main": "package/index.js",
6
6
  "types": "package/index.d.ts",
@@ -28,14 +28,14 @@
28
28
  "devDependencies": {
29
29
  "@mollie/api-client": "^3.6.0",
30
30
  "@types/braintree": "^2.22.15",
31
- "@vendure/common": "^1.6.2",
32
- "@vendure/core": "^1.6.2",
33
- "@vendure/testing": "^1.6.2",
31
+ "@vendure/common": "^1.6.3",
32
+ "@vendure/core": "^1.6.3",
33
+ "@vendure/testing": "^1.6.3",
34
34
  "braintree": "^3.0.0",
35
35
  "nock": "^13.1.4",
36
36
  "rimraf": "^3.0.2",
37
37
  "stripe": "^8.197.0",
38
38
  "typescript": "4.3.5"
39
39
  },
40
- "gitHead": "2a11ae82f507b815047b379e899e2e40d2e7b973"
40
+ "gitHead": "809925dbdc1017943c5b8cba7633f1e232f4968d"
41
41
  }