@mercurjs/core 2.3.6-canary.9 → 2.3.7-canary.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.medusa/server/src/api/admin/order-groups/route.js +3 -3
- package/.medusa/server/src/api/utils/scan-unauthenticated-routes.js +4 -2
- package/.medusa/server/src/api/utils/split-order-payment-status.d.ts +3 -1
- package/.medusa/server/src/api/utils/split-order-payment-status.js +25 -21
- package/.medusa/server/src/api/vendor/payments/helpers.js +22 -16
- package/.medusa/server/src/api/vendor/sellers/select/route.js +5 -3
- package/.medusa/server/src/modules/codegen/services/codegen-module-service.d.ts +0 -2
- package/.medusa/server/src/modules/codegen/services/codegen-module-service.js +8 -29
- package/.medusa/server/src/modules/codegen/utils.d.ts +4 -0
- package/.medusa/server/src/modules/codegen/utils.js +79 -0
- package/.medusa/server/src/modules/payout/migrations/Migration20261006120000.d.ts +5 -0
- package/.medusa/server/src/modules/payout/migrations/Migration20261006120000.js +16 -0
- package/.medusa/server/src/modules/payout/services/payout-module-service.d.ts +10 -5
- package/.medusa/server/src/modules/payout/services/payout-module-service.js +40 -15
- package/.medusa/server/src/modules/seller/repositories/order-group.js +36 -16
- package/.medusa/server/src/patches/manifest.js +2 -2
- package/.medusa/server/src/subscribers/split-order-canceled.d.ts +5 -0
- package/.medusa/server/src/subscribers/split-order-canceled.js +24 -0
- package/.medusa/server/src/subscribers/split-order-payment-captured.d.ts +5 -0
- package/.medusa/server/src/subscribers/split-order-payment-captured.js +24 -0
- package/.medusa/server/src/workflows/cart/workflows/complete-cart-with-split-orders.js +17 -30
- package/.medusa/server/src/workflows/offer/workflows/create-offers.js +34 -4
- package/.medusa/server/src/workflows/order-group/workflows/get-order-group-detail.js +8 -8
- package/.medusa/server/src/workflows/order-group/workflows/get-order-groups-list.js +8 -8
- package/.medusa/server/src/workflows/payment/index.d.ts +2 -0
- package/.medusa/server/src/workflows/payment/index.js +3 -1
- package/.medusa/server/src/workflows/payment/steps/create-order-payments.d.ts +44 -0
- package/.medusa/server/src/workflows/payment/steps/create-order-payments.js +48 -0
- package/.medusa/server/src/workflows/payment/steps/index.d.ts +2 -0
- package/.medusa/server/src/workflows/payment/steps/index.js +19 -0
- package/.medusa/server/src/workflows/payment/steps/record-payment-captures.d.ts +29 -0
- package/.medusa/server/src/workflows/payment/steps/record-payment-captures.js +28 -0
- package/.medusa/server/src/workflows/payment/utils/index.d.ts +2 -0
- package/.medusa/server/src/workflows/payment/utils/index.js +19 -0
- package/.medusa/server/src/workflows/payment/utils/split-order-payment-group.d.ts +141 -0
- package/.medusa/server/src/workflows/payment/utils/split-order-payment-group.js +234 -0
- package/.medusa/server/src/workflows/payment/utils/split-order-payment.d.ts +15 -0
- package/.medusa/server/src/workflows/payment/utils/split-order-payment.js +65 -0
- package/.medusa/server/src/workflows/payment/workflows/index.d.ts +1 -0
- package/.medusa/server/src/workflows/payment/workflows/index.js +2 -1
- package/.medusa/server/src/workflows/payment/workflows/split-order-payments.d.ts +66 -0
- package/.medusa/server/src/workflows/payment/workflows/split-order-payments.js +164 -0
- package/package.json +11 -11
|
@@ -4,6 +4,7 @@ exports.getOrderGroupsListWorkflow = exports.getOrderGroupsListWorkflowId = void
|
|
|
4
4
|
const utils_1 = require("@medusajs/framework/utils");
|
|
5
5
|
const workflows_sdk_1 = require("@medusajs/framework/workflows-sdk");
|
|
6
6
|
const core_flows_1 = require("@medusajs/medusa/core-flows");
|
|
7
|
+
const split_order_payment_group_1 = require("../../payment/utils/split-order-payment-group");
|
|
7
8
|
const aggregate_status_1 = require("../utils/aggregate-status");
|
|
8
9
|
exports.getOrderGroupsListWorkflowId = "get-order-groups-list";
|
|
9
10
|
exports.getOrderGroupsListWorkflow = (0, workflows_sdk_1.createWorkflow)(exports.getOrderGroupsListWorkflowId, (input) => {
|
|
@@ -21,6 +22,11 @@ exports.getOrderGroupsListWorkflow = (0, workflows_sdk_1.createWorkflow)(exports
|
|
|
21
22
|
"orders.cart.payment_collection.amount",
|
|
22
23
|
"orders.cart.payment_collection.captured_amount",
|
|
23
24
|
"orders.cart.payment_collection.refunded_amount",
|
|
25
|
+
"orders.cart.payment_collection.metadata",
|
|
26
|
+
"orders.payment_collections.status",
|
|
27
|
+
"orders.payment_collections.amount",
|
|
28
|
+
"orders.payment_collections.captured_amount",
|
|
29
|
+
"orders.payment_collections.refunded_amount",
|
|
24
30
|
"orders.fulfillments.packed_at",
|
|
25
31
|
"orders.fulfillments.shipped_at",
|
|
26
32
|
"orders.fulfillments.delivered_at",
|
|
@@ -54,13 +60,7 @@ exports.getOrderGroupsListWorkflow = (0, workflows_sdk_1.createWorkflow)(exports
|
|
|
54
60
|
}
|
|
55
61
|
for (const order of group.orders) {
|
|
56
62
|
const order_ = order;
|
|
57
|
-
|
|
58
|
-
// `cart.payment_collection`; expose it under `payment_collections`
|
|
59
|
-
// so the status helper and API response keep the same shape.
|
|
60
|
-
const cartPaymentCollection = order_.cart?.payment_collection;
|
|
61
|
-
order_.payment_collections = cartPaymentCollection
|
|
62
|
-
? [cartPaymentCollection]
|
|
63
|
-
: [];
|
|
63
|
+
order_.payment_collections = (0, split_order_payment_group_1.resolveOrderPaymentCollections)(order_);
|
|
64
64
|
order_.payment_status = (0, aggregate_status_1.getLastPaymentStatus)(order_);
|
|
65
65
|
order_.fulfillment_status = (0, aggregate_status_1.getLastFulfillmentStatus)(order_);
|
|
66
66
|
if (!input.fields.some((f) => f.startsWith("orders.cart"))) {
|
|
@@ -84,4 +84,4 @@ exports.getOrderGroupsListWorkflow = (0, workflows_sdk_1.createWorkflow)(exports
|
|
|
84
84
|
});
|
|
85
85
|
return new workflows_sdk_1.WorkflowResponse(aggregatedOrderGroups);
|
|
86
86
|
});
|
|
87
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
87
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2V0LW9yZGVyLWdyb3Vwcy1saXN0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vc3JjL3dvcmtmbG93cy9vcmRlci1ncm91cC93b3JrZmxvd3MvZ2V0LW9yZGVyLWdyb3Vwcy1saXN0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUNBLHFEQUF1RDtBQUN2RCxxRUFLMEM7QUFDMUMsNERBQStEO0FBRS9ELDZGQUE4RjtBQUU5RixnRUFHa0M7QUFhckIsUUFBQSw0QkFBNEIsR0FBRyx1QkFBdUIsQ0FBQTtBQUV0RCxRQUFBLDBCQUEwQixHQUFHLElBQUEsOEJBQWMsRUFDdEQsb0NBQTRCLEVBQzVCLENBQ0UsS0FBb0QsRUFDcEQsRUFBRTtJQUNGLE1BQU0sTUFBTSxHQUFHLElBQUEseUJBQVMsRUFBQyxLQUFLLEVBQUUsQ0FBQyxFQUFFLE1BQU0sRUFBRSxRQUFRLEVBQUUsRUFBRSxFQUFFO1FBQ3ZELE9BQU8sSUFBQSxtQkFBVyxFQUFDO1lBQ2pCLEdBQUcsTUFBTTtZQUNULElBQUk7WUFDSixXQUFXO1lBQ1gsR0FBRyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUM7WUFDekMsZUFBZTtZQUNmLGdCQUFnQjtZQUNoQixzQkFBc0I7WUFDdEIsZ0JBQWdCO1lBQ2hCLHVDQUF1QztZQUN2Qyx1Q0FBdUM7WUFDdkMsZ0RBQWdEO1lBQ2hELGdEQUFnRDtZQUNoRCx5Q0FBeUM7WUFDekMsbUNBQW1DO1lBQ25DLG1DQUFtQztZQUNuQyw0Q0FBNEM7WUFDNUMsNENBQTRDO1lBQzVDLCtCQUErQjtZQUMvQixnQ0FBZ0M7WUFDaEMsa0NBQWtDO1lBQ2xDLGlDQUFpQztTQUNsQyxDQUFDLENBQUE7SUFDSixDQUFDLENBQUMsQ0FBQTtJQUVGLE1BQU0sRUFBRSxJQUFJLEVBQUUsV0FBVyxFQUFFLFFBQVEsRUFBRSxHQUFHLElBQUEsOEJBQWlCLEVB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
|
|
@@ -14,5 +14,7 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
|
14
14
|
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
15
|
};
|
|
16
16
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
+
__exportStar(require("./steps"), exports);
|
|
18
|
+
__exportStar(require("./utils"), exports);
|
|
17
19
|
__exportStar(require("./workflows"), exports);
|
|
18
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
20
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvd29ya2Zsb3dzL3BheW1lbnQvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLDBDQUF1QjtBQUN2QiwwQ0FBdUI7QUFDdkIsOENBQTJCIn0=
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
import { BigNumberInput } from "@medusajs/framework/types";
|
|
2
|
+
/**
|
|
3
|
+
* The payments to create.
|
|
4
|
+
*/
|
|
5
|
+
export type CreateOrderPaymentsStepInput = {
|
|
6
|
+
/**
|
|
7
|
+
* The ID of the payment collection the payment belongs to.
|
|
8
|
+
*/
|
|
9
|
+
payment_collection_id: string;
|
|
10
|
+
/**
|
|
11
|
+
* The ID of the provider holding the charge.
|
|
12
|
+
*/
|
|
13
|
+
provider_id: string;
|
|
14
|
+
/**
|
|
15
|
+
* The payment's currency code.
|
|
16
|
+
*/
|
|
17
|
+
currency_code: string;
|
|
18
|
+
/**
|
|
19
|
+
* The amount the payment is authorized for.
|
|
20
|
+
*/
|
|
21
|
+
amount: BigNumberInput;
|
|
22
|
+
/**
|
|
23
|
+
* The provider data of the charge the payment points at.
|
|
24
|
+
*/
|
|
25
|
+
data: Record<string, unknown>;
|
|
26
|
+
}[];
|
|
27
|
+
export declare const createOrderPaymentsStepId = "create-order-payments";
|
|
28
|
+
/**
|
|
29
|
+
* This step creates authorized payments for a charge that already exists at
|
|
30
|
+
* the payment provider, without contacting the provider.
|
|
31
|
+
*
|
|
32
|
+
* @example
|
|
33
|
+
* const payments = createOrderPaymentsStep([{
|
|
34
|
+
* payment_collection_id: "pay_col_123",
|
|
35
|
+
* provider_id: "pp_stripe_stripe",
|
|
36
|
+
* currency_code: "usd",
|
|
37
|
+
* amount: 40,
|
|
38
|
+
* data: { id: "pi_123" }
|
|
39
|
+
* }])
|
|
40
|
+
*/
|
|
41
|
+
export declare const createOrderPaymentsStep: import("@medusajs/framework/workflows-sdk").StepFunction<CreateOrderPaymentsStepInput, {
|
|
42
|
+
id: string;
|
|
43
|
+
payment_collection_id: string;
|
|
44
|
+
}[]>;
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.createOrderPaymentsStep = exports.createOrderPaymentsStepId = void 0;
|
|
4
|
+
const utils_1 = require("@medusajs/framework/utils");
|
|
5
|
+
const workflows_sdk_1 = require("@medusajs/framework/workflows-sdk");
|
|
6
|
+
exports.createOrderPaymentsStepId = "create-order-payments";
|
|
7
|
+
/**
|
|
8
|
+
* This step creates authorized payments for a charge that already exists at
|
|
9
|
+
* the payment provider, without contacting the provider.
|
|
10
|
+
*
|
|
11
|
+
* @example
|
|
12
|
+
* const payments = createOrderPaymentsStep([{
|
|
13
|
+
* payment_collection_id: "pay_col_123",
|
|
14
|
+
* provider_id: "pp_stripe_stripe",
|
|
15
|
+
* currency_code: "usd",
|
|
16
|
+
* amount: 40,
|
|
17
|
+
* data: { id: "pi_123" }
|
|
18
|
+
* }])
|
|
19
|
+
*/
|
|
20
|
+
exports.createOrderPaymentsStep = (0, workflows_sdk_1.createStep)(exports.createOrderPaymentsStepId, async (input, { container }) => {
|
|
21
|
+
if (!input?.length) {
|
|
22
|
+
return new workflows_sdk_1.StepResponse([], { payment_ids: [], session_ids: [] });
|
|
23
|
+
}
|
|
24
|
+
const service = container.resolve(utils_1.Modules.PAYMENT);
|
|
25
|
+
const authorizedAt = new Date();
|
|
26
|
+
const sessions = await service.createPaymentSessions(input.map((payment) => ({
|
|
27
|
+
...payment,
|
|
28
|
+
status: utils_1.PaymentSessionStatus.AUTHORIZED,
|
|
29
|
+
authorized_at: authorizedAt,
|
|
30
|
+
})));
|
|
31
|
+
const sessionIds = sessions.map((session) => session.id);
|
|
32
|
+
const payments = await service.createPayments(input.map((payment, index) => ({
|
|
33
|
+
...payment,
|
|
34
|
+
payment_session: sessionIds[index],
|
|
35
|
+
})));
|
|
36
|
+
return new workflows_sdk_1.StepResponse(payments, {
|
|
37
|
+
payment_ids: payments.map((payment) => payment.id),
|
|
38
|
+
session_ids: sessionIds,
|
|
39
|
+
});
|
|
40
|
+
}, async (created, { container }) => {
|
|
41
|
+
if (!created?.session_ids.length) {
|
|
42
|
+
return;
|
|
43
|
+
}
|
|
44
|
+
const service = container.resolve(utils_1.Modules.PAYMENT);
|
|
45
|
+
await service.deletePayments(created.payment_ids);
|
|
46
|
+
await service.deletePaymentSessions(created.session_ids);
|
|
47
|
+
});
|
|
48
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3JlYXRlLW9yZGVyLXBheW1lbnRzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vc3JjL3dvcmtmbG93cy9wYXltZW50L3N0ZXBzL2NyZWF0ZS1vcmRlci1wYXltZW50cy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFDQSxxREFBeUU7QUFDekUscUVBQTRFO0FBbUQvRCxRQUFBLHlCQUF5QixHQUFHLHVCQUF1QixDQUFBO0FBQ2hFOzs7Ozs7Ozs7Ozs7R0FZRztBQUNVLFFBQUEsdUJBQXVCLEdBQUcsSUFBQSwwQkFBVSxFQUMvQyxpQ0FBeUIsRUFDekIsS0FBSyxFQUFFLEtBQW1DLEVBQUUsRUFBRSxTQUFTLEVBQUUsRUFBRSxFQUFFO0lBQzNELElBQUksQ0FBQyxLQUFLLEVBQUUsTUFBTSxFQUFFLENBQUM7UUFDbkIsT0FBTyxJQUFJLDRCQUFZLENBQUMsRUFBRSxFQUFFLEVBQUUsV0FBVyxFQUFFLEVBQUUsRUFBRSxXQUFXLEVBQUUsRUFBRSxFQUFFLENBQUMsQ0FBQTtJQUNuRSxDQUFDO0lBRUQsTUFBTSxPQUFPLEdBQUcsU0FBUyxDQUFDLE9BQU8sQ0FDL0IsZUFBTyxDQUFDLE9BQU8sQ0FDZ0IsQ0FBQTtJQUVqQyxNQUFNLFlBQVksR0FBRyxJQUFJLElBQUksRUFBRSxDQUFBO0lBQy9CLE1BQU0sUUFBUSxHQUFHLE1BQU0sT0FBTyxDQUFDLHFCQUFxQixDQUNsRCxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsT0FBTyxFQUFFLEVBQUUsQ0FBQyxDQUFDO1FBQ3RCLEdBQUcsT0FBTztRQUNWLE1BQU0sRUFBRSw0QkFBb0IsQ0FBQyxVQUFVO1FBQ3ZDLGFBQWEsRUFBRSxZQUFZO0tBQzVCLENBQUMsQ0FBQyxDQUNKLENBQUE7SUFDRCxNQUFNLFVBQVUsR0FBRyxRQUFRLENBQUMsR0FBRyxDQUFDLENBQUMsT0FBTyxFQUFFLEVBQUUsQ0FBQyxPQUFPLENBQUMsRUFBRSxDQUFDLENBQUE7SUFFeEQsTUFBTSxRQUFRLEdBQUcsTUFBTSxPQUFPLENBQUMsY0FBYyxDQUMzQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsT0FBTyxFQUFFLEtBQUssRUFBRSxFQUFFLENBQUMsQ0FBQztRQUM3QixHQUFHLE9BQU87UUFDVixlQUFlLEVBQUUsVUFBVSxDQUFDLEtBQUssQ0FBQztLQUNuQyxDQUFDLENBQUMsQ0FDSixDQUFBO0lBRUQsT0FBTyxJQUFJLDRCQUFZLENBQUMsUUFBUSxFQUFFO1FBQ2hDLFdBQVcsRUFBRSxRQUFRLENBQUMsR0FBRyxDQUFDLENBQUMsT0FBTyxFQUFFLEVBQUUsQ0FBQyxPQUFPLENBQUMsRUFBRSxDQUFDO1FBQ2xELFdBQVcsRUFBRSxVQUFVO0tBQ3hCLENBQUMsQ0FBQTtBQUNKLENBQUMsRUFDRCxLQUFLLEVBQUUsT0FBTyxFQUFFLEVBQUUsU0FBUyxFQUFFLEVBQUUsRUFBRTtJQUMvQixJQUFJLENBQUMsT0FBTyxFQUFFLFdBQVcsQ0FBQyxNQUFNLEVBQUUsQ0FBQztRQUNqQyxPQUFNO0lBQ1IsQ0FBQztJQUVELE1BQU0sT0FBTyxHQUFHLFNBQVMsQ0FBQyxPQUFPLENBQy9CLGVBQU8sQ0FBQyxPQUFPLENBQ2dCLENBQUE7SUFFakMsTUFBTSxPQUFPLENBQUMsY0FBYyxDQUFDLE9BQU8sQ0FBQyxXQUFXLENBQUMsQ0FBQTtJQUNqRCxNQUFNLE9BQU8sQ0FBQyxxQkFBcUIsQ0FBQyxPQUFPLENBQUMsV0FBVyxDQUFDLENBQUE7QUFDMUQsQ0FBQyxDQUNGLENBQUEifQ==
|
|
@@ -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("./create-order-payments"), exports);
|
|
18
|
+
__exportStar(require("./record-payment-captures"), exports);
|
|
19
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvd29ya2Zsb3dzL3BheW1lbnQvc3RlcHMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLDBEQUF1QztBQUN2Qyw0REFBeUMifQ==
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import { BigNumberInput, PaymentDTO } from "@medusajs/framework/types";
|
|
2
|
+
/**
|
|
3
|
+
* The captures to record.
|
|
4
|
+
*/
|
|
5
|
+
export type RecordPaymentCapturesStepInput = {
|
|
6
|
+
/**
|
|
7
|
+
* The ID of the payment the capture belongs to.
|
|
8
|
+
*/
|
|
9
|
+
payment_id: string;
|
|
10
|
+
/**
|
|
11
|
+
* The captured amount.
|
|
12
|
+
*/
|
|
13
|
+
amount: BigNumberInput;
|
|
14
|
+
}[];
|
|
15
|
+
export declare const recordPaymentCapturesStepId = "record-payment-captures";
|
|
16
|
+
/**
|
|
17
|
+
* This step records captures the payment provider has already made, without
|
|
18
|
+
* capturing at the provider again.
|
|
19
|
+
*
|
|
20
|
+
* It is not compensated, like Medusa's `capturePaymentStep`: the money was
|
|
21
|
+
* captured before the step ran.
|
|
22
|
+
*
|
|
23
|
+
* @example
|
|
24
|
+
* const payments = recordPaymentCapturesStep([{
|
|
25
|
+
* payment_id: "pay_123",
|
|
26
|
+
* amount: 40
|
|
27
|
+
* }])
|
|
28
|
+
*/
|
|
29
|
+
export declare const recordPaymentCapturesStep: import("@medusajs/framework/workflows-sdk").StepFunction<RecordPaymentCapturesStepInput, PaymentDTO[]>;
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.recordPaymentCapturesStep = exports.recordPaymentCapturesStepId = void 0;
|
|
4
|
+
const utils_1 = require("@medusajs/framework/utils");
|
|
5
|
+
const workflows_sdk_1 = require("@medusajs/framework/workflows-sdk");
|
|
6
|
+
exports.recordPaymentCapturesStepId = "record-payment-captures";
|
|
7
|
+
/**
|
|
8
|
+
* This step records captures the payment provider has already made, without
|
|
9
|
+
* capturing at the provider again.
|
|
10
|
+
*
|
|
11
|
+
* It is not compensated, like Medusa's `capturePaymentStep`: the money was
|
|
12
|
+
* captured before the step ran.
|
|
13
|
+
*
|
|
14
|
+
* @example
|
|
15
|
+
* const payments = recordPaymentCapturesStep([{
|
|
16
|
+
* payment_id: "pay_123",
|
|
17
|
+
* amount: 40
|
|
18
|
+
* }])
|
|
19
|
+
*/
|
|
20
|
+
exports.recordPaymentCapturesStep = (0, workflows_sdk_1.createStep)(exports.recordPaymentCapturesStepId, async (input, { container }) => {
|
|
21
|
+
const paymentModule = container.resolve(utils_1.Modules.PAYMENT);
|
|
22
|
+
const payments = [];
|
|
23
|
+
for (const capture of input ?? []) {
|
|
24
|
+
payments.push(await paymentModule.capturePayment({ ...capture, is_captured: true }));
|
|
25
|
+
}
|
|
26
|
+
return new workflows_sdk_1.StepResponse(payments);
|
|
27
|
+
});
|
|
28
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVjb3JkLXBheW1lbnQtY2FwdHVyZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvd29ya2Zsb3dzL3BheW1lbnQvc3RlcHMvcmVjb3JkLXBheW1lbnQtY2FwdHVyZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQ0EscURBQW1EO0FBQ25ELHFFQUE0RTtBQWdCL0QsUUFBQSwyQkFBMkIsR0FBRyx5QkFBeUIsQ0FBQTtBQUNwRTs7Ozs7Ozs7Ozs7O0dBWUc7QUFDVSxRQUFBLHlCQUF5QixHQUFHLElBQUEsMEJBQVUsRUFDakQsbUNBQTJCLEVBQzNCLEtBQUssRUFBRSxLQUFxQyxFQUFFLEVBQUUsU0FBUyxFQUFFLEVBQUUsRUFBRTtJQUM3RCxNQUFNLGFBQWEsR0FBRyxTQUFTLENBQUMsT0FBTyxDQUFDLGVBQU8sQ0FBQyxPQUFPLENBQUMsQ0FBQTtJQUN4RCxNQUFNLFFBQVEsR0FBaUIsRUFBRSxDQUFBO0lBRWpDLEtBQUssTUFBTSxPQUFPLElBQUksS0FBSyxJQUFJLEVBQUUsRUFBRSxDQUFDO1FBQ2xDLFFBQVEsQ0FBQyxJQUFJLENBQ1gsTUFBTSxhQUFhLENBQUMsY0FBYyxDQUFDLEVBQUUsR0FBRyxPQUFPLEVBQUUsV0FBVyxFQUFFLElBQUksRUFBRSxDQUFDLENBQ3RFLENBQUE7SUFDSCxDQUFDO0lBRUQsT0FBTyxJQUFJLDRCQUFZLENBQUMsUUFBUSxDQUFDLENBQUE7QUFDbkMsQ0FBQyxDQUNGLENBQUEifQ==
|
|
@@ -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("./split-order-payment"), exports);
|
|
18
|
+
__exportStar(require("./split-order-payment-group"), exports);
|
|
19
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvd29ya2Zsb3dzL3BheW1lbnQvdXRpbHMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLHdEQUFxQztBQUNyQyw4REFBMkMifQ==
|
|
@@ -0,0 +1,141 @@
|
|
|
1
|
+
import { BigNumberInput, LinkDefinition, MedusaContainer } from "@medusajs/framework/types";
|
|
2
|
+
/** Set on a cart's payment collection once it is split into its orders'. */
|
|
3
|
+
export declare const SPLIT_ORDER_COLLECTIONS_FLAG = "split_order_collections";
|
|
4
|
+
/** Set on an order's payment collection, pointing at the cart's. */
|
|
5
|
+
export declare const CART_PAYMENT_COLLECTION_KEY = "cart_payment_collection_id";
|
|
6
|
+
type PaymentMovement = {
|
|
7
|
+
id: string;
|
|
8
|
+
amount: BigNumberInput;
|
|
9
|
+
raw_amount?: BigNumberInput | null;
|
|
10
|
+
};
|
|
11
|
+
export type SplitOrderGroupPayment = {
|
|
12
|
+
id: string;
|
|
13
|
+
provider_id: string;
|
|
14
|
+
currency_code: string;
|
|
15
|
+
amount: BigNumberInput;
|
|
16
|
+
raw_amount?: BigNumberInput | null;
|
|
17
|
+
data?: Record<string, unknown> | null;
|
|
18
|
+
captured_at?: Date | string | null;
|
|
19
|
+
canceled_at?: Date | string | null;
|
|
20
|
+
captures?: PaymentMovement[] | null;
|
|
21
|
+
refunds?: PaymentMovement[] | null;
|
|
22
|
+
};
|
|
23
|
+
export type SplitOrderGroupCollection = {
|
|
24
|
+
id: string;
|
|
25
|
+
currency_code: string;
|
|
26
|
+
metadata?: Record<string, unknown> | null;
|
|
27
|
+
payments?: SplitOrderGroupPayment[] | null;
|
|
28
|
+
};
|
|
29
|
+
export type SplitOrderGroupOrder = {
|
|
30
|
+
id: string;
|
|
31
|
+
status: string;
|
|
32
|
+
canceled_at?: Date | string | null;
|
|
33
|
+
total: BigNumberInput;
|
|
34
|
+
payment_collections?: SplitOrderGroupCollection[] | null;
|
|
35
|
+
};
|
|
36
|
+
/** Fields to query on `cart_payment_collection` to plan a split or a void. */
|
|
37
|
+
export declare const cartPaymentCollectionFields: string[];
|
|
38
|
+
/** Fields to query on `order_cart` to plan a split or a void. */
|
|
39
|
+
export declare const cartOrderFields: string[];
|
|
40
|
+
export declare const isPaymentCaptured: (payment: SplitOrderGroupPayment) => boolean;
|
|
41
|
+
export declare const isOrderCanceled: (order: {
|
|
42
|
+
status: string;
|
|
43
|
+
canceled_at?: Date | string | null;
|
|
44
|
+
}) => boolean;
|
|
45
|
+
export declare const hasSplitOrderCollections: (paymentCollection?: {
|
|
46
|
+
metadata?: Record<string, unknown> | null;
|
|
47
|
+
} | null) => boolean;
|
|
48
|
+
/**
|
|
49
|
+
* The payment collections that pay for an order. Until the cart payment is
|
|
50
|
+
* captured that is the cart's shared collection; afterwards the order has its
|
|
51
|
+
* own. An order canceled before the capture never gets one and keeps showing
|
|
52
|
+
* the cart's.
|
|
53
|
+
*/
|
|
54
|
+
export declare const resolveOrderPaymentCollections: (order: {
|
|
55
|
+
cart?: {
|
|
56
|
+
payment_collection?: {
|
|
57
|
+
metadata?: Record<string, unknown> | null;
|
|
58
|
+
} | null;
|
|
59
|
+
} | null;
|
|
60
|
+
payment_collections?: unknown[];
|
|
61
|
+
}) => unknown[];
|
|
62
|
+
/**
|
|
63
|
+
* Resolves the cart a payment or an order belongs to. A payment can be the
|
|
64
|
+
* cart's own or one created for an order when the cart payment was split.
|
|
65
|
+
*/
|
|
66
|
+
export declare const resolveSplitOrderCartId: (container: MedusaContainer, input: {
|
|
67
|
+
order_id: string;
|
|
68
|
+
} | {
|
|
69
|
+
payment_id: string;
|
|
70
|
+
}) => Promise<string | undefined>;
|
|
71
|
+
export type CartPaymentSplitPlan = {
|
|
72
|
+
/** Payment collections to create, one per order that has none yet. */
|
|
73
|
+
collections: {
|
|
74
|
+
order_id: string;
|
|
75
|
+
currency_code: string;
|
|
76
|
+
amount: BigNumberInput;
|
|
77
|
+
metadata: Record<string, unknown>;
|
|
78
|
+
}[];
|
|
79
|
+
/**
|
|
80
|
+
* Payments to create. `payment_collection_id` is unset for an order whose
|
|
81
|
+
* collection is created in the same run.
|
|
82
|
+
*/
|
|
83
|
+
payments: {
|
|
84
|
+
order_id: string;
|
|
85
|
+
payment_collection_id?: string;
|
|
86
|
+
provider_id: string;
|
|
87
|
+
currency_code: string;
|
|
88
|
+
amount: BigNumberInput;
|
|
89
|
+
data: Record<string, unknown>;
|
|
90
|
+
}[];
|
|
91
|
+
/**
|
|
92
|
+
* Captures to record. `payment_id` is unset for an order whose payment is
|
|
93
|
+
* created in the same run.
|
|
94
|
+
*/
|
|
95
|
+
captures: {
|
|
96
|
+
order_id: string;
|
|
97
|
+
payment_id?: string;
|
|
98
|
+
amount: BigNumberInput;
|
|
99
|
+
}[];
|
|
100
|
+
/**
|
|
101
|
+
* Captures the orders' payments already hold. Their order transactions are
|
|
102
|
+
* written again on every run, which is a no-op unless an earlier run stopped
|
|
103
|
+
* between recording a capture and writing its transaction.
|
|
104
|
+
*/
|
|
105
|
+
recorded: {
|
|
106
|
+
order_id: string;
|
|
107
|
+
currency_code: string;
|
|
108
|
+
capture_id: string;
|
|
109
|
+
amount: BigNumberInput;
|
|
110
|
+
}[];
|
|
111
|
+
/** What was charged for orders canceled before the capture. */
|
|
112
|
+
refunds: {
|
|
113
|
+
payment_id: string;
|
|
114
|
+
amount: BigNumberInput;
|
|
115
|
+
note: string;
|
|
116
|
+
}[];
|
|
117
|
+
/** Set when the cart collection still has to be flagged as split. */
|
|
118
|
+
cart_payment_collection?: {
|
|
119
|
+
id: string;
|
|
120
|
+
metadata: Record<string, unknown>;
|
|
121
|
+
};
|
|
122
|
+
};
|
|
123
|
+
/**
|
|
124
|
+
* Works out what is missing for every order of a cart to hold its share of
|
|
125
|
+
* what the cart payment has captured. Only ever plans the difference, so a
|
|
126
|
+
* cart that is already split yields an empty plan.
|
|
127
|
+
*/
|
|
128
|
+
export declare const planCartPaymentSplit: (cartCollection: SplitOrderGroupCollection | null | undefined, orders: SplitOrderGroupOrder[]) => CartPaymentSplitPlan;
|
|
129
|
+
/** The links between the orders and the payment collections created for them. */
|
|
130
|
+
export declare const buildOrderPaymentCollectionLinks: (plan: CartPaymentSplitPlan, createdCollections: {
|
|
131
|
+
id: string;
|
|
132
|
+
}[]) => LinkDefinition[];
|
|
133
|
+
/**
|
|
134
|
+
* The cart payment to void: set once every order of the cart is canceled and
|
|
135
|
+
* nothing of the payment was captured.
|
|
136
|
+
*/
|
|
137
|
+
export declare const planCartPaymentVoid: (cartCollection: SplitOrderGroupCollection | null | undefined, orders: SplitOrderGroupOrder[]) => {
|
|
138
|
+
payment_ids: string[];
|
|
139
|
+
payment_collection_ids: string[];
|
|
140
|
+
};
|
|
141
|
+
export {};
|