@mercurjs/core 2.3.9-canary.3 → 2.3.9-canary.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (207) hide show
  1. package/.medusa/server/src/api/admin/middlewares.js +41 -39
  2. package/.medusa/server/src/api/admin/payout-accounts/[id]/refresh-link/route.d.ts +3 -0
  3. package/.medusa/server/src/api/admin/payout-accounts/[id]/refresh-link/route.js +14 -0
  4. package/.medusa/server/src/api/admin/payout-accounts/[id]/route.d.ts +3 -0
  5. package/.medusa/server/src/api/admin/payout-accounts/[id]/route.js +18 -0
  6. package/.medusa/server/src/api/admin/payout-accounts/[id]/sync/route.d.ts +3 -0
  7. package/.medusa/server/src/api/admin/payout-accounts/[id]/sync/route.js +14 -0
  8. package/.medusa/server/src/api/admin/payout-accounts/helpers.d.ts +2 -0
  9. package/.medusa/server/src/api/admin/payout-accounts/helpers.js +7 -0
  10. package/.medusa/server/src/api/admin/payout-accounts/middlewares.d.ts +2 -0
  11. package/.medusa/server/src/api/admin/payout-accounts/middlewares.js +45 -0
  12. package/.medusa/server/src/api/admin/payout-accounts/query-config.d.ts +11 -0
  13. package/.medusa/server/src/api/admin/payout-accounts/query-config.js +26 -0
  14. package/.medusa/server/src/api/admin/payout-accounts/route.d.ts +5 -0
  15. package/.medusa/server/src/api/admin/payout-accounts/route.js +31 -0
  16. package/.medusa/server/src/api/admin/payout-accounts/validators.d.ts +51 -0
  17. package/.medusa/server/src/api/admin/payout-accounts/validators.js +22 -0
  18. package/.medusa/server/src/api/admin/payouts/[id]/retry/route.d.ts +3 -0
  19. package/.medusa/server/src/api/admin/payouts/[id]/retry/route.js +14 -0
  20. package/.medusa/server/src/api/admin/payouts/helpers.d.ts +2 -0
  21. package/.medusa/server/src/api/admin/payouts/helpers.js +7 -0
  22. package/.medusa/server/src/api/admin/payouts/middlewares.js +16 -1
  23. package/.medusa/server/src/api/admin/payouts/query-config.js +10 -1
  24. package/.medusa/server/src/api/admin/payouts/validators.d.ts +2 -0
  25. package/.medusa/server/src/api/admin/payouts/validators.js +3 -1
  26. package/.medusa/server/src/api/admin/products/validators.d.ts +1 -0
  27. package/.medusa/server/src/api/admin/products/validators.js +6 -2
  28. package/.medusa/server/src/api/hooks/payout/route.js +4 -6
  29. package/.medusa/server/src/api/middlewares.js +5 -1
  30. package/.medusa/server/src/api/payout/onboarding/refresh/route.d.ts +6 -0
  31. package/.medusa/server/src/api/payout/onboarding/refresh/route.js +21 -0
  32. package/.medusa/server/src/api/store/carts/middlewares.js +11 -1
  33. package/.medusa/server/src/api/utils/ensure-seller-middleware.js +2 -2
  34. package/.medusa/server/src/api/vendor/offers/batch/route.js +6 -2
  35. package/.medusa/server/src/api/vendor/offers/validators.d.ts +1 -0
  36. package/.medusa/server/src/api/vendor/offers/validators.js +2 -1
  37. package/.medusa/server/src/api/vendor/payout-accounts/[id]/onboarding/route.js +2 -8
  38. package/.medusa/server/src/api/vendor/payout-accounts/helpers.d.ts +2 -0
  39. package/.medusa/server/src/api/vendor/payout-accounts/helpers.js +7 -2
  40. package/.medusa/server/src/api/vendor/payout-accounts/me/route.d.ts +3 -0
  41. package/.medusa/server/src/api/vendor/payout-accounts/me/route.js +15 -0
  42. package/.medusa/server/src/api/vendor/payout-accounts/middlewares.js +9 -1
  43. package/.medusa/server/src/api/vendor/payout-accounts/query-config.d.ts +11 -0
  44. package/.medusa/server/src/api/vendor/payout-accounts/query-config.js +30 -2
  45. package/.medusa/server/src/api/vendor/payout-accounts/route.js +4 -9
  46. package/.medusa/server/src/api/vendor/payout-accounts/validators.d.ts +3 -1
  47. package/.medusa/server/src/api/vendor/payout-accounts/validators.js +5 -2
  48. package/.medusa/server/src/api/vendor/payouts/query-config.d.ts +2 -0
  49. package/.medusa/server/src/api/vendor/payouts/query-config.js +12 -2
  50. package/.medusa/server/src/api/vendor/payouts/validators.d.ts +1 -0
  51. package/.medusa/server/src/api/vendor/payouts/validators.js +2 -1
  52. package/.medusa/server/src/api/vendor/products/validators.d.ts +1 -0
  53. package/.medusa/server/src/api/vendor/products/validators.js +6 -2
  54. package/.medusa/server/src/api/vendor/sellers/select/route.js +2 -2
  55. package/.medusa/server/src/modules/payout/index.d.ts +1 -45
  56. package/.medusa/server/src/modules/payout/loaders/provider.js +7 -3
  57. package/.medusa/server/src/modules/payout/migrations/Migration20261028120000.d.ts +5 -0
  58. package/.medusa/server/src/modules/payout/migrations/Migration20261028120000.js +97 -0
  59. package/.medusa/server/src/modules/payout/models/index.d.ts +1 -0
  60. package/.medusa/server/src/modules/payout/models/index.js +4 -2
  61. package/.medusa/server/src/modules/payout/models/onboarding.d.ts +22 -1
  62. package/.medusa/server/src/modules/payout/models/payout-account.d.ts +23 -2
  63. package/.medusa/server/src/modules/payout/models/payout-account.js +33 -7
  64. package/.medusa/server/src/modules/payout/models/payout-reversal.d.ts +48 -0
  65. package/.medusa/server/src/modules/payout/models/payout-reversal.js +37 -0
  66. package/.medusa/server/src/modules/payout/models/payout.d.ts +22 -1
  67. package/.medusa/server/src/modules/payout/models/payout.js +18 -2
  68. package/.medusa/server/src/modules/payout/providers/system.d.ts +11 -5
  69. package/.medusa/server/src/modules/payout/providers/system.js +33 -14
  70. package/.medusa/server/src/modules/payout/services/payout-module-service.d.ts +94 -100
  71. package/.medusa/server/src/modules/payout/services/payout-module-service.js +316 -109
  72. package/.medusa/server/src/modules/payout/services/provider-service.d.ts +11 -7
  73. package/.medusa/server/src/modules/payout/services/provider-service.js +33 -13
  74. package/.medusa/server/src/modules/payout/utils/abstract-payout-provider.d.ts +20 -0
  75. package/.medusa/server/src/modules/payout/utils/abstract-payout-provider.js +19 -0
  76. package/.medusa/server/src/modules/payout/utils/index.d.ts +1 -0
  77. package/.medusa/server/src/modules/payout/utils/index.js +18 -0
  78. package/.medusa/server/src/modules/telemetry/index.d.ts +21 -0
  79. package/.medusa/server/src/modules/telemetry/index.js +12 -0
  80. package/.medusa/server/src/modules/telemetry/migrations/Migration20261029000000.d.ts +5 -0
  81. package/.medusa/server/src/modules/telemetry/migrations/Migration20261029000000.js +27 -0
  82. package/.medusa/server/src/modules/telemetry/models/index.d.ts +1 -0
  83. package/.medusa/server/src/modules/telemetry/models/index.js +10 -0
  84. package/.medusa/server/src/modules/telemetry/models/installation.d.ts +9 -0
  85. package/.medusa/server/src/modules/telemetry/models/installation.js +14 -0
  86. package/.medusa/server/src/modules/telemetry/repositories/index.d.ts +1 -0
  87. package/.medusa/server/src/modules/telemetry/repositories/index.js +18 -0
  88. package/.medusa/server/src/modules/telemetry/repositories/telemetry-heartbeat.d.ts +10 -0
  89. package/.medusa/server/src/modules/telemetry/repositories/telemetry-heartbeat.js +28 -0
  90. package/.medusa/server/src/modules/telemetry/service.d.ts +25 -0
  91. package/.medusa/server/src/modules/telemetry/service.js +54 -0
  92. package/.medusa/server/src/subscribers/payout-webhook.d.ts +2 -2
  93. package/.medusa/server/src/subscribers/payout-webhook.js +9 -5
  94. package/.medusa/server/src/subscribers/telemetry-first-member-invited.d.ts +3 -0
  95. package/.medusa/server/src/subscribers/telemetry-first-member-invited.js +14 -0
  96. package/.medusa/server/src/subscribers/telemetry-first-offer.d.ts +3 -0
  97. package/.medusa/server/src/subscribers/telemetry-first-offer.js +14 -0
  98. package/.medusa/server/src/subscribers/telemetry-first-order.d.ts +3 -0
  99. package/.medusa/server/src/subscribers/telemetry-first-order.js +14 -0
  100. package/.medusa/server/src/subscribers/telemetry-first-payout-account.d.ts +5 -0
  101. package/.medusa/server/src/subscribers/telemetry-first-payout-account.js +24 -0
  102. package/.medusa/server/src/subscribers/telemetry-first-product-published.d.ts +3 -0
  103. package/.medusa/server/src/subscribers/telemetry-first-product-published.js +14 -0
  104. package/.medusa/server/src/subscribers/telemetry-first-seller-approved.d.ts +3 -0
  105. package/.medusa/server/src/subscribers/telemetry-first-seller-approved.js +14 -0
  106. package/.medusa/server/src/subscribers/telemetry-first-seller.d.ts +3 -0
  107. package/.medusa/server/src/subscribers/telemetry-first-seller.js +14 -0
  108. package/.medusa/server/src/utils/telemetry/boot.d.ts +7 -0
  109. package/.medusa/server/src/utils/telemetry/boot.js +117 -0
  110. package/.medusa/server/src/utils/telemetry/buckets.d.ts +2 -0
  111. package/.medusa/server/src/utils/telemetry/buckets.js +22 -0
  112. package/.medusa/server/src/utils/telemetry/config.d.ts +19 -0
  113. package/.medusa/server/src/utils/telemetry/config.js +60 -0
  114. package/.medusa/server/src/utils/telemetry/first-party.d.ts +11 -0
  115. package/.medusa/server/src/utils/telemetry/first-party.js +33 -0
  116. package/.medusa/server/src/utils/telemetry/identity.d.ts +6 -0
  117. package/.medusa/server/src/utils/telemetry/identity.js +32 -0
  118. package/.medusa/server/src/utils/telemetry/index.d.ts +8 -0
  119. package/.medusa/server/src/utils/telemetry/index.js +27 -0
  120. package/.medusa/server/src/utils/telemetry/milestones.d.ts +20 -0
  121. package/.medusa/server/src/utils/telemetry/milestones.js +60 -0
  122. package/.medusa/server/src/utils/telemetry/sender.d.ts +17 -0
  123. package/.medusa/server/src/utils/telemetry/sender.js +48 -0
  124. package/.medusa/server/src/utils/telemetry/snapshot.d.ts +13 -0
  125. package/.medusa/server/src/utils/telemetry/snapshot.js +193 -0
  126. package/.medusa/server/src/with-mercur.d.ts +6 -0
  127. package/.medusa/server/src/with-mercur.js +1 -1
  128. package/.medusa/server/src/workflows/offer/workflows/create-offers.d.ts +3 -0
  129. package/.medusa/server/src/workflows/offer/workflows/create-offers.js +11 -1
  130. package/.medusa/server/src/workflows/payment/utils/split-order-payment-group.js +11 -3
  131. package/.medusa/server/src/workflows/payment/workflows/process-payment.js +10 -5
  132. package/.medusa/server/src/workflows/payout/steps/create-onboarding.d.ts +8 -2
  133. package/.medusa/server/src/workflows/payout/steps/create-onboarding.js +10 -4
  134. package/.medusa/server/src/workflows/payout/steps/create-payout-account.d.ts +3 -2
  135. package/.medusa/server/src/workflows/payout/steps/create-payout-account.js +9 -3
  136. package/.medusa/server/src/workflows/payout/steps/create-payout-accounts.d.ts +11 -0
  137. package/.medusa/server/src/workflows/payout/steps/create-payout-accounts.js +22 -0
  138. package/.medusa/server/src/workflows/payout/steps/create-payout-reversals.d.ts +4 -0
  139. package/.medusa/server/src/workflows/payout/steps/create-payout-reversals.js +23 -0
  140. package/.medusa/server/src/workflows/payout/steps/create-payouts.d.ts +4 -0
  141. package/.medusa/server/src/workflows/payout/steps/create-payouts.js +23 -0
  142. package/.medusa/server/src/workflows/payout/steps/index.d.ts +12 -5
  143. package/.medusa/server/src/workflows/payout/steps/index.js +13 -6
  144. package/.medusa/server/src/workflows/payout/steps/process-payout-reversals.d.ts +6 -0
  145. package/.medusa/server/src/workflows/payout/steps/process-payout-reversals.js +17 -0
  146. package/.medusa/server/src/workflows/payout/steps/process-payouts.d.ts +6 -0
  147. package/.medusa/server/src/workflows/payout/steps/process-payouts.js +17 -0
  148. package/.medusa/server/src/workflows/payout/steps/sync-payout-account.d.ts +8 -0
  149. package/.medusa/server/src/workflows/payout/steps/sync-payout-account.js +33 -0
  150. package/.medusa/server/src/workflows/payout/steps/update-payout-reversals.d.ts +4 -0
  151. package/.medusa/server/src/workflows/payout/steps/update-payout-reversals.js +29 -0
  152. package/.medusa/server/src/workflows/payout/steps/update-payouts.d.ts +4 -0
  153. package/.medusa/server/src/workflows/payout/steps/update-payouts.js +34 -0
  154. package/.medusa/server/src/workflows/payout/steps/validate-onboarding-token.d.ts +12 -0
  155. package/.medusa/server/src/workflows/payout/steps/validate-onboarding-token.js +23 -0
  156. package/.medusa/server/src/workflows/payout/steps/validate-payout-retry.d.ts +10 -0
  157. package/.medusa/server/src/workflows/payout/steps/validate-payout-retry.js +15 -0
  158. package/.medusa/server/src/workflows/payout/steps/validate-seller-without-payout-account.d.ts +10 -0
  159. package/.medusa/server/src/workflows/payout/steps/validate-seller-without-payout-account.js +13 -0
  160. package/.medusa/server/src/workflows/payout/utils/fulfillment-status.d.ts +26 -0
  161. package/.medusa/server/src/workflows/payout/utils/fulfillment-status.js +64 -0
  162. package/.medusa/server/src/workflows/payout/utils/index.d.ts +3 -0
  163. package/.medusa/server/src/workflows/payout/utils/index.js +20 -0
  164. package/.medusa/server/src/workflows/payout/utils/payout-amounts.d.ts +173 -0
  165. package/.medusa/server/src/workflows/payout/utils/payout-amounts.js +304 -0
  166. package/.medusa/server/src/workflows/payout/utils/sent-to-provider.d.ts +11 -0
  167. package/.medusa/server/src/workflows/payout/utils/sent-to-provider.js +15 -0
  168. package/.medusa/server/src/workflows/payout/workflows/create-onboarding.d.ts +5 -0
  169. package/.medusa/server/src/workflows/payout/workflows/create-onboarding.js +8 -3
  170. package/.medusa/server/src/workflows/payout/workflows/create-or-refresh-seller-payout-account.d.ts +16 -0
  171. package/.medusa/server/src/workflows/payout/workflows/create-or-refresh-seller-payout-account.js +38 -0
  172. package/.medusa/server/src/workflows/payout/workflows/create-order-payouts.d.ts +28 -0
  173. package/.medusa/server/src/workflows/payout/workflows/create-order-payouts.js +82 -0
  174. package/.medusa/server/src/workflows/payout/workflows/create-payout-account.d.ts +11 -5
  175. package/.medusa/server/src/workflows/payout/workflows/create-payout-account.js +42 -17
  176. package/.medusa/server/src/workflows/payout/workflows/create-payout-reversals.d.ts +14 -0
  177. package/.medusa/server/src/workflows/payout/workflows/create-payout-reversals.js +61 -0
  178. package/.medusa/server/src/workflows/payout/workflows/index.d.ts +11 -2
  179. package/.medusa/server/src/workflows/payout/workflows/index.js +12 -3
  180. package/.medusa/server/src/workflows/payout/workflows/link-payout-account.d.ts +11 -0
  181. package/.medusa/server/src/workflows/payout/workflows/link-payout-account.js +35 -0
  182. package/.medusa/server/src/workflows/payout/workflows/process-payout-for-webhook.d.ts +7 -3
  183. package/.medusa/server/src/workflows/payout/workflows/process-payout-for-webhook.js +50 -57
  184. package/.medusa/server/src/workflows/payout/workflows/process-payout-reversal.d.ts +9 -0
  185. package/.medusa/server/src/workflows/payout/workflows/process-payout-reversal.js +19 -0
  186. package/.medusa/server/src/workflows/payout/workflows/process-payout.d.ts +13 -0
  187. package/.medusa/server/src/workflows/payout/workflows/process-payout.js +23 -0
  188. package/.medusa/server/src/workflows/payout/workflows/refresh-onboarding.d.ts +13 -0
  189. package/.medusa/server/src/workflows/payout/workflows/refresh-onboarding.js +26 -0
  190. package/.medusa/server/src/workflows/payout/workflows/refresh-payout-account-link.d.ts +9 -0
  191. package/.medusa/server/src/workflows/payout/workflows/refresh-payout-account-link.js +15 -0
  192. package/.medusa/server/src/workflows/payout/workflows/retry-payout.d.ts +10 -0
  193. package/.medusa/server/src/workflows/payout/workflows/retry-payout.js +36 -0
  194. package/.medusa/server/src/workflows/payout/workflows/sync-payout-account.d.ts +9 -0
  195. package/.medusa/server/src/workflows/payout/workflows/sync-payout-account.js +24 -0
  196. package/.medusa/server/src/workflows/product/workflows/create-products.js +30 -10
  197. package/package.json +3 -3
  198. package/.medusa/server/src/workflows/payout/steps/create-payout.d.ts +0 -3
  199. package/.medusa/server/src/workflows/payout/steps/create-payout.js +0 -12
  200. package/.medusa/server/src/workflows/payout/steps/update-payout-account.d.ts +0 -35
  201. package/.medusa/server/src/workflows/payout/steps/update-payout-account.js +0 -27
  202. package/.medusa/server/src/workflows/payout/steps/update-payout.d.ts +0 -35
  203. package/.medusa/server/src/workflows/payout/steps/update-payout.js +0 -27
  204. package/.medusa/server/src/workflows/payout/steps/validate-seller-payout-account.d.ts +0 -5
  205. package/.medusa/server/src/workflows/payout/steps/validate-seller-payout-account.js +0 -21
  206. package/.medusa/server/src/workflows/payout/workflows/create-payout.d.ts +0 -9
  207. package/.medusa/server/src/workflows/payout/workflows/create-payout.js +0 -87
