@webbers/pay-payments-medusa 2.2.50 → 2.2.52

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (50) hide show
  1. package/.medusa/server/package.json +1 -1
  2. package/.medusa/server/src/admin/index.js +171 -11
  3. package/.medusa/server/src/admin/index.mjs +172 -12
  4. package/.medusa/server/src/api/admin/pay/orders/[id]/direct-debit/exchange/route.d.ts +12 -0
  5. package/.medusa/server/src/api/admin/pay/orders/[id]/direct-debit/exchange/route.d.ts.map +1 -0
  6. package/.medusa/server/src/api/admin/pay/orders/[id]/direct-debit/exchange/route.js +42 -0
  7. package/.medusa/server/src/api/admin/pay/orders/[id]/direct-debit/route.d.ts +9 -0
  8. package/.medusa/server/src/api/admin/pay/orders/[id]/direct-debit/route.d.ts.map +1 -0
  9. package/.medusa/server/src/api/admin/pay/orders/[id]/direct-debit/route.js +19 -0
  10. package/.medusa/server/src/api/admin/pay/settings/route.d.ts +12 -0
  11. package/.medusa/server/src/api/admin/pay/settings/route.d.ts.map +1 -0
  12. package/.medusa/server/src/api/admin/pay/settings/route.js +24 -0
  13. package/.medusa/server/src/providers/pay/core/constants.d.ts +2 -0
  14. package/.medusa/server/src/providers/pay/core/constants.d.ts.map +1 -1
  15. package/.medusa/server/src/providers/pay/core/constants.js +3 -1
  16. package/.medusa/server/src/providers/pay/core/http-client.d.ts +9 -0
  17. package/.medusa/server/src/providers/pay/core/http-client.d.ts.map +1 -1
  18. package/.medusa/server/src/providers/pay/core/http-client.js +21 -1
  19. package/.medusa/server/src/providers/pay/core/pay-base.d.ts +6 -0
  20. package/.medusa/server/src/providers/pay/core/pay-base.d.ts.map +1 -1
  21. package/.medusa/server/src/providers/pay/core/pay-base.js +24 -1
  22. package/.medusa/server/src/providers/pay/core/pay-client.d.ts +7 -1
  23. package/.medusa/server/src/providers/pay/core/pay-client.d.ts.map +1 -1
  24. package/.medusa/server/src/providers/pay/core/pay-client.js +24 -1
  25. package/.medusa/server/src/providers/pay/services/pay-direct-debit.d.ts +13 -1
  26. package/.medusa/server/src/providers/pay/services/pay-direct-debit.d.ts.map +1 -1
  27. package/.medusa/server/src/providers/pay/services/pay-direct-debit.js +64 -13
  28. package/.medusa/server/src/providers/pay/types/index.d.ts +10 -0
  29. package/.medusa/server/src/providers/pay/types/index.d.ts.map +1 -1
  30. package/.medusa/server/src/providers/pay/types/index.js +1 -1
  31. package/.medusa/server/src/providers/pay/types/order.d.ts +22 -0
  32. package/.medusa/server/src/providers/pay/types/order.d.ts.map +1 -1
  33. package/.medusa/server/src/subscribers/direct-debit-exchange.d.ts.map +1 -1
  34. package/.medusa/server/src/subscribers/direct-debit-exchange.js +95 -24
  35. package/.medusa/server/src/subscribers/payment-failed.d.ts.map +1 -1
  36. package/.medusa/server/src/subscribers/payment-failed.js +23 -4
  37. package/.medusa/server/src/utils/directDebitExchange.d.ts +15 -0
  38. package/.medusa/server/src/utils/directDebitExchange.d.ts.map +1 -1
  39. package/.medusa/server/src/utils/directDebitExchange.js +59 -2
  40. package/.medusa/server/src/utils/directDebitSimulation.d.ts +93 -0
  41. package/.medusa/server/src/utils/directDebitSimulation.d.ts.map +1 -0
  42. package/.medusa/server/src/utils/directDebitSimulation.js +170 -0
  43. package/.medusa/server/src/utils/index.d.ts +1 -0
  44. package/.medusa/server/src/utils/index.d.ts.map +1 -1
  45. package/.medusa/server/src/utils/index.js +2 -1
  46. package/.medusa/server/src/utils/reverseCapturedPayment.d.ts +30 -0
  47. package/.medusa/server/src/utils/reverseCapturedPayment.d.ts.map +1 -0
  48. package/.medusa/server/src/utils/reverseCapturedPayment.js +72 -0
  49. package/README.md +43 -0
  50. package/package.json +1 -1
