@vendure/payments-plugin 3.3.8 → 3.4.0

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 (31) hide show
  1. package/package/mollie/api-extensions.js +17 -9
  2. package/package/mollie/api-extensions.js.map +1 -1
  3. package/package/mollie/graphql/generated-shop-types.d.ts +34 -0
  4. package/package/mollie/graphql/generated-shop-types.js.map +1 -1
  5. package/package/mollie/index.d.ts +2 -2
  6. package/package/mollie/index.js +3 -4
  7. package/package/mollie/index.js.map +1 -1
  8. package/package/mollie/mollie.controller.js +1 -1
  9. package/package/mollie/mollie.controller.js.map +1 -1
  10. package/package/mollie/mollie.handler.d.ts +0 -12
  11. package/package/mollie/mollie.handler.js +34 -34
  12. package/package/mollie/mollie.handler.js.map +1 -1
  13. package/package/mollie/mollie.helpers.d.ts +6 -12
  14. package/package/mollie/mollie.helpers.js +11 -52
  15. package/package/mollie/mollie.helpers.js.map +1 -1
  16. package/package/mollie/mollie.plugin.d.ts +20 -16
  17. package/package/mollie/mollie.plugin.js +19 -15
  18. package/package/mollie/mollie.plugin.js.map +1 -1
  19. package/package/mollie/mollie.service.d.ts +10 -8
  20. package/package/mollie/mollie.service.js +89 -92
  21. package/package/mollie/mollie.service.js.map +1 -1
  22. package/package/mollie/types.d.ts +10 -0
  23. package/package/mollie/types.js +3 -0
  24. package/package/mollie/types.js.map +1 -0
  25. package/package/stripe/metadata-sanitize.js +1 -2
  26. package/package/stripe/metadata-sanitize.js.map +1 -1
  27. package/package/stripe/stripe.controller.js +11 -3
  28. package/package/stripe/stripe.controller.js.map +1 -1
  29. package/package/stripe/stripe.plugin.js +1 -0
  30. package/package/stripe/stripe.plugin.js.map +1 -1
  31. package/package.json +7 -7
@@ -1,4 +1,4 @@
1
- import type { ListParameters } from '@mollie/api-client/dist/types/src/binders/methods/parameters';
1
+ import type { ListParameters } from '@mollie/api-client/dist/types/binders/methods/parameters';
2
2
  import { Injector, Order, RequestContext } from '@vendure/core';
3
3
  export type AdditionalEnabledPaymentMethodsParams = Partial<Omit<ListParameters, 'resource'>>;
