@webbers/pay-payments-medusa 2.2.52 → 2.2.53
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.
- package/.medusa/server/package.json +1 -1
- package/.medusa/server/src/admin/index.js +63 -1
- package/.medusa/server/src/admin/index.mjs +64 -2
- package/.medusa/server/src/api/admin/pay/orders/[id]/reversal/route.d.ts +7 -0
- package/.medusa/server/src/api/admin/pay/orders/[id]/reversal/route.d.ts.map +1 -0
- package/.medusa/server/src/api/admin/pay/orders/[id]/reversal/route.js +17 -0
- package/.medusa/server/src/subscribers/direct-debit-exchange.js +4 -3
- package/.medusa/server/src/subscribers/payment-failed.d.ts.map +1 -1
- package/.medusa/server/src/subscribers/payment-failed.js +3 -2
- package/.medusa/server/src/utils/index.d.ts +1 -0
- package/.medusa/server/src/utils/index.d.ts.map +1 -1
- package/.medusa/server/src/utils/index.js +2 -1
- package/.medusa/server/src/utils/paymentReversal.d.ts +24 -0
- package/.medusa/server/src/utils/paymentReversal.d.ts.map +1 -0
- package/.medusa/server/src/utils/paymentReversal.js +80 -0
- package/.medusa/server/src/utils/reverseCapturedPayment.d.ts +15 -2
- package/.medusa/server/src/utils/reverseCapturedPayment.d.ts.map +1 -1
- package/.medusa/server/src/utils/reverseCapturedPayment.js +31 -3
- package/README.md +8 -0
- package/package.json +1 -1
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@webbers/pay-payments-medusa",
|
|
3
3
|
"displayName": "Medusa v2 Pay. Plugin",
|
|
4
|
-
"version": "2.2.
|
|
4
|
+
"version": "2.2.53",
|
|
5
5
|
"description": "The Pay.nl payment provider plugin for Medusa v2",
|
|
6
6
|
"author": "Webbers B.V. <development@webbers.com>",
|
|
7
7
|
"license": "MIT",
|
|
@@ -128,6 +128,64 @@ const PayDirectDebitSimulatorWidget = ({
|
|
|
128
128
|
adminSdk.defineWidgetConfig({
|
|
129
129
|
zone: "order.details.side.after"
|
|
130
130
|
});
|
|
131
|
+
const KIND_LABELS = {
|
|
132
|
+
chargeback: "Chargeback",
|
|
133
|
+
storno: "Storno",
|
|
134
|
+
failure: "Failed collection"
|
|
135
|
+
};
|
|
136
|
+
const formatAmount = (amount, currency) => {
|
|
137
|
+
if (!currency) {
|
|
138
|
+
return amount.toFixed(2);
|
|
139
|
+
}
|
|
140
|
+
try {
|
|
141
|
+
return new Intl.NumberFormat(void 0, {
|
|
142
|
+
style: "currency",
|
|
143
|
+
currency: currency.toUpperCase()
|
|
144
|
+
}).format(amount);
|
|
145
|
+
} catch {
|
|
146
|
+
return `${amount.toFixed(2)} ${currency.toUpperCase()}`;
|
|
147
|
+
}
|
|
148
|
+
};
|
|
149
|
+
const formatDate = (iso) => iso ? new Intl.DateTimeFormat(void 0, {
|
|
150
|
+
dateStyle: "medium",
|
|
151
|
+
timeStyle: "short"
|
|
152
|
+
}).format(new Date(iso)) : null;
|
|
153
|
+
const PayPaymentReversedWidget = ({
|
|
154
|
+
data: order
|
|
155
|
+
}) => {
|
|
156
|
+
const { data: reversal } = reactQuery.useQuery({
|
|
157
|
+
queryKey: ["pay-payment-reversal", order.id],
|
|
158
|
+
queryFn: () => sdk.client.fetch(`/admin/pay/orders/${order.id}/reversal`)
|
|
159
|
+
});
|
|
160
|
+
if (!(reversal == null ? void 0 : reversal.reversed)) {
|
|
161
|
+
return null;
|
|
162
|
+
}
|
|
163
|
+
const kindLabel = reversal.kind ? KIND_LABELS[reversal.kind] : "Reversal";
|
|
164
|
+
const when = formatDate(reversal.at);
|
|
165
|
+
const returned = formatAmount(reversal.amount, reversal.currency_code);
|
|
166
|
+
const outstanding = formatAmount(reversal.outstanding, reversal.currency_code);
|
|
167
|
+
const stillOwed = reversal.outstanding > 0;
|
|
168
|
+
return /* @__PURE__ */ jsxRuntime.jsx(ui.Alert, { variant: "warning", className: "items-start", children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex flex-col gap-y-2", children: [
|
|
169
|
+
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex flex-wrap items-center gap-x-2 gap-y-1", children: [
|
|
170
|
+
/* @__PURE__ */ jsxRuntime.jsx(ui.Text, { size: "small", leading: "compact", weight: "plus", children: "Payment reversed, action required" }),
|
|
171
|
+
/* @__PURE__ */ jsxRuntime.jsx(ui.Badge, { size: "2xsmall", color: "orange", children: kindLabel }),
|
|
172
|
+
reversal.statusCode !== null && /* @__PURE__ */ jsxRuntime.jsxs(ui.Badge, { size: "2xsmall", color: "grey", children: [
|
|
173
|
+
"Pay. status ",
|
|
174
|
+
reversal.statusCode
|
|
175
|
+
] })
|
|
176
|
+
] }),
|
|
177
|
+
/* @__PURE__ */ jsxRuntime.jsxs(ui.Text, { size: "small", leading: "compact", className: "text-ui-fg-subtle", children: [
|
|
178
|
+
reversal.kind === "chargeback" ? `The customer charged back the Pay. payment${when ? ` on ${when}` : ""}: ${returned} went back to them.` : reversal.kind === "storno" ? `The customer reversed the direct debit${when ? ` on ${when}` : ""}: ${returned} went back to them.` : `The bank did not collect the direct debit${when ? ` (${when})` : ""}: ${returned} was never received.`,
|
|
179
|
+
" ",
|
|
180
|
+
stillOwed ? `This order is not paid, ${outstanding} is still outstanding.${reversal.payable ? ' Use "Copy payment link" in the summary to let the customer pay again, or mark it as paid once the money arrived another way.' : ""}` : "The outstanding amount has since been settled.",
|
|
181
|
+
" ",
|
|
182
|
+
`The "Refunded" payment status is Medusa's wording for the reversal, no refund was sent by the shop.`
|
|
183
|
+
] })
|
|
184
|
+
] }) });
|
|
185
|
+
};
|
|
186
|
+
adminSdk.defineWidgetConfig({
|
|
187
|
+
zone: "order.details.before"
|
|
188
|
+
});
|
|
131
189
|
const PayLogo = ({}) => {
|
|
132
190
|
return /* @__PURE__ */ jsxRuntime.jsxs("svg", { width: "64", height: "40", viewBox: "0 0 64 40", fill: "none", xmlns: "http://www.w3.org/2000/svg", children: [
|
|
133
191
|
/* @__PURE__ */ jsxRuntime.jsxs("g", { clipPath: "url(#clip0_596_748)", children: [
|
|
@@ -171,7 +229,7 @@ const PayLogo = ({}) => {
|
|
|
171
229
|
] });
|
|
172
230
|
};
|
|
173
231
|
const displayName = "Medusa v2 Pay. Plugin";
|
|
174
|
-
const version = "2.2.
|
|
232
|
+
const version = "2.2.53";
|
|
175
233
|
function getSortedPaymentMethods(data) {
|
|
176
234
|
const { checkoutOptions, checkoutSequence } = data;
|
|
177
235
|
const { primary } = checkoutSequence.default;
|
|
@@ -356,6 +414,10 @@ const widgetModule = { widgets: [
|
|
|
356
414
|
{
|
|
357
415
|
Component: PayDirectDebitSimulatorWidget,
|
|
358
416
|
zone: ["order.details.side.after"]
|
|
417
|
+
},
|
|
418
|
+
{
|
|
419
|
+
Component: PayPaymentReversedWidget,
|
|
420
|
+
zone: ["order.details.before"]
|
|
359
421
|
}
|
|
360
422
|
] };
|
|
361
423
|
const routeModule = {
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { jsxs, jsx } from "react/jsx-runtime";
|
|
2
2
|
import { defineWidgetConfig, defineRouteConfig } from "@medusajs/admin-sdk";
|
|
3
|
-
import { toast, Container, Text, Badge, Button, createDataTableColumnHelper, useDataTable, Heading, Switch, DataTable } from "@medusajs/ui";
|
|
3
|
+
import { toast, Container, Text, Badge, Button, Alert, createDataTableColumnHelper, useDataTable, Heading, Switch, DataTable } from "@medusajs/ui";
|
|
4
4
|
import { useQueryClient, useQuery, useMutation } from "@tanstack/react-query";
|
|
5
5
|
import Medusa from "@medusajs/js-sdk";
|
|
6
6
|
import { useMemo } from "react";
|
|
@@ -125,6 +125,64 @@ const PayDirectDebitSimulatorWidget = ({
|
|
|
125
125
|
defineWidgetConfig({
|
|
126
126
|
zone: "order.details.side.after"
|
|
127
127
|
});
|
|
128
|
+
const KIND_LABELS = {
|
|
129
|
+
chargeback: "Chargeback",
|
|
130
|
+
storno: "Storno",
|
|
131
|
+
failure: "Failed collection"
|
|
132
|
+
};
|
|
133
|
+
const formatAmount = (amount, currency) => {
|
|
134
|
+
if (!currency) {
|
|
135
|
+
return amount.toFixed(2);
|
|
136
|
+
}
|
|
137
|
+
try {
|
|
138
|
+
return new Intl.NumberFormat(void 0, {
|
|
139
|
+
style: "currency",
|
|
140
|
+
currency: currency.toUpperCase()
|
|
141
|
+
}).format(amount);
|
|
142
|
+
} catch {
|
|
143
|
+
return `${amount.toFixed(2)} ${currency.toUpperCase()}`;
|
|
144
|
+
}
|
|
145
|
+
};
|
|
146
|
+
const formatDate = (iso) => iso ? new Intl.DateTimeFormat(void 0, {
|
|
147
|
+
dateStyle: "medium",
|
|
148
|
+
timeStyle: "short"
|
|
149
|
+
}).format(new Date(iso)) : null;
|
|
150
|
+
const PayPaymentReversedWidget = ({
|
|
151
|
+
data: order
|
|
152
|
+
}) => {
|
|
153
|
+
const { data: reversal } = useQuery({
|
|
154
|
+
queryKey: ["pay-payment-reversal", order.id],
|
|
155
|
+
queryFn: () => sdk.client.fetch(`/admin/pay/orders/${order.id}/reversal`)
|
|
156
|
+
});
|
|
157
|
+
if (!(reversal == null ? void 0 : reversal.reversed)) {
|
|
158
|
+
return null;
|
|
159
|
+
}
|
|
160
|
+
const kindLabel = reversal.kind ? KIND_LABELS[reversal.kind] : "Reversal";
|
|
161
|
+
const when = formatDate(reversal.at);
|
|
162
|
+
const returned = formatAmount(reversal.amount, reversal.currency_code);
|
|
163
|
+
const outstanding = formatAmount(reversal.outstanding, reversal.currency_code);
|
|
164
|
+
const stillOwed = reversal.outstanding > 0;
|
|
165
|
+
return /* @__PURE__ */ jsx(Alert, { variant: "warning", className: "items-start", children: /* @__PURE__ */ jsxs("div", { className: "flex flex-col gap-y-2", children: [
|
|
166
|
+
/* @__PURE__ */ jsxs("div", { className: "flex flex-wrap items-center gap-x-2 gap-y-1", children: [
|
|
167
|
+
/* @__PURE__ */ jsx(Text, { size: "small", leading: "compact", weight: "plus", children: "Payment reversed, action required" }),
|
|
168
|
+
/* @__PURE__ */ jsx(Badge, { size: "2xsmall", color: "orange", children: kindLabel }),
|
|
169
|
+
reversal.statusCode !== null && /* @__PURE__ */ jsxs(Badge, { size: "2xsmall", color: "grey", children: [
|
|
170
|
+
"Pay. status ",
|
|
171
|
+
reversal.statusCode
|
|
172
|
+
] })
|
|
173
|
+
] }),
|
|
174
|
+
/* @__PURE__ */ jsxs(Text, { size: "small", leading: "compact", className: "text-ui-fg-subtle", children: [
|
|
175
|
+
reversal.kind === "chargeback" ? `The customer charged back the Pay. payment${when ? ` on ${when}` : ""}: ${returned} went back to them.` : reversal.kind === "storno" ? `The customer reversed the direct debit${when ? ` on ${when}` : ""}: ${returned} went back to them.` : `The bank did not collect the direct debit${when ? ` (${when})` : ""}: ${returned} was never received.`,
|
|
176
|
+
" ",
|
|
177
|
+
stillOwed ? `This order is not paid, ${outstanding} is still outstanding.${reversal.payable ? ' Use "Copy payment link" in the summary to let the customer pay again, or mark it as paid once the money arrived another way.' : ""}` : "The outstanding amount has since been settled.",
|
|
178
|
+
" ",
|
|
179
|
+
`The "Refunded" payment status is Medusa's wording for the reversal, no refund was sent by the shop.`
|
|
180
|
+
] })
|
|
181
|
+
] }) });
|
|
182
|
+
};
|
|
183
|
+
defineWidgetConfig({
|
|
184
|
+
zone: "order.details.before"
|
|
185
|
+
});
|
|
128
186
|
const PayLogo = ({}) => {
|
|
129
187
|
return /* @__PURE__ */ jsxs("svg", { width: "64", height: "40", viewBox: "0 0 64 40", fill: "none", xmlns: "http://www.w3.org/2000/svg", children: [
|
|
130
188
|
/* @__PURE__ */ jsxs("g", { clipPath: "url(#clip0_596_748)", children: [
|
|
@@ -168,7 +226,7 @@ const PayLogo = ({}) => {
|
|
|
168
226
|
] });
|
|
169
227
|
};
|
|
170
228
|
const displayName = "Medusa v2 Pay. Plugin";
|
|
171
|
-
const version = "2.2.
|
|
229
|
+
const version = "2.2.53";
|
|
172
230
|
function getSortedPaymentMethods(data) {
|
|
173
231
|
const { checkoutOptions, checkoutSequence } = data;
|
|
174
232
|
const { primary } = checkoutSequence.default;
|
|
@@ -353,6 +411,10 @@ const widgetModule = { widgets: [
|
|
|
353
411
|
{
|
|
354
412
|
Component: PayDirectDebitSimulatorWidget,
|
|
355
413
|
zone: ["order.details.side.after"]
|
|
414
|
+
},
|
|
415
|
+
{
|
|
416
|
+
Component: PayPaymentReversedWidget,
|
|
417
|
+
zone: ["order.details.before"]
|
|
356
418
|
}
|
|
357
419
|
] };
|
|
358
420
|
const routeModule = {
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { AuthenticatedMedusaRequest, MedusaResponse } from "@medusajs/framework/http";
|
|
2
|
+
/**
|
|
3
|
+
* Whether a Pay. chargeback / storno reversed this order's payment, for the
|
|
4
|
+
* "payment reversed" banner on the order detail page.
|
|
5
|
+
*/
|
|
6
|
+
export declare const GET: (req: AuthenticatedMedusaRequest, res: MedusaResponse) => Promise<MedusaResponse>;
|
|
7
|
+
//# sourceMappingURL=route.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"route.d.ts","sourceRoot":"","sources":["../../../../../../../../../src/api/admin/pay/orders/[id]/reversal/route.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,0BAA0B,EAAE,cAAc,EAAC,MAAM,0BAA0B,CAAA;AAGnF;;;GAGG;AACH,eAAO,MAAM,GAAG,GACd,KAAK,0BAA0B,EAC/B,KAAK,cAAc,4BASpB,CAAA"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.GET = void 0;
|
|
4
|
+
const paymentReversal_1 = require("../../../../../../utils/paymentReversal");
|
|
5
|
+
/**
|
|
6
|
+
* Whether a Pay. chargeback / storno reversed this order's payment, for the
|
|
7
|
+
* "payment reversed" banner on the order detail page.
|
|
8
|
+
*/
|
|
9
|
+
const GET = async (req, res) => {
|
|
10
|
+
const reversal = await (0, paymentReversal_1.getPaymentReversal)(req.scope, req.params.id);
|
|
11
|
+
if (!reversal) {
|
|
12
|
+
return res.status(404).json({ message: "Order not found" });
|
|
13
|
+
}
|
|
14
|
+
return res.json(reversal);
|
|
15
|
+
};
|
|
16
|
+
exports.GET = GET;
|
|
17
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm91dGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBpL2FkbWluL3BheS9vcmRlcnMvW2lkXS9yZXZlcnNhbC9yb3V0ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFDQSw2RUFBMEU7QUFFMUU7OztHQUdHO0FBQ0ksTUFBTSxHQUFHLEdBQUcsS0FBSyxFQUN0QixHQUErQixFQUMvQixHQUFtQixFQUNuQixFQUFFO0lBQ0YsTUFBTSxRQUFRLEdBQUcsTUFBTSxJQUFBLG9DQUFrQixFQUFDLEdBQUcsQ0FBQyxLQUFLLEVBQUUsR0FBRyxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUMsQ0FBQTtJQUVuRSxJQUFJLENBQUMsUUFBUSxFQUFFLENBQUM7UUFDZCxPQUFPLEdBQUcsQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUMsSUFBSSxDQUFDLEVBQUMsT0FBTyxFQUFFLGlCQUFpQixFQUFDLENBQUMsQ0FBQTtJQUMzRCxDQUFDO0lBRUQsT0FBTyxHQUFHLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFBO0FBQzNCLENBQUMsQ0FBQTtBQVhZLFFBQUEsR0FBRyxPQVdmIn0=
|
|
@@ -213,10 +213,11 @@ async function payDirectDebitExchangeHandler({ event: { data }, container, }) {
|
|
|
213
213
|
orderId: order.id,
|
|
214
214
|
paymentId: payment.id,
|
|
215
215
|
paymentCollectionId,
|
|
216
|
-
|
|
216
|
+
kind: statusCode === constants_1.PayDirectDebitStatusCode.STORNO ||
|
|
217
217
|
statusAction === "storno"
|
|
218
218
|
? "storno"
|
|
219
|
-
: "failure"
|
|
219
|
+
: "failure",
|
|
220
|
+
statusCode: statusLabel,
|
|
220
221
|
});
|
|
221
222
|
}
|
|
222
223
|
else {
|
|
@@ -252,4 +253,4 @@ async function payDirectDebitExchangeHandler({ event: { data }, container, }) {
|
|
|
252
253
|
exports.config = {
|
|
253
254
|
event: directDebitExchange_1.PAY_DIRECT_DEBIT_EXCHANGE_EVENT,
|
|
254
255
|
};
|
|
255
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGlyZWN0LWRlYml0LWV4Y2hhbmdlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL3N1YnNjcmliZXJzL2RpcmVjdC1kZWJpdC1leGNoYW5nZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7QUE2R0EsZ0RBa1RDO0FBN1pELHFEQUlrQztBQUNsQyxxREFBMkQ7QUFPM0QseUZBQWdFO0FBQ2hFLDRFQUFzRTtBQUN0RSxrREFJK0I7QUFDL0IsaUVBQTBEO0FBRTFELCtEQUF3RTtBQUN4RSxzRUFnQnFDO0FBRXJDLE1BQU0sWUFBWSxHQUFHLENBQ25CLFNBQTBCLEVBQzFCLE1BQWMsRUFDd0MsRUFBRTtJQUN4RCxNQUFNLFlBQVksR0FBRyxTQUFTLENBQUMsT0FBTyxDQUNwQyxpQ0FBeUIsQ0FBQyxhQUFhLENBQ3hDLENBQUE7SUFFRCxNQUFNLGVBQWUsR0FBSSxZQUFZLENBQUMsT0FBTyxFQUFFLE9BQWUsRUFBRSxPQUFPO1FBQ3JFLEVBQUUsU0FBUyxFQUFFLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsS0FBSyxLQUFLLENBQUMsQ0FBQTtJQUUxQyxJQUFJLENBQUMsZUFBZSxFQUFFLE9BQU8sRUFBRSxDQUFDO1FBQzlCLE1BQU0sQ0FBQyxJQUFJLENBQ1QsdUVBQXVFLENBQ3hFLENBQUE7UUFDRCxPQUFPLElBQUksQ0FBQTtJQUNiLENBQUM7SUFFRCxNQUFNLE9BQU8sR0FBRyxlQUFlLENBQUMsT0FBMEIsQ0FBQTtJQUUxRCxPQUFPLEVBQUMsTUFBTSxFQUFFLElBQUksc0JBQVMsQ0FBQyxPQUFPLEVBQUUsTUFBTSxDQUFDLEVBQUUsT0FBTyxFQUFDLENBQUE7QUFDMUQsQ0FBQyxDQUFBO0FBRUQ7Ozs7R0FJRztBQUNILE1BQU0seUJBQXlCLEdBQUcsS0FBSyxFQUNyQyxTQUEwQixFQUMxQixPQUE0QixFQUM1QixTQUFpQixFQUNPLEVBQUU7SUFDMUIsTUFBTSxX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
|
|
256
|
+
//# 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;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,
|
|
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,iBAmFnD;AAED,eAAO,MAAM,MAAM,EAAE,gBAEpB,CAAA"}
|
|
@@ -55,7 +55,8 @@ async function payPaymentFailedHandler({ event: { data }, container, }) {
|
|
|
55
55
|
orderId: order.id,
|
|
56
56
|
paymentId: capturedPayment.id,
|
|
57
57
|
paymentCollectionId,
|
|
58
|
-
|
|
58
|
+
kind: "chargeback",
|
|
59
|
+
statusCode: data.statusCode,
|
|
59
60
|
});
|
|
60
61
|
return;
|
|
61
62
|
}
|
|
@@ -71,4 +72,4 @@ async function payPaymentFailedHandler({ event: { data }, container, }) {
|
|
|
71
72
|
exports.config = {
|
|
72
73
|
event: ["pay_payment.failed"],
|
|
73
74
|
};
|
|
74
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
75
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGF5bWVudC1mYWlsZWQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvc3Vic2NyaWJlcnMvcGF5bWVudC1mYWlsZWQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBYUEsMENBc0ZDO0FBakdELHFEQUtrQztBQUVsQyx5RkFBZ0U7QUFDaEUsNEVBQXNFO0FBQ3RFLCtEQUFnRTtBQUVqRCxLQUFLLFVBQVUsdUJBQXVCLENBQUMsRUFDcEQsS0FBSyxFQUFFLEVBQUMsSUFBSSxFQUFDLEVBQ2IsU0FBUyxHQUN5QztJQUNsRCxNQUFNLE1BQU0sR0FBRyxTQUFTLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FBQyxDQUFBO0lBQzFDLE1BQU0sS0FBSyxHQUFHLFNBQVMsQ0FBQyxPQUFPLENBQUMsaUNBQXlCLENBQUMsS0FBSyxDQUFDLENBQUE7SUFDaEUsTUFBTSxvQkFBb0IsR0FBRyxTQUFTLENBQUMsT0FBTyxDQUM1QyxlQUFPLENBQUMsT0FBTyxDQUNoQixDQUFBO0lBRUQsTUFBTSxDQUFDLElBQUksQ0FBQyw2QkFBNkIsQ0FBQyxDQUFBO0lBRTFDLElBQUksQ0FBQztRQUNILE1BQU0sRUFDSixJQUFJLEVBQUUsQ0FBQyxLQUFLLENBQUMsR0FDZCxHQUFHLE1BQU0sS0FBSyxDQUFDLEtBQUssQ0FBQztZQUNwQixNQUFNLEVBQUUsT0FBTztZQUNmLE1BQU0sRUFBRTtnQkFDTixJQUFJO2dCQUNKLHVCQUF1QjtnQkFDdkIsMENBQTBDO2dCQUMxQyx3Q0FBd0M7Z0JBQ3hDLGlEQUFpRDtnQkFDakQsMERBQTBEO2FBQzNEO1lBQ0QsT0FBTyxFQUFFO2dCQUNQLFVBQVUsRUFBRSxJQUFJLENBQUMsRUFBRTthQUNwQjtTQUNGLENBQUMsQ0FBQTtRQUVGLElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQztZQUNYLE1BQU0sSUFBSSxtQkFBVyxDQUNuQixtQkFBVyxDQUFDLEtBQUssQ0FBQyxTQUFTLEVBQzNCLHFDQUFxQyxJQUFJLENBQUMsRUFBRSxFQUFFLENBQy9DLENBQUE7UUFDSCxDQUFDO1FBRUQsMEVBQTBFO1FBQzFFLDhFQUE4RTtRQUM5RSxNQUFNLGtCQUFrQixHQUFHLENBQUMsS0FBSyxDQUFDLG1CQUFtQixJQUFJLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FDL0QsQ0FBQyxFQUFFLEVBQUUsRUFBRSxDQUNMLEVBQUUsQ0FBQyxNQUFNLEtBQUssK0JBQXVCLENBQUMsU0FBUztZQUMvQyxDQUFDLEVBQUUsQ0FBQyxRQUFRLElBQUksRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsT0FBTyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLFdBQVcsQ0FBQyxDQUMvRCxDQUFBO1FBRUQsSUFBSSxrQkFBa0IsSUFBSSxJQUFJLENBQUMsVUFBVSxLQUFLLDRCQUFnQixDQUFDLFVBQVUsRUFBRSxDQUFDO1lBQzFFLE1BQU0sQ0FBQyxJQUFJLENBQ1Qsb0NBQW9DLEtBQUssQ0FBQyxFQUFFLDZCQUE2QixDQUMxRSxDQUFBO1lBQ0QsT0FBTTtRQUNSLENBQUM7UUFFRCxNQUFNLGlCQUFpQixHQUFHLElBQUEsOEJBQW9CLEVBQUMsS0FBSyxDQUFDLENBQUE7UUFFckQsSUFBSSxDQUFDLGlCQUFpQixFQUFFLENBQUM7WUFDdkIsTUFBTSxDQUFDLElBQUksQ0FDVCwyQ0FBMkMsS0FBSyxDQUFDLEVBQUUsMkJBQTJCLENBQy9FLENBQUE7WUFDRCxPQUFNO1FBQ1IsQ0FBQztRQUVELE1BQU0sbUJBQW1CLEdBQ3ZCLGlCQUFpQixDQUFDLHFCQUErQixDQUFBO1FBQ25ELE1BQU0sZUFBZSxHQUFHLGlCQUFpQixDQUFDLE9BQU8sRUFBRSxXQUFXO1lBQzVELENBQUMsQ0FBQyxpQkFBaUIsQ0FBQyxPQUFPO1lBQzNCLENBQUMsQ0FBQyxTQUFTLENBQUE7UUFFYixJQUFJLElBQUksQ0FBQyxVQUFVLEtBQUssNEJBQWdCLENBQUMsVUFBVSxJQUFJLGVBQWUsRUFBRSxDQUFDO1lBQ3ZFLG9FQUFvRTtZQUNwRSxNQUFNLElBQUEsK0NBQXNCLEVBQUMsU0FBUyxFQUFFO2dCQUN0QyxPQUFPLEVBQUUsS0FBSyxDQUFDLEVBQUU7Z0JBQ2pCLFNBQVMsRUFBRSxlQUFlLENBQUMsRUFBRTtnQkFDN0IsbUJBQW1CO2dCQUNuQixJQUFJLEVBQUUsWUFBWTtnQkFDbEIsVUFBVSxFQUFFLElBQUksQ0FBQyxVQUFVO2FBQzVCLENBQUMsQ0FBQTtZQUNGLE9BQU07UUFDUixDQUFDO1FBRUQsTUFBTSxvQkFBb0IsQ0FBQyx3QkFBd0IsQ0FBQyxtQkFBbUIsRUFBRTtZQUN2RSxNQUFNLEVBQUUsK0JBQXVCLENBQUMsTUFBTTtTQUN2QyxDQUFDLENBQUE7SUFDSixDQUFDO0lBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQztRQUNYLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUE7UUFDZixNQUFNLENBQUMsQ0FBQTtJQUNULENBQUM7QUFDSCxDQUFDO0FBRVksUUFBQSxNQUFNLEdBQXFCO0lBQ3RDLEtBQUssRUFBRSxDQUFDLG9CQUFvQixDQUFDO0NBQzlCLENBQUEifQ==
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/utils/index.ts"],"names":[],"mappings":"AAAA,cAAc,kBAAkB,CAAA;AAChC,cAAc,0BAA0B,CAAA"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/utils/index.ts"],"names":[],"mappings":"AAAA,cAAc,kBAAkB,CAAA;AAChC,cAAc,0BAA0B,CAAA;AACxC,cAAc,mBAAmB,CAAA"}
|
|
@@ -16,4 +16,5 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
|
16
16
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
17
|
__exportStar(require("./createPayOrder"), exports);
|
|
18
18
|
__exportStar(require("./reverseCapturedPayment"), exports);
|
|
19
|
-
|
|
19
|
+
__exportStar(require("./paymentReversal"), exports);
|
|
20
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvdXRpbHMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLG1EQUFnQztBQUNoQywyREFBd0M7QUFDeEMsb0RBQWlDIn0=
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import { MedusaContainer } from "@medusajs/types";
|
|
2
|
+
import { PaymentReversalKind } from "./reverseCapturedPayment";
|
|
3
|
+
export type PaymentReversal = {
|
|
4
|
+
/** Whether a Pay. chargeback / storno reversed a captured payment */
|
|
5
|
+
reversed: boolean;
|
|
6
|
+
kind: PaymentReversalKind | null;
|
|
7
|
+
statusCode: number | null;
|
|
8
|
+
/** When the (latest) reversal was recorded */
|
|
9
|
+
at: string | null;
|
|
10
|
+
/** Total amount that went back to the customer */
|
|
11
|
+
amount: number;
|
|
12
|
+
currency_code: string | null;
|
|
13
|
+
/** What the customer still owes on the order */
|
|
14
|
+
outstanding: number;
|
|
15
|
+
/** Whether a not_paid payment collection exists to collect it with */
|
|
16
|
+
payable: boolean;
|
|
17
|
+
};
|
|
18
|
+
/**
|
|
19
|
+
* Finds the reversal reverseCapturedPayment recorded on an order, recognised
|
|
20
|
+
* by the note on the refund. Used by the "payment reversed" order banner,
|
|
21
|
+
* since Medusa's own payment status can only say "refunded" for it.
|
|
22
|
+
*/
|
|
23
|
+
export declare function getPaymentReversal(container: MedusaContainer, orderId: string): Promise<PaymentReversal | null>;
|
|
24
|
+
//# sourceMappingURL=paymentReversal.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"paymentReversal.d.ts","sourceRoot":"","sources":["../../../../src/utils/paymentReversal.ts"],"names":[],"mappings":"AACA,OAAO,EAAC,eAAe,EAAC,MAAM,iBAAiB,CAAA;AAC/C,OAAO,EAEL,mBAAmB,EACpB,MAAM,0BAA0B,CAAA;AAEjC,MAAM,MAAM,eAAe,GAAG;IAC5B,qEAAqE;IACrE,QAAQ,EAAE,OAAO,CAAA;IACjB,IAAI,EAAE,mBAAmB,GAAG,IAAI,CAAA;IAChC,UAAU,EAAE,MAAM,GAAG,IAAI,CAAA;IACzB,8CAA8C;IAC9C,EAAE,EAAE,MAAM,GAAG,IAAI,CAAA;IACjB,kDAAkD;IAClD,MAAM,EAAE,MAAM,CAAA;IACd,aAAa,EAAE,MAAM,GAAG,IAAI,CAAA;IAC5B,gDAAgD;IAChD,WAAW,EAAE,MAAM,CAAA;IACnB,sEAAsE;IACtE,OAAO,EAAE,OAAO,CAAA;CACjB,CAAA;AAYD;;;;GAIG;AACH,wBAAsB,kBAAkB,CACtC,SAAS,EAAE,eAAe,EAC1B,OAAO,EAAE,MAAM,GACd,OAAO,CAAC,eAAe,GAAG,IAAI,CAAC,CAkFjC"}
|
|
@@ -0,0 +1,80 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.getPaymentReversal = getPaymentReversal;
|
|
4
|
+
const utils_1 = require("@medusajs/framework/utils");
|
|
5
|
+
const reverseCapturedPayment_1 = require("./reverseCapturedPayment");
|
|
6
|
+
const toNumber = (value) => {
|
|
7
|
+
if (value === null || value === undefined || value === "") {
|
|
8
|
+
return 0;
|
|
9
|
+
}
|
|
10
|
+
const numeric = Number(value);
|
|
11
|
+
return Number.isFinite(numeric) ? numeric : 0;
|
|
12
|
+
};
|
|
13
|
+
/**
|
|
14
|
+
* Finds the reversal reverseCapturedPayment recorded on an order, recognised
|
|
15
|
+
* by the note on the refund. Used by the "payment reversed" order banner,
|
|
16
|
+
* since Medusa's own payment status can only say "refunded" for it.
|
|
17
|
+
*/
|
|
18
|
+
async function getPaymentReversal(container, orderId) {
|
|
19
|
+
const query = container.resolve(utils_1.ContainerRegistrationKeys.QUERY);
|
|
20
|
+
const { data: [order], } = await query.graph({
|
|
21
|
+
entity: "order",
|
|
22
|
+
fields: [
|
|
23
|
+
"id",
|
|
24
|
+
"currency_code",
|
|
25
|
+
"summary",
|
|
26
|
+
"payment_collections.id",
|
|
27
|
+
"payment_collections.status",
|
|
28
|
+
"payment_collections.payments.id",
|
|
29
|
+
"payment_collections.payments.refunds.id",
|
|
30
|
+
"payment_collections.payments.refunds.amount",
|
|
31
|
+
"payment_collections.payments.refunds.note",
|
|
32
|
+
"payment_collections.payments.refunds.created_at",
|
|
33
|
+
],
|
|
34
|
+
filters: { id: orderId },
|
|
35
|
+
});
|
|
36
|
+
if (!order) {
|
|
37
|
+
return null;
|
|
38
|
+
}
|
|
39
|
+
const collections = (order.payment_collections ?? []);
|
|
40
|
+
const reversals = collections
|
|
41
|
+
.flatMap((collection) => collection?.payments ?? [])
|
|
42
|
+
.flatMap((payment) => payment?.refunds ?? [])
|
|
43
|
+
.map((refund) => ({
|
|
44
|
+
refund,
|
|
45
|
+
parsed: (0, reverseCapturedPayment_1.parsePayReversalNote)(refund?.note),
|
|
46
|
+
}))
|
|
47
|
+
.filter((entry) => entry.parsed !== null)
|
|
48
|
+
.sort((a, b) => new Date(b.refund.created_at ?? 0).getTime() -
|
|
49
|
+
new Date(a.refund.created_at ?? 0).getTime());
|
|
50
|
+
const summary = (order.summary ?? {});
|
|
51
|
+
const outstanding = toNumber(summary.pending_difference);
|
|
52
|
+
const payable = collections.some((collection) => collection?.status === "not_paid");
|
|
53
|
+
if (!reversals.length) {
|
|
54
|
+
return {
|
|
55
|
+
reversed: false,
|
|
56
|
+
kind: null,
|
|
57
|
+
statusCode: null,
|
|
58
|
+
at: null,
|
|
59
|
+
amount: 0,
|
|
60
|
+
currency_code: order.currency_code ?? null,
|
|
61
|
+
outstanding,
|
|
62
|
+
payable,
|
|
63
|
+
};
|
|
64
|
+
}
|
|
65
|
+
const latest = reversals[0];
|
|
66
|
+
const amount = reversals.reduce((total, entry) => utils_1.MathBN.add(total, entry.refund.amount ?? 0), utils_1.MathBN.convert(0));
|
|
67
|
+
return {
|
|
68
|
+
reversed: true,
|
|
69
|
+
kind: latest.parsed.kind,
|
|
70
|
+
statusCode: latest.parsed.statusCode,
|
|
71
|
+
at: latest.refund.created_at
|
|
72
|
+
? new Date(latest.refund.created_at).toISOString()
|
|
73
|
+
: null,
|
|
74
|
+
amount: toNumber(amount.toString()),
|
|
75
|
+
currency_code: order.currency_code ?? null,
|
|
76
|
+
outstanding,
|
|
77
|
+
payable,
|
|
78
|
+
};
|
|
79
|
+
}
|
|
80
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGF5bWVudFJldmVyc2FsLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL3V0aWxzL3BheW1lbnRSZXZlcnNhbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQXNDQSxnREFxRkM7QUEzSEQscURBQTJFO0FBRTNFLHFFQUdpQztBQWtCakMsTUFBTSxRQUFRLEdBQUcsQ0FBQyxLQUFjLEVBQVUsRUFBRTtJQUMxQyxJQUFJLEtBQUssS0FBSyxJQUFJLElBQUksS0FBSyxLQUFLLFNBQVMsSUFBSSxLQUFLLEtBQUssRUFBRSxFQUFFLENBQUM7UUFDMUQsT0FBTyxDQUFDLENBQUE7SUFDVixDQUFDO0lBRUQsTUFBTSxPQUFPLEdBQUcsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFBO0lBRTdCLE9BQU8sTUFBTSxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUE7QUFDL0MsQ0FBQyxDQUFBO0FBRUQ7Ozs7R0FJRztBQUNJLEtBQUssVUFBVSxrQkFBa0IsQ0FDdEMsU0FBMEIsRUFDMUIsT0FBZTtJQUVmLE1BQU0sS0FBSyxHQUFHLFNBQVMsQ0FBQyxPQUFPLENBQUMsaUNBQXlCLENBQUMsS0FBSyxDQUFDLENBQUE7SUFFaEUsTUFBTSxFQUNKLElBQUksRUFBRSxDQUFDLEtBQUssQ0FBQyxHQUNkLEdBQUcsTUFBTSxLQUFLLENBQUMsS0FBSyxDQUFDO1FBQ3BCLE1BQU0sRUFBRSxPQUFPO1FBQ2YsTUFBTSxFQUFFO1lBQ04sSUFBSTtZQUNKLGVBQWU7WUFDZixTQUFTO1lBQ1Qsd0JBQXdCO1lBQ3hCLDRCQUE0QjtZQUM1QixpQ0FBaUM7WUFDakMseUNBQXlDO1lBQ3pDLDZDQUE2QztZQUM3QywyQ0FBMkM7WUFDM0MsaURBQWlEO1NBQ2xEO1FBQ0QsT0FBTyxFQUFFLEVBQUMsRUFBRSxFQUFFLE9BQU8sRUFBQztLQUN2QixDQUFDLENBQUE7SUFFRixJQUFJ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
|
|
@@ -1,11 +1,24 @@
|
|
|
1
1
|
import { MedusaContainer } from "@medusajs/types";
|
|
2
|
+
export type PaymentReversalKind = "chargeback" | "storno" | "failure";
|
|
2
3
|
export type ReverseCapturedPaymentInput = {
|
|
3
4
|
orderId: string;
|
|
4
5
|
paymentId: string;
|
|
5
6
|
paymentCollectionId: string;
|
|
6
|
-
/**
|
|
7
|
-
|
|
7
|
+
/** What reversed the payment, becomes the refund note */
|
|
8
|
+
kind: PaymentReversalKind;
|
|
9
|
+
/** The Pay. status code that reported it, when known */
|
|
10
|
+
statusCode?: number | string;
|
|
8
11
|
};
|
|
12
|
+
/**
|
|
13
|
+
* The refund note that marks a reversal, e.g. "Pay. chargeback (status -71)"
|
|
14
|
+
* or "Pay. direct debit storno (status 127)". Medusa 2.11 refunds carry no
|
|
15
|
+
* metadata, so the note is what the admin banner recognises a reversal by.
|
|
16
|
+
*/
|
|
17
|
+
export declare function formatPayReversalNote(kind: PaymentReversalKind, statusCode?: number | string): string;
|
|
18
|
+
export declare function parsePayReversalNote(note: unknown): {
|
|
19
|
+
kind: PaymentReversalKind;
|
|
20
|
+
statusCode: number | null;
|
|
21
|
+
} | null;
|
|
9
22
|
/**
|
|
10
23
|
* A chargeback or direct debit storno reverses a payment Medusa already
|
|
11
24
|
* captured. Reflect that on the order so it shows as unpaid and can be paid
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"reverseCapturedPayment.d.ts","sourceRoot":"","sources":["../../../../src/utils/reverseCapturedPayment.ts"],"names":[],"mappings":"AAQA,OAAO,EAKL,eAAe,EAChB,MAAM,iBAAiB,CAAA;AAExB,MAAM,MAAM,2BAA2B,GAAG;IACxC,OAAO,EAAE,MAAM,CAAA;IACf,SAAS,EAAE,MAAM,CAAA;IACjB,mBAAmB,EAAE,MAAM,CAAA;IAC3B,
|
|
1
|
+
{"version":3,"file":"reverseCapturedPayment.d.ts","sourceRoot":"","sources":["../../../../src/utils/reverseCapturedPayment.ts"],"names":[],"mappings":"AAQA,OAAO,EAKL,eAAe,EAChB,MAAM,iBAAiB,CAAA;AAExB,MAAM,MAAM,mBAAmB,GAAG,YAAY,GAAG,QAAQ,GAAG,SAAS,CAAA;AAErE,MAAM,MAAM,2BAA2B,GAAG;IACxC,OAAO,EAAE,MAAM,CAAA;IACf,SAAS,EAAE,MAAM,CAAA;IACjB,mBAAmB,EAAE,MAAM,CAAA;IAC3B,yDAAyD;IACzD,IAAI,EAAE,mBAAmB,CAAA;IACzB,wDAAwD;IACxD,UAAU,CAAC,EAAE,MAAM,GAAG,MAAM,CAAA;CAC7B,CAAA;AAKD;;;;GAIG;AACH,wBAAgB,qBAAqB,CACnC,IAAI,EAAE,mBAAmB,EACzB,UAAU,CAAC,EAAE,MAAM,GAAG,MAAM,GAC3B,MAAM,CAQR;AAED,wBAAgB,oBAAoB,CAClC,IAAI,EAAE,OAAO,GACZ;IAAC,IAAI,EAAE,mBAAmB,CAAC;IAAC,UAAU,EAAE,MAAM,GAAG,IAAI,CAAA;CAAC,GAAG,IAAI,CAe/D;AAQD;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAsB,sBAAsB,CAC1C,SAAS,EAAE,eAAe,EAC1B,KAAK,EAAE,2BAA2B,GACjC,OAAO,CAAC,IAAI,CAAC,CAiFf;AAED,eAAe,sBAAsB,CAAA"}
|
|
@@ -1,8 +1,35 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.formatPayReversalNote = formatPayReversalNote;
|
|
4
|
+
exports.parsePayReversalNote = parsePayReversalNote;
|
|
3
5
|
exports.reverseCapturedPayment = reverseCapturedPayment;
|
|
4
6
|
const core_flows_1 = require("@medusajs/core-flows");
|
|
5
7
|
const utils_1 = require("@medusajs/framework/utils");
|
|
8
|
+
const REVERSAL_NOTE_PATTERN = /^Pay\. (chargeback|direct debit (?:storno|failure)) \(status (-?\d+|unknown)\)$/;
|
|
9
|
+
/**
|
|
10
|
+
* The refund note that marks a reversal, e.g. "Pay. chargeback (status -71)"
|
|
11
|
+
* or "Pay. direct debit storno (status 127)". Medusa 2.11 refunds carry no
|
|
12
|
+
* metadata, so the note is what the admin banner recognises a reversal by.
|
|
13
|
+
*/
|
|
14
|
+
function formatPayReversalNote(kind, statusCode) {
|
|
15
|
+
const what = kind === "chargeback" ? "chargeback" : `direct debit ${kind}`;
|
|
16
|
+
const status = statusCode === undefined || statusCode === null || statusCode === ""
|
|
17
|
+
? "unknown"
|
|
18
|
+
: String(statusCode);
|
|
19
|
+
return `Pay. ${what} (status ${status})`;
|
|
20
|
+
}
|
|
21
|
+
function parsePayReversalNote(note) {
|
|
22
|
+
if (typeof note !== "string") {
|
|
23
|
+
return null;
|
|
24
|
+
}
|
|
25
|
+
const match = note.trim().match(REVERSAL_NOTE_PATTERN);
|
|
26
|
+
if (!match) {
|
|
27
|
+
return null;
|
|
28
|
+
}
|
|
29
|
+
const kind = match[1].replace("direct debit ", "");
|
|
30
|
+
const statusCode = match[2] === "unknown" ? null : Number(match[2]);
|
|
31
|
+
return { kind, statusCode };
|
|
32
|
+
}
|
|
6
33
|
const sumAmounts = (items) => (items ?? []).reduce((total, item) => utils_1.MathBN.add(total, item.amount), utils_1.MathBN.convert(0));
|
|
7
34
|
/**
|
|
8
35
|
* A chargeback or direct debit storno reverses a payment Medusa already
|
|
@@ -31,14 +58,15 @@ async function reverseCapturedPayment(container, input) {
|
|
|
31
58
|
relations: ["captures", "refunds"],
|
|
32
59
|
});
|
|
33
60
|
const outstanding = utils_1.MathBN.sub(sumAmounts(payment.captures), sumAmounts(payment.refunds));
|
|
61
|
+
const note = formatPayReversalNote(input.kind, input.statusCode);
|
|
34
62
|
if (utils_1.MathBN.gt(outstanding, 0)) {
|
|
35
63
|
const amount = new utils_1.BigNumber(outstanding).numeric;
|
|
36
64
|
payment = await paymentModuleService.refundPayment({
|
|
37
65
|
payment_id: payment.id,
|
|
38
66
|
amount,
|
|
39
|
-
note
|
|
67
|
+
note,
|
|
40
68
|
});
|
|
41
|
-
logger.info(`Pay. - Recorded reversal of ${payment.currency_code} ${amount} on payment ${payment.id} for order ${input.orderId}: ${
|
|
69
|
+
logger.info(`Pay. - Recorded reversal of ${payment.currency_code} ${amount} on payment ${payment.id} for order ${input.orderId}: ${note}`);
|
|
42
70
|
}
|
|
43
71
|
else {
|
|
44
72
|
logger.info(`Pay. - Payment ${payment.id} for order ${input.orderId} is already fully reversed`);
|
|
@@ -69,4 +97,4 @@ async function reverseCapturedPayment(container, input) {
|
|
|
69
97
|
logger.info(`Pay. - Order ${input.orderId} is payable again through payment collection ${collections.map((collection) => collection.id).join(", ") || "(none)"}`);
|
|
70
98
|
}
|
|
71
99
|
exports.default = reverseCapturedPayment;
|
|
72
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
100
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmV2ZXJzZUNhcHR1cmVkUGF5bWVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy91dGlscy9yZXZlcnNlQ2FwdHVyZWRQYXltZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBb0NBLHNEQVdDO0FBRUQsb0RBaUJDO0FBMkJELHdEQW9GQztBQWpMRCxxREFBaUY7QUFDakYscURBTWtDO0FBcUJsQyxNQUFNLHFCQUFxQixHQUN6QixpRkFBaUYsQ0FBQTtBQUVuRjs7OztHQUlHO0FBQ0gsU0FBZ0IscUJBQXFCLENBQ25DLElBQXlCLEVBQ3pCLFVBQTRCO0lBRTVCLE1BQU0sSUFBSSxHQUFHLElBQUksS0FBSyxZQUFZLENBQUMsQ0FBQyxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUMsZ0JBQWdCLElBQUksRUFBRSxDQUFBO0lBQzFFLE1BQU0sTUFBTSxHQUNWLFVBQVUsS0FBSyxTQUFTLElBQUksVUFBVSxLQUFLLElBQUksSUFBSSxVQUFVLEtBQUssRUFBRTtRQUNsRSxDQUFDLENBQUMsU0FBUztRQUNYLENBQUMsQ0FBQyxNQUFNLENBQUMsVUFBVSxDQUFDLENBQUE7SUFFeEIsT0FBTyxRQUFRLElBQUksWUFBWSxNQUFNLEdBQUcsQ0FBQTtBQUMxQyxDQUFDO0FBRUQsU0FBZ0Isb0JBQW9CLENBQ2xDLElBQWE7SUFFYixJQUFJLE9BQU8sSUFBSSxLQUFLLFFBQVEsRUFBRSxDQUFDO1FBQzdCLE9BQU8sSUFBSSxDQUFBO0lBQ2IsQ0FBQztJQUVELE1BQU0sS0FBSyxHQUFHLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQyxLQUFLLENBQUMscUJBQXFCLENBQUMsQ0FBQTtJQUV0RCxJQUFJLENBQUMsS0FBSyxFQUFFLENBQUM7UUFDWCxPQUFPLElBQUksQ0FBQTtJQUNiLENBQUM7SUFFRCxNQUFNLElBQUksR0FBRyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLGVBQWUsRUFBRSxFQUFFLENBQXdCLENB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
|
package/README.md
CHANGED
|
@@ -274,6 +274,14 @@ resolved from the mandate code. The webhook route processes exchanges asynchrono
|
|
|
274
274
|
the server a moment before checking the order. The payment link opens the regular Pay. hosted checkout, so the
|
|
275
275
|
outstanding amount can be paid with any test payment method.
|
|
276
276
|
|
|
277
|
+
#### Reversed payments in the admin
|
|
278
|
+
|
|
279
|
+
When a chargeback or storno reverses a captured payment, the plugin refunds the payment in Medusa (without contacting
|
|
280
|
+
Pay.), books the amount as outstanding again and opens a new payment collection, so the order offers "Copy payment
|
|
281
|
+
link" and "Mark as paid". Medusa's own payment status can only call that "Refunded", so the plugin adds a
|
|
282
|
+
"Payment reversed, action required" banner on top of the order page that names the cause (chargeback, storno, failed
|
|
283
|
+
collection), the amount that went back to the customer and what is still outstanding.
|
|
284
|
+
|
|
277
285
|
#### Simulator widget in the admin
|
|
278
286
|
|
|
279
287
|
The same exchanges can be triggered from the order detail page. Switch on **SEPA testing** in Settings > Pay (off by
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@webbers/pay-payments-medusa",
|
|
3
3
|
"displayName": "Medusa v2 Pay. Plugin",
|
|
4
|
-
"version": "2.2.
|
|
4
|
+
"version": "2.2.53",
|
|
5
5
|
"description": "The Pay.nl payment provider plugin for Medusa v2",
|
|
6
6
|
"author": "Webbers B.V. <development@webbers.com>",
|
|
7
7
|
"license": "MIT",
|