@@ -53,4 +53,4 @@ exports.PaymentProviderKeys = {
53
53
  __exportStar(require("./common"), exports);
54
54
  __exportStar(require("./order"), exports);
55
55
  __exportStar(require("./transaction"), exports);
56
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvcHJvdmlkZXJzL3BheS90eXBlcy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7OztBQXNCYSxRQUFBLG1CQUFtQixHQUFHO0lBQ2pDLG1CQUFtQixFQUFFLHFCQUFxQjtJQUMxQyxPQUFPLEVBQUUsYUFBYTtJQUN0QixXQUFXLEVBQUUsZ0JBQWdCO0lBQzdCLFVBQVUsRUFBRSxzQkFBc0I7SUFDbEMsS0FBSyxFQUFFLFdBQVc7SUFDbEIsU0FBUyxFQUFFLGVBQWU7SUFDMUIsVUFBVSxFQUFFLGdCQUFnQjtJQUM1QixNQUFNLEVBQUUsWUFBWTtJQUNwQixTQUFTLEVBQUUsZUFBZTtJQUMxQixPQUFPLEVBQUUsYUFBYTtJQUN0QixRQUFRLEVBQUUsY0FBYztJQUN4QixPQUFPLEVBQUUsYUFBYTtJQUN0QixLQUFLLEVBQUUsV0FBVztJQUNsQixPQUFPLEVBQUUsYUFBYTtJQUN0QixNQUFNLEVBQUUsWUFBWTtJQUNwQixJQUFJLEVBQUUsVUFBVTtJQUNoQixLQUFLLEVBQUUsV0FBVztJQUNsQixHQUFHLEVBQUUsU0FBUztJQUNkLFVBQVUsRUFBRSxnQkFBZ0I7SUFDNUIsU0FBUyxFQUFFLGVBQWU7SUFDMUIsU0FBUyxFQUFFLGVBQWU7SUFDMUIsU0FBUyxFQUFFLGVBQWU7SUFDMUIsV0FBVyxFQUFFLGtCQUFrQjtJQUMvQixhQUFhLEVBQUUsbUJBQW1CO0lBQ2xDLElBQUksRUFBRSxVQUFVO0lBQ2hCLEtBQUssRUFBRSxXQUFXO0lBQ2xCLEtBQUssRUFBRSxXQUFXO0lBQ2xCLEtBQUssRUFBRSxXQUFXO0lBQ2xCLFFBQVEsRUFBRSxjQUFjO0lBQ3hCLFFBQVEsRUFBRSxjQUFjO0lBQ3hCLFFBQVEsRUFBRSxjQUFjO0lBQ3hCLElBQUksRUFBRSxVQUFVO0lBQ2hCLEdBQUcsRUFBRSxTQUFTO0NBQ2YsQ0FBQTtBQUtELDJDQUF3QjtBQUN4QiwwQ0FBdUI7QUFDdkIsZ0RBQTZCIn0=
56
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvcHJvdmlkZXJzL3BheS90eXBlcy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7OztBQWdDYSxRQUFBLG1CQUFtQixHQUFHO0lBQ2pDLG1CQUFtQixFQUFFLHFCQUFxQjtJQUMxQyxPQUFPLEVBQUUsYUFBYTtJQUN0QixXQUFXLEVBQUUsZ0JBQWdCO0lBQzdCLFVBQVUsRUFBRSxzQkFBc0I7SUFDbEMsS0FBSyxFQUFFLFdBQVc7SUFDbEIsU0FBUyxFQUFFLGVBQWU7SUFDMUIsVUFBVSxFQUFFLGdCQUFnQjtJQUM1QixNQUFNLEVBQUUsWUFBWTtJQUNwQixTQUFTLEVBQUUsZUFBZTtJQUMxQixPQUFPLEVBQUUsYUFBYTtJQUN0QixRQUFRLEVBQUUsY0FBYztJQUN4QixPQUFPLEVBQUUsYUFBYTtJQUN0QixLQUFLLEVBQUUsV0FBVztJQUNsQixPQUFPLEVBQUUsYUFBYTtJQUN0QixNQUFNLEVBQUUsWUFBWTtJQUNwQixJQUFJLEVBQUUsVUFBVTtJQUNoQixLQUFLLEVBQUUsV0FBVztJQUNsQixHQUFHLEVBQUUsU0FBUztJQUNkLFVBQVUsRUFBRSxnQkFBZ0I7SUFDNUIsU0FBUyxFQUFFLGVBQWU7SUFDMUIsU0FBUyxFQUFFLGVBQWU7SUFDMUIsU0FBUyxFQUFFLGVBQWU7SUFDMUIsV0FBVyxFQUFFLGtCQUFrQjtJQUMvQixhQUFhLEVBQUUsbUJBQW1CO0lBQ2xDLElBQUksRUFBRSxVQUFVO0lBQ2hCLEtBQUssRUFBRSxXQUFXO0lBQ2xCLEtBQUssRUFBRSxXQUFXO0lBQ2xCLEtBQUssRUFBRSxXQUFXO0lBQ2xCLFFBQVEsRUFBRSxjQUFjO0lBQ3hCLFFBQVEsRUFBRSxjQUFjO0lBQ3hCLFFBQVEsRUFBRSxjQUFjO0lBQ3hCLElBQUksRUFBRSxVQUFVO0lBQ2hCLEdBQUcsRUFBRSxTQUFTO0NBQ2YsQ0FBQTtBQUtELDJDQUF3QjtBQUN4QiwwQ0FBdUI7QUFDdkIsZ0RBQTZCIn0=
@@ -142,6 +142,28 @@ interface DirectDebitStats {
142
142
  extra3?: string | null;
143
143
  domainId?: string | null;
144
144
  }
145
+ export interface CreateDirectDebitV3Request {
146
+ reference: string;
147
+ serviceId: string;
148
+ amount: number;
149
+ bankaccountHolder: string;
150
+ bankaccountNumber: string;
151
+ processDate?: string;
152
+ description?: string;
153
+ currency?: string;
154
+ exchangeUrl?: string;
155
+ ipAddress?: string;
156
+ email?: string;
157
+ object?: string;
158
+ }
159
+ export interface CreateDirectDebitV3Response {
160
+ request: {
161
+ result: "0" | "1";
162
+ errorId: string;
163
+ errorMessage: string;
164
+ };
165
+ result: string;
166
+ }
145
167
  export interface CreateDirectDebitRequest {
146
168
  serviceId: string;
147
169
  reference: string;
@@ -1 +1 @@
1
- {"version":3,"file":"order.d.ts","sourceRoot":"","sources":["../../../../../../src/providers/pay/types/order.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"order.d.ts","sourceRoot":"","sources":["../../../../../../src/providers/pay/types/order.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"direct-debit-exchange.d.ts","sourceRoot":"","sources":["../../../../src/subscribers/direct-debit-exchange.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,cAAc,EAAE,gBAAgB,EAAC,MAAM,qBAAqB,CAAA;AA2DpE;;;;;GAKG;AACH,wBAA8B,6BAA6B,CAAC,EAC1D,KAAK,EAAE,EAAC,IAAI,EAAC,EACb,SAAS,GACV,EAAE,cAAc,CAAC;IAAC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAA;CAAC,CAAC,iBAiPhD;AAED,eAAO,MAAM,MAAM,EAAE,gBAEpB,CAAA"}
1
+ {"version":3,"file":"direct-debit-exchange.d.ts","sourceRoot":"","sources":["../../../../src/subscribers/direct-debit-exchange.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,cAAc,EAAE,gBAAgB,EAAC,MAAM,qBAAqB,CAAA;AAuGpE;;;;;GAKG;AACH,wBAA8B,6BAA6B,CAAC,EAC1D,KAAK,EAAE,EAAC,IAAI,EAAC,EACb,SAAS,GACV,EAAE,cAAc,CAAC;IAAC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAA;CAAC,CAAC,iBA+ShD;AAED,eAAO,MAAM,MAAM,EAAE,gBAEpB,CAAA"}
@@ -8,6 +8,7 @@ exports.default = payDirectDebitExchangeHandler;
8
8
  const utils_1 = require("@medusajs/framework/utils");
9
9
  const core_flows_1 = require("@medusajs/core-flows");
10
10
  const getPayPaymentSession_1 = __importDefault(require("../utils/getPayPaymentSession"));
11
+ const reverseCapturedPayment_1 = require("../utils/reverseCapturedPayment");
11
12
  const types_1 = require("../providers/pay/types");
12
13
  const pay_client_1 = require("../providers/pay/core/pay-client");
13
14
  const constants_1 = require("../providers/pay/core/constants");
@@ -20,7 +21,33 @@ const getPayClient = (container, logger) => {
20
21
  logger.warn("Pay. - Ignoring direct debit exchange: no Pay. provider options found");
21
22
  return null;
22
23
  }
23
- return new pay_client_1.PayClient(payModuleConfig.options, logger);
24
+ const options = payModuleConfig.options;
25
+ return { client: new pay_client_1.PayClient(options, logger), options };
26
+ };
27
+ /**
28
+ * The order display id a simulated exchange belongs to: the body's
29
+ * `reference`, or the order behind the payment session encoded in the
30
+ * simulated mandate code.
31
+ */
32
+ const resolveSimulatedDisplayId = async (container, payload, mandateId) => {
33
+ const fromPayload = (0, directDebitExchange_1.readPayloadString)(payload.reference);
34
+ if (fromPayload) {
35
+ return fromPayload;
36
+ }
37
+ const sessionId = (0, directDebitExchange_1.readSimulatedMandateSessionId)(mandateId);
38
+ if (!sessionId) {
39
+ return null;
40
+ }
41
+ const query = container.resolve(utils_1.ContainerRegistrationKeys.QUERY);
42
+ const { data: [session], } = await query.graph({
43
+ entity: "payment_session",
44
+ fields: ["id", "payment_collection.order.display_id"],
45
+ filters: { id: sessionId },
46
+ });
47
+ const displayId = session?.payment_collection?.order?.display_id;
48
+ return displayId !== undefined && displayId !== null
49
+ ? String(displayId)
50
+ : null;
24
51
  };
25
52
  /**
26
53
  * Handles the incasso exchanges Pay. sends for direct debits created via the
@@ -33,36 +60,52 @@ async function payDirectDebitExchangeHandler({ event: { data }, container, }) {
33
60
  const query = container.resolve(utils_1.ContainerRegistrationKeys.QUERY);
34
61
  const payload = data.payload ?? {};
35
62
  const action = (0, directDebitExchange_1.normalizeAction)(payload.action);
36
- const client = getPayClient(container, logger);
37
- if (!client) {
63
+ const pay = getPayClient(container, logger);
64
+ if (!pay) {
38
65
  return;
39
66
  }
67
+ const { client, options } = pay;
68
+ // Same default as the HTTP client: an unset testMode means test mode
69
+ const testMode = options.testMode ?? true;
40
70
  let info = null;
41
71
  let displayId = null;
72
+ // Set when the exchange describes a mandate that only exists on this test
73
+ // server, the body is then the only source of the direct debit state
74
+ let simulatedMandateId = null;
42
75
  if ((0, directDebitExchange_1.isLegacyDirectDebitAction)(action)) {
43
76
  const referenceId = (0, directDebitExchange_1.readDirectDebitReferenceId)(payload);
44
77
  const mandateId = (0, directDebitExchange_1.readDirectDebitMandateId)(payload);
45
- if (referenceId) {
78
+ if (testMode && (0, directDebitExchange_1.isSimulatedDirectDebitMandate)(mandateId)) {
79
+ simulatedMandateId = mandateId;
80
+ displayId = await resolveSimulatedDisplayId(container, payload, mandateId);
81
+ if (!displayId) {
82
+ logger.warn(`Pay. - Ignoring simulated direct debit exchange ${action} for ${mandateId}: order reference missing`);
83
+ return;
84
+ }
85
+ }
86
+ if (!simulatedMandateId && referenceId) {
46
87
  info = await client.getDirectDebitInfo(referenceId).catch((err) => {
47
88
  logger.warn(`Pay. - Could not retrieve direct debit ${referenceId}: ${err.message ?? err}`);
48
89
  return null;
49
90
  });
50
91
  }
51
- if (!(0, directDebitExchange_1.extractDirectDebit)(info) && mandateId) {
92
+ if (!simulatedMandateId && !(0, directDebitExchange_1.extractDirectDebit)(info) && mandateId) {
52
93
  info = await client.getDirectDebitInfoByMandate(mandateId).catch((err) => {
53
94
  logger.warn(`Pay. - Could not retrieve direct debit mandate ${mandateId}: ${err.message ?? err}`);
54
95
  return null;
55
96
  });
56
97
  }
57
- const directDebit = (0, directDebitExchange_1.extractDirectDebit)(info);
58
- if (!directDebit) {
59
- logger.warn(`Pay. - Ignoring direct debit exchange ${action}: direct debit not found`);
60
- return;
61
- }
62
- displayId = (0, directDebitExchange_1.extractDirectDebitReference)(info, directDebit);
63
- if (!displayId) {
64
- logger.warn(`Pay. - Ignoring direct debit exchange ${action}: order reference missing`);
65
- return;
98
+ if (!simulatedMandateId) {
99
+ const directDebit = (0, directDebitExchange_1.extractDirectDebit)(info);
100
+ if (!directDebit) {
101
+ logger.warn(`Pay. - Ignoring direct debit exchange ${action}: direct debit not found`);
102
+ return;
103
+ }
104
+ displayId = (0, directDebitExchange_1.extractDirectDebitReference)(info, directDebit);
105
+ if (!displayId) {
106
+ logger.warn(`Pay. - Ignoring direct debit exchange ${action}: order reference missing`);
107
+ return;
108
+ }
66
109
  }
67
110
  }
68
111
  else {
@@ -72,6 +115,10 @@ async function payDirectDebitExchangeHandler({ event: { data }, container, }) {
72
115
  return;
73
116
  }
74
117
  }
118
+ if (!displayId) {
119
+ logger.warn(`Pay. - Ignoring direct debit exchange ${action}: order reference missing`);
120
+ return;
121
+ }
75
122
  const { data: [order], } = await query.graph({
76
123
  entity: "order",
77
124
  fields: [
@@ -106,10 +153,23 @@ async function payDirectDebitExchangeHandler({ event: { data }, container, }) {
106
153
  logger.warn(`Pay. - Ignoring direct debit exchange for #${displayId}: mandate code missing on payment`);
107
154
  return;
108
155
  }
109
- info = await client.getDirectDebitInfoByMandate(mandateId).catch((err) => {
110
- logger.warn(`Pay. - Could not retrieve direct debit mandate ${mandateId} for #${displayId}: ${err.message ?? err}`);
111
- return null;
112
- });
156
+ if (simulatedMandateId && mandateId !== simulatedMandateId) {
157
+ logger.warn(`Pay. - Ignoring simulated direct debit exchange for #${displayId}: mandate ${simulatedMandateId} does not belong to this order`);
158
+ return;
159
+ }
160
+ if (testMode &&
161
+ sessionData.testMode === true &&
162
+ (0, directDebitExchange_1.isSimulatedDirectDebitMandate)(mandateId)) {
163
+ // Nothing to re-fetch, the mandate only exists on this test server
164
+ logger.info(`Pay. - Simulating direct debit exchange for #${displayId} with mandate ${mandateId}`);
165
+ info = { directdebits: [(0, directDebitExchange_1.buildSimulatedDirectDebit)(payload, mandateId, displayId)] };
166
+ }
167
+ else {
168
+ info = await client.getDirectDebitInfoByMandate(mandateId).catch((err) => {
169
+ logger.warn(`Pay. - Could not retrieve direct debit mandate ${mandateId} for #${displayId}: ${err.message ?? err}`);
170
+ return null;
171
+ });
172
+ }
113
173
  }
114
174
  const directDebit = (0, directDebitExchange_1.extractDirectDebit)(info);
115
175
  if (!directDebit) {
@@ -146,11 +206,22 @@ async function payDirectDebitExchangeHandler({ event: { data }, container, }) {
146
206
  if (directDebitExchange_1.DIRECT_DEBIT_FAILED_CODES.has(statusCode) ||
147
207
  declined ||
148
208
  statusAction === "storno") {
149
- // A storno legitimately reverses a collected payment, so the collection is
150
- // marked failed even when a captured payment exists
151
- await paymentModuleService.updatePaymentCollections(paymentCollectionId, {
152
- status: utils_1.PaymentCollectionStatus.FAILED,
153
- });
209
+ if (payment?.captured_at && payment.id) {
210
+ // A storno reverses a collected payment: the money went back to the
211
+ // customer, so the order is made payable again
212
+ await (0, reverseCapturedPayment_1.reverseCapturedPayment)(container, {
213
+ orderId: order.id,
214
+ paymentId: payment.id,
215
+ paymentCollectionId,
216
+ reason: `Pay. direct debit ${statusCode === constants_1.PayDirectDebitStatusCode.STORNO ||
217
+ statusAction === "storno"
218
+ ? "storno"
219
+ : "failure"} (status ${statusLabel})`,
220
+ });
221
+ }
222
+ else {
223
+ await paymentModuleService.updatePaymentCollections(paymentCollectionId, { status: utils_1.PaymentCollectionStatus.FAILED });
224
+ }
154
225
  // Same signal the order API chargeback path emits, so consuming projects
155
226
  // can follow up on the order and subscription
156
227
  const eventBusService = container.resolve(utils_1.Modules.EVENT_BUS);
@@ -181,4 +252,4 @@ async function payDirectDebitExchangeHandler({ event: { data }, container, }) {
181
252
  exports.config = {
182
253
  event: directDebitExchange_1.PAY_DIRECT_DEBIT_EXCHANGE_EVENT,
183
254
  };
184
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGlyZWN0LWRlYml0LWV4Y2hhbmdlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL3N1YnNjcmliZXJzL2RpcmVjdC1kZWJpdC1leGNoYW5nZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7QUFpRUEsZ0RBb1BDO0FBblRELHFEQUlrQztBQUNsQyxxREFBMkQ7QUFPM0QseUZBQWdFO0FBQ2hFLGtEQUkrQjtBQUMvQixpRUFBMEQ7QUFFMUQsK0RBQXdFO0FBQ3hFLHNFQWFxQztBQUVyQyxNQUFNLFlBQVksR0FBRyxDQUNuQixTQUEwQixFQUMxQixNQUFjLEVBQ0ksRUFBRTtJQUNwQixNQUFNLFlBQVksR0FBRyxTQUFTLENBQUMsT0FBTyxDQUNwQyxpQ0FBeUIsQ0FBQyxhQUFhLENBQ3hDLENBQUE7SUFFRCxNQUFNLGVBQWUsR0FBSSxZQUFZLENBQUMsT0FBTyxFQUFFLE9BQWUsRUFBRSxPQUFPO1FBQ3JFLEVBQUUsU0FBUyxFQUFFLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsS0FBSyxLQUFLLENBQUMsQ0FBQTtJQUUxQyxJQUFJLENBQUMsZUFBZSxFQUFFLE9BQU8sRUFBRSxDQUFDO1FBQzlCLE1BQU0sQ0FBQyxJQUFJLENBQ1QsdUVBQXVFLENBQ3hFLENBQUE7UUFDRCxPQUFPLElBQUksQ0FBQTtJQUNiLENBQUM7SUFFRCxPQUFPLElBQUksc0JBQVMsQ0FBQyxlQUFlLENBQUMsT0FBMEIsRUFBRSxNQUFNLENBQUMsQ0FBQTtBQUMxRSxDQUFDLENBQUE7QUFFRDs7Ozs7R0FLRztBQUNZLEtBQUssVUFBVSw2QkFBNkIsQ0FBQyxFQUMxRCxLQUFLLEVBQUUsRUFBQyxJQUFJLEVBQUMsRUFDYixTQUFTLEdBQ3NDO0lBQy9DLE1BQU0sTUFBTSxHQUFHLFNBQVMsQ0FBQyxPQUFPLENBQUMsUUFBUSxDQUFDLENBQUE7SUFDMUMsTUFBTSxLQUFLLEdBQUcsU0FBUyxDQUFD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
255
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGlyZWN0LWRlYml0LWV4Y2hhbmdlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL3N1YnNjcmliZXJzL2RpcmVjdC1kZWJpdC1leGNoYW5nZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7QUE2R0EsZ0RBa1RDO0FBN1pELHFEQUlrQztBQUNsQyxxREFBMkQ7QUFPM0QseUZBQWdFO0FBQ2hFLDRFQUFzRTtBQUN0RSxrREFJK0I7QUFDL0IsaUVBQTBEO0FBRTFELCtEQUF3RTtBQUN4RSxzRUFnQnFDO0FBRXJDLE1BQU0sWUFBWSxHQUFHLENBQ25CLFNBQTBCLEVBQzFCLE1BQWMsRUFDd0MsRUFBRTtJQUN4RCxNQUFNLFlBQVksR0FBRyxTQUFTLENBQUMsT0FBTyxDQUNwQyxpQ0FBeUIsQ0FBQyxhQUFhLENBQ3hDLENBQUE7SUFFRCxNQUFNLGVBQWUsR0FBSSxZQUFZLENBQUMsT0FBTyxFQUFFLE9BQWUsRUFBRSxPQUFPO1FBQ3JFLEVBQUUsU0FBUyxFQUFFLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsS0FBSyxLQUFLLENBQUMsQ0FBQTtJQUUxQyxJQUFJLENBQUMsZUFBZSxFQUFFLE9BQU8sRUFBRSxDQUFDO1FBQzlCLE1BQU0sQ0FBQyxJQUFJLENBQ1QsdUVBQXVFLENBQ3hFLENBQUE7UUFDRCxPQUFPLElBQUksQ0FBQTtJQUNiLENBQUM7SUFFRCxNQUFNLE9BQU8sR0FBRyxlQUFlLENBQUMsT0FBMEIsQ0FBQTtJQUUxRCxPQUFPLEVBQUMsTUFBTSxFQUFFLElBQUksc0JBQVMsQ0FBQyxPQUFPLEVBQUUsTUFBTSxDQUFDLEVBQUUsT0FBTyxFQUFDLENBQUE7QUFDMUQsQ0FBQyxDQUFBO0FBRUQ7Ozs7R0FJRztBQUNILE1BQU0seUJBQXlCLEdBQUcsS0FBSyxFQUNyQyxTQUEwQixFQUMxQixPQUE0QixFQUM1QixTQUFpQixFQUNPLEVBQUU7SUFDMUIsTUFBTSxX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
@@ -1 +1 @@
1
- {"version":3,"file":"payment-failed.d.ts","sourceRoot":"","sources":["../../../../src/subscribers/payment-failed.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,cAAc,EAAE,gBAAgB,EAAC,MAAM,qBAAqB,CAAA;AAYpE,wBAA8B,uBAAuB,CAAC,EACpD,KAAK,EAAE,EAAC,IAAI,EAAC,EACb,SAAS,GACV,EAAE,cAAc,CAAC;IAAC,EAAE,EAAE,MAAM,CAAC;IAAC,UAAU,CAAC,EAAE,MAAM,CAAA;CAAC,CAAC,iBA6DnD;AAED,eAAO,MAAM,MAAM,EAAE,gBAEpB,CAAA"}
1
+ {"version":3,"file":"payment-failed.d.ts","sourceRoot":"","sources":["../../../../src/subscribers/payment-failed.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,cAAc,EAAE,gBAAgB,EAAC,MAAM,qBAAqB,CAAA;AAapE,wBAA8B,uBAAuB,CAAC,EACpD,KAAK,EAAE,EAAC,IAAI,EAAC,EACb,SAAS,GACV,EAAE,cAAc,CAAC;IAAC,EAAE,EAAE,MAAM,CAAC;IAAC,UAAU,CAAC,EAAE,MAAM,CAAA;CAAC,CAAC,iBAkFnD;AAED,eAAO,MAAM,MAAM,EAAE,gBAEpB,CAAA"}
@@ -7,6 +7,7 @@ exports.config = void 0;
7
7
  exports.default = payPaymentFailedHandler;
8
8
  const utils_1 = require("@medusajs/framework/utils");
9
9
  const getPayPaymentSession_1 = __importDefault(require("../utils/getPayPaymentSession"));
10
+ const reverseCapturedPayment_1 = require("../utils/reverseCapturedPayment");
10
11
  const constants_1 = require("../providers/pay/core/constants");
11
12
  async function payPaymentFailedHandler({ event: { data }, container, }) {
12
13
  const logger = container.resolve("logger");
@@ -21,6 +22,8 @@ async function payPaymentFailedHandler({ event: { data }, container, }) {
21
22
  "payment_collections.*",
22
23
  "payment_collections.payments.captured_at",
23
24
  "payment_collections.payment_sessions.*",
25
+ "payment_collections.payment_sessions.payment.id",
26
+ "payment_collections.payment_sessions.payment.captured_at",
24
27
  ],
25
28
  filters: {
26
29
  display_id: data.id,
@@ -38,11 +41,27 @@ async function payPaymentFailedHandler({ event: { data }, container, }) {
38
41
  return;
39
42
  }
40
43
  const payPaymentSession = (0, getPayPaymentSession_1.default)(order);
41
- if (payPaymentSession) {
42
- await paymentModuleService.updatePaymentCollections(payPaymentSession.payment_collection_id, {
43
- status: utils_1.PaymentCollectionStatus.FAILED,
44
+ if (!payPaymentSession) {
45
+ logger.warn(`No Pay. payment session found for order ${order.id}, ignoring failed payment`);
46
+ return;
47
+ }
48
+ const paymentCollectionId = payPaymentSession.payment_collection_id;
49
+ const capturedPayment = payPaymentSession.payment?.captured_at
50
+ ? payPaymentSession.payment
51
+ : undefined;
52
+ if (data.statusCode === constants_1.PayPaymentStatus.CHARGEBACK && capturedPayment) {
53
+ // The money went back to the customer, make the order payable again
54
+ await (0, reverseCapturedPayment_1.reverseCapturedPayment)(container, {
55
+ orderId: order.id,
56
+ paymentId: capturedPayment.id,
57
+ paymentCollectionId,
58
+ reason: `Pay. chargeback (status ${data.statusCode})`,
44
59
  });
60
+ return;
45
61
  }
62
+ await paymentModuleService.updatePaymentCollections(paymentCollectionId, {
63
+ status: utils_1.PaymentCollectionStatus.FAILED,
64
+ });
46
65
  }
47
66
  catch (e) {
48
67
  logger.error(e);
@@ -52,4 +71,4 @@ async function payPaymentFailedHandler({ event: { data }, container, }) {
52
71
  exports.config = {
53
72
  event: ["pay_payment.failed"],
54
73
  };
55
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGF5bWVudC1mYWlsZWQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvc3Vic2NyaWJlcnMvcGF5bWVudC1mYWlsZWQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBWUEsMENBZ0VDO0FBMUVELHFEQUtrQztBQUVsQyx5RkFBZ0U7QUFDaEUsK0RBQWdFO0FBRWpELEtBQUssVUFBVSx1QkFBdUIsQ0FBQyxFQUNwRCxLQUFLLEVBQUUsRUFBQyxJQUFJLEVBQUMsRUFDYixTQUFTLEdBQ3lDO0lBQ2xELE1BQU0sTUFBTSxHQUFHLFNBQVMsQ0FBQyxPQUFPLENBQUMsUUFBUSxDQUFDLENBQUE7SUFDMUMsTUFBTSxLQUFLLEdBQUcsU0FBUyxDQUFDLE9BQU8sQ0FBQyxpQ0FBeUIsQ0FBQyxLQUFLLENBQUMsQ0FBQTtJQUNoRSxNQUFNLG9CQUFvQixHQUFHLFNBQVMsQ0FBQyxPQUFPLENBQzVDLGVBQU8sQ0FBQyxPQUFPLENBQ2hCLENBQUE7SUFFRCxNQUFNLENBQUMsSUFBSSxDQUFDLDZCQUE2QixDQUFDLENBQUE7SUFFMUMsSUFBSSxDQUFDO1FBQ0gsTUFBTSxFQUNKLElBQUksRUFBRSxDQUFDLEtBQUssQ0FBQyxHQUNkLEdBQUcsTUFBTSxLQUFLLENBQUMsS0FBSyxDQUFDO1lBQ3BCLE1BQU0sRUFBRSxPQUFPO1lBQ2YsTUFBTSxFQUFFO2dCQUNOLElBQUk7Z0JBQ0osdUJBQXVCO2dCQUN2QiwwQ0FBMEM7Z0JBQzFDLHdDQUF3QzthQUN6QztZQUNELE9BQU8sRUFBRTtnQkFDUCxVQUFVLEVBQUUsSUFBSSxDQUFDLEVBQUU7YUFDcEI7U0FDRixDQUFDLENBQUE7UUFFRixJQUFJLENBQUMsS0FBSyxFQUFFLENBQUM7WUFDWCxNQUFNLElBQUksbUJBQVcsQ0FDbkIsbUJBQVcsQ0FBQyxLQUFLLENBQUMsU0FBUyxFQUMzQixxQ0FBcUMsSUFBSSxDQUFDLEVBQUUsRUFBRSxDQUMvQyxDQUFBO1FBQ0gsQ0FBQztRQUVELDBFQUEwRTtRQUMxRSw4RUFBOEU7UUFDOUUsTUFBTSxrQkFBa0IsR0FBRyxDQUFDLEtBQUssQ0FBQyxtQkFBbUIsSUFBSSxFQUFFLENBQUMsQ0FBQyxJQUFJLENBQy9ELENBQUMsRUFBRSxFQUFFLEVBQUUsQ0FDTCxFQUFFLENBQUMsTUFBTSxLQUFLLCtCQUF1QixDQUFDLFNBQVM7WUFDL0MsQ0FBQyxFQUFFLENBQUMsUUFBUSxJQUFJLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLE9BQU8sRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxXQUFXLENBQUMsQ0FDL0QsQ0FBQTtRQUVELElBQUksa0JBQWtCLElBQUksSUFBSSxDQUFDLFVBQVUsS0FBSyw0QkFBZ0IsQ0FBQyxVQUFVLEVBQUUsQ0FBQztZQUMxRSxNQUFNLENBQUMsSUFBSSxDQUNULG9DQUFvQyxLQUFLLENBQUMsRUFBRSw2QkFBNkIsQ0FDMUUsQ0FBQTtZQUNELE9BQU07UUFDUixDQUFDO1FBRUQsTUFBTSxpQkFBaUIsR0FBRyxJQUFBLDhCQUFvQixFQUFDLEtBQUssQ0FBQyxDQUFBO1FBRXJELElBQUksaUJBQWlCLEVBQUUsQ0FBQztZQUN0QixNQUFNLG9CQUFvQixDQUFDLHdCQUF3QixDQUNqRCxpQkFBaUIsQ0FBQyxxQkFBK0IsRUFDakQ7Z0JBQ0UsTUFBTSxFQUFFLCtCQUF1QixDQUFDLE1BQU07YUFDdkMsQ0FDRixDQUFBO1FBQ0gsQ0FBQztJQUNILENBQUM7SUFBQyxPQUFPLENBQUMsRUFBRSxDQUFDO1FBQ1gsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQTtRQUNmLE1BQU0sQ0FBQyxDQUFBO0lBQ1QsQ0FBQztBQUNILENBQUM7QUFFWSxRQUFBLE1BQU0sR0FBcUI7SUFDdEMsS0FBSyxFQUFFLENBQUMsb0JBQW9CLENBQUM7Q0FDOUIsQ0FBQSJ9
74
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGF5bWVudC1mYWlsZWQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvc3Vic2NyaWJlcnMvcGF5bWVudC1mYWlsZWQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBYUEsMENBcUZDO0FBaEdELHFEQUtrQztBQUVsQyx5RkFBZ0U7QUFDaEUsNEVBQXNFO0FBQ3RFLCtEQUFnRTtBQUVqRCxLQUFLLFVBQVUsdUJBQXVCLENBQUMsRUFDcEQsS0FBSyxFQUFFLEVBQUMsSUFBSSxFQUFDLEVBQ2IsU0FBUyxHQUN5QztJQUNsRCxNQUFNLE1BQU0sR0FBRyxTQUFTLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FBQyxDQUFBO0lBQzFDLE1BQU0sS0FBSyxHQUFHLFNBQVMsQ0FBQyxPQUFPLENBQUMsaUNBQXlCLENBQUMsS0FBSyxDQUFDLENBQUE7SUFDaEUsTUFBTSxvQkFBb0IsR0FBRyxTQUFTLENBQUMsT0FBTyxDQUM1QyxlQUFPLENBQUMsT0FBTyxDQUNoQixDQUFBO0lBRUQsTUFBTSxDQUFDLElBQUksQ0FBQyw2QkFBNkIsQ0FBQyxDQUFBO0lBRTFDLElBQUksQ0FBQztRQUNILE1BQU0sRUFDSixJQUFJLEVBQUUsQ0FBQyxLQUFLLENBQUMsR0FDZCxHQUFHLE1BQU0sS0FBSyxDQUFDLEtBQUssQ0FBQztZQUNwQixNQUFNLEVBQUUsT0FBTztZQUNmLE1BQU0sRUFBRTtnQkFDTixJQUFJO2dCQUNKLHVCQUF1QjtnQkFDdkIsMENBQTBDO2dCQUMxQyx3Q0FBd0M7Z0JBQ3hDLGlEQUFpRDtnQkFDakQsMERBQTBEO2FBQzNEO1lBQ0QsT0FBTyxFQUFFO2dCQUNQLFVBQVUsRUFBRSxJQUFJLENBQUMsRUFBRTthQUNwQjtTQUNGLENBQUMsQ0FBQTtRQUVGLElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQztZQUNYLE1BQU0sSUFBSSxtQkFBVyxDQUNuQixtQkFBVyxDQUFDLEtBQUssQ0FBQyxTQUFTLEVBQzNCLHFDQUFxQyxJQUFJLENBQUMsRUFBRSxFQUFFLENBQy9DLENBQUE7UUFDSCxDQUFDO1FBRUQsMEVBQTBFO1FBQzFFLDhFQUE4RTtRQUM5RSxNQUFNLGtCQUFrQixHQUFHLENBQUMsS0FBSyxDQUFDLG1CQUFtQixJQUFJLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FDL0QsQ0FBQyxFQUFFLEVBQUUsRUFBRSxDQUNMLEVBQUUsQ0FBQyxNQUFNLEtBQUssK0JBQXVCLENBQUMsU0FBUztZQUMvQyxDQUFDLEVBQUUsQ0FBQyxRQUFRLElBQUksRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsT0FBTyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLFdBQVcsQ0FBQyxDQUMvRCxDQUFBO1FBRUQsSUFBSSxrQkFBa0IsSUFBSSxJQUFJLENBQUMsVUFBVSxLQUFLLDRCQUFnQixDQUFDLFVBQVUsRUFBRSxDQUFDO1lBQzFFLE1BQU0sQ0FBQyxJQUFJLENBQ1Qsb0NBQW9DLEtBQUssQ0FBQyxFQUFFLDZCQUE2QixDQUMxRSxDQUFBO1lBQ0QsT0FBTTtRQUNSLENBQUM7UUFFRCxNQUFNLGlCQUFpQixHQUFHLElBQUEsOEJBQW9CLEVBQUMsS0FBSyxDQUFDLENBQUE7UUFFckQsSUFBSSxDQUFDLGlCQUFpQixFQUFFLENBQUM7WUFDdkIsTUFBTSxDQUFDLElBQUksQ0FDVCwyQ0FBMkMsS0FBSyxDQUFDLEVBQUUsMkJBQTJCLENBQy9FLENBQUE7WUFDRCxPQUFNO1FBQ1IsQ0FBQztRQUVELE1BQU0sbUJBQW1CLEdBQ3ZCLGlCQUFpQixDQUFDLHFCQUErQixDQUFBO1FBQ25ELE1BQU0sZUFBZSxHQUFHLGlCQUFpQixDQUFDLE9BQU8sRUFBRSxXQUFXO1lBQzVELENBQUMsQ0FBQyxpQkFBaUIsQ0FBQyxPQUFPO1lBQzNCLENBQUMsQ0FBQyxTQUFTLENBQUE7UUFFYixJQUFJLElBQUksQ0FBQyxVQUFVLEtBQUssNEJBQWdCLENBQUMsVUFBVSxJQUFJLGVBQWUsRUFBRSxDQUFDO1lBQ3ZFLG9FQUFvRTtZQUNwRSxNQUFNLElBQUEsK0NBQXNCLEVBQUMsU0FBUyxFQUFFO2dCQUN0QyxPQUFPLEVBQUUsS0FBSyxDQUFDLEVBQUU7Z0JBQ2pCLFNBQVMsRUFBRSxlQUFlLENBQUMsRUFBRTtnQkFDN0IsbUJBQW1CO2dCQUNuQixNQUFNLEVBQUUsMkJBQTJCLElBQUksQ0FBQyxVQUFVLEdBQUc7YUFDdEQsQ0FBQyxDQUFBO1lBQ0YsT0FBTTtRQUNSLENBQUM7UUFFRCxNQUFNLG9CQUFvQixDQUFDLHdCQUF3QixDQUFDLG1CQUFtQixFQUFFO1lBQ3ZFLE1BQU0sRUFBRSwrQkFBdUIsQ0FBQyxNQUFNO1NBQ3ZDLENBQUMsQ0FBQTtJQUNKLENBQUM7SUFBQyxPQUFPLENBQUMsRUFBRSxDQUFDO1FBQ1gsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQTtRQUNmLE1BQU0sQ0FBQyxDQUFBO0lBQ1QsQ0FBQztBQUNILENBQUM7QUFFWSxRQUFBLE1BQU0sR0FBcUI7SUFDdEMsS0FBSyxFQUFFLENBQUMsb0JBQW9CLENBQUM7Q0FDOUIsQ0FBQSJ9
@@ -25,4 +25,19 @@ export declare function parseDirectDebitDisplayId(payload: Record<string, any>):
25
25
  export declare function extractDirectDebit(info?: DirectDebitInfoResponse | DirectDebit | Record<string, any> | null): DirectDebit | null;
26
26
  export declare function extractDirectDebitReference(info: DirectDebitInfoResponse | DirectDebit | Record<string, any> | null, directDebit: DirectDebit | Record<string, any> | null): string | null;
27
27
  export declare function normalizeDirectDebitStatusAction(payloadAction: string, statusAction?: string): string;
28
+ /**
29
+ * Mandates created while the provider runs in test mode are not known at
30
+ * Pay. (see PayDirectDebitService.updatePayment), their code is
31
+ * `TEST-<payment session id>`.
32
+ */
33
+ export declare const SIMULATED_MANDATE_PREFIX = "TEST-";
34
+ export declare function isSimulatedDirectDebitMandate(code: unknown): code is string;
35
+ export declare function readSimulatedMandateSessionId(code: string): string | null;
36
+ /**
37
+ * Builds the direct debit a simulated exchange describes, so a test server can
38
+ * walk through the collection flow (collected, storno, ...) without Pay. The
39
+ * status comes from `status.code` in the body when present, otherwise from the
40
+ * legacy action. Only used for simulated mandates while test mode is active.
41
+ */
42
+ export declare function buildSimulatedDirectDebit(payload: Record<string, any>, mandateId: string, reference: string): DirectDebit;
28
43
  //# sourceMappingURL=directDebitExchange.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"directDebitExchange.d.ts","sourceRoot":"","sources":["../../../../src/utils/directDebitExchange.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,WAAW,EAAE,uBAAuB,EAAC,MAAM,wBAAwB,CAAA;AAG3E,eAAO,MAAM,+BAA+B,sCACP,CAAA;AASrC,eAAO,MAAM,yBAAyB,aAGpC,CAAA;AAEF,eAAO,MAAM,2BAA2B,aAItC,CAAA;AAEF,wBAAgB,eAAe,CAAC,MAAM,EAAE,OAAO,GAAG,MAAM,CAEvD;AAED,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,GAAG,IAAI,CAE/D;AAED,wBAAgB,yBAAyB,CAAC,MAAM,EAAE,OAAO,GAAG,OAAO,CAElE;AAED,wBAAgB,0BAA0B,CACxC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAC3B,MAAM,GAAG,IAAI,CAIf;AAED,wBAAgB,wBAAwB,CACtC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAC3B,MAAM,GAAG,IAAI,CAIf;AAED;;;;;;;;GAQG;AACH,wBAAgB,gCAAgC,CAAC,OAAO,EAAE,GAAG,GAAG,OAAO,CAgBtE;AAED,wBAAgB,yBAAyB,CACvC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAC3B,MAAM,GAAG,IAAI,CAYf;AAED;;;GAGG;AACH,wBAAgB,kBAAkB,CAChC,IAAI,CAAC,EAAE,uBAAuB,GAAG,WAAW,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,IAAI,GACxE,WAAW,GAAG,IAAI,CAgBpB;AAED,wBAAgB,2BAA2B,CACzC,IAAI,EAAE,uBAAuB,GAAG,WAAW,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,IAAI,EACxE,WAAW,EAAE,WAAW,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,IAAI,GACpD,MAAM,GAAG,IAAI,CASf;AAED,wBAAgB,gCAAgC,CAC9C,aAAa,EAAE,MAAM,EACrB,YAAY,CAAC,EAAE,MAAM,GACpB,MAAM,CAQR"}
1
+ {"version":3,"file":"directDebitExchange.d.ts","sourceRoot":"","sources":["../../../../src/utils/directDebitExchange.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,WAAW,EAAE,uBAAuB,EAAC,MAAM,wBAAwB,CAAA;AAG3E,eAAO,MAAM,+BAA+B,sCACP,CAAA;AASrC,eAAO,MAAM,yBAAyB,aAGpC,CAAA;AAEF,eAAO,MAAM,2BAA2B,aAItC,CAAA;AAEF,wBAAgB,eAAe,CAAC,MAAM,EAAE,OAAO,GAAG,MAAM,CAEvD;AAED,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,GAAG,IAAI,CAE/D;AAED,wBAAgB,yBAAyB,CAAC,MAAM,EAAE,OAAO,GAAG,OAAO,CAElE;AAED,wBAAgB,0BAA0B,CACxC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAC3B,MAAM,GAAG,IAAI,CAIf;AAED,wBAAgB,wBAAwB,CACtC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAC3B,MAAM,GAAG,IAAI,CAIf;AAED;;;;;;;;GAQG;AACH,wBAAgB,gCAAgC,CAAC,OAAO,EAAE,GAAG,GAAG,OAAO,CAgBtE;AAED,wBAAgB,yBAAyB,CACvC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAC3B,MAAM,GAAG,IAAI,CAYf;AAED;;;GAGG;AACH,wBAAgB,kBAAkB,CAChC,IAAI,CAAC,EAAE,uBAAuB,GAAG,WAAW,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,IAAI,GACxE,WAAW,GAAG,IAAI,CAgBpB;AAED,wBAAgB,2BAA2B,CACzC,IAAI,EAAE,uBAAuB,GAAG,WAAW,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,IAAI,EACxE,WAAW,EAAE,WAAW,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,IAAI,GACpD,MAAM,GAAG,IAAI,CASf;AAED,wBAAgB,gCAAgC,CAC9C,aAAa,EAAE,MAAM,EACrB,YAAY,CAAC,EAAE,MAAM,GACpB,MAAM,CAQR;AAED;;;;GAIG;AACH,eAAO,MAAM,wBAAwB,UAAU,CAAA;AAE/C,wBAAgB,6BAA6B,CAAC,IAAI,EAAE,OAAO,GAAG,IAAI,IAAI,MAAM,CAE3E;AAED,wBAAgB,6BAA6B,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAEzE;AASD;;;;;GAKG;AACH,wBAAgB,yBAAyB,CACvC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAC5B,SAAS,EAAE,MAAM,EACjB,SAAS,EAAE,MAAM,GAChB,WAAW,CAgCb"}
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.DIRECT_DEBIT_AWAITING_CODES = exports.DIRECT_DEBIT_FAILED_CODES = exports.PAY_DIRECT_DEBIT_EXCHANGE_EVENT = void 0;
3
+ exports.SIMULATED_MANDATE_PREFIX = exports.DIRECT_DEBIT_AWAITING_CODES = exports.DIRECT_DEBIT_FAILED_CODES = exports.PAY_DIRECT_DEBIT_EXCHANGE_EVENT = void 0;
4
4
  exports.normalizeAction = normalizeAction;
5
5
  exports.readPayloadString = readPayloadString;
6
6
  exports.isLegacyDirectDebitAction = isLegacyDirectDebitAction;
@@ -11,6 +11,9 @@ exports.parseDirectDebitDisplayId = parseDirectDebitDisplayId;
11
11
  exports.extractDirectDebit = extractDirectDebit;
12
12
  exports.extractDirectDebitReference = extractDirectDebitReference;
13
13
  exports.normalizeDirectDebitStatusAction = normalizeDirectDebitStatusAction;
14
+ exports.isSimulatedDirectDebitMandate = isSimulatedDirectDebitMandate;
15
+ exports.readSimulatedMandateSessionId = readSimulatedMandateSessionId;
16
+ exports.buildSimulatedDirectDebit = buildSimulatedDirectDebit;
14
17
  const constants_1 = require("../providers/pay/core/constants");
15
18
  exports.PAY_DIRECT_DEBIT_EXCHANGE_EVENT = "pay_payment.direct_debit_exchange";
16
19
  const LEGACY_DIRECT_DEBIT_ACTIONS = new Set([
@@ -105,4 +108,58 @@ function normalizeDirectDebitStatusAction(payloadAction, statusAction) {
105
108
  }
106
109
  return payloadAction.replace(/^incasso/, "");
107
110
  }
108
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGlyZWN0RGViaXRFeGNoYW5nZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy91dGlscy9kaXJlY3REZWJpdEV4Y2hhbmdlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQXdCQSwwQ0FFQztBQUVELDhDQUVDO0FBRUQsOERBRUM7QUFFRCxnRUFNQztBQUVELDREQU1DO0FBV0QsNEVBZ0JDO0FBRUQsOERBY0M7QUFNRCxnREFrQkM7QUFFRCxrRUFZQztBQUVELDRFQVdDO0FBL0lELCtEQUF3RTtBQUUzRCxRQUFBLCtCQUErQixHQUMxQyxtQ0FBbUMsQ0FBQTtBQUVyQyxNQUFNLDJCQUEyQixHQUFHLElBQUksR0FBRyxDQUFDO0lBQzFDLGdCQUFnQjtJQUNoQixhQUFhO0lBQ2Isa0JBQWtCO0lBQ2xCLGVBQWU7Q0FDaEIsQ0FBQyxDQUFBO0FBRVcsUUFBQSx5QkFBeUIsR0FBRyxJQUFJLEdBQUcsQ0FBUztJQUN2RCxvQ0FBd0IsQ0FBQyxNQUFNO0lBQy9CLG9DQUF3QixDQUFDLE1BQU07Q0FDaEMsQ0FBQyxDQUFBO0FBRVcsUUFBQSwyQkFBMkIsR0FBRyxJQUFJLEdBQUcsQ0FBUztJQUN6RCxvQ0FBd0IsQ0FBQyxPQUFPO0lBQ2hDLG9DQUF3QixDQUFDLElBQUk7SUFDN0Isb0NBQXdCLENBQUMsVUFBVTtDQUNwQyxDQUFDLENBQUE7QUFFRixTQUFnQixlQUFlLENBQUMsTUFBZTtJQUM3QyxPQUFPLE9BQU8sTUFBTSxLQUFLLFFBQVEsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLElBQUksRUFBRSxDQUFDLFdBQVcsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUE7QUFDdEUsQ0FBQztBQUVELFNBQWdCLGlCQUFpQixDQUFDLEtBQWM7SUFDOUMsT0FBTyxPQUFPLEtBQUssS0FBSyxRQUFRLElBQUksS0FBSyxDQUFDLElBQUksRUFBRSxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsSUFBSSxFQUFFLENBQUMsQ0FB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
111
+ /**
112
+ * Mandates created while the provider runs in test mode are not known at
113
+ * Pay. (see PayDirectDebitService.updatePayment), their code is
114
+ * `TEST-<payment session id>`.
115
+ */
116
+ exports.SIMULATED_MANDATE_PREFIX = "TEST-";
117
+ function isSimulatedDirectDebitMandate(code) {
118
+ return typeof code === "string" && code.startsWith(exports.SIMULATED_MANDATE_PREFIX);
119
+ }
120
+ function readSimulatedMandateSessionId(code) {
121
+ return readPayloadString(code.slice(exports.SIMULATED_MANDATE_PREFIX.length));
122
+ }
123
+ const LEGACY_ACTION_STATUS_CODES = {
124
+ incassopending: constants_1.PayDirectDebitStatusCode.PENDING,
125
+ incassosend: constants_1.PayDirectDebitStatusCode.SENT,
126
+ incassocollected: constants_1.PayDirectDebitStatusCode.COLLECTED,
127
+ incassostorno: constants_1.PayDirectDebitStatusCode.STORNO,
128
+ };
129
+ /**
130
+ * Builds the direct debit a simulated exchange describes, so a test server can
131
+ * walk through the collection flow (collected, storno, ...) without Pay. The
132
+ * status comes from `status.code` in the body when present, otherwise from the
133
+ * legacy action. Only used for simulated mandates while test mode is active.
134
+ */
135
+ function buildSimulatedDirectDebit(payload, mandateId, reference) {
136
+ const action = normalizeAction(payload.action);
137
+ const bodyCode = payload.status?.code ?? payload.statusCode;
138
+ const code = bodyCode !== undefined && bodyCode !== null && bodyCode !== ""
139
+ ? Number(bodyCode)
140
+ : LEGACY_ACTION_STATUS_CODES[action] ?? NaN;
141
+ return {
142
+ id: mandateId,
143
+ description: `Simulated direct debit exchange for #${reference}`,
144
+ url: "",
145
+ processDate: new Date().toISOString(),
146
+ orderId: "",
147
+ paymentSessionId: readSimulatedMandateSessionId(mandateId) ?? "",
148
+ type: "SINGLE",
149
+ amount: {
150
+ value: Number(payload.amount?.value ?? 0),
151
+ currency: String(payload.amount?.currency ?? ""),
152
+ },
153
+ status: {
154
+ code,
155
+ action: readPayloadString(payload.status?.action) ??
156
+ action.replace(/^incasso/, ""),
157
+ phase: "",
158
+ },
159
+ declined: payload.declined === true,
160
+ decline: null,
161
+ bankAccount: { iban: "", bic: "", owner: "" },
162
+ mandate: { code: mandateId, reference, description: "" },
163
+ };
164
+ }
165
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGlyZWN0RGViaXRFeGNoYW5nZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy91dGlscy9kaXJlY3REZWJpdEV4Y2hhbmdlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQXdCQSwwQ0FFQztBQUVELDhDQUVDO0FBRUQsOERBRUM7QUFFRCxnRUFNQztBQUVELDREQU1DO0FBV0QsNEVBZ0JDO0FBRUQsOERBY0M7QUFNRCxnREFrQkM7QUFFRCxrRUFZQztBQUVELDRFQVdDO0FBU0Qsc0VBRUM7QUFFRCxzRUFFQztBQWVELDhEQW9DQztBQWpORCwrREFBd0U7QUFFM0QsUUFBQSwrQkFBK0IsR0FDMUMsbUNBQW1DLENBQUE7QUFFckMsTUFBTSwyQkFBMkIsR0FBRyxJQUFJLEdBQUcsQ0FBQztJQUMxQyxnQkFBZ0I7SUFDaEIsYUFBYTtJQUNiLGtCQUFrQjtJQUNsQixlQUFlO0NBQ2hCLENBQUMsQ0FBQTtBQUVXLFFBQUEseUJBQXlCLEdBQUcsSUFBSSxHQUFHLENBQVM7SUFDdkQsb0NBQXdCLENBQUMsTUFBTTtJQUMvQixvQ0FBd0IsQ0FBQyxNQUFNO0NBQ2hDLENBQUMsQ0FBQTtBQUVXLFFBQUEsMkJBQTJCLEdBQUcsSUFBSSxHQUFHLENBQVM7SUFDekQsb0NBQXdCLENBQUMsT0FBTztJQUNoQyxvQ0FBd0IsQ0FBQyxJQUFJO0lBQzdCLG9DQUF3QixDQUFDLFVBQVU7Q0FDcEMsQ0FBQyxDQUFBO0FBRUYsU0FBZ0IsZUFBZSxDQUFDLE1BQWU7SUFDN0MsT0FBTyxPQUFPLE1BQU0sS0FBSyxRQUFRLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxJQUFJLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFBO0FBQ3RFLENBQUM7QUFFRCxTQUFnQixpQkFBaUIsQ0FBQyxLQUFjO0lBQzlDLE9BQU8sT0FBTyxLQUFLLEtBQUssUUFBUSxJQUFJLEtBQUssQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFD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
@@ -0,0 +1,93 @@
1
+ import { MedusaContainer } from "@medusajs/types";
2
+ import { ProviderOptions } from "../providers/pay/types";
3
+ /**
4
+ * The exchanges a test server can simulate for a direct debit that only exists
5
+ * locally (see README "Testing direct debits locally"). Each preset is the body
6
+ * Pay. would send, minus the mandate and order reference that are filled in
7
+ * from the order.
8
+ */
9
+ export declare const SIMULATED_EXCHANGE_PRESETS: {
10
+ readonly pending: {
11
+ readonly label: "Pending";
12
+ readonly description: "The debit is scheduled, the collection stays awaiting.";
13
+ readonly payload: {
14
+ readonly action: "incassopending";
15
+ };
16
+ };
17
+ readonly sent: {
18
+ readonly label: "Sent to bank";
19
+ readonly description: "The debit was sent to the bank, the collection stays awaiting.";
20
+ readonly payload: {
21
+ readonly action: "incassosend";
22
+ };
23
+ };
24
+ readonly collected: {
25
+ readonly label: "Collected";
26
+ readonly description: "The bank collected the money: the payment is captured.";
27
+ readonly payload: {
28
+ readonly action: "incassocollected";
29
+ };
30
+ };
31
+ readonly storno: {
32
+ readonly label: "Storno";
33
+ readonly description: "The customer reversed the debit after collection: the payment is refunded in Medusa and the order becomes payable again.";
34
+ readonly payload: {
35
+ readonly action: "incassostorno";
36
+ };
37
+ };
38
+ readonly failed: {
39
+ readonly label: "Failed";
40
+ readonly description: "The bank rejected the debit: the collection fails.";
41
+ readonly payload: {
42
+ readonly action: "incassosend";
43
+ readonly status: {
44
+ readonly code: 106;
45
+ };
46
+ };
47
+ };
48
+ readonly declined: {
49
+ readonly label: "Declined";
50
+ readonly description: "The debit was declined: the collection fails.";
51
+ readonly payload: {
52
+ readonly action: "incassosend";
53
+ readonly declined: true;
54
+ };
55
+ };
56
+ };
57
+ export type SimulatedExchangeKey = keyof typeof SIMULATED_EXCHANGE_PRESETS;
58
+ export declare const isSimulatedExchangeKey: (value: unknown) => value is SimulatedExchangeKey;
59
+ export type DirectDebitSimulationState = {
60
+ /** Whether exchanges can be simulated for this order */
61
+ available: boolean;
62
+ /** Why not, when unavailable */
63
+ reason?: "sepa_testing_off" | "test_mode_off" | "no_direct_debit" | "not_simulated";
64
+ testMode: boolean;
65
+ /** The "SEPA testing" switch on the Pay. settings page */
66
+ sepaTesting: boolean;
67
+ orderId: string;
68
+ displayId: string;
69
+ mandateCode: string | null;
70
+ paymentCollectionId: string | null;
71
+ paymentCollectionStatus: string | null;
72
+ captured: boolean;
73
+ presets: Record<SimulatedExchangeKey, {
74
+ label: string;
75
+ description: string;
76
+ }>;
77
+ };
78
+ export declare const getPayProviderOptions: (container: MedusaContainer) => ProviderOptions | null;
79
+ /**
80
+ * The "SEPA testing" switch on the Pay. settings page lives in the store's
81
+ * metadata, so it is shared by every admin user and needs no migration. Off by
82
+ * default: it is meant for staging servers only.
83
+ */
84
+ export declare const SEPA_TESTING_METADATA_KEY = "pay_sepa_testing";
85
+ export declare function isSepaTestingEnabled(container: MedusaContainer): Promise<boolean>;
86
+ export declare function setSepaTestingEnabled(container: MedusaContainer, enabled: boolean): Promise<boolean>;
87
+ export declare function getDirectDebitSimulationState(container: MedusaContainer, orderId: string): Promise<DirectDebitSimulationState | null>;
88
+ /**
89
+ * Builds the exchange body for a preset, as Pay. would send it for the order's
90
+ * simulated mandate.
91
+ */
92
+ export declare function buildSimulatedExchangePayload(key: SimulatedExchangeKey, state: Pick<DirectDebitSimulationState, "mandateCode" | "displayId">): Record<string, unknown>;
93
+ //# sourceMappingURL=directDebitSimulation.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"directDebitSimulation.d.ts","sourceRoot":"","sources":["../../../../src/utils/directDebitSimulation.ts"],"names":[],"mappings":"AAKA,OAAO,EAAsB,eAAe,EAAC,MAAM,iBAAiB,CAAA;AAGpE,OAAO,EAAsB,eAAe,EAAC,MAAM,wBAAwB,CAAA;AAG3E;;;;;GAKG;AACH,eAAO,MAAM,0BAA0B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAmC7B,CAAA;AAEV,MAAM,MAAM,oBAAoB,GAAG,MAAM,OAAO,0BAA0B,CAAA;AAE1E,eAAO,MAAM,sBAAsB,GACjC,OAAO,OAAO,KACb,KAAK,IAAI,oBAE6D,CAAA;AAEzE,MAAM,MAAM,0BAA0B,GAAG;IACvC,wDAAwD;IACxD,SAAS,EAAE,OAAO,CAAA;IAClB,gCAAgC;IAChC,MAAM,CAAC,EACH,kBAAkB,GAClB,eAAe,GACf,iBAAiB,GACjB,eAAe,CAAA;IACnB,QAAQ,EAAE,OAAO,CAAA;IACjB,0DAA0D;IAC1D,WAAW,EAAE,OAAO,CAAA;IACpB,OAAO,EAAE,MAAM,CAAA;IACf,SAAS,EAAE,MAAM,CAAA;IACjB,WAAW,EAAE,MAAM,GAAG,IAAI,CAAA;IAC1B,mBAAmB,EAAE,MAAM,GAAG,IAAI,CAAA;IAClC,uBAAuB,EAAE,MAAM,GAAG,IAAI,CAAA;IACtC,QAAQ,EAAE,OAAO,CAAA;IACjB,OAAO,EAAE,MAAM,CACb,oBAAoB,EACpB;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,WAAW,EAAE,MAAM,CAAA;KAAC,CACrC,CAAA;CACF,CAAA;AAED,eAAO,MAAM,qBAAqB,GAChC,WAAW,eAAe,KACzB,eAAe,GAAG,IASpB,CAAA;AAED;;;;GAIG;AACH,eAAO,MAAM,yBAAyB,qBAAqB,CAAA;AAc3D,wBAAsB,oBAAoB,CACxC,SAAS,EAAE,eAAe,GACzB,OAAO,CAAC,OAAO,CAAC,CAIlB;AAED,wBAAsB,qBAAqB,CACzC,SAAS,EAAE,eAAe,EAC1B,OAAO,EAAE,OAAO,GACf,OAAO,CAAC,OAAO,CAAC,CAgBlB;AAUD,wBAAsB,6BAA6B,CACjD,SAAS,EAAE,eAAe,EAC1B,OAAO,EAAE,MAAM,GACd,OAAO,CAAC,0BAA0B,GAAG,IAAI,CAAC,CA6E5C;AAED;;;GAGG;AACH,wBAAgB,6BAA6B,CAC3C,GAAG,EAAE,oBAAoB,EACzB,KAAK,EAAE,IAAI,CAAC,0BAA0B,EAAE,aAAa,GAAG,WAAW,CAAC,GACnE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAMzB"}