4
4
  /**
@@ -81,10 +81,9 @@ export interface MolliePluginOptions {
81
81
  * MolliePlugin.init({ vendureHost: 'https://yourhost.io/' }),
82
82
  * ]
83
83
  * ```
84
- * 2. Run a database migration to add the `mollieOrderId` custom field to the order entity.
85
- * 3. Create a new PaymentMethod in the Admin UI, and select "Mollie payments" as the handler.
86
- * 4. Set your Mollie apiKey in the `API Key` field.
87
- * 5. Set the `Fallback redirectUrl` to the url that the customer should be redirected to after completing the payment.
84
+ * 2. Create a new PaymentMethod in the Admin UI, and select "Mollie payments" as the handler.
85
+ * 3. Set your Mollie apiKey in the `API Key` field.
86
+ * 4. Set the `Fallback redirectUrl` to the url that the customer should be redirected to after completing the payment.
88
87
  * You can override this url by passing the `redirectUrl` as an argument to the `createMolliePaymentIntent` mutation.
89
88
  *
90
89
  * ## Storefront usage
@@ -96,9 +95,11 @@ export interface MolliePluginOptions {
96
95
  * ```GraphQL
97
96
  * mutation CreateMolliePaymentIntent {
98
97
  * createMolliePaymentIntent(input: {
99
- * redirectUrl: "https://storefront/order/1234XYZ"
100
- * paymentMethodCode: "mollie-payment-method"
101
- * molliePaymentMethodCode: "ideal"
98
+ * redirectUrl: "https://storefront/order/1234XYZ" // Optional, the fallback redirect url set in the admin UI will be used if not provided
99
+ * paymentMethodCode: "mollie-payment-method" // Optional, the first method with Mollie as handler will be used if not provided
100
+ * molliePaymentMethodCode: "ideal", // Optional argument to skip the method selection in the hosted checkout
101
+ * locale: "nl_NL", // Optional, the browser language will be used by Mollie if not provided
102
+ * immediateCapture: true, // Optional, default is true, set to false if you expect the order fulfillment to take longer than 24 hours
102
103
  * }) {
103
104
  * ... on MolliePaymentIntent {
104
105
  * url
@@ -140,22 +141,25 @@ export interface MolliePluginOptions {
140
141
  * }
141
142
  * }
142
143
  * ```
143
- * You can pass `creditcard` for example, to the `createMolliePaymentIntent` mutation to skip the method selection.
144
144
  *
145
145
  * After completing payment on the Mollie platform,
146
- * the user is redirected to the given redirect url, e.g. `https://storefront/order/CH234X5`
146
+ * the user is redirected to the redirect url that was provided in the `createMolliePaymentIntent` mutation, e.g. `https://storefront/order/CH234X5`
147
147
  *
148
148
  * ## Pay later methods
149
- * Mollie supports pay-later methods like 'Klarna Pay Later'. For pay-later methods, the status of an order is
150
- * 'PaymentAuthorized' after the Mollie hosted checkout. You need to manually settle the payment via the admin ui to capture the payment!
151
- * Make sure you capture a payment within 28 days, because this is the Klarna expiry time
152
149
  *
153
- * If you don't want this behaviour (Authorized first), you can set 'autoCapture=true' on the payment method. This option will immediately
154
- * capture the payment after a customer authorizes the payment.
150
+ * Mollie supports pay-later methods like 'Klarna Pay Later'. Pay-later methods are captured immediately after payment.
151
+ *
152
+ * If your order fulfillment time is longer than 24 hours You should pass `immediateCapture=false` to the `createMolliePaymentIntent` mutation.
153
+ * This will transition your order to 'PaymentAuthorized' after the Mollie hosted checkout.
154
+ * You need to manually capture the payment after the order is fulfilled, by settling existing payments, either via the admin UI or in custom code.
155
+ *
156
+ * Make sure to capture a payment within 28 days, after that the payment will be automaticallreleased.
157
+ * See the [Mollie documentation](https://docs.mollie.com/docs/place-a-hold-for-a-payment#authorization-expiration-window)
158
+ * for more information.
155
159
  *
156
160
  * ## ArrangingAdditionalPayment state
157
161
  *
158
- * In some rare cases, a customer can add items to the active order, while a Mollie payment is still open,
162
+ * In some rare cases, a customer can add items to the active order, while a Mollie checkout is still open,
159
163
  * for example by opening your storefront in another browser tab.
160
164
  * This could result in an order being in `ArrangingAdditionalPayment` status after the customer finished payment.
161
165
  * You should check if there is still an active order with status `ArrangingAdditionalPayment` on your order confirmation page,
@@ -44,10 +44,9 @@ const mollie_shop_resolver_1 = require("./mollie.shop-resolver");
44
44
  * MolliePlugin.init({ vendureHost: 'https://yourhost.io/' }),
45
45
  * ]
46
46
  * ```
47
- * 2. Run a database migration to add the `mollieOrderId` custom field to the order entity.
48
- * 3. Create a new PaymentMethod in the Admin UI, and select "Mollie payments" as the handler.
49
- * 4. Set your Mollie apiKey in the `API Key` field.
50
- * 5. Set the `Fallback redirectUrl` to the url that the customer should be redirected to after completing the payment.
47
+ * 2. Create a new PaymentMethod in the Admin UI, and select "Mollie payments" as the handler.
48
+ * 3. Set your Mollie apiKey in the `API Key` field.
49
+ * 4. Set the `Fallback redirectUrl` to the url that the customer should be redirected to after completing the payment.
51
50
  * You can override this url by passing the `redirectUrl` as an argument to the `createMolliePaymentIntent` mutation.
52
51
  *
53
52
  * ## Storefront usage
@@ -59,9 +58,11 @@ const mollie_shop_resolver_1 = require("./mollie.shop-resolver");
59
58
  * ```GraphQL
60
59
  * mutation CreateMolliePaymentIntent {
61
60
  * createMolliePaymentIntent(input: {
62
- * redirectUrl: "https://storefront/order/1234XYZ"
63
- * paymentMethodCode: "mollie-payment-method"
64
- * molliePaymentMethodCode: "ideal"
61
+ * redirectUrl: "https://storefront/order/1234XYZ" // Optional, the fallback redirect url set in the admin UI will be used if not provided
62
+ * paymentMethodCode: "mollie-payment-method" // Optional, the first method with Mollie as handler will be used if not provided
63
+ * molliePaymentMethodCode: "ideal", // Optional argument to skip the method selection in the hosted checkout
64
+ * locale: "nl_NL", // Optional, the browser language will be used by Mollie if not provided
65
+ * immediateCapture: true, // Optional, default is true, set to false if you expect the order fulfillment to take longer than 24 hours
65
66
  * }) {
66
67
  * ... on MolliePaymentIntent {
67
68
  * url
@@ -103,22 +104,25 @@ const mollie_shop_resolver_1 = require("./mollie.shop-resolver");
103
104
  * }
104
105
  * }
105
106
  * ```
106
- * You can pass `creditcard` for example, to the `createMolliePaymentIntent` mutation to skip the method selection.
107
107
  *
108
108
  * After completing payment on the Mollie platform,
109
- * the user is redirected to the given redirect url, e.g. `https://storefront/order/CH234X5`
109
+ * the user is redirected to the redirect url that was provided in the `createMolliePaymentIntent` mutation, e.g. `https://storefront/order/CH234X5`
110
110
  *
111
111
  * ## Pay later methods
112
- * Mollie supports pay-later methods like 'Klarna Pay Later'. For pay-later methods, the status of an order is
113
- * 'PaymentAuthorized' after the Mollie hosted checkout. You need to manually settle the payment via the admin ui to capture the payment!
114
- * Make sure you capture a payment within 28 days, because this is the Klarna expiry time
115
112
  *
116
- * If you don't want this behaviour (Authorized first), you can set 'autoCapture=true' on the payment method. This option will immediately
117
- * capture the payment after a customer authorizes the payment.
113
+ * Mollie supports pay-later methods like 'Klarna Pay Later'. Pay-later methods are captured immediately after payment.
114
+ *
115
+ * If your order fulfillment time is longer than 24 hours You should pass `immediateCapture=false` to the `createMolliePaymentIntent` mutation.
116
+ * This will transition your order to 'PaymentAuthorized' after the Mollie hosted checkout.
117
+ * You need to manually capture the payment after the order is fulfilled, by settling existing payments, either via the admin UI or in custom code.
118
+ *
119
+ * Make sure to capture a payment within 28 days, after that the payment will be automaticallreleased.
120
+ * See the [Mollie documentation](https://docs.mollie.com/docs/place-a-hold-for-a-payment#authorization-expiration-window)
121
+ * for more information.
118
122
  *
119
123
  * ## ArrangingAdditionalPayment state
120
124
  *
121
- * In some rare cases, a customer can add items to the active order, while a Mollie payment is still open,
125
+ * In some rare cases, a customer can add items to the active order, while a Mollie checkout is still open,
122
126
  * for example by opening your storefront in another browser tab.
123
127
  * This could result in an order being in `ArrangingAdditionalPayment` status after the customer finished payment.
124
128
  * You should check if there is still an active order with status `ArrangingAdditionalPayment` on your order confirmation page,
@@ -1 +1 @@
1
- {"version":3,"file":"mollie.plugin.js","sourceRoot":"","sources":["../../src/mollie/mollie.plugin.ts"],"names":[],"mappings":";;;;;;;;;;AACA,wCAOuB;AAEvB,qDAAyE;AACzE,2CAAkD;AAClD,qEAAgE;AAChE,2DAAuD;AACvD,qDAAwD;AACxD,qDAAiD;AACjD,iEAA4D;AA8D5D;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+GG;AAmBI,IAAM,YAAY,oBAAlB,MAAM,YAAY;IAGrB;;;;OAIG;IACH,MAAM,CAAC,IAAI,CAAC,OAA4B;QACpC,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QACvB,OAAO,cAAY,CAAC;IACxB,CAAC;CACJ,CAAA;AAZY,oCAAY;uBAAZ,YAAY;IAlBxB,IAAA,oBAAa,EAAC;QACX,OAAO,EAAE,CAAC,yBAAkB,CAAC;QAC7B,WAAW,EAAE,CAAC,oCAAgB,CAAC;QAC/B,SAAS,EAAE,CAAC,8BAAa,EAAE,EAAE,OAAO,EAAE,+BAAmB,EAAE,UAAU,EAAE,GAAG,EAAE,CAAC,YAAY,CAAC,OAAO,EAAE,CAAC;QACpG,aAAa,EAAE,CAAC,MAA4B,EAAE,EAAE;YAC5C,MAAM,CAAC,cAAc,CAAC,qBAAqB,CAAC,IAAI,CAAC,qCAAoB,CAAC,CAAC;YACvE,OAAO,MAAM,CAAC;QAClB,CAAC;QACD,iBAAiB,EAAE;YACf,MAAM,EAAE,kCAAiB;YACzB,SAAS,EAAE,CAAC,6CAAoB,EAAE,yCAAkB,CAAC;SACxD;QACD,kBAAkB,EAAE;YAChB,MAAM,EAAE,mCAAkB;YAC1B,SAAS,EAAE,CAAC,6CAAoB,CAAC;SACpC;QACD,aAAa,EAAE,QAAQ;KAC1B,CAAC;GACW,YAAY,CAYxB"}
1
+ {"version":3,"file":"mollie.plugin.js","sourceRoot":"","sources":["../../src/mollie/mollie.plugin.ts"],"names":[],"mappings":";;;;;;;;;;AACA,wCAOuB;AAEvB,qDAAyE;AACzE,2CAAkD;AAClD,qEAAgE;AAChE,2DAAuD;AACvD,qDAAwD;AACxD,qDAAiD;AACjD,iEAA4D;AA8D5D;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAmHG;AAmBI,IAAM,YAAY,oBAAlB,MAAM,YAAY;IAGrB;;;;OAIG;IACH,MAAM,CAAC,IAAI,CAAC,OAA4B;QACpC,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QACvB,OAAO,cAAY,CAAC;IACxB,CAAC;CACJ,CAAA;AAZY,oCAAY;uBAAZ,YAAY;IAlBxB,IAAA,oBAAa,EAAC;QACX,OAAO,EAAE,CAAC,yBAAkB,CAAC;QAC7B,WAAW,EAAE,CAAC,oCAAgB,CAAC;QAC/B,SAAS,EAAE,CAAC,8BAAa,EAAE,EAAE,OAAO,EAAE,+BAAmB,EAAE,UAAU,EAAE,GAAG,EAAE,CAAC,YAAY,CAAC,OAAO,EAAE,CAAC;QACpG,aAAa,EAAE,CAAC,MAA4B,EAAE,EAAE;YAC5C,MAAM,CAAC,cAAc,CAAC,qBAAqB,CAAC,IAAI,CAAC,qCAAoB,CAAC,CAAC;YACvE,OAAO,MAAM,CAAC;QAClB,CAAC;QACD,iBAAiB,EAAE;YACf,MAAM,EAAE,kCAAiB;YACzB,SAAS,EAAE,CAAC,6CAAoB,EAAE,yCAAkB,CAAC;SACxD;QACD,kBAAkB,EAAE;YAChB,MAAM,EAAE,mCAAkB;YAC1B,SAAS,EAAE,CAAC,6CAAoB,CAAC;SACpC;QACD,aAAa,EAAE,QAAQ;KAC1B,CAAC;GACW,YAAY,CAYxB"}
@@ -1,11 +1,11 @@
1
- import { Order as MollieOrder } from '@mollie/api-client';
2
1
  import { ModuleRef } from '@nestjs/core';
3
2
  import { ActiveOrderService, EntityHydrator, Order, OrderService, PaymentMethodService, RequestContext } from '@vendure/core';
4
3
  import { MolliePaymentIntentInput, MolliePaymentIntentResult, MolliePaymentMethod } from './graphql/generated-shop-types';
5
4
  import { MolliePluginOptions } from './mollie.plugin';
5
+ import { MolliePaymentMetadata } from './types';
6
6
  interface OrderStatusInput {
7
7
  paymentMethodId: string;
8
- orderId: string;
8
+ paymentId: string;
9
9
  }
10
10
  export declare class MollieService {
11
11
  private paymentMethodService;
@@ -21,17 +21,17 @@ export declare class MollieService {
21
21
  */