@@ -0,0 +1,82 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.createOrderPayoutsWorkflow = exports.createOrderPayoutsWorkflowId = 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
+ const types_1 = require("@mercurjs/types");
8
+ const steps_1 = require("../steps");
9
+ const payout_amounts_1 = require("../utils/payout-amounts");
10
+ const process_payout_1 = require("./process-payout");
11
+ exports.createOrderPayoutsWorkflowId = "create-order-payouts";
12
+ /**
13
+ * Pays each order's seller their share: the order total minus commission,
14
+ * net of refunds that landed before the payout. An order that is not ready
15
+ * (no active payout account, not fulfilled, payment not captured) gets a
16
+ * payout on hold, which the next run re-decides; a canceled one is aborted.
17
+ */
18
+ exports.createOrderPayoutsWorkflow = (0, workflows_sdk_1.createWorkflow)(exports.createOrderPayoutsWorkflowId, function (input) {
19
+ const loaded = (0, workflows_sdk_1.when)("orders-to-pay-out", { input }, ({ input }) => input.order_ids.length > 0).then(() => {
20
+ const { data: orders } = (0, core_flows_1.useQueryGraphStep)({
21
+ entity: "order",
22
+ fields: payout_amounts_1.PAYOUT_ORDER_FIELDS,
23
+ filters: { id: input.order_ids },
24
+ }).config({ name: "payout-orders-query" });
25
+ const { data: payouts } = (0, core_flows_1.useQueryGraphStep)({
26
+ entity: "payout",
27
+ fields: ["*"],
28
+ filters: { order_id: input.order_ids },
29
+ }).config({ name: "existing-payouts-query" });
30
+ return (0, workflows_sdk_1.transform)({ orders, payouts }, ({ orders, payouts }) => ({
31
+ orders: orders,
32
+ payouts: payouts,
33
+ }));
34
+ });
35
+ const commissionFilters = (0, workflows_sdk_1.transform)({ loaded }, ({ loaded }) => (0, payout_amounts_1.commissionLineFilters)(loaded?.orders ?? []));
36
+ const commissionLines = (0, workflows_sdk_1.when)("orders-with-commission-lines", { commissionFilters }, ({ commissionFilters }) => commissionFilters.$or.length > 0).then(() => {
37
+ const { data } = (0, core_flows_1.useQueryGraphStep)({
38
+ entity: "commission_line",
39
+ fields: ["amount", "item_id", "shipping_method_id"],
40
+ filters: commissionFilters,
41
+ }).config({ name: "payout-commission-lines-query" });
42
+ return data;
43
+ });
44
+ const plan = (0, workflows_sdk_1.transform)({ input, loaded, commissionLines }, ({ input, loaded, commissionLines }) => (0, payout_amounts_1.planOrderPayouts)({
45
+ orders: loaded?.orders ?? [],
46
+ payouts: loaded?.payouts ?? [],
47
+ commission_lines: (commissionLines ?? []),
48
+ required_fulfillment_status: input.required_fulfillment_status ?? "fulfilled",
49
+ }));
50
+ const created = (0, steps_1.createPayoutsStep)((0, workflows_sdk_1.transform)({ plan }, ({ plan }) => plan.create.map(({ seller_id: _seller, ...payout }) => payout)));
51
+ const updated = (0, steps_1.updatePayoutsStep)((0, workflows_sdk_1.transform)({ plan }, ({ plan }) => plan.update));
52
+ const links = (0, workflows_sdk_1.transform)({ plan, created }, ({ plan, created }) => {
53
+ const sellerByOrder = new Map(plan.create.map((row) => [row.order_id, row.seller_id]));
54
+ return created.flatMap((payout) => [
55
+ {
56
+ [types_1.MercurModules.PAYOUT]: { payout_id: payout.id },
57
+ [types_1.MercurModules.SELLER]: { seller_id: sellerByOrder.get(payout.order_id) },
58
+ },
59
+ {
60
+ [utils_1.Modules.ORDER]: { order_id: payout.order_id },
61
+ [types_1.MercurModules.PAYOUT]: { payout_id: payout.id },
62
+ },
63
+ ]);
64
+ });
65
+ (0, core_flows_1.createRemoteLinkStep)(links);
66
+ const pendingIds = (0, workflows_sdk_1.transform)({ created, updated }, ({ created, updated }) => [...created, ...updated].filter((payout) => payout.status === types_1.PayoutStatus.PENDING).map((payout) => payout.id));
67
+ const payouts = (0, steps_1.processPayoutsStep)({ ids: pendingIds });
68
+ (0, core_flows_1.emitEventStep)({
69
+ eventName: types_1.PayoutModuleEvents.PAYOUT_FAILED,
70
+ data: (0, workflows_sdk_1.transform)({ payouts }, ({ payouts }) => (0, process_payout_1.failedPayoutEvents)(payouts)),
71
+ });
72
+ const output = (0, workflows_sdk_1.transform)({ plan, payouts }, ({ plan, payouts }) => ({
73
+ counts: plan.counts,
74
+ payouts,
75
+ }));
76
+ const payoutsCreated = (0, workflows_sdk_1.createHook)("payoutsCreated", {
77
+ order_ids: input.order_ids,
78
+ payouts: output.payouts,
79
+ });
80
+ return new workflows_sdk_1.WorkflowResponse(output, { hooks: [payoutsCreated] });
81
+ });
82
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3JlYXRlLW9yZGVyLXBheW91dHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvd29ya2Zsb3dzL3BheW91dC93b3JrZmxvd3MvY3JlYXRlLW9yZGVyLXBheW91dHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQ0EscURBQW1EO0FBQ25ELHFFQVEwQztBQUMxQyw0REFBb0c7QUFDcEcsMkNBQTRGO0FBRTVGLG9DQUFtRjtBQUNuRiw0REFNZ0M7QUFDaEMscURBQXFEO0FBZ0J4QyxRQUFBLDRCQUE0QixHQUFHLHNCQUFzQixDQUFBO0FBRWxFOzs7OztHQUtHO0FBQ1UsUUFBQSwwQkFBMEIsR0FJbkMsSUFBQSw4QkFBYyxFQUFDLG9DQUE0QixFQUFFLFVBQVUsS0FBc0M7SUFDL0YsTUFBTSxNQUFNLEdBQUcsSUFBQSxvQkFBSSxFQUFDLG1CQUFtQixFQUFFLEVBQUUsS0FBSyxFQUFFLEVBQUUsQ0FBQyxFQUFFLEtBQUssRUFBRSxFQUFFLEVBQUUsQ0FBQyxLQUFLLENBQUMsU0FBUyxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsR0FBRyxFQUFFO1FBQ3ZHLE1BQU0sRUFBRSxJQUFJLEVBQUUsTUFBTSxFQUFFLEdBQUcsSUFBQSw4QkFBaUIsRUFBQztZQUN6QyxNQUFNLEVBQUUsT0FBTztZQUNmLE1BQU0sRUFBRSxvQ0FBbUI7WUFDM0IsT0FBTyxFQUFFLEVBQUUsRUFBRSxFQUFFLEtBQUssQ0FBQyxTQUFTLEVBQUU7U0FDakMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxFQUFFLElBQUksRUFBRSxxQkFBcUIsRUFBRSxDQUFDLENBQUE7UUFFMUMsTUFBTSxFQUFFLElBQUksRUFBRSxPQUFPLEVBQUUsR0FBRyxJQUFBLDhCQUFpQixFQUFDO1lBQzFDLE1BQU0sRUFBRSxRQUFRO1lBQ2hCLE1BQU0sRUFBRSxDQUFDLEdBQUcsQ0FBQztZQUNiLE9BQU8sRUFBRSxFQUFFLFFBQVEsRUFB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
@@ -1,6 +1,12 @@
1
- import { CreatePayoutAccountDTO } from "@mercurjs/types";
2
- interface CreatePayoutAccountInput extends CreatePayoutAccountDTO {
1
+ import { PayoutProviderInput } from "@mercurjs/types";
2
+ export type CreatePayoutAccountWorkflowInput = PayoutProviderInput & {
3
3
  seller_id: string;
4
- }
5
- export declare const createPayoutAccountWorkflow: import("@medusajs/framework/workflows-sdk").ReturnWorkflow<CreatePayoutAccountInput, import("@mercurjs/types").PayoutAccountDTO, []>;
6
- export {};
4
+ };
5
+ export declare const createPayoutAccountWorkflowId = "create-payout-account-workflow";
6
+ /**
7
+ * Creates the seller's account at the payout provider, prefilled from the
8
+ * seller's profile, links it to the seller and publishes the onboarding link.
9
+ */
10
+ export declare const createPayoutAccountWorkflow: import("@medusajs/framework/workflows-sdk").ReturnWorkflow<PayoutProviderInput & {
11
+ seller_id: string;
12
+ }, import("@mercurjs/types").PayoutAccountDTO, []>;
@@ -1,28 +1,53 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.createPayoutAccountWorkflow = void 0;
4
- const core_flows_1 = require("@medusajs/medusa/core-flows");
3
+ exports.createPayoutAccountWorkflow = exports.createPayoutAccountWorkflowId = void 0;
5
4
  const workflows_sdk_1 = require("@medusajs/framework/workflows-sdk");
