@mercurjs/magento2-connector-plugin 0.0.0-stage → 2.3.9-canary.2
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/src/admin/index.js +810 -0
- package/.medusa/server/src/admin/index.mjs +787 -0
- package/.medusa/server/src/api/admin/magento/middlewares.d.ts +2 -0
- package/.medusa/server/src/api/admin/magento/middlewares.js +96 -0
- package/.medusa/server/src/api/admin/magento/order-groups/[id]/payments/cancel/route.d.ts +4 -0
- package/.medusa/server/src/api/admin/magento/order-groups/[id]/payments/cancel/route.js +24 -0
- package/.medusa/server/src/api/admin/magento/order-groups/[id]/payments/capture/route.d.ts +4 -0
- package/.medusa/server/src/api/admin/magento/order-groups/[id]/payments/capture/route.js +24 -0
- package/.medusa/server/src/api/admin/magento/order-groups/payment-fields.d.ts +1 -0
- package/.medusa/server/src/api/admin/magento/order-groups/payment-fields.js +16 -0
- package/.medusa/server/src/api/admin/magento/order-groups/validators.d.ts +9 -0
- package/.medusa/server/src/api/admin/magento/order-groups/validators.js +15 -0
- package/.medusa/server/src/api/admin/magento/orders/[id]/refunds/external/route.d.ts +4 -0
- package/.medusa/server/src/api/admin/magento/orders/[id]/refunds/external/route.js +24 -0
- package/.medusa/server/src/api/admin/magento/orders/validators.d.ts +7 -0
- package/.medusa/server/src/api/admin/magento/orders/validators.js +12 -0
- package/.medusa/server/src/api/admin/magento/status/route.d.ts +3 -0
- package/.medusa/server/src/api/admin/magento/status/route.js +46 -0
- package/.medusa/server/src/api/admin/magento/webhooks/[id]/deliveries/[delivery_id]/redeliver/route.d.ts +4 -0
- package/.medusa/server/src/api/admin/magento/webhooks/[id]/deliveries/[delivery_id]/redeliver/route.js +23 -0
- package/.medusa/server/src/api/admin/magento/webhooks/[id]/deliveries/route.d.ts +4 -0
- package/.medusa/server/src/api/admin/magento/webhooks/[id]/deliveries/route.js +21 -0
- package/.medusa/server/src/api/admin/magento/webhooks/[id]/route.d.ts +6 -0
- package/.medusa/server/src/api/admin/magento/webhooks/[id]/route.js +40 -0
- package/.medusa/server/src/api/admin/magento/webhooks/query-config.d.ts +22 -0
- package/.medusa/server/src/api/admin/magento/webhooks/query-config.js +36 -0
- package/.medusa/server/src/api/admin/magento/webhooks/route.d.ts +5 -0
- package/.medusa/server/src/api/admin/magento/webhooks/route.js +37 -0
- package/.medusa/server/src/api/admin/magento/webhooks/validators.d.ts +117 -0
- package/.medusa/server/src/api/admin/magento/webhooks/validators.js +46 -0
- package/.medusa/server/src/api/middlewares.d.ts +2 -0
- package/.medusa/server/src/api/middlewares.js +8 -0
- package/.medusa/server/src/index.d.ts +4 -0
- package/.medusa/server/src/index.js +24 -0
- package/.medusa/server/src/jobs/prune-magento-webhook-deliveries.d.ts +6 -0
- package/.medusa/server/src/jobs/prune-magento-webhook-deliveries.js +16 -0
- package/.medusa/server/src/jobs/retry-magento-webhook-deliveries.d.ts +6 -0
- package/.medusa/server/src/jobs/retry-magento-webhook-deliveries.js +20 -0
- package/.medusa/server/src/modules/magento-webhook/index.d.ts +36 -0
- package/.medusa/server/src/modules/magento-webhook/index.js +14 -0
- package/.medusa/server/src/modules/magento-webhook/migrations/Migration20261021155148.d.ts +5 -0
- package/.medusa/server/src/modules/magento-webhook/migrations/Migration20261021155148.js +22 -0
- package/.medusa/server/src/modules/magento-webhook/models/index.d.ts +2 -0
- package/.medusa/server/src/modules/magento-webhook/models/index.js +11 -0
- package/.medusa/server/src/modules/magento-webhook/models/magento-webhook-delivery.d.ts +22 -0
- package/.medusa/server/src/modules/magento-webhook/models/magento-webhook-delivery.js +38 -0
- package/.medusa/server/src/modules/magento-webhook/models/magento-webhook-endpoint.d.ts +22 -0
- package/.medusa/server/src/modules/magento-webhook/models/magento-webhook-endpoint.js +23 -0
- package/.medusa/server/src/modules/magento-webhook/services/magento-webhook-module-service.d.ts +48 -0
- package/.medusa/server/src/modules/magento-webhook/services/magento-webhook-module-service.js +10 -0
- package/.medusa/server/src/modules/magento-webhook/utils/index.d.ts +2 -0
- package/.medusa/server/src/modules/magento-webhook/utils/index.js +19 -0
- package/.medusa/server/src/modules/magento-webhook/utils/retry.d.ts +1 -0
- package/.medusa/server/src/modules/magento-webhook/utils/retry.js +16 -0
- package/.medusa/server/src/modules/magento-webhook/utils/signature.d.ts +2 -0
- package/.medusa/server/src/modules/magento-webhook/utils/signature.js +13 -0
- package/.medusa/server/src/providers/payment-external/index.d.ts +4 -0
- package/.medusa/server/src/providers/payment-external/index.js +13 -0
- package/.medusa/server/src/providers/payment-external/service.d.ts +26 -0
- package/.medusa/server/src/providers/payment-external/service.js +87 -0
- package/.medusa/server/src/subscribers/magento-refund-requested.d.ts +5 -0
- package/.medusa/server/src/subscribers/magento-refund-requested.js +16 -0
- package/.medusa/server/src/subscribers/magento-webhook-deliver-on-create.d.ts +5 -0
- package/.medusa/server/src/subscribers/magento-webhook-deliver-on-create.js +16 -0
- package/.medusa/server/src/subscribers/magento-webhook-fan-out.d.ts +3 -0
- package/.medusa/server/src/subscribers/magento-webhook-fan-out.js +27 -0
- package/.medusa/server/src/types/common.d.ts +107 -0
- package/.medusa/server/src/types/common.js +43 -0
- package/.medusa/server/src/types/http.d.ts +129 -0
- package/.medusa/server/src/types/http.js +3 -0
- package/.medusa/server/src/types/index.d.ts +3 -0
- package/.medusa/server/src/types/index.js +20 -0
- package/.medusa/server/src/types/service.d.ts +17 -0
- package/.medusa/server/src/types/service.js +3 -0
- package/.medusa/server/src/workflows/external-payment/index.d.ts +2 -0
- package/.medusa/server/src/workflows/external-payment/index.js +19 -0
- package/.medusa/server/src/workflows/external-payment/steps/build-refund-requested-event.d.ts +32 -0
- package/.medusa/server/src/workflows/external-payment/steps/build-refund-requested-event.js +37 -0
- package/.medusa/server/src/workflows/external-payment/steps/cancel-order-group-orders.d.ts +6 -0
- package/.medusa/server/src/workflows/external-payment/steps/cancel-order-group-orders.js +27 -0
- package/.medusa/server/src/workflows/external-payment/steps/index.d.ts +5 -0
- package/.medusa/server/src/workflows/external-payment/steps/index.js +22 -0
- package/.medusa/server/src/workflows/external-payment/steps/resolve-external-cart-payment.d.ts +16 -0
- package/.medusa/server/src/workflows/external-payment/steps/resolve-external-cart-payment.js +45 -0
- package/.medusa/server/src/workflows/external-payment/steps/validate-external-payment-cancelable.d.ts +7 -0
- package/.medusa/server/src/workflows/external-payment/steps/validate-external-payment-cancelable.js +13 -0
- package/.medusa/server/src/workflows/external-payment/steps/validate-external-payment.d.ts +13 -0
- package/.medusa/server/src/workflows/external-payment/steps/validate-external-payment.js +22 -0
- package/.medusa/server/src/workflows/external-payment/workflows/cancel-external-payment.d.ts +12 -0
- package/.medusa/server/src/workflows/external-payment/workflows/cancel-external-payment.js +39 -0
- package/.medusa/server/src/workflows/external-payment/workflows/capture-external-payment.d.ts +12 -0
- package/.medusa/server/src/workflows/external-payment/workflows/capture-external-payment.js +43 -0
- package/.medusa/server/src/workflows/external-payment/workflows/emit-refund-requested.d.ts +10 -0
- package/.medusa/server/src/workflows/external-payment/workflows/emit-refund-requested.js +45 -0
- package/.medusa/server/src/workflows/external-payment/workflows/index.d.ts +4 -0
- package/.medusa/server/src/workflows/external-payment/workflows/index.js +21 -0
- package/.medusa/server/src/workflows/external-payment/workflows/record-external-refund.d.ts +14 -0
- package/.medusa/server/src/workflows/external-payment/workflows/record-external-refund.js +58 -0
- package/.medusa/server/src/workflows/index.d.ts +2 -0
- package/.medusa/server/src/workflows/index.js +19 -0
- package/.medusa/server/src/workflows/magento-webhook/index.d.ts +2 -0
- package/.medusa/server/src/workflows/magento-webhook/index.js +19 -0
- package/.medusa/server/src/workflows/magento-webhook/steps/create-magento-webhook-deliveries.d.ts +6 -0
- package/.medusa/server/src/workflows/magento-webhook/steps/create-magento-webhook-deliveries.js +30 -0
- package/.medusa/server/src/workflows/magento-webhook/steps/create-magento-webhook-endpoints.d.ts +4 -0
- package/.medusa/server/src/workflows/magento-webhook/steps/create-magento-webhook-endpoints.js +18 -0
- package/.medusa/server/src/workflows/magento-webhook/steps/delete-magento-webhook-deliveries.d.ts +6 -0
- package/.medusa/server/src/workflows/magento-webhook/steps/delete-magento-webhook-deliveries.js +15 -0
- package/.medusa/server/src/workflows/magento-webhook/steps/delete-magento-webhook-endpoints.d.ts +3 -0
- package/.medusa/server/src/workflows/magento-webhook/steps/delete-magento-webhook-endpoints.js +18 -0
- package/.medusa/server/src/workflows/magento-webhook/steps/index.d.ts +7 -0
- package/.medusa/server/src/workflows/magento-webhook/steps/index.js +24 -0
- package/.medusa/server/src/workflows/magento-webhook/steps/send-magento-webhook-delivery.d.ts +7 -0
- package/.medusa/server/src/workflows/magento-webhook/steps/send-magento-webhook-delivery.js +74 -0
- package/.medusa/server/src/workflows/magento-webhook/steps/update-magento-webhook-endpoints.d.ts +4 -0
- package/.medusa/server/src/workflows/magento-webhook/steps/update-magento-webhook-endpoints.js +29 -0
- package/.medusa/server/src/workflows/magento-webhook/steps/validate-magento-webhook-delivery.d.ts +10 -0
- package/.medusa/server/src/workflows/magento-webhook/steps/validate-magento-webhook-delivery.js +19 -0
- package/.medusa/server/src/workflows/magento-webhook/workflows/create-magento-webhook-endpoints.d.ts +8 -0
- package/.medusa/server/src/workflows/magento-webhook/workflows/create-magento-webhook-endpoints.js +16 -0
- package/.medusa/server/src/workflows/magento-webhook/workflows/delete-magento-webhook-endpoints.d.ts +5 -0
- package/.medusa/server/src/workflows/magento-webhook/workflows/delete-magento-webhook-endpoints.js +11 -0
- package/.medusa/server/src/workflows/magento-webhook/workflows/deliver-magento-webhook.d.ts +7 -0
- package/.medusa/server/src/workflows/magento-webhook/workflows/deliver-magento-webhook.js +12 -0
- package/.medusa/server/src/workflows/magento-webhook/workflows/enqueue-magento-webhook-deliveries.d.ts +6 -0
- package/.medusa/server/src/workflows/magento-webhook/workflows/enqueue-magento-webhook-deliveries.js +17 -0
- package/.medusa/server/src/workflows/magento-webhook/workflows/index.d.ts +6 -0
- package/.medusa/server/src/workflows/magento-webhook/workflows/index.js +23 -0
- package/.medusa/server/src/workflows/magento-webhook/workflows/prune-magento-webhook-deliveries.d.ts +6 -0
- package/.medusa/server/src/workflows/magento-webhook/workflows/prune-magento-webhook-deliveries.js +11 -0
- package/.medusa/server/src/workflows/magento-webhook/workflows/update-magento-webhook-endpoints.d.ts +6 -0
- package/.medusa/server/src/workflows/magento-webhook/workflows/update-magento-webhook-endpoints.js +11 -0
- package/README.md +64 -2
- package/package.json +96 -4
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.buildRefundRequestedEventStep = exports.buildRefundRequestedEventStepId = void 0;
|
|
4
|
+
const utils_1 = require("@medusajs/framework/utils");
|
|
5
|
+
const workflows_sdk_1 = require("@medusajs/framework/workflows-sdk");
|
|
6
|
+
const types_1 = require("../../../types");
|
|
7
|
+
exports.buildRefundRequestedEventStepId = "build-refund-requested-event";
|
|
8
|
+
/**
|
|
9
|
+
* Picks the newest refund on an external-provider payment that did not come
|
|
10
|
+
* from Magento itself. Returns an empty list when there is nothing to forward.
|
|
11
|
+
*/
|
|
12
|
+
exports.buildRefundRequestedEventStep = (0, workflows_sdk_1.createStep)(exports.buildRefundRequestedEventStepId, async (input) => {
|
|
13
|
+
const payment = input.payment;
|
|
14
|
+
if (!payment || payment.provider_id !== types_1.EXTERNAL_PAYMENT_PROVIDER_ID) {
|
|
15
|
+
return new workflows_sdk_1.StepResponse([]);
|
|
16
|
+
}
|
|
17
|
+
if (!input.order_id) {
|
|
18
|
+
throw new utils_1.MedusaError(utils_1.MedusaError.Types.NOT_FOUND, `Payment ${payment.id} is not attached to an order`);
|
|
19
|
+
}
|
|
20
|
+
const newest = (payment.refunds ?? [])
|
|
21
|
+
.filter((r) => !!r)
|
|
22
|
+
.sort((a, b) => new Date(b.created_at ?? 0).getTime() - new Date(a.created_at ?? 0).getTime())[0];
|
|
23
|
+
if (!newest || newest.metadata?.source === types_1.EXTERNAL_REFUND_SOURCE) {
|
|
24
|
+
return new workflows_sdk_1.StepResponse([]);
|
|
25
|
+
}
|
|
26
|
+
return new workflows_sdk_1.StepResponse([
|
|
27
|
+
{
|
|
28
|
+
order_id: input.order_id,
|
|
29
|
+
payment_id: payment.id,
|
|
30
|
+
refund_id: newest.id,
|
|
31
|
+
amount: Number(newest.amount),
|
|
32
|
+
currency_code: payment.currency_code,
|
|
33
|
+
note: newest.note ?? null,
|
|
34
|
+
},
|
|
35
|
+
]);
|
|
36
|
+
});
|
|
37
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnVpbGQtcmVmdW5kLXJlcXVlc3RlZC1ldmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy93b3JrZmxvd3MvZXh0ZXJuYWwtcGF5bWVudC9zdGVwcy9idWlsZC1yZWZ1bmQtcmVxdWVzdGVkLWV2ZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLHFEQUF1RDtBQUN2RCxxRUFBNEU7QUFFNUUsMENBQXFGO0FBOEJ4RSxRQUFBLCtCQUErQixHQUFHLDhCQUE4QixDQUFBO0FBRTdFOzs7R0FHRztBQUNVLFFBQUEsNkJBQTZCLEdBQUcsSUFBQSwwQkFBVSxFQUNyRCx1Q0FBK0IsRUFDL0IsS0FBSyxFQUFFLEtBQXlDLEVBQUUsRUFBRTtJQUNsRCxNQUFNLE9BQU8sR0FBRyxLQUFLLENBQUMsT0FBTyxDQUFBO0lBQzdCLElBQUksQ0FBQyxPQUFPLElBQUksT0FBTyxDQUFDLFdBQVcsS0FBSyxvQ0FBNEIsRUFBRSxDQUFDO1FBQ3JFLE9BQU8sSUFBSSw0QkFBWSxDQUE2QixFQUFFLENBQUMsQ0FBQTtJQUN6RCxDQUFDO0lBQ0QsSUFBSSxDQUFDLEtBQUssQ0FBQyxRQUFRLEVBQUUsQ0FBQztRQUNwQixNQUFNLElBQUksbUJBQVcsQ0FDbkIsbUJBQVcsQ0FBQyxLQUFLLENBQUMsU0FBUyxFQUMzQixXQUFXLE9BQU8sQ0FBQyxFQUFFLDhCQUE4QixDQUNwRCxDQUFBO0lBQ0gsQ0FBQztJQUVELE1BQU0sTUFBTSxHQUFHLENBQUMsT0FBTyxDQUFDLE9BQU8sSUFBSSxFQUFFLENBQUM7U0FDbkMsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFrQixFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztTQUNsQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxJQUFJLElBQUksQ0FBQyxDQUFDLENBQUMsVUFBVSxJQUFJLENBQUMsQ0FBQyxDQUFDLE9BQU8sRUFBRSxHQUFHLElBQUksSUFBSSxDQUFDLENBQUMsQ0FBQyxVQUFVLElBQUksQ0FBQyxDQUFDLENBQUMsT0FBTyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQTtJQUVuRyxJQUFJLENBQUMsTUFBTSxJQUFJLE1BQU0sQ0FBQyxRQUFRLEVBQUUsTUFBTSxLQUFLLDhCQUFzQixFQUFFLENBQUM7UUFDbEUsT0FBTyxJQUFJLDRCQUFZLENBQTZCLEVBQUUsQ0FBQyxDQUFBO0lBQ3pELENBQUM7SUFFRCxPQUFPLElBQUksNEJBQVksQ0FBNkI7UUFDbEQ7WUFDRSxRQUFRLEVBQUUsS0FBSyxDQUFDLFFBQVE7WUFDeEIsVUFBVSxFQUFFLE9BQU8sQ0FBQyxFQUFFO1lBQ3RCLFNBQVMsRUFBRSxNQUFNLENBQUMsRUFBRTtZQUNwQixNQUFNLEVBQUUsTUFBTSxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUM7WUFDN0IsYUFBYSxFQUFFLE9BQU8sQ0FBQyxhQUFhO1lBQ3BDLElBQUksRUFBRSxNQUFNLENBQUMsSUFBSSxJQUFJLElBQUk7U0FDMUI7S0FDRixDQUFDLENBQUE7QUFDSixDQUFDLENBQ0YsQ0FBQSJ9
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
export type CancelOrderGroupOrdersStepInput = {
|
|
2
|
+
order_ids: string[];
|
|
3
|
+
canceled_by?: string;
|
|
4
|
+
};
|
|
5
|
+
export declare const cancelOrderGroupOrdersStepId = "cancel-order-group-orders";
|
|
6
|
+
export declare const cancelOrderGroupOrdersStep: import("@medusajs/framework/workflows-sdk").StepFunction<CancelOrderGroupOrdersStepInput, string[]>;
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.cancelOrderGroupOrdersStep = exports.cancelOrderGroupOrdersStepId = void 0;
|
|
4
|
+
const utils_1 = require("@medusajs/framework/utils");
|
|
5
|
+
const workflows_sdk_1 = require("@medusajs/framework/workflows-sdk");
|
|
6
|
+
const core_flows_1 = require("@medusajs/medusa/core-flows");
|
|
7
|
+
exports.cancelOrderGroupOrdersStepId = "cancel-order-group-orders";
|
|
8
|
+
exports.cancelOrderGroupOrdersStep = (0, workflows_sdk_1.createStep)(exports.cancelOrderGroupOrdersStepId, async (input, { container }) => {
|
|
9
|
+
const query = container.resolve(utils_1.ContainerRegistrationKeys.QUERY);
|
|
10
|
+
const { data: orders } = await query.graph({
|
|
11
|
+
entity: "order",
|
|
12
|
+
fields: ["id", "status", "canceled_at"],
|
|
13
|
+
filters: { id: input.order_ids },
|
|
14
|
+
});
|
|
15
|
+
const canceled = [];
|
|
16
|
+
for (const order of orders) {
|
|
17
|
+
if (order.status === utils_1.OrderStatus.CANCELED || order.canceled_at) {
|
|
18
|
+
continue;
|
|
19
|
+
}
|
|
20
|
+
await (0, core_flows_1.cancelOrderWorkflow)(container).run({
|
|
21
|
+
input: { order_id: order.id, canceled_by: input.canceled_by },
|
|
22
|
+
});
|
|
23
|
+
canceled.push(order.id);
|
|
24
|
+
}
|
|
25
|
+
return new workflows_sdk_1.StepResponse(canceled);
|
|
26
|
+
});
|
|
27
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FuY2VsLW9yZGVyLWdyb3VwLW9yZGVycy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy93b3JrZmxvd3MvZXh0ZXJuYWwtcGF5bWVudC9zdGVwcy9jYW5jZWwtb3JkZXItZ3JvdXAtb3JkZXJzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLHFEQUFrRjtBQUNsRixxRUFBNEU7QUFDNUUsNERBQWlFO0FBT3BELFFBQUEsNEJBQTRCLEdBQUcsMkJBQTJCLENBQUE7QUFDMUQsUUFBQSwwQkFBMEIsR0FBRyxJQUFBLDBCQUFVLEVBQ2xELG9DQUE0QixFQUM1QixLQUFLLEVBQUUsS0FBc0MsRUFBRSxFQUFFLFNBQVMsRUFBRSxFQUFFLEVBQUU7SUFDOUQsTUFBTSxLQUFLLEdBQUcsU0FBUyxDQUFDLE9BQU8sQ0FBQyxpQ0FBeUIsQ0FBQyxLQUFLLENBQUMsQ0FBQTtJQUNoRSxNQUFNLEVBQUUsSUFBSSxFQUFFLE1BQU0sRUFBRSxHQUFHLE1BQU0sS0FBSyxDQUFDLEtBQUssQ0FBQztRQUN6QyxNQUFNLEVBQUUsT0FBTztRQUNmLE1BQU0sRUFBRSxDQUFDLElBQUksRUFBRSxRQUFRLEVBQUUsYUFBYSxDQUFDO1FBQ3ZDLE9BQU8sRUFBRSxFQUFFLEVBQUUsRUFBRSxLQUFLLENBQUMsU0FBUyxFQUFFO0tBQ2pDLENBQUMsQ0FBQTtJQUVGLE1BQU0sUUFBUSxHQUFhLEVBQUUsQ0FBQTtJQUM3QixLQUFLLE1BQU0sS0FBSyxJQUFJLE1BQU0sRUFBRSxDQUFDO1FBQzNCLElBQUksS0FBSyxDQUFDLE1BQU0sS0FBSyxtQkFBVyxDQUFDLFFBQVEsSUFBSSxLQUFLLENBQUMsV0FBVyxFQUFFLENBQUM7WUFDL0QsU0FBUTtRQUNWLENBQUM7UUFDRCxNQUFNLElBQUEsZ0NBQW1CLEVBQUMsU0FBUyxDQUFDLENBQUMsR0FBRyxDQUFDO1lBQ3ZDLEtBQUssRUFBRSxFQUFFLFFBQVEsRUFBRSxLQUFLLENBQUMsRUFBRSxFQUFFLFdBQVcsRUFBRSxLQUFLLENBQUMsV0FBVyxFQUFFO1NBQzlELENBQUMsQ0FBQTtRQUNGLFFBQVEsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFBO0lBQ3pCLENBQUM7SUFFRCxPQUFPLElBQUksNEJBQVksQ0FBQyxRQUFRLENBQUMsQ0FBQTtBQUNuQyxDQUFDLENBQ0YsQ0FBQSJ9
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
14
|
+
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
|
+
};
|
|
16
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
+
__exportStar(require("./build-refund-requested-event"), exports);
|
|
18
|
+
__exportStar(require("./cancel-order-group-orders"), exports);
|
|
19
|
+
__exportStar(require("./resolve-external-cart-payment"), exports);
|
|
20
|
+
__exportStar(require("./validate-external-payment"), exports);
|
|
21
|
+
__exportStar(require("./validate-external-payment-cancelable"), exports);
|
|
22
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvd29ya2Zsb3dzL2V4dGVybmFsLXBheW1lbnQvc3RlcHMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLGlFQUE4QztBQUM5Qyw4REFBMkM7QUFDM0Msa0VBQStDO0FBQy9DLDhEQUEyQztBQUMzQyx5RUFBc0QifQ==
|
package/.medusa/server/src/workflows/external-payment/steps/resolve-external-cart-payment.d.ts
ADDED
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
export type ResolveExternalCartPaymentStepInput = {
|
|
2
|
+
order_group_id: string;
|
|
3
|
+
order_ids: string[];
|
|
4
|
+
};
|
|
5
|
+
export type ExternalCartPayment = {
|
|
6
|
+
cart_id: string;
|
|
7
|
+
payment_id: string;
|
|
8
|
+
captured: boolean;
|
|
9
|
+
canceled: boolean;
|
|
10
|
+
};
|
|
11
|
+
export declare const resolveExternalCartPaymentStepId = "resolve-external-cart-payment";
|
|
12
|
+
/**
|
|
13
|
+
* Finds the cart-level payment held by the external provider for an order
|
|
14
|
+
* group. Until it is captured, the child orders have no payment of their own.
|
|
15
|
+
*/
|
|
16
|
+
export declare const resolveExternalCartPaymentStep: import("@medusajs/framework/workflows-sdk").StepFunction<ResolveExternalCartPaymentStepInput, ExternalCartPayment>;
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.resolveExternalCartPaymentStep = exports.resolveExternalCartPaymentStepId = void 0;
|
|
4
|
+
const utils_1 = require("@medusajs/framework/utils");
|
|
5
|
+
const workflows_sdk_1 = require("@medusajs/framework/workflows-sdk");
|
|
6
|
+
const workflows_1 = require("@mercurjs/core/workflows");
|
|
7
|
+
const types_1 = require("../../../types");
|
|
8
|
+
exports.resolveExternalCartPaymentStepId = "resolve-external-cart-payment";
|
|
9
|
+
/**
|
|
10
|
+
* Finds the cart-level payment held by the external provider for an order
|
|
11
|
+
* group. Until it is captured, the child orders have no payment of their own.
|
|
12
|
+
*/
|
|
13
|
+
exports.resolveExternalCartPaymentStep = (0, workflows_sdk_1.createStep)(exports.resolveExternalCartPaymentStepId, async (input, { container }) => {
|
|
14
|
+
const [orderId] = input.order_ids;
|
|
15
|
+
if (!orderId) {
|
|
16
|
+
throw new utils_1.MedusaError(utils_1.MedusaError.Types.INVALID_DATA, `Order group with id "${input.order_group_id}" has no orders`);
|
|
17
|
+
}
|
|
18
|
+
const cartId = await (0, workflows_1.resolveSplitOrderCartId)(container, { order_id: orderId });
|
|
19
|
+
if (!cartId) {
|
|
20
|
+
throw new utils_1.MedusaError(utils_1.MedusaError.Types.INVALID_DATA, `Order group with id "${input.order_group_id}" is not linked to a cart`);
|
|
21
|
+
}
|
|
22
|
+
const query = container.resolve(utils_1.ContainerRegistrationKeys.QUERY);
|
|
23
|
+
const { data } = await query.graph({
|
|
24
|
+
entity: "cart_payment_collection",
|
|
25
|
+
fields: [
|
|
26
|
+
"payment_collection.payments.id",
|
|
27
|
+
"payment_collection.payments.provider_id",
|
|
28
|
+
"payment_collection.payments.captured_at",
|
|
29
|
+
"payment_collection.payments.canceled_at",
|
|
30
|
+
],
|
|
31
|
+
filters: { cart_id: cartId },
|
|
32
|
+
});
|
|
33
|
+
const payments = data.flatMap((link) => (link.payment_collection?.payments ?? []));
|
|
34
|
+
const payment = payments.find((p) => !!p && p.provider_id === types_1.EXTERNAL_PAYMENT_PROVIDER_ID && !p.canceled_at) ?? payments.find((p) => !!p && p.provider_id === types_1.EXTERNAL_PAYMENT_PROVIDER_ID);
|
|
35
|
+
if (!payment) {
|
|
36
|
+
throw new utils_1.MedusaError(utils_1.MedusaError.Types.INVALID_DATA, `Order group with id "${input.order_group_id}" has no payment on the external provider`);
|
|
37
|
+
}
|
|
38
|
+
return new workflows_sdk_1.StepResponse({
|
|
39
|
+
cart_id: cartId,
|
|
40
|
+
payment_id: payment.id,
|
|
41
|
+
captured: !!payment.captured_at,
|
|
42
|
+
canceled: !!payment.canceled_at,
|
|
43
|
+
});
|
|
44
|
+
});
|
|
45
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVzb2x2ZS1leHRlcm5hbC1jYXJ0LXBheW1lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvd29ya2Zsb3dzL2V4dGVybmFsLXBheW1lbnQvc3RlcHMvcmVzb2x2ZS1leHRlcm5hbC1jYXJ0LXBheW1lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEscURBQWtGO0FBQ2xGLHFFQUE0RTtBQUM1RSx3REFBa0U7QUFFbEUsMENBQTZEO0FBcUJoRCxRQUFBLGdDQUFnQyxHQUFHLCtCQUErQixDQUFBO0FBQy9FOzs7R0FHRztBQUNVLFFBQUEsOEJBQThCLEdBQUcsSUFBQSwwQkFBVSxFQUN0RCx3Q0FBZ0MsRUFDaEMsS0FBSyxFQUFFLEtBQTBDLEVBQUUsRUFBRSxTQUFTLEVBQUUsRUFBRSxFQUFFO0lBQ2xFLE1BQU0sQ0FBQyxPQUFPLENBQUMsR0FBRyxLQUFLLENBQUMsU0FBUyxDQUFBO0lBQ2pDLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQztRQUNiLE1BQU0sSUFBSSxtQkFBVyxDQUNuQixtQkFBVyxDQUFDLEtBQUssQ0FBQyxZQUFZLEVBQzlCLHdCQUF3QixLQUFLLENBQUMsY0FBYyxpQkFBaUIsQ0FDOUQsQ0FBQTtJQUNILENBQUM7SUFFRCxNQUFNLE1BQU0sR0FBRyxNQUFNLElBQUEsbUNBQXVCLEVBQUMsU0FBUyxFQUFFLEVBQUUsUUFBUSxFQUFFLE9BQU8sRUFBRSxDQUFDLENBQUE7SUFDOUUsSUFBSSxDQUFDLE1BQU0sRUFBRSxDQUFDO1FBQ1osTUFBTSxJQUFJLG1CQUFXLENBQ25CLG1CQUFXLENBQUMsS0FBSyxDQUFDLFlBQVksRUFDOUIsd0JBQXdCLEtBQUssQ0FBQyxjQUFjLDJCQUEyQixDQUN4RSxDQUFBO0lBQ0gsQ0FBQztJQUVELE1BQU0sS0FBSyxHQUFHLFNBQVMsQ0FBQyxPQUFPLENBQUMsaUNBQXlCLENBQUMsS0FBSyxDQUFDLENBQUE7SUFDaEUsTUFBTSxFQUFFLElBQUksRUFBRSxHQUFHLE1BQU0sS0FBSyxDQUFDLEtBQUssQ0FBQztRQUNqQyxNQUFNLEVBQUUseUJBQXlCO1FBQ2pDLE1BQU0sRUFBRTtZQUNOLGdDQUFnQztZQUNoQyx5Q0FBeUM7WUFDekMseUNBQXlDO1lBQ3pDLHlDQUF5QztTQUMxQztRQUNELE9BQU8sRUFBRSxFQUFFLE9BQU8sRUFBRSxNQUFNLEVBQUU7S0FDN0IsQ0FBQyxDQUFBO0lBRUYsTUFBTSxRQUFRLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FDM0IsQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLGtCQUFrQixFQUFFLFFBQVEsSUFBSSxFQUFFLENBQThCLENBQ2pGLENBQUE7SUFDRCxNQUFNLE9BQU8sR0FBRyxRQUFRLENBQUMsSUFBSSxDQUMzQixDQUFDLENBQUMsRUFBdUIsRUFBRSxDQUN6QixDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxXQUFXLEtBQUssb0NBQTRCLElBQUksQ0FBQyxDQUFDLENBQUMsV0FBVyxDQUMxRSxJQUFJLFFBQVEsQ0FBQyxJQUFJLENBQ2hCLENBQUMsQ0FBQyxFQUF1QixFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsV0FBVyxLQUFLLG9DQUE0QixDQUNsRixDQUFBO0lBRUQsSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDO1FBQ2IsTUFBTSxJQUFJLG1CQUFXLENBQ25CLG1CQUFXLENBQUMsS0FBSyxDQUFDLFlBQVksRUFDOUIsd0JBQXdCLEtBQUssQ0FBQyxjQUFjLDJDQUEyQyxDQUN4RixDQUFBO0lBQ0gsQ0FBQztJQUVELE9BQU8sSUFBSSw0QkFBWSxDQUFzQjtRQUMzQyxPQUFPLEVBQUUsTUFBTTtRQUNmLFVBQVUsRUFBRSxPQUFPLENBQUMsRUFBRTtRQUN0QixRQUFRLEVBQUUsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxXQUFXO1FBQy9CLFFBQVEsRUFBRSxDQUFDLENBQUMsT0FBTyxDQUFDLFdBQVc7S0FDaEMsQ0FBQyxDQUFBO0FBQ0osQ0FBQyxDQUNGLENBQUEifQ==
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { ExternalCartPayment } from "./resolve-external-cart-payment";
|
|
2
|
+
export type ValidateExternalPaymentCancelableStepInput = {
|
|
3
|
+
order_group_id: string;
|
|
4
|
+
payment: ExternalCartPayment;
|
|
5
|
+
};
|
|
6
|
+
export declare const validateExternalPaymentCancelableStepId = "validate-external-payment-cancelable";
|
|
7
|
+
export declare const validateExternalPaymentCancelableStep: import("@medusajs/framework/workflows-sdk").StepFunction<ValidateExternalPaymentCancelableStepInput, undefined>;
|
package/.medusa/server/src/workflows/external-payment/steps/validate-external-payment-cancelable.js
ADDED
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.validateExternalPaymentCancelableStep = exports.validateExternalPaymentCancelableStepId = void 0;
|
|
4
|
+
const utils_1 = require("@medusajs/framework/utils");
|
|
5
|
+
const workflows_sdk_1 = require("@medusajs/framework/workflows-sdk");
|
|
6
|
+
exports.validateExternalPaymentCancelableStepId = "validate-external-payment-cancelable";
|
|
7
|
+
exports.validateExternalPaymentCancelableStep = (0, workflows_sdk_1.createStep)(exports.validateExternalPaymentCancelableStepId, async (input) => {
|
|
8
|
+
if (input.payment.captured) {
|
|
9
|
+
throw new utils_1.MedusaError(utils_1.MedusaError.Types.INVALID_DATA, `Payment of order group "${input.order_group_id}" is already captured; record a refund instead`);
|
|
10
|
+
}
|
|
11
|
+
return new workflows_sdk_1.StepResponse(void 0);
|
|
12
|
+
});
|
|
13
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmFsaWRhdGUtZXh0ZXJuYWwtcGF5bWVudC1jYW5jZWxhYmxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vc3JjL3dvcmtmbG93cy9leHRlcm5hbC1wYXltZW50L3N0ZXBzL3ZhbGlkYXRlLWV4dGVybmFsLXBheW1lbnQtY2FuY2VsYWJsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSxxREFBdUQ7QUFDdkQscUVBQTRFO0FBUy9ELFFBQUEsdUNBQXVDLEdBQ2xELHNDQUFzQyxDQUFBO0FBQzNCLFFBQUEscUNBQXFDLEdBQUcsSUFBQSwwQkFBVSxFQUM3RCwrQ0FBdUMsRUFDdkMsS0FBSyxFQUFFLEtBQWlELEVBQUUsRUFBRTtJQUMxRCxJQUFJLEtBQUssQ0FBQyxPQUFPLENBQUMsUUFBUSxFQUFFLENBQUM7UUFDM0IsTUFBTSxJQUFJLG1CQUFXLENBQ25CLG1CQUFXLENBQUMsS0FBSyxDQUFDLFlBQVksRUFDOUIsMkJBQTJCLEtBQUssQ0FBQyxjQUFjLGdEQUFnRCxDQUNoRyxDQUFBO0lBQ0gsQ0FBQztJQUVELE9BQU8sSUFBSSw0QkFBWSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUE7QUFDakMsQ0FBQyxDQUNGLENBQUEifQ==
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
type PaymentRow = {
|
|
2
|
+
id: string;
|
|
3
|
+
provider_id: string;
|
|
4
|
+
captured_at: Date | string | null;
|
|
5
|
+
};
|
|
6
|
+
export type ValidateExternalPaymentStepInput = {
|
|
7
|
+
order_id: string;
|
|
8
|
+
payments: (PaymentRow | null)[];
|
|
9
|
+
cart_payments?: (PaymentRow | null)[];
|
|
10
|
+
};
|
|
11
|
+
export declare const validateExternalPaymentStepId = "validate-external-payment";
|
|
12
|
+
export declare const validateExternalPaymentStep: import("@medusajs/framework/workflows-sdk").StepFunction<ValidateExternalPaymentStepInput, string>;
|
|
13
|
+
export {};
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.validateExternalPaymentStep = exports.validateExternalPaymentStepId = void 0;
|
|
4
|
+
const utils_1 = require("@medusajs/framework/utils");
|
|
5
|
+
const workflows_sdk_1 = require("@medusajs/framework/workflows-sdk");
|
|
6
|
+
const types_1 = require("../../../types");
|
|
7
|
+
const isExternal = (p) => !!p && p.provider_id === types_1.EXTERNAL_PAYMENT_PROVIDER_ID;
|
|
8
|
+
exports.validateExternalPaymentStepId = "validate-external-payment";
|
|
9
|
+
exports.validateExternalPaymentStep = (0, workflows_sdk_1.createStep)(exports.validateExternalPaymentStepId, async (input) => {
|
|
10
|
+
// An order only holds its own external payment once the cart payment is
|
|
11
|
+
// captured and split; before that the cart's shared one is all there is.
|
|
12
|
+
const payment = input.payments.filter(isExternal).find((p) => !!p.captured_at);
|
|
13
|
+
if (!payment) {
|
|
14
|
+
const pending = (input.cart_payments ?? []).some(isExternal) ||
|
|
15
|
+
input.payments.some(isExternal);
|
|
16
|
+
throw new utils_1.MedusaError(utils_1.MedusaError.Types.INVALID_DATA, pending
|
|
17
|
+
? `Order with id "${input.order_id}" has an external payment that is not yet captured; capture the order group payment first`
|
|
18
|
+
: `Order with id "${input.order_id}" has no payment on the external provider`);
|
|
19
|
+
}
|
|
20
|
+
return new workflows_sdk_1.StepResponse(payment.id);
|
|
21
|
+
});
|
|
22
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmFsaWRhdGUtZXh0ZXJuYWwtcGF5bWVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy93b3JrZmxvd3MvZXh0ZXJuYWwtcGF5bWVudC9zdGVwcy92YWxpZGF0ZS1leHRlcm5hbC1wYXltZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLHFEQUF1RDtBQUN2RCxxRUFBNEU7QUFFNUUsMENBQTZEO0FBVTdELE1BQU0sVUFBVSxHQUFHLENBQUMsQ0FBb0IsRUFBbUIsRUFBRSxDQUMzRCxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxXQUFXLEtBQUssb0NBQTRCLENBQUE7QUFFMUMsUUFBQSw2QkFBNkIsR0FBRywyQkFBMkIsQ0FBQTtBQUMzRCxRQUFBLDJCQUEyQixHQUFHLElBQUEsMEJBQVUsRUFDbkQscUNBQTZCLEVBQzdCLEtBQUssRUFBRSxLQUF1QyxFQUFFLEVBQUU7SUFDaEQsd0VBQXdFO0lBQ3hFLHlFQUF5RTtJQUN6RSxNQUFNLE9BQU8sR0FBRyxLQUFLLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxVQUFVLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsV0FBVyxDQUFDLENBQUE7SUFFOUUsSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDO1FBQ2IsTUFBTSxPQUFPLEdBQUcsQ0FBQyxLQUFLLENBQUMsYUFBYSxJQUFJLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUM7WUFDMUQsS0FBSyxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUE7UUFDakMsTUFBTSxJQUFJLG1CQUFXLENBQ25CLG1CQUFXLENBQUMsS0FBSyxDQUFDLFlBQVksRUFDOUIsT0FBTztZQUNMLENBQUMsQ0FBQyxrQkFBa0IsS0FBSyxDQUFDLFFBQVEsMkZBQTJGO1lBQzdILENBQUMsQ0FBQyxrQkFBa0IsS0FBSyxDQUFDLFFBQVEsMkNBQTJDLENBQ2hGLENBQUE7SUFDSCxDQUFDO0lBRUQsT0FBTyxJQUFJLDRCQUFZLENBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQyxDQUFBO0FBQ3JDLENBQUMsQ0FDRixDQUFBIn0=
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
export type CancelExternalPaymentWorkflowInput = {
|
|
2
|
+
order_group_id: string;
|
|
3
|
+
reference?: string;
|
|
4
|
+
canceled_by?: string;
|
|
5
|
+
};
|
|
6
|
+
export declare const cancelExternalPaymentWorkflowId = "cancel-external-payment";
|
|
7
|
+
/**
|
|
8
|
+
* Mirrors a storefront cancellation of an order whose payment was never
|
|
9
|
+
* captured: every child order is canceled, which releases the shared cart
|
|
10
|
+
* authorization on the external provider.
|
|
11
|
+
*/
|
|
12
|
+
export declare const cancelExternalPaymentWorkflow: import("@medusajs/framework/workflows-sdk").ReturnWorkflow<CancelExternalPaymentWorkflowInput, import("../steps").ExternalCartPayment, []>;
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.cancelExternalPaymentWorkflow = exports.cancelExternalPaymentWorkflowId = void 0;
|
|
4
|
+
const workflows_sdk_1 = require("@medusajs/framework/workflows-sdk");
|
|
5
|
+
const core_flows_1 = require("@medusajs/medusa/core-flows");
|
|
6
|
+
const workflows_1 = require("@mercurjs/core/workflows");
|
|
7
|
+
const steps_1 = require("../steps");
|
|
8
|
+
exports.cancelExternalPaymentWorkflowId = "cancel-external-payment";
|
|
9
|
+
/**
|
|
10
|
+
* Mirrors a storefront cancellation of an order whose payment was never
|
|
11
|
+
* captured: every child order is canceled, which releases the shared cart
|
|
12
|
+
* authorization on the external provider.
|
|
13
|
+
*/
|
|
14
|
+
exports.cancelExternalPaymentWorkflow = (0, workflows_sdk_1.createWorkflow)(exports.cancelExternalPaymentWorkflowId, (input) => {
|
|
15
|
+
const groups = (0, core_flows_1.useQueryGraphStep)({
|
|
16
|
+
entity: "order_group",
|
|
17
|
+
fields: ["id", "orders.id"],
|
|
18
|
+
filters: { id: input.order_group_id },
|
|
19
|
+
options: { throwIfKeyNotFound: true },
|
|
20
|
+
});
|
|
21
|
+
const orderIds = (0, workflows_sdk_1.transform)({ groups }, ({ groups }) => (groups.data[0]?.orders ?? []).flatMap((o) => (o ? [o.id] : [])));
|
|
22
|
+
const payment = (0, steps_1.resolveExternalCartPaymentStep)((0, workflows_sdk_1.transform)({ input, orderIds }, ({ input, orderIds }) => ({
|
|
23
|
+
order_group_id: input.order_group_id,
|
|
24
|
+
order_ids: orderIds,
|
|
25
|
+
})));
|
|
26
|
+
(0, steps_1.validateExternalPaymentCancelableStep)((0, workflows_sdk_1.transform)({ input, payment }, ({ input, payment }) => ({
|
|
27
|
+
order_group_id: input.order_group_id,
|
|
28
|
+
payment,
|
|
29
|
+
})));
|
|
30
|
+
(0, steps_1.cancelOrderGroupOrdersStep)((0, workflows_sdk_1.transform)({ input, orderIds }, ({ input, orderIds }) => ({
|
|
31
|
+
order_ids: orderIds,
|
|
32
|
+
canceled_by: input.canceled_by,
|
|
33
|
+
})));
|
|
34
|
+
workflows_1.voidCanceledCartPaymentWorkflow.runAsStep({
|
|
35
|
+
input: (0, workflows_sdk_1.transform)({ payment }, ({ payment }) => ({ cart_id: payment.cart_id })),
|
|
36
|
+
});
|
|
37
|
+
return new workflows_sdk_1.WorkflowResponse(payment);
|
|
38
|
+
});
|
|
39
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FuY2VsLWV4dGVybmFsLXBheW1lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvd29ya2Zsb3dzL2V4dGVybmFsLXBheW1lbnQvd29ya2Zsb3dzL2NhbmNlbC1leHRlcm5hbC1wYXltZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLHFFQUswQztBQUMxQyw0REFBK0Q7QUFDL0Qsd0RBQTBFO0FBRTFFLG9DQUlpQjtBQVFKLFFBQUEsK0JBQStCLEdBQUcseUJBQXlCLENBQUE7QUFDeEU7Ozs7R0FJRztBQUNVLFFBQUEsNkJBQTZCLEdBQUcsSUFBQSw4QkFBYyxFQUN6RCx1Q0FBK0IsRUFDL0IsQ0FBQyxLQUF1RCxFQUFFLEVBQUU7SUFDMUQsTUFBTSxNQUFNLEdBQUcsSUFBQSw4QkFBaUIsRUFBQztRQUMvQixNQUFNLEVBQUUsYUFBYTtRQUNyQixNQUFNLEVBQUUsQ0FBQyxJQUFJLEVBQUUsV0FBVyxDQUFDO1FBQzNCLE9BQU8sRUFBRSxFQUFFLEVBQUUsRUFBRSxLQUFLLENBQUMsY0FBYyxFQUFFO1FBQ3JDLE9BQU8sRUFBRSxFQUFFLGtCQUFrQixFQUFFLElBQUksRUFBRTtLQUN0QyxDQUFDLENBQUE7SUFFRixNQUFNLFFBQVEsR0FBRyxJQUFBLHlCQUFTLEVBQUMsRUFBRSxNQUFNLEVBQUUsRUFBRSxDQUFDLEVBQUUsTUFBTSxFQUFFLEVBQUUsRUFBRSxDQUNwRCxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsTUFBTSxJQUFJLEVBQUUsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUNqRSxDQUFBO0lBRUQsTUFBTSxPQUFPLEdBQUcsSUFBQSxzQ0FBOEIsRUFDNUMsSUFBQSx5QkFBUyxFQUFDLEVBQUUsS0FBSyxFQUFFLFFBQVEsRUFBRSxFQUFFLENBQUMsRUFBRSxLQUFLLEVBQUUsUUFBUSxFQUFFLEVBQUUsRUFBRSxDQUFDLENBQUM7UUFDdkQsY0FBYyxFQUFFLEtBQUssQ0FBQyxjQUFjO1FBQ3BDLFNBQVMsRUFBRSxRQUFRO0tBQ3BCLENBQUMsQ0FBQyxDQUNKLENBQUE7SUFFRCxJQUFBLDZDQUFxQyxFQUNuQyxJQUFBLHlCQUFTLEVBQUMsRUFBRSxLQUFLLEVBQUUsT0FBTyxFQUFFLEVBQUUsQ0FBQyxFQUFFLEtBQUssRUFBRSxPQUFPLEVBQUUsRUFBRSxFQUFFLENBQUMsQ0FBQztRQUNyRCxjQUFjLEVBQUUsS0FBSyxDQUFDLGNBQWM7UUFDcEMsT0FBTztLQUNSLENBQUMsQ0FBQyxDQUNKLENBQUE7SUFFRCxJQUFBLGtDQUEwQixFQUN4QixJQUFBLHlCQUFTLEVBQUMsRUFBRSxLQUFLLEVBQUUsUUFBUSxFQUFFLEVBQUUsQ0FBQyxFQUFFLEtBQUssRUFBRSxRQUFRLEVBQUUsRUFBRSxFQUFFLENBQUMsQ0FBQztRQUN2RCxTQUFTLEVBQUUsUUFBUTtRQUNuQixXQUFXLEVBQUUsS0FBSyxDQUFDLFdBQVc7S0FDL0IsQ0FBQyxDQUFDLENBQ0osQ0FBQTtJQUVELDJDQUErQixDQUFDLFNBQVMsQ0FBQztRQUN4QyxLQUFLLEVBQUUsSUFBQSx5QkFBUyxFQUFDLEVBQUUsT0FBTyxFQUFFLEVBQUUsQ0FBQyxFQUFFLE9BQU8sRUFBRSxFQUFFLEVBQUUsQ0FBQyxDQUFDLEVBQUUsT0FBTyxFQUFFLE9BQU8sQ0FBQyxPQUFPLEVBQUUsQ0FBQyxDQUFDO0tBQy9FLENBQUMsQ0FBQTtJQUVGLE9BQU8sSUFBSSxnQ0FBZ0IsQ0FBQyxPQUFPLENBQUMsQ0FBQTtBQUN0QyxDQUFDLENBQ0YsQ0FBQSJ9
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
export type CaptureExternalPaymentWorkflowInput = {
|
|
2
|
+
order_group_id: string;
|
|
3
|
+
reference?: string;
|
|
4
|
+
captured_by?: string;
|
|
5
|
+
};
|
|
6
|
+
export declare const captureExternalPaymentWorkflowId = "capture-external-payment";
|
|
7
|
+
/**
|
|
8
|
+
* Records that the storefront settled the payment of an order group. The
|
|
9
|
+
* cart-level payment is captured once; core splits it between the child
|
|
10
|
+
* orders on `payment.captured`.
|
|
11
|
+
*/
|
|
12
|
+
export declare const captureExternalPaymentWorkflow: import("@medusajs/framework/workflows-sdk").ReturnWorkflow<CaptureExternalPaymentWorkflowInput, import("../steps").ExternalCartPayment, []>;
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.captureExternalPaymentWorkflow = exports.captureExternalPaymentWorkflowId = void 0;
|
|
4
|
+
const workflows_sdk_1 = require("@medusajs/framework/workflows-sdk");
|
|
5
|
+
const core_flows_1 = require("@medusajs/medusa/core-flows");
|
|
6
|
+
const types_1 = require("../../../types");
|
|
7
|
+
const steps_1 = require("../steps");
|
|
8
|
+
exports.captureExternalPaymentWorkflowId = "capture-external-payment";
|
|
9
|
+
/**
|
|
10
|
+
* Records that the storefront settled the payment of an order group. The
|
|
11
|
+
* cart-level payment is captured once; core splits it between the child
|
|
12
|
+
* orders on `payment.captured`.
|
|
13
|
+
*/
|
|
14
|
+
exports.captureExternalPaymentWorkflow = (0, workflows_sdk_1.createWorkflow)(exports.captureExternalPaymentWorkflowId, (input) => {
|
|
15
|
+
const groups = (0, core_flows_1.useQueryGraphStep)({
|
|
16
|
+
entity: "order_group",
|
|
17
|
+
fields: ["id", "orders.id"],
|
|
18
|
+
filters: { id: input.order_group_id },
|
|
19
|
+
options: { throwIfKeyNotFound: true },
|
|
20
|
+
});
|
|
21
|
+
const payment = (0, steps_1.resolveExternalCartPaymentStep)((0, workflows_sdk_1.transform)({ input, groups }, ({ input, groups }) => ({
|
|
22
|
+
order_group_id: input.order_group_id,
|
|
23
|
+
order_ids: (groups.data[0]?.orders ?? []).flatMap((o) => (o ? [o.id] : [])),
|
|
24
|
+
})));
|
|
25
|
+
(0, workflows_sdk_1.when)({ payment }, ({ payment }) => !payment.captured).then(() => {
|
|
26
|
+
core_flows_1.capturePaymentWorkflow.runAsStep({
|
|
27
|
+
input: (0, workflows_sdk_1.transform)({ input, payment }, ({ input, payment }) => ({
|
|
28
|
+
payment_id: payment.payment_id,
|
|
29
|
+
captured_by: input.captured_by,
|
|
30
|
+
})),
|
|
31
|
+
});
|
|
32
|
+
(0, core_flows_1.emitEventStep)({
|
|
33
|
+
eventName: types_1.MagentoWebhookEvents.PAYMENT_CAPTURED,
|
|
34
|
+
data: (0, workflows_sdk_1.transform)({ input, payment }, ({ input, payment }) => ({
|
|
35
|
+
id: input.order_group_id,
|
|
36
|
+
payment_id: payment.payment_id,
|
|
37
|
+
reference: input.reference ?? null,
|
|
38
|
+
})),
|
|
39
|
+
});
|
|
40
|
+
});
|
|
41
|
+
return new workflows_sdk_1.WorkflowResponse(payment);
|
|
42
|
+
});
|
|
43
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FwdHVyZS1leHRlcm5hbC1wYXltZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vc3JjL3dvcmtmbG93cy9leHRlcm5hbC1wYXltZW50L3dvcmtmbG93cy9jYXB0dXJlLWV4dGVybmFsLXBheW1lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEscUVBTTBDO0FBQzFDLDREQUlvQztBQUVwQywwQ0FBcUQ7QUFDckQsb0NBQXlEO0FBUTVDLFFBQUEsZ0NBQWdDLEdBQUcsMEJBQTBCLENBQUE7QUFDMUU7Ozs7R0FJRztBQUNVLFFBQUEsOEJBQThCLEdBQUcsSUFBQSw4QkFBYyxFQUMxRCx3Q0FBZ0MsRUFDaEMsQ0FBQyxLQUF3RCxFQUFFLEVBQUU7SUFDM0QsTUFBTSxNQUFNLEdBQUcsSUFBQSw4QkFBaUIsRUFBQztRQUMvQixNQUFNLEVBQUUsYUFBYTtRQUNyQixNQUFNLEVBQUUsQ0FBQyxJQUFJLEVBQUUsV0FBVyxDQUFDO1FBQzNCLE9BQU8sRUFBRSxFQUFFLEVBQUUsRUFBRSxLQUFLLENBQUMsY0FBYyxFQUFFO1FBQ3JDLE9BQU8sRUFBRSxFQUFFLGtCQUFrQixFQUFFLElBQUksRUFBRTtLQUN0QyxDQUFDLENBQUE7SUFFRixNQUFNLE9BQU8sR0FBRyxJQUFBLHNDQUE4QixFQUM1QyxJQUFBLHlCQUFTLEVBQUMsRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLEVBQUUsQ0FBQyxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsRUFBRSxFQUFFLENBQUMsQ0FBQztRQUNuRCxjQUFjLEVBQUUsS0FBSyxDQUFDLGNBQWM7UUFDcEMsU0FBUyxFQUFFLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxNQUFNLElBQUksRUFBRSxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDO0tBQzVFLENBQUMsQ0FBQyxDQUNKLENBQUE7SUFFRCxJQUFBLG9CQUFJLEVBQUMsRUFBRSxPQUFPLEVBQUUsRUFBRSxDQUFDLEVBQUUsT0FBTyxFQUFFLEVBQUUsRUFBRSxDQUFDLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FBQyxDQUFDLElBQUksQ0FBQyxHQUFHLEVBQUU7UUFDOUQsbUNBQXNCLENBQUMsU0FBUyxDQUFDO1lBQy9CLEtBQUssRUFBRSxJQUFBLHlCQUFTLEVBQUMsRUFBRSxLQUFLLEVBQUUsT0FBTyxFQUFFLEVBQUUsQ0FBQyxFQUFFLEtBQUssRUFBRSxPQUFPLEVBQUUsRUFBRSxFQUFFLENBQUMsQ0FBQztnQkFDNUQsVUFBVSxFQUFFLE9BQU8sQ0FBQyxVQUFVO2dCQUM5QixXQUFXLEVBQUUsS0FBSyxDQUFDLFdBQVc7YUFDL0IsQ0FBQyxDQUFDO1NBQ0osQ0FBQyxDQUFBO1FBRUYsSUFBQSwwQkFBYSxFQUFDO1lBQ1osU0FBUyxFQUFFLDRCQUFvQixDQUFDLGdCQUFnQjtZQUNoRCxJQUFJLEVBQUUsSUFBQSx5QkFBUyxFQUFDLEVBQUUsS0FBSyxFQUFFLE9BQU8sRUFBRSxFQUFFLENBQUMsRUFBRSxLQUFLLEVBQUUsT0FBTyxFQUFFLEVBQUUsRUFBRSxDQUFDLENBQUM7Z0JBQzNELEVBQUUsRUFBRSxLQUFLLENBQUMsY0FBYztnQkFDeEIsVUFBVSxFQUFFLE9BQU8sQ0FBQyxVQUFVO2dCQUM5QixTQUFTLEVBQUUsS0FBSyxDQUFDLFNBQVMsSUFBSSxJQUFJO2FBQ25DLENBQUMsQ0FBQztTQUNKLENBQUMsQ0FBQTtJQUNKLENBQUMsQ0FBQyxDQUFBO0lBRUYsT0FBTyxJQUFJLGdDQUFnQixDQUFDLE9BQU8sQ0FBQyxDQUFBO0FBQ3RDLENBQUMsQ0FDRixDQUFBIn0=
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
export type EmitRefundRequestedWorkflowInput = {
|
|
2
|
+
payment_id: string;
|
|
3
|
+
};
|
|
4
|
+
export declare const emitRefundRequestedWorkflowId = "emit-refund-requested";
|
|
5
|
+
/**
|
|
6
|
+
* A refund recorded in Mercur on an external-provider payment moved no money:
|
|
7
|
+
* the storefront that captured the payment has to execute it. This announces
|
|
8
|
+
* it as `order.refund_requested`.
|
|
9
|
+
*/
|
|
10
|
+
export declare const emitRefundRequestedWorkflow: import("@medusajs/framework/workflows-sdk").ReturnWorkflow<EmitRefundRequestedWorkflowInput, import("../steps").RefundRequestedEventData[], []>;
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.emitRefundRequestedWorkflow = exports.emitRefundRequestedWorkflowId = void 0;
|
|
4
|
+
const workflows_sdk_1 = require("@medusajs/framework/workflows-sdk");
|
|
5
|
+
const core_flows_1 = require("@medusajs/medusa/core-flows");
|
|
6
|
+
const types_1 = require("../../../types");
|
|
7
|
+
const steps_1 = require("../steps");
|
|
8
|
+
exports.emitRefundRequestedWorkflowId = "emit-refund-requested";
|
|
9
|
+
/**
|
|
10
|
+
* A refund recorded in Mercur on an external-provider payment moved no money:
|
|
11
|
+
* the storefront that captured the payment has to execute it. This announces
|
|
12
|
+
* it as `order.refund_requested`.
|
|
13
|
+
*/
|
|
14
|
+
exports.emitRefundRequestedWorkflow = (0, workflows_sdk_1.createWorkflow)(exports.emitRefundRequestedWorkflowId, (input) => {
|
|
15
|
+
const payments = (0, core_flows_1.useQueryGraphStep)({
|
|
16
|
+
entity: "payment",
|
|
17
|
+
fields: [
|
|
18
|
+
"id",
|
|
19
|
+
"provider_id",
|
|
20
|
+
"currency_code",
|
|
21
|
+
"payment_collection_id",
|
|
22
|
+
"refunds.id",
|
|
23
|
+
"refunds.amount",
|
|
24
|
+
"refunds.note",
|
|
25
|
+
"refunds.metadata",
|
|
26
|
+
"refunds.created_at",
|
|
27
|
+
],
|
|
28
|
+
filters: { id: input.payment_id },
|
|
29
|
+
}).config({ name: "payment" });
|
|
30
|
+
const collectionId = (0, workflows_sdk_1.transform)({ payments }, ({ payments }) => payments.data[0]?.payment_collection_id ?? "__none__");
|
|
31
|
+
const links = (0, core_flows_1.useQueryGraphStep)({
|
|
32
|
+
entity: "order_payment_collection",
|
|
33
|
+
fields: ["order_id"],
|
|
34
|
+
filters: { payment_collection_id: collectionId },
|
|
35
|
+
}).config({ name: "order-payment-collection" });
|
|
36
|
+
const events = (0, steps_1.buildRefundRequestedEventStep)((0, workflows_sdk_1.transform)({ payments, links }, ({ payments, links }) => ({
|
|
37
|
+
payment: payments.data[0] ?? null,
|
|
38
|
+
order_id: links.data[0]?.order_id ?? null,
|
|
39
|
+
})));
|
|
40
|
+
(0, workflows_sdk_1.when)({ events }, ({ events }) => events.length > 0).then(() => {
|
|
41
|
+
(0, core_flows_1.emitEventStep)({ eventName: types_1.MagentoWebhookEvents.REFUND_REQUESTED, data: events });
|
|
42
|
+
});
|
|
43
|
+
return new workflows_sdk_1.WorkflowResponse(events);
|
|
44
|
+
});
|
|
45
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW1pdC1yZWZ1bmQtcmVxdWVzdGVkLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vc3JjL3dvcmtmbG93cy9leHRlcm5hbC1wYXltZW50L3dvcmtmbG93cy9lbWl0LXJlZnVuZC1yZXF1ZXN0ZWQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEscUVBTTBDO0FBQzFDLDREQUE4RTtBQUU5RSwwQ0FBcUQ7QUFDckQsb0NBQXdEO0FBTTNDLFFBQUEsNkJBQTZCLEdBQUcsdUJBQXVCLENBQUE7QUFDcEU7Ozs7R0FJRztBQUNVLFFBQUEsMkJBQTJCLEdBQUcsSUFBQSw4QkFBYyxFQUN2RCxxQ0FBNkIsRUFDN0IsQ0FBQyxLQUFxRCxFQUFFLEVBQUU7SUFDeEQsTUFBTSxRQUFRLEdBQUcsSUFBQSw4QkFBaUIsRUFBQztRQUNqQyxNQUFNLEVBQUUsU0FBUztRQUNqQixNQUFNLEVBQUU7WUFDTixJQUFJO1lBQ0osYUFBYTtZQUNiLGVBQWU7WUFDZix1QkFBdUI7WUFDdkIsWUFBWTtZQUNaLGdCQUFnQjtZQUNoQixjQUFjO1lBQ2Qsa0JBQWtCO1lBQ2xCLG9CQUFvQjtTQUNyQjtRQUNELE9BQU8sRUFBRSxFQUFFLEVBQUUsRUFBRSxLQUFLLENBQUMsVUFBVSxFQUFFO0tBQ2xDLENBQUMsQ0FBQyxNQUFNLENBQUMsRUFBRSxJQUFJLEVBQUUsU0FBUyxFQUFFLENBQUMsQ0FBQTtJQUU5QixNQUFNLFlBQVksR0FBRyxJQUFBLHlCQUFTLEVBQUMsRUFBRSxRQUFRLEVBQUUsRUFBRSxDQUFDLEVBQUUsUUFBUSxFQUFFLEVBQUUsRUFBRSxDQUM1RCxRQUFRLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLHFCQUFxQixJQUFJLFVBQVUsQ0FDdEQsQ0FBQTtJQUVELE1BQU0sS0FBSyxHQUFHLElBQUEsOEJBQWlCLEVBQUM7UUFDOUIsTUFBTSxFQUFFLDBCQUEwQjtRQUNsQyxNQUFNLEVBQUUsQ0FBQyxVQUFVLENBQUM7UUFDcEIsT0FBTyxFQUFFLEVBQUUscUJBQXFCLEVBQUUsWUFBWSxFQUFFO0tBQ2pELENBQUMsQ0FBQyxNQUFNLENBQUMsRUFBRSxJQUFJLEVBQUUsMEJBQTBCLEVBQUUsQ0FBQyxDQUFBO0lBRS9DLE1BQU0sTUFBTSxHQUFHLElBQUEscUNBQTZCLEVBQzFDLElBQUEseUJBQVMsRUFBQyxFQUFFLFFBQVEsRUFBRSxLQUFLLEVBQUUsRUFBRSxDQUFDLEVBQUUsUUFBUSxFQUFFLEtBQUssRUFBRSxFQUFFLEVBQUUsQ0FBQyxDQUFDO1FBQ3ZELE9BQU8sRUFBRSxRQUFRLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUk7UUFDakMsUUFBUSxFQUFFLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsUUFBUSxJQUFJLElBQUk7S0FDMUMsQ0FBQyxDQUFDLENBQ0osQ0FBQTtJQUVELElBQUEsb0JBQUksRUFBQyxFQUFFLE1BQU0sRUFBRSxFQUFFLENBQUMsRUFBRSxNQUFNLEVBQUUsRUFBRSxFQUFFLENBQUMsTUFBTSxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsR0FBRyxFQUFFO1FBQzVELElBQUEsMEJBQWEsRUFBQyxFQUFFLFNBQVMsRUFBRSw0QkFBb0IsQ0FBQyxnQkFBZ0IsRUFBRSxJQUFJLEVBQUUsTUFBTSxFQUFFLENBQUMsQ0FBQTtJQUNuRixDQUFDLENBQUMsQ0FBQTtJQUVGLE9BQU8sSUFBSSxnQ0FBZ0IsQ0FBQyxNQUFNLENBQUMsQ0FBQTtBQUNyQyxDQUFDLENBQ0YsQ0FBQSJ9
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
14
|
+
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
|
+
};
|
|
16
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
+
__exportStar(require("./cancel-external-payment"), exports);
|
|
18
|
+
__exportStar(require("./capture-external-payment"), exports);
|
|
19
|
+
__exportStar(require("./emit-refund-requested"), exports);
|
|
20
|
+
__exportStar(require("./record-external-refund"), exports);
|
|
21
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvd29ya2Zsb3dzL2V4dGVybmFsLXBheW1lbnQvd29ya2Zsb3dzL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSw0REFBeUM7QUFDekMsNkRBQTBDO0FBQzFDLDBEQUF1QztBQUN2QywyREFBd0MifQ==
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
export type RecordExternalRefundWorkflowInput = {
|
|
2
|
+
order_id: string;
|
|
3
|
+
amount: number;
|
|
4
|
+
reference?: string;
|
|
5
|
+
note?: string;
|
|
6
|
+
created_by?: string;
|
|
7
|
+
};
|
|
8
|
+
export declare const recordExternalRefundWorkflowId = "record-external-refund";
|
|
9
|
+
/**
|
|
10
|
+
* Mirrors a refund that already happened in the external storefront onto the
|
|
11
|
+
* order's external-provider payment, so totals, commission lines and the
|
|
12
|
+
* payout balance follow.
|
|
13
|
+
*/
|
|
14
|
+
export declare const recordExternalRefundWorkflow: import("@medusajs/framework/workflows-sdk").ReturnWorkflow<RecordExternalRefundWorkflowInput, any, []>;
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.recordExternalRefundWorkflow = exports.recordExternalRefundWorkflowId = void 0;
|
|
4
|
+
const workflows_sdk_1 = require("@medusajs/framework/workflows-sdk");
|
|
5
|
+
const core_flows_1 = require("@medusajs/medusa/core-flows");
|
|
6
|
+
const types_1 = require("../../../types");
|
|
7
|
+
const steps_1 = require("../steps");
|
|
8
|
+
exports.recordExternalRefundWorkflowId = "record-external-refund";
|
|
9
|
+
/**
|
|
10
|
+
* Mirrors a refund that already happened in the external storefront onto the
|
|
11
|
+
* order's external-provider payment, so totals, commission lines and the
|
|
12
|
+
* payout balance follow.
|
|
13
|
+
*/
|
|
14
|
+
exports.recordExternalRefundWorkflow = (0, workflows_sdk_1.createWorkflow)(exports.recordExternalRefundWorkflowId, (input) => {
|
|
15
|
+
const orders = (0, core_flows_1.useQueryGraphStep)({
|
|
16
|
+
entity: "order",
|
|
17
|
+
fields: [
|
|
18
|
+
"id",
|
|
19
|
+
"payment_collections.payments.id",
|
|
20
|
+
"payment_collections.payments.provider_id",
|
|
21
|
+
"payment_collections.payments.captured_at",
|
|
22
|
+
"cart.payment_collection.payments.id",
|
|
23
|
+
"cart.payment_collection.payments.provider_id",
|
|
24
|
+
"cart.payment_collection.payments.captured_at",
|
|
25
|
+
],
|
|
26
|
+
filters: { id: input.order_id },
|
|
27
|
+
options: { throwIfKeyNotFound: true },
|
|
28
|
+
});
|
|
29
|
+
const validationInput = (0, workflows_sdk_1.transform)({ input, orders }, ({ input, orders }) => ({
|
|
30
|
+
order_id: input.order_id,
|
|
31
|
+
payments: (orders.data[0]?.payment_collections ?? []).flatMap((pc) => pc?.payments ?? []),
|
|
32
|
+
cart_payments: orders.data[0]?.cart?.payment_collection?.payments ?? [],
|
|
33
|
+
}));
|
|
34
|
+
const paymentId = (0, steps_1.validateExternalPaymentStep)(validationInput);
|
|
35
|
+
const refundInput = (0, workflows_sdk_1.transform)({ input, paymentId }, ({ input, paymentId }) => ({
|
|
36
|
+
payment_id: paymentId,
|
|
37
|
+
amount: input.amount,
|
|
38
|
+
note: input.reference
|
|
39
|
+
? `${input.note ?? "External refund"} (${input.reference})`
|
|
40
|
+
: input.note,
|
|
41
|
+
created_by: input.created_by,
|
|
42
|
+
// Lets the refund-requested subscriber tell this refund apart from one
|
|
43
|
+
// a seller or operator starts in Mercur, which Magento must execute.
|
|
44
|
+
metadata: { source: types_1.EXTERNAL_REFUND_SOURCE, reference: input.reference ?? null },
|
|
45
|
+
}));
|
|
46
|
+
const payment = core_flows_1.refundPaymentWorkflow.runAsStep({ input: refundInput });
|
|
47
|
+
(0, core_flows_1.emitEventStep)({
|
|
48
|
+
eventName: types_1.MagentoWebhookEvents.REFUND_RECORDED,
|
|
49
|
+
data: (0, workflows_sdk_1.transform)({ input, paymentId }, ({ input, paymentId }) => ({
|
|
50
|
+
id: input.order_id,
|
|
51
|
+
payment_id: paymentId,
|
|
52
|
+
amount: input.amount,
|
|
53
|
+
reference: input.reference ?? null,
|
|
54
|
+
})),
|
|
55
|
+
});
|
|
56
|
+
return new workflows_sdk_1.WorkflowResponse(payment);
|
|
57
|
+
});
|
|
58
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVjb3JkLWV4dGVybmFsLXJlZnVuZC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy93b3JrZmxvd3MvZXh0ZXJuYWwtcGF5bWVudC93b3JrZmxvd3MvcmVjb3JkLWV4dGVybmFsLXJlZnVuZC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSxxRUFLMEM7QUFDMUMsNERBSW9DO0FBRXBDLDBDQUE2RTtBQUM3RSxvQ0FBc0Q7QUFVekMsUUFBQSw4QkFBOEIsR0FBRyx3QkFBd0IsQ0FBQTtBQUN0RTs7OztHQUlHO0FBQ1UsUUFBQSw0QkFBNEIsR0FBRyxJQUFBLDhCQUFjLEVBQ3hELHNDQUE4QixFQUM5QixDQUFDLEtBQXNELEVBQUUsRUFBRTtJQUN6RCxNQUFNLE1BQU0sR0FBRyxJQUFBLDhCQUFpQixFQUFDO1FBQy9CLE1BQU0sRUFBRSxPQUFPO1FBQ2YsTUFBTSxFQUFFO1lBQ04sSUFBSTtZQUNKLGlDQUFpQztZQUNqQywwQ0FBMEM7WUFDMUMsMENBQTBDO1lBQzFDLHFDQUFxQztZQUNyQyw4Q0FBOEM7WUFDOUMsOENBQThDO1NBQy9DO1FBQ0QsT0FBTyxFQUFFLEVBQUUsRUFBRSxFQUFFLEtBQUssQ0FBQyxRQUFRLEVBQUU7UUFDL0IsT0FBTyxFQUFFLEVBQUUsa0JBQWtCLEVBQUUsSUFBSSxFQUFFO0tBQ3RDLENBQUMsQ0FBQTtJQUVGLE1BQU0sZUFBZSxHQUFHLElBQUEseUJBQVMsRUFBQyxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsRUFBRSxDQUFDLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxFQUFFLEVBQUUsQ0FBQyxDQUFDO1FBQzNFLFFBQVEsRUFBRSxLQUFLLENBQUMsUUFBUTtRQUN4QixRQUFRLEVBQUUsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLG1CQUFtQixJQUFJLEVBQUUsQ0FBQyxDQUFDLE9BQU8sQ0FDM0QsQ0FBQyxFQUFFLEVBQUUsRUFBRSxDQUFDLEVBQUUsRUFBRSxRQUFRLElBQUksRUFBRSxDQUMzQjtRQUNELGFBQWEsRUFBRSxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLElBQUksRUFBRSxrQkFBa0IsRUFBRSxRQUFRLElBQUksRUFBRTtLQUN4RSxDQUFDLENBQUMsQ0FBQTtJQUVILE1BQU0sU0FBUyxHQUFHLElBQUEsbUNBQTJCLEVBQUMsZUFBZSxDQUFDLENBQUE7SUFFOUQsTUFBTSxXQUFXLEdBQUcsSUFBQSx5QkFBUyxFQUFDLEVBQUUsS0FBSyxFQUFFLFNBQVMsRUFBRSxFQUFFLENBQUMsRUFBRSxLQUFLLEVBQUUsU0FBUyxFQUFFLEVBQUUsRUFBRSxDQUFDLENBQUM7UUFDN0UsVUFBVSxFQUFFLFNBQVM7UUFDckIsTUFBTSxFQUFFLEtBQUssQ0FBQyxNQUFNO1FBQ3BCLElBQUksRUFBRSxLQUFLLENBQUMsU0FBUztZQUNuQixDQUFDLENBQUMsR0FBRyxLQUFLLENBQUMsSUFBSSxJQUFJLGlCQUFpQixLQUFLLEtBQUssQ0FBQyxTQUFTLEdBQUc7WUFDM0QsQ0FBQyxDQUFDLEtBQUssQ0FBQyxJQUFJO1FBQ2QsVUFBVSxFQUFFLEtBQUssQ0FBQyxVQUFVO1FBQzVCLHVFQUF1RTtRQUN2RSxxRUFBcUU7UUFDckUsUUFBUSxFQUFFLEVBQUUsTUFBTSxFQUFFLDhCQUFzQixFQUFFLFNBQVMsRUFBRSxLQUFLLENBQUMsU0FBUyxJQUFJLElBQUksRUFBRTtLQUNqRixDQUFDLENBQUMsQ0FBQTtJQUVILE1BQU0sT0FBTyxHQUFHLGtDQUFxQixDQUFDLFNBQVMsQ0FBQyxFQUFFLEtBQUssRUFBRSxXQUFXLEVBQUUsQ0FBQyxDQUFBO0lBRXZFLElBQUEsMEJBQWEsRUFBQztRQUNaLFNBQVMsRUFBRSw0QkFBb0IsQ0FBQyxlQUFlO1FBQy9DLElBQUksRUFBRSxJQUFBLHlCQUFTLEVBQUMsRUFBRSxLQUFLLEVBQUUsU0FBUyxFQUFFLEVBQUUsQ0FBQyxFQUFFLEtBQUssRUFBRSxTQUFTLEVBQUUsRUFBRSxFQUFFLENBQUMsQ0FBQztZQUMvRCxFQUFFLEVBQUUsS0FBSyxDQUFDLFFBQVE7WUFDbEIsVUFBVSxFQUFFLFNBQVM7WUFDckIsTUFBTSxFQUFFLEtBQUssQ0FBQyxNQUFNO1lBQ3BCLFNBQVMsRUFBRSxLQUFLLENBQUMsU0FBUyxJQUFJLElBQUk7U0FDbkMsQ0FBQyxDQUFDO0tBQ0osQ0FBQyxDQUFBO0lBRUYsT0FBTyxJQUFJLGdDQUFnQixDQUFDLE9BQU8sQ0FBQyxDQUFBO0FBQ3RDLENBQUMsQ0FDRixDQUFBIn0=
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
14
|
+
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
|
+
};
|
|
16
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
+
__exportStar(require("./magento-webhook"), exports);
|
|
18
|
+
__exportStar(require("./external-payment"), exports);
|
|
19
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvd29ya2Zsb3dzL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSxvREFBaUM7QUFDakMscURBQWtDIn0=
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
14
|
+
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
|
+
};
|
|
16
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
+
__exportStar(require("./steps"), exports);
|
|
18
|
+
__exportStar(require("./workflows"), exports);
|
|
19
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvd29ya2Zsb3dzL21hZ2VudG8td2ViaG9vay9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7O0FBQUEsMENBQXVCO0FBQ3ZCLDhDQUEyQiJ9
|
package/.medusa/server/src/workflows/magento-webhook/steps/create-magento-webhook-deliveries.d.ts
ADDED
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
export type CreateMagentoWebhookDeliveriesStepInput = {
|
|
2
|
+
event: string;
|
|
3
|
+
payload: Record<string, unknown>;
|
|
4
|
+
};
|
|
5
|
+
export declare const createMagentoWebhookDeliveriesStepId = "create-magento-webhook-deliveries";
|
|
6
|
+
export declare const createMagentoWebhookDeliveriesStep: import("@medusajs/framework/workflows-sdk").StepFunction<CreateMagentoWebhookDeliveriesStepInput, import("../../../types").MagentoWebhookDeliveryDTO[]>;
|