22
22
  createPaymentIntent(ctx: RequestContext, input: MolliePaymentIntentInput): Promise<MolliePaymentIntentResult>;
23
23
  /**
24
- * Update Vendure payments and order status based on the incoming Mollie order
24
+ * Update Vendure payments and order status based on the incoming Mollie payment
25
25
  */
26
- handleMollieStatusUpdate(ctx: RequestContext, { paymentMethodId, orderId }: OrderStatusInput): Promise<void>;
26
+ handleMollieStatusUpdate(ctx: RequestContext, { paymentMethodId, paymentId }: OrderStatusInput): Promise<void>;
27
27
  /**
28
28
  * Add payment to order. Can be settled or authorized depending on the payment method.
29
29
  */
30
- addPayment(ctx: RequestContext, order: Order, amount: number, mollieMetadata: Partial<MollieOrder>, paymentMethodCode: string, status: 'Authorized' | 'Settled'): Promise<Order>;
30
+ addPayment(ctx: RequestContext, order: Order, amount: number, mollieMetadata: Omit<MolliePaymentMetadata, 'status' | 'amount'>, paymentMethodCode: string, status: 'Authorized' | 'Settled'): Promise<Order>;
31
31
  /**
32
- * Settle an existing payment based on the given mollieOrder
32
+ * Settle an existing payment based on the given Mollie payment ID
33
33
  */