5
+ const core_flows_1 = require("@medusajs/medusa/core-flows");
6
6
  const types_1 = require("@mercurjs/types");
7
7
  const steps_1 = require("../steps");
8
- exports.createPayoutAccountWorkflow = (0, workflows_sdk_1.createWorkflow)("create-payout-account-for-seller", function (input) {
9
- (0, steps_1.validateSellerPayoutAccountStep)({
10
- seller_id: input.seller_id,
11
- });
12
- const payoutAccount = (0, steps_1.createPayoutAccountStep)({
13
- context: input.context,
14
- data: input.data,
15
- });
8
+ exports.createPayoutAccountWorkflowId = "create-payout-account-workflow";
9
+ /**
10
+ * Creates the seller's account at the payout provider, prefilled from the
11
+ * seller's profile, links it to the seller and publishes the onboarding link.
12
+ */
13
+ exports.createPayoutAccountWorkflow = (0, workflows_sdk_1.createWorkflow)(exports.createPayoutAccountWorkflowId, function (input) {
14
+ const { data: seller } = (0, core_flows_1.useQueryGraphStep)({
15
+ entity: "seller",
16
+ fields: [
17
+ "id",
18
+ "name",
19
+ "email",
20
+ "phone",
21
+ "website_url",
22
+ "address.country_code",
23
+ "professional_details.corporate_name",
24
+ "payout_account.id",
25
+ ],
26
+ filters: { id: input.seller_id },
27
+ options: { isList: false, throwIfKeyNotFound: true },
28
+ }).config({ name: "payout-account-seller-query" });
29
+ (0, steps_1.validateSellerWithoutPayoutAccountStep)({ seller });
30
+ const accountInput = (0, workflows_sdk_1.transform)({ input, seller }, ({ input, seller }) => ({
31
+ data: input.data ?? {},
32
+ context: input.context ?? {},
33
+ seller: {
34
+ id: seller.id,
35
+ name: seller.name ?? null,
36
+ email: seller.email ?? null,
37
+ phone: seller.phone ?? null,
38
+ website_url: seller.website_url ?? null,
39
+ country_code: seller.address?.country_code ?? null,
40
+ is_company: !!seller.professional_details?.corporate_name,
41
+ },
42
+ }));
43
+ const payoutAccount = (0, steps_1.createPayoutAccountStep)(accountInput);
16
44
  (0, core_flows_1.createRemoteLinkStep)([
17
45
  {
18
- [types_1.MercurModules.SELLER]: {
19
- seller_id: input.seller_id,
20
- },
21
- [types_1.MercurModules.PAYOUT]: {
22
- payout_account_id: payoutAccount.id,
23
- },
46
+ [types_1.MercurModules.SELLER]: { seller_id: input.seller_id },
47
+ [types_1.MercurModules.PAYOUT]: { payout_account_id: payoutAccount.id },
24
48
  },
25
49
  ]);
50
+ (0, steps_1.createOnboardingStep)((0, workflows_sdk_1.transform)({ payoutAccount }, ({ payoutAccount }) => ({ account_id: payoutAccount.id })));
26
51
  return new workflows_sdk_1.WorkflowResponse(payoutAccount);
27
52
  });
28
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3JlYXRlLXBheW91dC1hY2NvdW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vc3JjL3dvcmtmbG93cy9wYXlvdXQvd29ya2Zsb3dzL2NyZWF0ZS1wYXlvdXQtYWNjb3VudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSw0REFBa0U7QUFDbEUscUVBQW9GO0FBQ3BGLDJDQUF1RTtBQUV2RSxvQ0FHaUI7QUFNSixRQUFBLDJCQUEyQixHQUFHLElBQUEsOEJBQWMsRUFDdkQsa0NBQWtDLEVBQ2xDLFVBQVUsS0FBK0I7SUFDdkMsSUFBQSx1Q0FBK0IsRUFBQztRQUM5QixTQUFTLEVBQUUsS0FBSyxDQUFDLFNBQVM7S0FDM0IsQ0FBQyxDQUFBO0lBRUYsTUFBTSxhQUFhLEdBQUcsSUFBQSwrQkFBdUIsRUFBQztRQUM1QyxPQUFPLEVBQUUsS0FBSyxDQUFDLE9BQU87UUFDdEIsSUFBSSxFQUFFLEtBQUssQ0FBQyxJQUFJO0tBQ2pCLENBQUMsQ0FBQTtJQUVGLElBQUEsaUNBQW9CLEVBQUM7UUFDbkI7WUFDRSxDQUFDLHFCQUFhLENBQUMsTUFBTSxDQUFDLEVBQUU7Z0JBQ3RCLFNBQVMsRUFBRSxLQUFLLENBQUMsU0FBUzthQUMzQjtZQUNELENBQUMscUJBQWEsQ0FBQyxNQUFNLENBQUMsRUFBRTtnQkFDdEIsaUJBQWlCLEVBQUUsYUFBYSxDQUFDLEVBQUU7YUFDcEM7U0FDRjtLQUNGLENBQUMsQ0FBQTtJQUVGLE9BQU8sSUFBSSxnQ0FBZ0IsQ0FBQyxhQUFhLENBQUMsQ0FBQTtBQUM1QyxDQUFDLENBQ0YsQ0FBQSJ9
53
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3JlYXRlLXBheW91dC1hY2NvdW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vc3JjL3dvcmtmbG93cy9wYXlvdXQvd29ya2Zsb3dzL2NyZWF0ZS1wYXlvdXQtYWNjb3VudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSxxRUFBK0Y7QUFDL0YsNERBQXFGO0FBQ3JGLDJDQUE0RjtBQUU1RixvQ0FBZ0g7QUFNbkcsUUFBQSw2QkFBNkIsR0FBRyxnQ0FBZ0MsQ0FBQTtBQUU3RTs7O0dBR0c7QUFDVSxRQUFBLDJCQUEyQixHQUFHLElBQUEsOEJBQWMsRUFDdkQscUNBQTZCLEVBQzdCLFVBQVUsS0FBdUM7SUFDL0MsTUFBTSxFQUFFLElBQUksRUFBRSxNQUFNLEVBQUUsR0FBRyxJQUFBLDhCQUFpQixFQUFDO1FBQ3pDLE1BQU0sRUFBRSxRQUFRO1FBQ2hCLE1BQU0sRUFBRTtZQUNOLElBQUk7WUFDSixNQUFNO1lBQ04sT0FBTztZQUNQLE9BQU87WUFDUCxhQUFhO1lBQ2Isc0JBQXNCO1lBQ3RCLHFDQUFxQztZQUNyQyxtQkFBbUI7U0FDcEI7UUFDRCxPQUFPLEVBQUUsRUFBRSxFQUFFLEVBQUUsS0FBSyxDQUFDLFNBQVMsRUFBRTtRQUNoQyxPQUFPLEVBQUUsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLGtCQUFrQixFQUFFLElBQUksRUFBRTtLQUNyRCxDQUFDLENBQUMsTUFBTSxDQUFDLEVBQUUsSUFBSSxFQUFFLDZCQUE2QixFQUFFLENBQUMsQ0FBQTtJQUVsRCxJQUFBLDhDQUFzQyxFQUFDLEVBQUUsTUFBTSxFQUFFLENBQUMsQ0FBQTtJQUVsRCxNQUFNLFlBQVksR0FBRyxJQUFBLHlCQUFTLEVBQUMsRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLEVBQUUsQ0FBQyxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsRUFBMEIsRUFBRSxDQUFDLENBQUM7UUFDaEcsSUFBSSxFQUFFLEtBQUssQ0FBQyxJQUFJLElBQUksRUFBRTtRQUN0QixPQUFPLEVBQUUsS0FBSyxDQUFDLE9BQU8sSUFBSSxFQUFFO1FBQzVCLE1BQU0sRUFBRTtZQUNOLEVBQUUsRUFBRSxNQUFNLENBQUMsRUFBRTtZQUNiLElBQUksRUFBRSxNQUFNLENBQUMsSUFBSSxJQUFJLElBQUk7WUFDekIsS0FBSyxFQUFFLE1BQU0sQ0FBQyxLQUFLLElBQUksSUFBSTtZQUMzQixLQUFLLEVBQUUsTUFBTSxDQUFDLEtBQUssSUFBSSxJQUFJO1lBQzNCLFdBQVcsRUFBRSxNQUFNLENBQUMsV0FBVyxJQUFJLElBQUk7WUFDdkMsWUFBWSxFQUFFLE1BQU0sQ0FBQyxPQUFPLEVBQUUsWUFBWSxJQUFJLElBQUk7WUFDbEQsVUFBVSxFQUFFLENBQUMsQ0FBQyxNQUFNLENBQUMsb0JBQW9CLEVBQUUsY0FBYztTQUMxRDtLQUNGLENBQUMsQ0FBQyxDQUFBO0lBRUgsTUFBTSxhQUFhLEdBQUcsSUFBQSwrQkFBdUIsRUFBQyxZQUFZLENBQUMsQ0FBQTtJQUUzRCxJQUFBLGlDQUFvQixFQUFDO1FBQ25CO1lBQ0UsQ0FBQyxxQkFBYSxDQUFDLE1BQU0sQ0FBQyxFQUFFLEVBQUUsU0FBUyxFQUFFLEtBQUssQ0FBQyxTQUFTLEVBQUU7WUFDdEQsQ0FBQyxxQkFBYSxDQUFDLE1BQU0sQ0FBQyxFQUFFLEVBQUUsaUJBQWlCLEVBQUUsYUFBYSxDQUFDLEVBQUUsRUFBRTtTQUNoRTtLQUNGLENBQUMsQ0FBQTtJQUVGLElBQUEsNEJBQW9CLEVBQUMsSUFBQSx5QkFBUyxFQUFDLEVBQUUsYUFBYSxFQUFFLEVBQUUsQ0FBQyxFQUFFLGFBQWEsRUFBRSxFQUFFLEVBQUUsQ0FBQyxDQUFDLEVBQUUsVUFBVSxFQUFFLGFBQWEsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQTtJQUU3RyxPQUFPLElBQUksZ0NBQWdCLENBQUMsYUFBYSxDQUFDLENBQUE7QUFDNUMsQ0FBQyxDQUNGLENBQUEifQ==
@@ -0,0 +1,14 @@
1
+ import { PayoutReversalDTO } from "@mercurjs/types";
2
+ export type CreatePayoutReversalsWorkflowInput = {
3
+ order_ids: string[];
4
+ };
5
+ export type CreatePayoutReversalsWorkflowOutput = {
6
+ counts: Record<string, number>;
7
+ reversals: PayoutReversalDTO[];
8
+ };
9
+ export declare const createPayoutReversalsWorkflowId = "create-payout-reversals";
10
+ /**
11
+ * Takes the refunded share back from the seller: one reversal per refund on
12
+ * an order whose payout is paid, net of the commission on that share.
13
+ */
14
+ export declare const createPayoutReversalsWorkflow: import("@medusajs/framework/workflows-sdk").ReturnWorkflow<CreatePayoutReversalsWorkflowInput, CreatePayoutReversalsWorkflowOutput, []>;
@@ -0,0 +1,61 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.createPayoutReversalsWorkflow = exports.createPayoutReversalsWorkflowId = 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("@mercurjs/types");
7
+ const steps_1 = require("../steps");
8
+ const payout_amounts_1 = require("../utils/payout-amounts");
9
+ const process_payout_reversal_1 = require("./process-payout-reversal");
10
+ exports.createPayoutReversalsWorkflowId = "create-payout-reversals";
11
+ /**
12
+ * Takes the refunded share back from the seller: one reversal per refund on
13
+ * an order whose payout is paid, net of the commission on that share.
14
+ */
15
+ exports.createPayoutReversalsWorkflow = (0, workflows_sdk_1.createWorkflow)(exports.createPayoutReversalsWorkflowId, function (input) {
16
+ const loaded = (0, workflows_sdk_1.when)("orders-to-reverse", { input }, ({ input }) => input.order_ids.length > 0).then(() => {
17
+ const { data: orders } = (0, core_flows_1.useQueryGraphStep)({
18
+ entity: "order",
19
+ fields: payout_amounts_1.REVERSAL_ORDER_FIELDS,
20
+ filters: { id: input.order_ids },
21
+ }).config({ name: "reversal-orders-query" });
22
+ const { data: payouts } = (0, core_flows_1.useQueryGraphStep)({
23
+ entity: "payout",
24
+ fields: ["*", "reversals.*"],
25
+ filters: { order_id: input.order_ids },
26
+ }).config({ name: "reversal-payouts-query" });
27
+ return (0, workflows_sdk_1.transform)({ orders, payouts }, ({ orders, payouts }) => ({
28
+ orders: orders,
29
+ payouts: payouts,
30
+ }));
31
+ });
32
+ const commissionFilters = (0, workflows_sdk_1.transform)({ loaded }, ({ loaded }) => (0, payout_amounts_1.commissionLineFilters)(loaded?.orders ?? []));
33
+ const commissionLines = (0, workflows_sdk_1.when)("reversal-orders-with-commission-lines", { commissionFilters }, ({ commissionFilters }) => commissionFilters.$or.length > 0).then(() => {
34
+ const { data } = (0, core_flows_1.useQueryGraphStep)({
35
+ entity: "commission_line",
36
+ fields: ["amount", "item_id", "shipping_method_id"],
37
+ filters: commissionFilters,
38
+ }).config({ name: "reversal-commission-lines-query" });
39
+ return data;
40
+ });
41
+ const plan = (0, workflows_sdk_1.transform)({ loaded, commissionLines }, ({ loaded, commissionLines }) => (0, payout_amounts_1.planPayoutReversals)({
42
+ orders: loaded?.orders ?? [],
43
+ payouts: loaded?.payouts ?? [],
44
+ commission_lines: (commissionLines ?? []),
45
+ }));
46
+ const created = (0, steps_1.createPayoutReversalsStep)((0, workflows_sdk_1.transform)({ plan }, ({ plan }) => plan.create));
47
+ const updated = (0, steps_1.updatePayoutReversalsStep)((0, workflows_sdk_1.transform)({ plan }, ({ plan }) => plan.update));
48
+ const pendingIds = (0, workflows_sdk_1.transform)({ created, updated }, ({ created, updated }) => [...created, ...updated]
49
+ .filter((reversal) => reversal.status === types_1.PayoutStatus.PENDING)
50
+ .map((reversal) => reversal.id));
51
+ const reversals = (0, steps_1.processPayoutReversalsStep)({ ids: pendingIds });
52
+ (0, core_flows_1.emitEventStep)({
53
+ eventName: types_1.PayoutModuleEvents.PAYOUT_REVERSAL_FAILED,
54
+ data: (0, workflows_sdk_1.transform)({ reversals }, ({ reversals }) => (0, process_payout_reversal_1.failedReversalEvents)(reversals)),
55
+ });
56
+ return new workflows_sdk_1.WorkflowResponse((0, workflows_sdk_1.transform)({ plan, reversals }, ({ plan, reversals }) => ({
57
+ counts: plan.counts,
58
+ reversals,
59
+ })));
60
+ });
61
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3JlYXRlLXBheW91dC1yZXZlcnNhbHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvd29ya2Zsb3dzL3BheW91dC93b3JrZmxvd3MvY3JlYXRlLXBheW91dC1yZXZlcnNhbHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEscUVBSzBDO0FBQzFDLDREQUE4RTtBQUM5RSwyQ0FBZ0c7QUFFaEcsb0NBQTJHO0FBQzNHLDREQU1nQztBQUNoQyx1RUFBZ0U7QUFXbkQsUUFBQSwrQkFBK0IsR0FBRyx5QkFBeUIsQ0FBQTtBQUV4RTs7O0dBR0c7QUFDVSxRQUFBLDZCQUE2QixHQUFHLElBQUEsOEJBQWMsRUFDekQsdUNBQStCLEVBQy9CLFVBQVUsS0FBeUM7SUFDakQsTUFBTSxNQUFNLEdBQUcsSUFBQSxvQkFBSSxFQUFDLG1CQUFtQixFQUFFLEVBQUUsS0FBSyxFQUFFLEVBQUUsQ0FBQyxFQUFFLEtBQUssRUFBRSxFQUFFLEVBQUUsQ0FBQyxLQUFLLENBQUMsU0FBUyxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsR0FBRyxFQUFFO1FBQ3ZHLE1BQU0sRUFBRSxJQUFJLEVBQUUsTUFBTSxFQUFFLEdBQUcsSUFBQSw4QkFBaUIsRUFBQztZQUN6QyxNQUFNLEVBQUUsT0FBTztZQUNmLE1BQU0sRUFBRSxzQ0FBcUI7WUFDN0IsT0FBTyxFQUFFLEVBQUUsRUFBRSxFQUFFLEtBQUssQ0FBQyxTQUFTLEVBQUU7U0FDakMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxFQUFFLElBQUksRUFBRSx1QkFBdUIsRUFBRSxDQUFDLENBQUE7UUFFNUMsTUFBTSxFQUFFLElBQUksRUFBRSxPQUFPLEVBQUUsR0FBRyxJQUFBLDhCQUFpQixFQUFDO1lBQzFDLE1BQU0sRUFBRSxRQUFRO1lBQ2hCLE1BQU0sRUFBRSxDQUFDLEdBQUcsRUFBRSxhQUFhLENBQUM7WUFDNUIsT0FBTyxFQUFFLEVBQUUsUUFBUSxF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
@@ -1,4 +1,13 @@
1
- export * from "./create-payout-account";
2
1
  export * from "./create-onboarding";
3
- export * from "./create-payout";
2
+ export * from "./create-or-refresh-seller-payout-account";
3
+ export * from "./create-order-payouts";
4
+ export * from "./create-payout-account";
5
+ export * from "./create-payout-reversals";
6
+ export * from "./link-payout-account";
7
+ export * from "./process-payout";
4
8
  export * from "./process-payout-for-webhook";
9
+ export * from "./process-payout-reversal";
10
+ export * from "./refresh-onboarding";
11
+ export * from "./refresh-payout-account-link";
12
+ export * from "./retry-payout";
13
+ export * from "./sync-payout-account";
@@ -14,8 +14,17 @@ 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("./create-payout-account"), exports);
18
17
  __exportStar(require("./create-onboarding"), exports);
19
- __exportStar(require("./create-payout"), exports);
18
+ __exportStar(require("./create-or-refresh-seller-payout-account"), exports);
19
+ __exportStar(require("./create-order-payouts"), exports);
20
+ __exportStar(require("./create-payout-account"), exports);
21
+ __exportStar(require("./create-payout-reversals"), exports);
22
+ __exportStar(require("./link-payout-account"), exports);
23
+ __exportStar(require("./process-payout"), exports);
20
24
  __exportStar(require("./process-payout-for-webhook"), exports);
21
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvd29ya2Zsb3dzL3BheW91dC93b3JrZmxvd3MvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLDBEQUF1QztBQUN2QyxzREFBbUM7QUFDbkMsa0RBQStCO0FBQy9CLCtEQUE0QyJ9
25
+ __exportStar(require("./process-payout-reversal"), exports);
26
+ __exportStar(require("./refresh-onboarding"), exports);
27
+ __exportStar(require("./refresh-payout-account-link"), exports);
28
+ __exportStar(require("./retry-payout"), exports);
29
+ __exportStar(require("./sync-payout-account"), exports);
30
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvd29ya2Zsb3dzL3BheW91dC93b3JrZmxvd3MvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLHNEQUFtQztBQUNuQyw0RUFBeUQ7QUFDekQseURBQXNDO0FBQ3RDLDBEQUF1QztBQUN2Qyw0REFBeUM7QUFDekMsd0RBQXFDO0FBQ3JDLG1EQUFnQztBQUNoQywrREFBNEM7QUFDNUMsNERBQXlDO0FBQ3pDLHVEQUFvQztBQUNwQyxnRUFBNkM7QUFDN0MsaURBQThCO0FBQzlCLHdEQUFxQyJ9
@@ -0,0 +1,11 @@
1
+ export type LinkPayoutAccountWorkflowInput = {
2
+ seller_id: string;
3
+ /** The account's id at the payout provider. */
4
+ external_id: string;
5
+ };
6
+ export declare const linkPayoutAccountWorkflowId = "link-payout-account";
7
+ /**
8
+ * Attaches an account that already exists at the payout provider to a
9
+ * seller, then pulls its state from the provider.
10
+ */
11
+ export declare const linkPayoutAccountWorkflow: import("@medusajs/framework/workflows-sdk").ReturnWorkflow<LinkPayoutAccountWorkflowInput, import("@mercurjs/types").PayoutAccountDTO, []>;
@@ -0,0 +1,35 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.linkPayoutAccountWorkflow = exports.linkPayoutAccountWorkflowId = 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("@mercurjs/types");
7
+ const steps_1 = require("../steps");
8
+ const sync_payout_account_1 = require("./sync-payout-account");
9
+ exports.linkPayoutAccountWorkflowId = "link-payout-account";
10
+ /**
11
+ * Attaches an account that already exists at the payout provider to a
12
+ * seller, then pulls its state from the provider.
13
+ */
14
+ exports.linkPayoutAccountWorkflow = (0, workflows_sdk_1.createWorkflow)(exports.linkPayoutAccountWorkflowId, function (input) {
15
+ const { data: seller } = (0, core_flows_1.useQueryGraphStep)({
16
+ entity: "seller",
17
+ fields: ["id", "payout_account.id"],
18
+ filters: { id: input.seller_id },
19
+ options: { isList: false, throwIfKeyNotFound: true },
20
+ }).config({ name: "link-payout-account-seller-query" });
21
+ (0, steps_1.validateSellerWithoutPayoutAccountStep)({ seller });
22
+ const accounts = (0, steps_1.createPayoutAccountsStep)((0, workflows_sdk_1.transform)({ input }, ({ input }) => [{ external_id: input.external_id, data: { id: input.external_id } }]));
23
+ const account = (0, workflows_sdk_1.transform)({ accounts }, ({ accounts }) => accounts[0]);
24
+ (0, core_flows_1.createRemoteLinkStep)([
25
+ {
26
+ [types_1.MercurModules.SELLER]: { seller_id: input.seller_id },
27
+ [types_1.MercurModules.PAYOUT]: { payout_account_id: account.id },
28
+ },
29
+ ]);
30
+ const synced = sync_payout_account_1.syncPayoutAccountWorkflow.runAsStep({
31
+ input: (0, workflows_sdk_1.transform)({ account }, ({ account }) => ({ id: account.id })),
32
+ });
33
+ return new workflows_sdk_1.WorkflowResponse(synced);
34
+ });
35
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGluay1wYXlvdXQtYWNjb3VudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy93b3JrZmxvd3MvcGF5b3V0L3dvcmtmbG93cy9saW5rLXBheW91dC1hY2NvdW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLHFFQUErRjtBQUMvRiw0REFBcUY7QUFDckYsMkNBQStDO0FBRS9DLG9DQUEyRjtBQUMzRiwrREFBaUU7QUFRcEQsUUFBQSwyQkFBMkIsR0FBRyxxQkFBcUIsQ0FBQTtBQUVoRTs7O0dBR0c7QUFDVSxRQUFBLHlCQUF5QixHQUFHLElBQUEsOEJBQWMsRUFDckQsbUNBQTJCLEVBQzNCLFVBQVUsS0FBcUM7SUFDN0MsTUFBTSxFQUFFLElBQUksRUFBRSxNQUFNLEVBQUUsR0FBRyxJQUFBLDhCQUFpQixFQUFDO1FBQ3pDLE1BQU0sRUFBRSxRQUFRO1FBQ2hCLE1BQU0sRUFBRSxDQUFDLElBQUksRUFBRSxtQkFBbUIsQ0FBQztRQUNuQyxPQUFPLEVBQUUsRUFBRSxFQUFFLEVBQUUsS0FBSyxDQUFDLFNBQVMsRUFBRTtRQUNoQyxPQUFPLEVBQUUsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLGtCQUFrQixFQUFFLElBQUksRUFBRTtLQUNyRCxDQUFDLENBQUMsTUFBTSxDQUFDLEVBQUUsSUFBSSxFQUFFLGtDQUFrQyxFQUFFLENBQUMsQ0FBQTtJQUV2RCxJQUFBLDhDQUFzQyxFQUFDLEVBQUUsTUFBTSxFQUFFLENBQUMsQ0FBQTtJQUVsRCxNQUFNLFFBQVEsR0FBRyxJQUFBLGdDQUF3QixFQUN2QyxJQUFBLHlCQUFTLEVBQUMsRUFBRSxLQUFLLEVBQUUsRUFBRSxDQUFDLEVBQUUsS0FBSyxFQUFFLEVBQUUsRUFBRSxDQUFDLENBQUMsRUFBRSxXQUFXLEVBQUUsS0FBSyxDQUFDLFdBQVcsRUFBRSxJQUFJLEVBQUUsRUFBRSxFQUFFLEVBQUUsS0FBSyxDQUFDLFdBQVcsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUMzRyxDQUFBO0lBQ0QsTUFBTSxPQUFPLEdBQUcsSUFBQSx5QkFBUyxFQUFDLEVBQUUsUUFBUSxFQUFFLEVBQUUsQ0FBQyxFQUFFLFFBQVEsRUFBRSxFQUFFLEVBQUUsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQTtJQUV0RSxJQUFBLGlDQUFvQixFQUFDO1FBQ25CO1lBQ0UsQ0FBQyxxQkFBYSxDQUFDLE1BQU0sQ0FBQyxFQUFFLEVBQUUsU0FBUyxFQUFFLEtBQUssQ0FBQyxTQUFTLEVBQUU7WUFDdEQsQ0FBQyxxQkFBYSxDQUFDLE1BQU0sQ0FBQyxFQUFFLEVBQUUsaUJBQWlCLEVBQUUsT0FBTyxDQUFDLEVBQUUsRUFBRTtTQUMxRDtLQUNGLENBQUMsQ0FBQTtJQUVGLE1BQU0sTUFBTSxHQUFHLCtDQUF5QixDQUFDLFNBQVMsQ0FBQztRQUNqRCxLQUFLLEVBQUUsSUFBQSx5QkFBUyxFQUFDLEVBQUUsT0FBTyxFQUFFLEVBQUUsQ0FBQyxFQUFFLE9BQU8sRUFBRSxFQUFFLEVBQUUsQ0FBQyxDQUFDLEVBQUUsRUFBRSxFQUFFLE9BQU8sQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDO0tBQ3JFLENBQUMsQ0FBQTtJQUVGLE9BQU8sSUFBSSxnQ0FBZ0IsQ0FBQyxNQUFNLENBQUMsQ0FBQTtBQUNyQyxDQUFDLENBQ0YsQ0FBQSJ9
@@ -1,5 +1,9 @@
1
1
  import { PayoutWebhookResult } from "@mercurjs/types";
2
- export interface ProcessPayoutForWebhookWorkflowInput extends PayoutWebhookResult {
3
- }
2
+ export type ProcessPayoutForWebhookWorkflowInput = PayoutWebhookResult;
4
3
  export declare const processPayoutForWebhookWorkflowId = "process-payout-for-webhook";
5
- export declare const processPayoutForWebhookWorkflow: import("@medusajs/framework/workflows-sdk").ReturnWorkflow<ProcessPayoutForWebhookWorkflowInput, unknown, any[]>;
4
+ /**
5
+ * Applies a provider webhook: an `account.*` event re-syncs the account, a
6
+ * `payout.*` event moves the payout to its final status and stores the
7
+ * provider's id for the payout, which a later reversal needs.
8
+ */
9
+ export declare const processPayoutForWebhookWorkflow: import("@medusajs/framework/workflows-sdk").ReturnWorkflow<PayoutWebhookResult, unknown, any[]>;
@@ -2,66 +2,59 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.processPayoutForWebhookWorkflow = exports.processPayoutForWebhookWorkflowId = void 0;
4
4
  const workflows_sdk_1 = require("@medusajs/framework/workflows-sdk");
5
+ const core_flows_1 = require("@medusajs/medusa/core-flows");
5
6
  const types_1 = require("@mercurjs/types");
6
- const update_payout_account_1 = require("../steps/update-payout-account");
7
- const update_payout_1 = require("../steps/update-payout");
7
+ const steps_1 = require("../steps");
8
+ const sync_payout_account_1 = require("./sync-payout-account");
8
9
  exports.processPayoutForWebhookWorkflowId = "process-payout-for-webhook";
9
- exports.processPayoutForWebhookWorkflow = (0, workflows_sdk_1.createWorkflow)(exports.processPayoutForWebhookWorkflowId, (input) => {
10
- (0, workflows_sdk_1.when)({ input }, ({ input }) => {
11
- return input.action === "account.activated" && !!input.data?.id;
12
- }).then(() => {
13
- (0, update_payout_account_1.updatePayoutAccountStep)({
14
- id: input.data.id,
15
- status: types_1.PayoutAccountStatus.ACTIVE,
16
- }).config({ name: "activate-payout-account" });
10
+ const STATUS_BY_ACTION = {
11
+ "payout.paid": types_1.PayoutStatus.PAID,
12
+ "payout.failed": types_1.PayoutStatus.FAILED,
13
+ };
14
+ /**
15
+ * Applies a provider webhook: an `account.*` event re-syncs the account, a
16
+ * `payout.*` event moves the payout to its final status and stores the
17
+ * provider's id for the payout, which a later reversal needs.
18
+ */
19
+ exports.processPayoutForWebhookWorkflow = (0, workflows_sdk_1.createWorkflow)(exports.processPayoutForWebhookWorkflowId, function (input) {
20
+ const accounts = (0, workflows_sdk_1.when)("account-webhook", { input }, ({ input }) => input.action.startsWith("account.") && !!input.data?.id).then(() => {
21
+ const { data } = (0, core_flows_1.useQueryGraphStep)({
22
+ entity: "payout_account",
23
+ fields: ["id"],
24
+ filters: (0, workflows_sdk_1.transform)({ input }, ({ input }) => ({ external_id: input.data?.id })),
25
+ }).config({ name: "webhook-account-query" });
26
+ return data;
17
27
  });
18
- (0, workflows_sdk_1.when)({ input }, ({ input }) => {
19
- return input.action === "account.restricted" && !!input.data?.id;
20
- }).then(() => {
21
- (0, update_payout_account_1.updatePayoutAccountStep)({
22
- id: input.data.id,
23
- status: types_1.PayoutAccountStatus.RESTRICTED,
24
- }).config({ name: "restrict-payout-account" });
28
+ (0, workflows_sdk_1.when)("known-account", { accounts }, ({ accounts }) => !!accounts?.length).then(() => {
29
+ sync_payout_account_1.syncPayoutAccountWorkflow.runAsStep({
30
+ input: (0, workflows_sdk_1.transform)({ accounts }, ({ accounts }) => ({ id: accounts[0].id })),
31
+ });
25
32
  });
26
- (0, workflows_sdk_1.when)({ input }, ({ input }) => {
27
- return input.action === "account.rejected" && !!input.data?.id;
28
- }).then(() => {
29
- (0, update_payout_account_1.updatePayoutAccountStep)({
30
- id: input.data.id,
31
- status: types_1.PayoutAccountStatus.REJECTED,
32
- }).config({ name: "reject-payout-account" });
33
- });
34
- (0, workflows_sdk_1.when)({ input }, ({ input }) => {
35
- return input.action === "payout.processing" && !!input.data?.id;
36
- }).then(() => {
37
- (0, update_payout_1.updatePayoutStep)({
38
- id: input.data.id,
39
- status: types_1.PayoutStatus.PROCESSING,
40
- }).config({ name: "processing-payout" });
41
- });
42
- (0, workflows_sdk_1.when)({ input }, ({ input }) => {
43
- return input.action === "payout.paid" && !!input.data?.id;
44
- }).then(() => {
45
- (0, update_payout_1.updatePayoutStep)({
46
- id: input.data.id,
47
- status: types_1.PayoutStatus.PAID,
48
- }).config({ name: "paid-payout" });
49
- });
50
- (0, workflows_sdk_1.when)({ input }, ({ input }) => {
51
- return input.action === "payout.failed" && !!input.data?.id;
52
- }).then(() => {
53
- (0, update_payout_1.updatePayoutStep)({
54
- id: input.data.id,
55
- status: types_1.PayoutStatus.FAILED,
56
- }).config({ name: "failed-payout" });
57
- });
58
- (0, workflows_sdk_1.when)({ input }, ({ input }) => {
59
- return input.action === "payout.canceled" && !!input.data?.id;
60
- }).then(() => {
61
- (0, update_payout_1.updatePayoutStep)({
62
- id: input.data.id,
63
- status: types_1.PayoutStatus.CANCELED,
64
- }).config({ name: "canceled-payout" });
33
+ const payouts = (0, workflows_sdk_1.when)("payout-webhook", { input }, ({ input }) => !!STATUS_BY_ACTION[input.action] && !!input.data?.payout_id).then(() => {
34
+ const { data } = (0, core_flows_1.useQueryGraphStep)({
35
+ entity: "payout",
36
+ fields: ["id", "data"],
37
+ filters: (0, workflows_sdk_1.transform)({ input }, ({ input }) => ({ id: input.data?.payout_id })),
38
+ }).config({ name: "webhook-payout-query" });
39
+ return data;
65
40
  });
41
+ (0, steps_1.updatePayoutsStep)((0, workflows_sdk_1.transform)({ input, payouts }, ({ input, payouts }) => (payouts ?? []).map((payout) => {
42
+ const status = STATUS_BY_ACTION[input.action];
43
+ const data = (payout.data ?? {});
44
+ const provider = (data.provider ?? {});
45
+ return {
46
+ id: payout.id,
47
+ status,
48
+ status_reason: status === types_1.PayoutStatus.FAILED ? types_1.PayoutStatusReason.PROVIDER_ERROR : null,
49
+ data: {
50
+ ...data,
51
+ provider: { ...provider, id: input.data?.id ?? provider.id },
52
+ status_detail: status === types_1.PayoutStatus.FAILED ? (input.data?.status_reason ?? data.status_detail ?? null) : null,
53
+ // The provider failed the payout it made under this key, so the
54
+ // retry must not get that payout back.
55
+ ...(status === types_1.PayoutStatus.FAILED ? { idempotency_key: null } : {}),
56
+ },
57
+ };
58
+ })));
66
59
  });
67
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvY2Vzcy1wYXlvdXQtZm9yLXdlYmhvb2suanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvd29ya2Zsb3dzL3BheW91dC93b3JrZmxvd3MvcHJvY2Vzcy1wYXlvdXQtZm9yLXdlYmhvb2sudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEscUVBQXdFO0FBQ3hFLDJDQUl3QjtBQUV4QiwwRUFBd0U7QUFDeEUsMERBQXlEO0FBSTVDLFFBQUEsaUNBQWlDLEdBQUcsNEJBQTRCLENBQUE7QUFFaEUsUUFBQSwrQkFBK0IsR0FBRyxJQUFBLDhCQUFjLEVBQzNELHlDQUFpQyxFQUNqQyxDQUFDLEtBQTJDLEVBQUUsRUFBRTtJQUM5QyxJQUFBLG9CQUFJLEVBQUMsRUFBRSxLQUFLLEVBQUUsRUFBRSxDQUFDLEVBQUUsS0FBSyxFQUFFLEVBQUUsRUFBRTtRQUM1QixPQUFPLEtBQUssQ0FBQyxNQUFNLEtBQUssbUJBQW1CLElBQUksQ0FBQyxDQUFDLEtBQUssQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFBO0lBQ2pFLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxHQUFHLEVBQUU7UUFDWCxJQUFBLCtDQUF1QixFQUFDO1lBQ3RCLEVBQUUsRUFBRSxLQUFLLENBQUMsSUFBSyxDQUFDLEVBQUU7WUFDbEIsTUFBTSxFQUFFLDJCQUFtQixDQUFDLE1BQU07U0FDbkMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxFQUFFLElBQUksRUFBRSx5QkFBeUIsRUFBRSxDQUFDLENBQUE7SUFDaEQsQ0FBQyxDQUFDLENBQUE7SUFFRixJQUFBLG9CQUFJLEVBQUMsRUFBRSxLQUFLLEVBQUUsRUFBRSxDQUFDLEVBQUUsS0FBSyxFQUFFLEVBQUUsRUFBRTtRQUM1QixPQUFPLEtBQUssQ0FBQyxNQUFNLEtBQUssb0JBQW9CLElBQUksQ0FBQyxDQUFDLEtBQUssQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFBO0lBQ2xFLENBQUMsQ0FBQyxDQUFDLElB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
60
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvY2Vzcy1wYXlvdXQtZm9yLXdlYmhvb2suanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvd29ya2Zsb3dzL3BheW91dC93b3JrZmxvd3MvcHJvY2Vzcy1wYXlvdXQtZm9yLXdlYmhvb2sudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEscUVBQW1GO0FBQ25GLDREQUErRDtBQUMvRCwyQ0FBdUY7QUFFdkYsb0NBQTRDO0FBQzVDLCtEQUFpRTtBQUlwRCxRQUFBLGlDQUFpQyxHQUFHLDRCQUE0QixDQUFBO0FBRTdFLE1BQU0sZ0JBQWdCLEdBQWlDO0lBQ3JELGFBQWEsRUFBRSxvQkFBWSxDQUFDLElBQUk7SUFDaEMsZUFBZSxFQUFFLG9CQUFZLENBQUMsTUFBTTtDQUNyQyxDQUFBO0FBRUQ7Ozs7R0FJRztBQUNVLFFBQUEsK0JBQStCLEdBQUcsSUFBQSw4QkFBYyxFQUMzRCx5Q0FBaUMsRUFDakMsVUFBVSxLQUEyQztJQUNuRCxNQUFNLFFBQVEsR0FBRyxJQUFBLG9CQUFJLEVBQ25CLGlCQUFpQixFQUNqQixFQUFFLEtBQUssRUFBRSxFQUNULENBQUMsRUFBRSxLQUFLLEVBQUUsRUFBRSxFQUFFLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxVQUFVLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxDQUFDLEtBQUssQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUN2RSxDQUFDLElBQUksQ0FBQyxHQUFHLEVBQUU7UUFDVixNQUFNLEVBQUUsSUFBSSxFQUFFLEdBQUcsSUFBQSw4QkFBaUIsRUFBQztZQUNqQyxNQUFNLEVBQUUsZ0JBQWdCO1lBQ3hCLE1BQU0sRUFBRSxDQUFDLElBQUksQ0FBQztZQUNkLE9BQU8sRUFBRSxJQUFBLHlCQUFTLEVBQUMsRUFBRSxLQUFLLEVBQUUsRUFBRSxDQUFDLEVBQUUsS0FBSyxFQUFFLEVBQUUsRUFBRSxDQUFDLENBQUMsRUFBRSxXQUFXLEVBQUUsS0FBSyxDQUFDLElBQUks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
@@ -0,0 +1,9 @@
1
+ import { PayoutReversalDTO } from "@mercurjs/types";
2
+ export type ProcessPayoutReversalWorkflowInput = {
3
+ reversal_ids: string[];
4
+ };
5
+ export declare const processPayoutReversalWorkflowId = "process-payout-reversal";
6
+ export declare const failedReversalEvents: (reversals: PayoutReversalDTO[]) => {
7
+ id: string;
8
+ }[];
9
+ export declare const processPayoutReversalWorkflow: import("@medusajs/framework/workflows-sdk").ReturnWorkflow<ProcessPayoutReversalWorkflowInput, PayoutReversalDTO[], []>;
@@ -0,0 +1,19 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.processPayoutReversalWorkflow = exports.failedReversalEvents = exports.processPayoutReversalWorkflowId = 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("@mercurjs/types");
7
+ const steps_1 = require("../steps");
8
+ exports.processPayoutReversalWorkflowId = "process-payout-reversal";
9
+ const failedReversalEvents = (reversals) => reversals.filter((reversal) => reversal.status === types_1.PayoutStatus.FAILED).map((reversal) => ({ id: reversal.id }));
10
+ exports.failedReversalEvents = failedReversalEvents;
11
+ exports.processPayoutReversalWorkflow = (0, workflows_sdk_1.createWorkflow)(exports.processPayoutReversalWorkflowId, function (input) {
12
+ const reversals = (0, steps_1.processPayoutReversalsStep)({ ids: input.reversal_ids });
13
+ (0, core_flows_1.emitEventStep)({
14
+ eventName: types_1.PayoutModuleEvents.PAYOUT_REVERSAL_FAILED,
15
+ data: (0, workflows_sdk_1.transform)({ reversals }, ({ reversals }) => (0, exports.failedReversalEvents)(reversals)),
16
+ });
17
+ return new workflows_sdk_1.WorkflowResponse(reversals);
18
+ });
19
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvY2Vzcy1wYXlvdXQtcmV2ZXJzYWwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvd29ya2Zsb3dzL3BheW91dC93b3JrZmxvd3MvcHJvY2Vzcy1wYXlvdXQtcmV2ZXJzYWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEscUVBSTBDO0FBQzFDLDREQUEyRDtBQUMzRCwyQ0FBcUY7QUFFckYsb0NBQXFEO0FBTXhDLFFBQUEsK0JBQStCLEdBQUcseUJBQXlCLENBQUE7QUFFakUsTUFBTSxvQkFBb0IsR0FBRyxDQUFDLFNBQThCLEVBQUUsRUFBRSxDQUNyRSxTQUFTLENBQUMsTUFBTSxDQUFDLENBQUMsUUFBUSxFQUFFLEVBQUUsQ0FBQyxRQUFRLENBQUMsTUFBTSxLQUFLLG9CQUFZLENBQUMsTUFBTSxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsUUFBUSxFQUFFLEVBQUUsQ0FBQyxDQUFDLEVBQUUsRUFBRSxFQUFFLFFBQVEsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUE7QUFEckcsUUFBQSxvQkFBb0Isd0JBQ2lGO0FBRXJHLFFBQUEsNkJBQTZCLEdBQUcsSUFBQSw4QkFBYyxFQUN6RCx1Q0FBK0IsRUFDL0IsVUFBVSxLQUF5QztJQUNqRCxNQUFNLFNBQVMsR0FBRyxJQUFBLGtDQUEwQixFQUFDLEVBQUUsR0FBRyxFQUFFLEtBQUssQ0FBQyxZQUFZLEVBQUUsQ0FBQyxDQUFBO0lBRXpFLElBQUEsMEJBQWEsRUFBQztRQUNaLFNBQVMsRUFBRSwwQkFBa0IsQ0FBQyxzQkFBc0I7UUFDcEQsSUFBSSxFQUFFLElBQUEseUJBQVMsRUFBQyxFQUFFLFNBQVMsRUFBRSxFQUFFLENBQUMsRUFBRSxTQUFTLEVBQUUsRUFBRSxFQUFFLENBQUMsSUFBQSw0QkFBb0IsRUFBQyxTQUFTLENBQUMsQ0FBQztLQUNuRixDQUFDLENBQUE7SUFFRixPQUFPLElBQUksZ0NBQWdCLENBQUMsU0FBUyxDQUFDLENBQUE7QUFDeEMsQ0FBQyxDQUNGLENBQUEifQ==
@@ -0,0 +1,13 @@
1
+ import { PayoutDTO } from "@mercurjs/types";
2
+ export type ProcessPayoutWorkflowInput = {
3
+ payout_ids: string[];
4
+ };
5
+ export declare const processPayoutWorkflowId = "process-payout";
6
+ export declare const failedPayoutEvents: (payouts: PayoutDTO[]) => {
7
+ id: string;
8
+ }[];
9
+ /**
10
+ * Sends pending or failed payouts to the provider. A payout that is paid,
11
+ * processing or aborted is returned unchanged.
12
+ */
13
+ export declare const processPayoutWorkflow: import("@medusajs/framework/workflows-sdk").ReturnWorkflow<ProcessPayoutWorkflowInput, PayoutDTO[], []>;
@@ -0,0 +1,23 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.processPayoutWorkflow = exports.failedPayoutEvents = exports.processPayoutWorkflowId = 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("@mercurjs/types");
7
+ const steps_1 = require("../steps");
8
+ exports.processPayoutWorkflowId = "process-payout";
9
+ const failedPayoutEvents = (payouts) => payouts.filter((payout) => payout.status === types_1.PayoutStatus.FAILED).map((payout) => ({ id: payout.id }));
10
+ exports.failedPayoutEvents = failedPayoutEvents;
11
+ /**
12
+ * Sends pending or failed payouts to the provider. A payout that is paid,
13
+ * processing or aborted is returned unchanged.
14
+ */
15
+ exports.processPayoutWorkflow = (0, workflows_sdk_1.createWorkflow)(exports.processPayoutWorkflowId, function (input) {
16
+ const payouts = (0, steps_1.processPayoutsStep)({ ids: input.payout_ids });
17
+ (0, core_flows_1.emitEventStep)({
18
+ eventName: types_1.PayoutModuleEvents.PAYOUT_FAILED,
19
+ data: (0, workflows_sdk_1.transform)({ payouts }, ({ payouts }) => (0, exports.failedPayoutEvents)(payouts)),
20
+ });
21
+ return new workflows_sdk_1.WorkflowResponse(payouts);
22
+ });
23
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvY2Vzcy1wYXlvdXQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvd29ya2Zsb3dzL3BheW91dC93b3JrZmxvd3MvcHJvY2Vzcy1wYXlvdXQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEscUVBSTBDO0FBQzFDLDREQUEyRDtBQUMzRCwyQ0FBNkU7QUFFN0Usb0NBQTZDO0FBTWhDLFFBQUEsdUJBQXVCLEdBQUcsZ0JBQWdCLENBQUE7QUFFaEQsTUFBTSxrQkFBa0IsR0FBRyxDQUFDLE9BQW9CLEVBQUUsRUFBRSxDQUN6RCxPQUFPLENBQUMsTUFBTSxDQUFDLENBQUMsTUFBTSxFQUFFLEVBQUUsQ0FBQyxNQUFNLENBQUMsTUFBTSxLQUFLLG9CQUFZLENBQUMsTUFBTSxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsTUFBTSxFQUFFLEVBQUUsQ0FBQyxDQUFDLEVBQUUsRUFBRSxFQUFFLE1BQU0sQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUE7QUFEM0YsUUFBQSxrQkFBa0Isc0JBQ3lFO0FBRXhHOzs7R0FHRztBQUNVLFFBQUEscUJBQXFCLEdBQUcsSUFBQSw4QkFBYyxFQUNqRCwrQkFBdUIsRUFDdkIsVUFBVSxLQUFpQztJQUN6QyxNQUFNLE9BQU8sR0FBRyxJQUFBLDBCQUFrQixFQUFDLEVBQUUsR0FBRyxFQUFFLEtBQUssQ0FBQyxVQUFVLEVBQUUsQ0FBQyxDQUFBO0lBRTdELElBQUEsMEJBQWEsRUFBQztRQUNaLFNBQVMsRUFBRSwwQkFBa0IsQ0FBQyxhQUFhO1FBQzNDLElBQUksRUFBRSxJQUFBLHlCQUFTLEVBQUMsRUFBRSxPQUFPLEVBQUUsRUFBRSxDQUFDLEVBQUUsT0FBTyxFQUFFLEVBQUUsRUFBRSxDQUFDLElBQUEsMEJBQWtCLEVBQUMsT0FBTyxDQUFDLENBQUM7S0FDM0UsQ0FBQyxDQUFBO0lBRUYsT0FBTyxJQUFJLGdDQUFnQixDQUFDLE9BQU8sQ0FBQyxDQUFBO0FBQ3RDLENBQUMsQ0FDRixDQUFBIn0=
@@ -0,0 +1,13 @@
1
+ export type RefreshOnboardingWorkflowInput = {
2
+ token: string;
3
+ };
4
+ export type RefreshOnboardingWorkflowOutput = {
5
+ url: string;
6
+ };
7
+ export declare const refreshOnboardingWorkflowId = "refresh-onboarding";
8
+ /**
9
+ * Exchanges an expired onboarding link's token for a fresh link. The token
10
+ * is rotated, so each refresh URL works once and only within the module's
11
+ * `onboarding.tokenTtlSeconds`.
12
+ */
13
+ export declare const refreshOnboardingWorkflow: import("@medusajs/framework/workflows-sdk").ReturnWorkflow<RefreshOnboardingWorkflowInput, RefreshOnboardingWorkflowOutput, []>;