34
- settleExistingPayment(ctx: RequestContext, order: Order, mollieOrderId: string): Promise<void>;
34
+ settleExistingPayment(ctx: RequestContext, order: Order, molliePaymentId: string): Promise<void>;
35
35
  getEnabledPaymentMethods(ctx: RequestContext, paymentMethodCode: string): Promise<MolliePaymentMethod[]>;
36
36
  /**
37
37
  * Dry run a transition to a given state.
@@ -40,7 +40,9 @@ export declare class MollieService {
40
40
  private canTransitionTo;
41
41
  private getPaymentMethod;
42
42
  /**
43
- * Get order by id, or active order if no orderId is given
43
+ * Get order by id, or active order if no orderId is given.
44
+ *
45
+ * Fetches order with all needed relations
44
46
  */
45
47
  private getOrder;
46
48
  }
@@ -94,19 +94,7 @@ let MollieService = class MollieService {
94
94
  if (!paymentMethod) {
95
95
  return new PaymentIntentError(`No paymentMethod found with code ${String(paymentMethodCode)}`);
96
96
  }
97
- const [eligiblePaymentMethods] = await Promise.all([
98
- this.orderService.getEligiblePaymentMethods(ctx, order.id),
99
- await this.entityHydrator.hydrate(ctx, order, {
100
- relations: [
101
- 'customer',
102
- 'surcharges',
103
- 'lines.productVariant',
104
- 'lines.productVariant.translations',
105
- 'shippingLines.shippingMethod',
106
- 'payments',
107
- ],
108
- }),
109
- ]);
97
+ const eligiblePaymentMethods = await this.orderService.getEligiblePaymentMethods(ctx, order.id);
110
98
  if (!eligiblePaymentMethods.find(eligibleMethod => (0, core_2.idsAreEqual)(eligibleMethod.id, paymentMethod === null || paymentMethod === void 0 ? void 0 : paymentMethod.id) && eligibleMethod.isEligible)) {
111
99
  // Given payment method code is not eligible for this order
112
100
  return new InvalidInputError(`Payment method ${paymentMethod === null || paymentMethod === void 0 ? void 0 : paymentMethod.code} is not eligible for order ${order.code}`);
@@ -171,59 +159,59 @@ let MollieService = class MollieService {
171
159
  languageCode: ctx.languageCode,
172
160
  req: ctx.req,
173
161
  });
174
- await this.addPayment(adminCtx, order, amountToPay, { method: 'Settled without Mollie' }, paymentMethod.code, 'Settled');
162
+ await this.addPayment(adminCtx, order, amountToPay, {
163
+ paymentId: 'Settled without Mollie',
164
+ method: 'Settled without Mollie',
165
+ }, paymentMethod.code, 'Settled');
175
166
  return {
176
167
  url: redirectUrl,
177
168
  };
178
169
  }
179
- const orderInput = {
180
- orderNumber: order.code,
170
+ const paymentInput = {
171
+ description: order.code,
181
172
  amount: (0, mollie_helpers_1.toAmount)(amountToPay, order.currencyCode),
182
173
  redirectUrl,
183
174
  webhookUrl: `${vendureHost}/payments/mollie/${ctx.channel.token}/${paymentMethod.id}`,
184
175
  billingAddress,
185
- locale: (0, mollie_helpers_1.getLocale)(billingAddress.country, ctx.languageCode),
186
- lines: (0, mollie_helpers_1.toMollieOrderLines)(order, alreadyPaid),
176
+ locale: input.locale,
177
+ lines: (0, mollie_helpers_1.toMolliePaymentLines)(order, alreadyPaid),
187
178
  metadata: {
188
179
  languageCode: ctx.languageCode,
189
180
  },
181
+ captureMode: input.immediateCapture === false ? api_client_1.CaptureMethod.manual : api_client_1.CaptureMethod.automatic,
190
182
  };
191
183
  if (molliePaymentMethodCode) {
192
- orderInput.method = molliePaymentMethodCode;
184
+ paymentInput.method = molliePaymentMethodCode;
193
185
  }
194
- const mollieOrder = await mollieClient.orders.create(orderInput);
195
- // Save async, because this shouldn't impact intent creation
196
- this.orderService.updateCustomFields(ctx, order.id, { mollieOrderId: mollieOrder.id }).catch(e => {
197
- core_2.Logger.error(`Failed to save Mollie order ID: ${e.message}`, constants_1.loggerCtx);
198
- });
199
- core_2.Logger.info(`Created Mollie order ${mollieOrder.id} for order ${order.code}`, constants_1.loggerCtx);
200
- const url = mollieOrder.getCheckoutUrl();
186
+ const molliePayment = await mollieClient.payments.create(paymentInput);
187
+ core_2.Logger.info(`Created Mollie payment ${String(molliePayment.id)} for order ${order.code}`, constants_1.loggerCtx);
188
+ const url = molliePayment.getCheckoutUrl();
201
189
  if (!url) {
202
- throw Error('Unable to getCheckoutUrl() from Mollie order');
190
+ throw Error('Unable to getCheckoutUrl() from Mollie payment');
203
191
  }
204
192
  return {
205
193
  url,
206
194
  };
207
195
  }
208
196
  /**
209
- * Update Vendure payments and order status based on the incoming Mollie order
197
+ * Update Vendure payments and order status based on the incoming Mollie payment
210
198
  */
211
- async handleMollieStatusUpdate(ctx, { paymentMethodId, orderId }) {
212
- var _a, _b, _c;
213
- core_2.Logger.info(`Received status update for channel ${ctx.channel.token} for Mollie order ${orderId}`, constants_1.loggerCtx);
199
+ async handleMollieStatusUpdate(ctx, { paymentMethodId, paymentId }) {
200
+ var _a, _b;
201
+ core_2.Logger.info(`Received status update for channel ${ctx.channel.token} for Mollie payment ${paymentId}`, constants_1.loggerCtx);
214
202
  const paymentMethod = await this.paymentMethodService.findOne(ctx, paymentMethodId);
215
203
  if (!paymentMethod) {
216
204
  // Fail silently, as we don't want to expose if a paymentMethodId exists or not
217
205
  return core_2.Logger.warn(`No paymentMethod found with id ${paymentMethodId}`, constants_1.loggerCtx);
218
206
  }
219
207
  const apiKey = (_a = paymentMethod.handler.args.find(a => a.name === 'apiKey')) === null || _a === void 0 ? void 0 : _a.value;
220
- const autoCapture = ((_b = paymentMethod.handler.args.find(a => a.name === 'autoCapture')) === null || _b === void 0 ? void 0 : _b.value) === 'true';
221
208
  if (!apiKey) {
222
209
  throw Error(`No apiKey found for payment ${paymentMethod.id} for channel ${ctx.channel.token}`);
223
210
  }
224
211
  const client = (0, api_client_1.default)({ apiKey });
225
- const mollieOrder = await client.orders.get(orderId);
226
- if ((_c = mollieOrder.metadata) === null || _c === void 0 ? void 0 : _c.languageCode) {
212
+ const molliePayment = await client.payments.get(paymentId);
213
+ const metadataLanguageCode = (_b = molliePayment.metadata) === null || _b === void 0 ? void 0 : _b.languageCode;
214
+ if (metadataLanguageCode) {
227
215
  // Recreate ctx with the original languageCode
228
216
  ctx = new core_2.RequestContext({
229
217
  apiType: 'admin',
@@ -231,32 +219,33 @@ let MollieService = class MollieService {
231
219
  authorizedAsOwnerOnly: false,
232
220
  req: ctx.req,
233
221
  channel: ctx.channel,
234
- languageCode: mollieOrder.metadata.languageCode,
222
+ languageCode: metadataLanguageCode,
235
223
  });
236
224
  }
237
- core_2.Logger.info(`Processing status '${mollieOrder.status}' for order ${mollieOrder.orderNumber} for channel ${ctx.channel.token} for Mollie order ${orderId}`, constants_1.loggerCtx);
238
- let order = await this.orderService.findOneByCode(ctx, mollieOrder.orderNumber, ['payments']);
225
+ core_2.Logger.info(`Processing incoming webhook status '${molliePayment.status}' for order ${molliePayment.description} for channel ${ctx.channel.token} for Mollie payment ${paymentId}`, constants_1.loggerCtx);
226
+ let order = await this.orderService.findOneByCode(ctx, molliePayment.description, ['payments']);
239
227
  if (!order) {
240
- throw Error(`Unable to find order ${mollieOrder.orderNumber}, unable to process Mollie order ${mollieOrder.id}`);
228
+ throw Error(`Unable to find order ${molliePayment.description}, unable to process Mollie payment ${molliePayment.id}`);
241
229
  }
242
- const mollieStatesThatRequireAction = [
243
- api_client_1.OrderStatus.completed,
244
- api_client_1.OrderStatus.authorized,
245
- api_client_1.OrderStatus.paid,
246
- ];
247
- if (!mollieStatesThatRequireAction.includes(mollieOrder.status)) {
230
+ const mollieStatesThatRequireAction = [api_client_1.PaymentStatus.authorized, api_client_1.PaymentStatus.paid];
231
+ if (!mollieStatesThatRequireAction.includes(molliePayment.status)) {
248
232
  // No need to handle this mollie webhook status
249
- core_2.Logger.info(`Ignoring Mollie status '${mollieOrder.status}' from incoming webhook for '${order.code}'`, constants_1.loggerCtx);
233
+ core_2.Logger.info(`Ignoring Mollie status '${molliePayment.status}' from incoming webhook for '${order.code}'`, constants_1.loggerCtx);
250
234
  return;
251
235
  }
252
236
  if (order.orderPlacedAt) {
253
- const paymentWithSameTransactionId = order.payments.find(p => p.transactionId === mollieOrder.id);
237
+ const paymentWithSameTransactionId = order.payments.find(p => p.transactionId === molliePayment.id);
254
238
  if (!paymentWithSameTransactionId) {
255
239
  // The order is paid for again, with another transaction ID. This means the customer paid twice
256
- core_2.Logger.error(`Order '${order.code}' is already paid. Mollie order '${mollieOrder.id}' should be refunded.`, constants_1.loggerCtx);
240
+ core_2.Logger.error(`Order '${order.code}' is already paid. Mollie payment '${molliePayment.id}' should be refunded.`, constants_1.loggerCtx);
257
241
  return;
258
242
  }
259
243
  }
244
+ if (order.state === 'Cancelled' && molliePayment.status === api_client_1.PaymentStatus.paid) {
245
+ core_2.Logger.error(`Order '${order.code}' is 'Cancelled'', but was paid for with '${molliePayment.id}'. Payment '${molliePayment.id}' should be refunded.`, constants_1.loggerCtx);
246
+ return;
247
+ }
248
+ // If order is not in one of these states, we don't need to handle the Mollie webhook
260
249
  const vendureStatesThatRequireAction = [
261
250
  'AddingItems',
262
251
  'ArrangingPayment',
@@ -265,35 +254,34 @@ let MollieService = class MollieService {
265
254
  'Draft',
266
255
  ];
267
256
  if (!vendureStatesThatRequireAction.includes(order.state)) {
268
- // If order is not in one of these states, we don't need to handle the Mollie webhook
269
- core_2.Logger.info(`Order ${order.code} is already '${order.state}', no need for handling Mollie status '${mollieOrder.status}'`, constants_1.loggerCtx);
257
+ core_2.Logger.info(`Order ${order.code} is already '${order.state}', no need for handling Mollie status '${molliePayment.status}'`, constants_1.loggerCtx);
270
258
  return;
271
259
  }
272
- const amount = (0, mollie_helpers_1.amountToCents)(mollieOrder.amount);
273
- if (mollieOrder.status === api_client_1.OrderStatus.paid) {
274
- // Paid is only used by 1-step payments without Authorized state. This will settle immediately
275
- await this.addPayment(ctx, order, amount, mollieOrder, paymentMethod.code, 'Settled');
276
- return;
260
+ const amount = (0, mollie_helpers_1.amountToCents)(molliePayment.amount);
261
+ // Metadata to add to a payment
262
+ const mollieMetadata = {
263
+ paymentId: molliePayment.id,
264
+ method: molliePayment.method,
265
+ mode: molliePayment.mode,
266
+ profileId: molliePayment.profileId,
267
+ authorizedAt: molliePayment.authorizedAt,
268
+ paidAt: molliePayment.paidAt,
269
+ };
270
+ if (order.state === 'PaymentAuthorized' && molliePayment.status === api_client_1.PaymentStatus.paid) {
271
+ // If our order is in PaymentAuthorized state, it means a 2 step payment was used (E.g. a pay-later method like Klarna)
272
+ return this.settleExistingPayment(ctx, order, molliePayment.id);
277
273
  }
278
- if (order.state === 'AddingItems' && mollieOrder.status === api_client_1.OrderStatus.authorized) {
279
- order = await this.addPayment(ctx, order, amount, mollieOrder, paymentMethod.code, 'Authorized');
280
- if (autoCapture && mollieOrder.status === api_client_1.OrderStatus.authorized) {
281
- // Immediately capture payment if autoCapture is set
282
- core_2.Logger.info(`Auto capturing payment for order ${order.code}`, constants_1.loggerCtx);
283
- await this.settleExistingPayment(ctx, order, mollieOrder.id);
284
- }
274
+ if (molliePayment.status === api_client_1.PaymentStatus.paid) {
275
+ await this.addPayment(ctx, order, amount, mollieMetadata, paymentMethod.code, 'Settled');
285
276
  return;
286
277
  }
287
- if (order.state === 'PaymentAuthorized' && mollieOrder.status === api_client_1.OrderStatus.completed) {
288
- return this.settleExistingPayment(ctx, order, mollieOrder.id);
289
- }
290
- if (autoCapture && mollieOrder.status === api_client_1.OrderStatus.completed) {
291
- // When autocapture is enabled, we should not handle the completed status from Mollie,
292
- // because the order will be transitioned to PaymentSettled during auto capture
278
+ if (order.state === 'AddingItems' && molliePayment.status === api_client_1.PaymentStatus.authorized) {
279
+ // Transition order to PaymentAuthorized by creating an authorized payment
280
+ order = await this.addPayment(ctx, order, amount, mollieMetadata, paymentMethod.code, 'Authorized');
293
281
  return;
294
282
  }
295
283
  // Any other combination of Mollie status and Vendure status indicates something is wrong.
296
- throw Error(`Unhandled incoming Mollie status '${mollieOrder.status}' for order ${order.code} with status '${order.state}'`);
284
+ throw Error(`Unhandled incoming Mollie status '${molliePayment.status}' for order ${order.code} with status '${order.state}'`);
297
285
  }
298
286
  /**
299
287
  * Add payment to order. Can be settled or authorized depending on the payment method.
@@ -306,19 +294,19 @@ let MollieService = class MollieService {
306
294
  `to ${transitionToStateResult.toState}: ${transitionToStateResult.message}`);
307
295
  }
308
296
  }
297
+ const metadata = {
298
+ amount,
299
+ status,
300
+ paymentId: mollieMetadata.paymentId,
301
+ mode: mollieMetadata.mode,
302
+ method: mollieMetadata.method,
303
+ profileId: mollieMetadata.profileId,
304
+ authorizedAt: mollieMetadata.authorizedAt,
305
+ paidAt: mollieMetadata.paidAt,
306
+ };
309
307
  const addPaymentToOrderResult = await this.orderService.addPaymentToOrder(ctx, order.id, {
310
308
  method: paymentMethodCode,
311
- metadata: {
312
- amount,
313
- status,
314
- orderId: mollieMetadata.id,
315
- mode: mollieMetadata.mode,
316
- method: mollieMetadata.method,
317
- profileId: mollieMetadata.profileId,
318
- settlementAmount: mollieMetadata.amount,
319
- authorizedAt: mollieMetadata.authorizedAt,
320
- paidAt: mollieMetadata.paidAt,
321
- },
309
+ metadata,
322
310
  });
323
311
  if (!(addPaymentToOrderResult instanceof core_2.Order)) {
324
312
  throw Error(`Error adding payment to order ${order.code}: ${addPaymentToOrderResult.message}`);
@@ -326,13 +314,13 @@ let MollieService = class MollieService {
326
314
  return addPaymentToOrderResult;
327
315
  }
328
316
  /**
329
- * Settle an existing payment based on the given mollieOrder
317
+ * Settle an existing payment based on the given Mollie payment ID
330
318
  */
331
- async settleExistingPayment(ctx, order, mollieOrderId) {
319
+ async settleExistingPayment(ctx, order, molliePaymentId) {
332
320
  order = await this.entityHydrator.hydrate(ctx, order, { relations: ['payments'] });
333
- const payment = order.payments.find(p => p.transactionId === mollieOrderId);
321
+ const payment = order.payments.find(p => p.transactionId === molliePaymentId);
334
322
  if (!payment) {
335
- throw Error(`Cannot find payment ${mollieOrderId} for ${order.code}. Unable to settle this payment`);
323
+ throw Error(`Cannot find payment ${molliePaymentId} for ${order.code}. Unable to settle this payment`);
336
324
  }
337
325
  const result = await this.orderService.settlePayment(ctx, payment.id);
338
326
  if (result.message) {
@@ -378,17 +366,26 @@ let MollieService = class MollieService {
378
366
  }
379
367
  }
380
368
  /**
381
- * Get order by id, or active order if no orderId is given
369
+ * Get order by id, or active order if no orderId is given.
370
+ *
371
+ * Fetches order with all needed relations
382
372
  */
383
373
  async getOrder(ctx, orderId) {
384
- if (orderId) {
385
- return await (0, core_2.assertFound)(this.orderService.findOne(ctx, orderId));
386
- }
387
- const order = await this.activeOrderService.getActiveOrder(ctx, undefined);
388
- if (!order) {
389
- return new PaymentIntentError('No active order found for session');
390
- }
391
- return order;
374
+ if (!orderId) {
375
+ const order = await this.activeOrderService.getActiveOrder(ctx, undefined);
376
+ if (!order) {
377
+ return new PaymentIntentError('No active order found for session');
378
+ }
379
+ orderId = order.id;
380
+ }
381
+ return await (0, core_2.assertFound)(this.orderService.findOne(ctx, orderId, [
382
+ 'customer',
383
+ 'surcharges',
384
+ 'lines.productVariant',
385
+ 'lines.productVariant.translations',
386
+ 'shippingLines.shippingMethod',
387
+ 'payments',
388
+ ]));
392
389
  }
393
390
  };
394
391
  exports.MollieService = MollieService;
@@ -1 +1 @@
1
- {"version":3,"file":"mollie.service.js","sourceRoot":"","sources":["../../src/mollie/mollie.service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"mollie.service.js","sourceRoot":"","sources":["../../src/mollie/mollie.service.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,10 @@
1
+ export interface MolliePaymentMetadata {
2
+ amount: number;
3
+ status: 'Authorized' | 'Settled';
4
+ paymentId: string;
5
+ mode?: 'test' | 'live';
6
+ method?: string;
7
+ profileId?: string;
8
+ authorizedAt?: string;
9
+ paidAt?: string;
10
+ }
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/mollie/types.ts"],"names":[],"mappings":""}
@@ -20,8 +20,7 @@ function sanitizeMetadata(metadata) {
20
20
  return {};
21
21
  const keys = Object.keys(metadata)
22
22
  .filter(keyName => keyName.length <= MAX_KEY_NAME_LENGTH)
23
- .filter(keyName => typeof metadata[keyName] !== 'string' ||
24
- metadata[keyName].length <= MAX_VALUE_LENGTH)
23
+ .filter(keyName => typeof metadata[keyName] !== 'string' || metadata[keyName].length <= MAX_VALUE_LENGTH)
25
24
  .slice(0, MAX_KEYS);
26
25
  const sanitizedMetadata = keys.reduce((obj, keyName) => {
27
26
  obj[keyName] = metadata[keyName];
@@ -1 +1 @@
1
- {"version":3,"file":"metadata-sanitize.js","sourceRoot":"","sources":["../../src/stripe/metadata-sanitize.ts"],"names":[],"mappings":";;AAgBA,4CAkBC;AAhCD,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"}
1
+ {"version":3,"file":"metadata-sanitize.js","sourceRoot":"","sources":["../../src/stripe/metadata-sanitize.ts"],"names":[],"mappings":";;AAgBA,4CAgBC;AA9BD,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,CAAC,OAAO,QAAQ,CAAC,OAAO,CAAC,KAAK,QAAQ,IAAI,QAAQ,CAAC,OAAO,CAAC,CAAC,MAAM,IAAI,gBAAgB,CACnG;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"}
@@ -88,9 +88,17 @@ let StripeController = class StripeController {
88
88
  // Orders can switch channels (e.g., global to UK store), causing lookups by the original
89
89
  // channel to fail. Using a default channel avoids "entity-with-id-not-found" errors.
90
90
  // See https://github.com/vendure-ecommerce/vendure/issues/3072
91
- const defaultChannel = await this.channelService.getDefaultChannel(ctx);
92
- const ctxWithDefaultChannel = await this.createContext(defaultChannel.token, languageCode, request);
93
- const transitionToStateResult = await this.orderService.transitionToState(ctxWithDefaultChannel, orderId, 'ArrangingPayment');
91
+ // First use the channel specific context to transition the order state, which is the default behavior
92
+ // prior to issue: https://github.com/vendure-ecommerce/vendure/issues/3072
93
+ let transitionToStateResult = await this.orderService.transitionToState(ctx, orderId, 'ArrangingPayment');
94
+ // If the channel specific context fails, try to use the default channel context
95
+ // to transition the order state. Issue: https://github.com/vendure-ecommerce/vendure/issues/3072
96
+ if (transitionToStateResult instanceof generated_graphql_shop_errors_1.OrderStateTransitionError) {
97
+ const defaultChannel = await this.channelService.getDefaultChannel(ctx);
98
+ const ctxWithDefaultChannel = await this.createContext(defaultChannel.token, languageCode, request);
99
+ transitionToStateResult = await this.orderService.transitionToState(ctxWithDefaultChannel, orderId, 'ArrangingPayment');
100
+ }
101
+ // If the order is still not in the ArrangingPayment state, log an error
94
102
  if (transitionToStateResult instanceof generated_graphql_shop_errors_1.OrderStateTransitionError) {
95
103
  core_1.Logger.error(`Error transitioning order ${orderCode} to ArrangingPayment state: ${transitionToStateResult.message}`, constants_1.loggerCtx);
96
104
  return;