@mercurjs/core 2.3.9-canary.4 → 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 (197) 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/hooks/payout/route.js +4 -6
  27. package/.medusa/server/src/api/middlewares.js +5 -1
  28. package/.medusa/server/src/api/payout/onboarding/refresh/route.d.ts +6 -0
  29. package/.medusa/server/src/api/payout/onboarding/refresh/route.js +21 -0
  30. package/.medusa/server/src/api/store/carts/middlewares.js +11 -1
  31. package/.medusa/server/src/api/utils/ensure-seller-middleware.js +2 -2
  32. package/.medusa/server/src/api/vendor/payout-accounts/[id]/onboarding/route.js +2 -8
  33. package/.medusa/server/src/api/vendor/payout-accounts/helpers.d.ts +2 -0
  34. package/.medusa/server/src/api/vendor/payout-accounts/helpers.js +7 -2
  35. package/.medusa/server/src/api/vendor/payout-accounts/me/route.d.ts +3 -0
  36. package/.medusa/server/src/api/vendor/payout-accounts/me/route.js +15 -0
  37. package/.medusa/server/src/api/vendor/payout-accounts/middlewares.js +9 -1
  38. package/.medusa/server/src/api/vendor/payout-accounts/query-config.d.ts +11 -0
  39. package/.medusa/server/src/api/vendor/payout-accounts/query-config.js +30 -2
  40. package/.medusa/server/src/api/vendor/payout-accounts/route.js +4 -9
  41. package/.medusa/server/src/api/vendor/payout-accounts/validators.d.ts +3 -1
  42. package/.medusa/server/src/api/vendor/payout-accounts/validators.js +5 -2
  43. package/.medusa/server/src/api/vendor/payouts/query-config.d.ts +2 -0
  44. package/.medusa/server/src/api/vendor/payouts/query-config.js +12 -2
  45. package/.medusa/server/src/api/vendor/payouts/validators.d.ts +1 -0
  46. package/.medusa/server/src/api/vendor/payouts/validators.js +2 -1
  47. package/.medusa/server/src/api/vendor/sellers/select/route.js +2 -2
  48. package/.medusa/server/src/modules/payout/index.d.ts +1 -45
  49. package/.medusa/server/src/modules/payout/loaders/provider.js +7 -3
  50. package/.medusa/server/src/modules/payout/migrations/Migration20261028120000.d.ts +5 -0
  51. package/.medusa/server/src/modules/payout/migrations/Migration20261028120000.js +97 -0
  52. package/.medusa/server/src/modules/payout/models/index.d.ts +1 -0
  53. package/.medusa/server/src/modules/payout/models/index.js +4 -2
  54. package/.medusa/server/src/modules/payout/models/onboarding.d.ts +22 -1
  55. package/.medusa/server/src/modules/payout/models/payout-account.d.ts +23 -2
  56. package/.medusa/server/src/modules/payout/models/payout-account.js +33 -7
  57. package/.medusa/server/src/modules/payout/models/payout-reversal.d.ts +48 -0
  58. package/.medusa/server/src/modules/payout/models/payout-reversal.js +37 -0
  59. package/.medusa/server/src/modules/payout/models/payout.d.ts +22 -1
  60. package/.medusa/server/src/modules/payout/models/payout.js +18 -2
  61. package/.medusa/server/src/modules/payout/providers/system.d.ts +11 -5
  62. package/.medusa/server/src/modules/payout/providers/system.js +33 -14
  63. package/.medusa/server/src/modules/payout/services/payout-module-service.d.ts +94 -100
  64. package/.medusa/server/src/modules/payout/services/payout-module-service.js +316 -109
  65. package/.medusa/server/src/modules/payout/services/provider-service.d.ts +11 -7
  66. package/.medusa/server/src/modules/payout/services/provider-service.js +33 -13
  67. package/.medusa/server/src/modules/payout/utils/abstract-payout-provider.d.ts +20 -0
  68. package/.medusa/server/src/modules/payout/utils/abstract-payout-provider.js +19 -0
  69. package/.medusa/server/src/modules/payout/utils/index.d.ts +1 -0
  70. package/.medusa/server/src/modules/payout/utils/index.js +18 -0
  71. package/.medusa/server/src/modules/telemetry/index.d.ts +21 -0
  72. package/.medusa/server/src/modules/telemetry/index.js +12 -0
  73. package/.medusa/server/src/modules/telemetry/migrations/Migration20261029000000.d.ts +5 -0
  74. package/.medusa/server/src/modules/telemetry/migrations/Migration20261029000000.js +27 -0
  75. package/.medusa/server/src/modules/telemetry/models/index.d.ts +1 -0
  76. package/.medusa/server/src/modules/telemetry/models/index.js +10 -0
  77. package/.medusa/server/src/modules/telemetry/models/installation.d.ts +9 -0
  78. package/.medusa/server/src/modules/telemetry/models/installation.js +14 -0
  79. package/.medusa/server/src/modules/telemetry/repositories/index.d.ts +1 -0
  80. package/.medusa/server/src/modules/telemetry/repositories/index.js +18 -0
  81. package/.medusa/server/src/modules/telemetry/repositories/telemetry-heartbeat.d.ts +10 -0
  82. package/.medusa/server/src/modules/telemetry/repositories/telemetry-heartbeat.js +28 -0
  83. package/.medusa/server/src/modules/telemetry/service.d.ts +25 -0
  84. package/.medusa/server/src/modules/telemetry/service.js +54 -0
  85. package/.medusa/server/src/subscribers/payout-webhook.d.ts +2 -2
  86. package/.medusa/server/src/subscribers/payout-webhook.js +9 -5
  87. package/.medusa/server/src/subscribers/telemetry-first-member-invited.d.ts +3 -0
  88. package/.medusa/server/src/subscribers/telemetry-first-member-invited.js +14 -0
  89. package/.medusa/server/src/subscribers/telemetry-first-offer.d.ts +3 -0
  90. package/.medusa/server/src/subscribers/telemetry-first-offer.js +14 -0
  91. package/.medusa/server/src/subscribers/telemetry-first-order.d.ts +3 -0
  92. package/.medusa/server/src/subscribers/telemetry-first-order.js +14 -0
  93. package/.medusa/server/src/subscribers/telemetry-first-payout-account.d.ts +5 -0
  94. package/.medusa/server/src/subscribers/telemetry-first-payout-account.js +24 -0
  95. package/.medusa/server/src/subscribers/telemetry-first-product-published.d.ts +3 -0
  96. package/.medusa/server/src/subscribers/telemetry-first-product-published.js +14 -0
  97. package/.medusa/server/src/subscribers/telemetry-first-seller-approved.d.ts +3 -0
  98. package/.medusa/server/src/subscribers/telemetry-first-seller-approved.js +14 -0
  99. package/.medusa/server/src/subscribers/telemetry-first-seller.d.ts +3 -0
  100. package/.medusa/server/src/subscribers/telemetry-first-seller.js +14 -0
  101. package/.medusa/server/src/utils/telemetry/boot.d.ts +7 -0
  102. package/.medusa/server/src/utils/telemetry/boot.js +117 -0
  103. package/.medusa/server/src/utils/telemetry/buckets.d.ts +2 -0
  104. package/.medusa/server/src/utils/telemetry/buckets.js +22 -0
  105. package/.medusa/server/src/utils/telemetry/config.d.ts +19 -0
  106. package/.medusa/server/src/utils/telemetry/config.js +60 -0
  107. package/.medusa/server/src/utils/telemetry/first-party.d.ts +11 -0
  108. package/.medusa/server/src/utils/telemetry/first-party.js +33 -0
  109. package/.medusa/server/src/utils/telemetry/identity.d.ts +6 -0
  110. package/.medusa/server/src/utils/telemetry/identity.js +32 -0
  111. package/.medusa/server/src/utils/telemetry/index.d.ts +8 -0
  112. package/.medusa/server/src/utils/telemetry/index.js +27 -0
  113. package/.medusa/server/src/utils/telemetry/milestones.d.ts +20 -0
  114. package/.medusa/server/src/utils/telemetry/milestones.js +60 -0
  115. package/.medusa/server/src/utils/telemetry/sender.d.ts +17 -0
  116. package/.medusa/server/src/utils/telemetry/sender.js +48 -0
  117. package/.medusa/server/src/utils/telemetry/snapshot.d.ts +13 -0
  118. package/.medusa/server/src/utils/telemetry/snapshot.js +193 -0
  119. package/.medusa/server/src/with-mercur.d.ts +6 -0
  120. package/.medusa/server/src/with-mercur.js +1 -1
  121. package/.medusa/server/src/workflows/payment/utils/split-order-payment-group.js +11 -3
  122. package/.medusa/server/src/workflows/payment/workflows/process-payment.js +10 -5
  123. package/.medusa/server/src/workflows/payout/steps/create-onboarding.d.ts +8 -2
  124. package/.medusa/server/src/workflows/payout/steps/create-onboarding.js +10 -4
  125. package/.medusa/server/src/workflows/payout/steps/create-payout-account.d.ts +3 -2
  126. package/.medusa/server/src/workflows/payout/steps/create-payout-account.js +9 -3
  127. package/.medusa/server/src/workflows/payout/steps/create-payout-accounts.d.ts +11 -0
  128. package/.medusa/server/src/workflows/payout/steps/create-payout-accounts.js +22 -0
  129. package/.medusa/server/src/workflows/payout/steps/create-payout-reversals.d.ts +4 -0
  130. package/.medusa/server/src/workflows/payout/steps/create-payout-reversals.js +23 -0
  131. package/.medusa/server/src/workflows/payout/steps/create-payouts.d.ts +4 -0
  132. package/.medusa/server/src/workflows/payout/steps/create-payouts.js +23 -0
  133. package/.medusa/server/src/workflows/payout/steps/index.d.ts +12 -5
  134. package/.medusa/server/src/workflows/payout/steps/index.js +13 -6
  135. package/.medusa/server/src/workflows/payout/steps/process-payout-reversals.d.ts +6 -0
  136. package/.medusa/server/src/workflows/payout/steps/process-payout-reversals.js +17 -0
  137. package/.medusa/server/src/workflows/payout/steps/process-payouts.d.ts +6 -0
  138. package/.medusa/server/src/workflows/payout/steps/process-payouts.js +17 -0
  139. package/.medusa/server/src/workflows/payout/steps/sync-payout-account.d.ts +8 -0
  140. package/.medusa/server/src/workflows/payout/steps/sync-payout-account.js +33 -0
  141. package/.medusa/server/src/workflows/payout/steps/update-payout-reversals.d.ts +4 -0
  142. package/.medusa/server/src/workflows/payout/steps/update-payout-reversals.js +29 -0
  143. package/.medusa/server/src/workflows/payout/steps/update-payouts.d.ts +4 -0
  144. package/.medusa/server/src/workflows/payout/steps/update-payouts.js +34 -0
  145. package/.medusa/server/src/workflows/payout/steps/validate-onboarding-token.d.ts +12 -0
  146. package/.medusa/server/src/workflows/payout/steps/validate-onboarding-token.js +23 -0
  147. package/.medusa/server/src/workflows/payout/steps/validate-payout-retry.d.ts +10 -0
  148. package/.medusa/server/src/workflows/payout/steps/validate-payout-retry.js +15 -0
  149. package/.medusa/server/src/workflows/payout/steps/validate-seller-without-payout-account.d.ts +10 -0
  150. package/.medusa/server/src/workflows/payout/steps/validate-seller-without-payout-account.js +13 -0
  151. package/.medusa/server/src/workflows/payout/utils/fulfillment-status.d.ts +26 -0
  152. package/.medusa/server/src/workflows/payout/utils/fulfillment-status.js +64 -0
  153. package/.medusa/server/src/workflows/payout/utils/index.d.ts +3 -0
  154. package/.medusa/server/src/workflows/payout/utils/index.js +20 -0
  155. package/.medusa/server/src/workflows/payout/utils/payout-amounts.d.ts +173 -0
  156. package/.medusa/server/src/workflows/payout/utils/payout-amounts.js +304 -0
  157. package/.medusa/server/src/workflows/payout/utils/sent-to-provider.d.ts +11 -0
  158. package/.medusa/server/src/workflows/payout/utils/sent-to-provider.js +15 -0
  159. package/.medusa/server/src/workflows/payout/workflows/create-onboarding.d.ts +5 -0
  160. package/.medusa/server/src/workflows/payout/workflows/create-onboarding.js +8 -3
  161. package/.medusa/server/src/workflows/payout/workflows/create-or-refresh-seller-payout-account.d.ts +16 -0
  162. package/.medusa/server/src/workflows/payout/workflows/create-or-refresh-seller-payout-account.js +38 -0
  163. package/.medusa/server/src/workflows/payout/workflows/create-order-payouts.d.ts +28 -0
  164. package/.medusa/server/src/workflows/payout/workflows/create-order-payouts.js +82 -0
  165. package/.medusa/server/src/workflows/payout/workflows/create-payout-account.d.ts +11 -5
  166. package/.medusa/server/src/workflows/payout/workflows/create-payout-account.js +42 -17
  167. package/.medusa/server/src/workflows/payout/workflows/create-payout-reversals.d.ts +14 -0
  168. package/.medusa/server/src/workflows/payout/workflows/create-payout-reversals.js +61 -0
  169. package/.medusa/server/src/workflows/payout/workflows/index.d.ts +11 -2
  170. package/.medusa/server/src/workflows/payout/workflows/index.js +12 -3
  171. package/.medusa/server/src/workflows/payout/workflows/link-payout-account.d.ts +11 -0
  172. package/.medusa/server/src/workflows/payout/workflows/link-payout-account.js +35 -0
  173. package/.medusa/server/src/workflows/payout/workflows/process-payout-for-webhook.d.ts +7 -3
  174. package/.medusa/server/src/workflows/payout/workflows/process-payout-for-webhook.js +50 -57
  175. package/.medusa/server/src/workflows/payout/workflows/process-payout-reversal.d.ts +9 -0
  176. package/.medusa/server/src/workflows/payout/workflows/process-payout-reversal.js +19 -0
  177. package/.medusa/server/src/workflows/payout/workflows/process-payout.d.ts +13 -0
  178. package/.medusa/server/src/workflows/payout/workflows/process-payout.js +23 -0
  179. package/.medusa/server/src/workflows/payout/workflows/refresh-onboarding.d.ts +13 -0
  180. package/.medusa/server/src/workflows/payout/workflows/refresh-onboarding.js +26 -0
  181. package/.medusa/server/src/workflows/payout/workflows/refresh-payout-account-link.d.ts +9 -0
  182. package/.medusa/server/src/workflows/payout/workflows/refresh-payout-account-link.js +15 -0
  183. package/.medusa/server/src/workflows/payout/workflows/retry-payout.d.ts +10 -0
  184. package/.medusa/server/src/workflows/payout/workflows/retry-payout.js +36 -0
  185. package/.medusa/server/src/workflows/payout/workflows/sync-payout-account.d.ts +9 -0
  186. package/.medusa/server/src/workflows/payout/workflows/sync-payout-account.js +24 -0
  187. package/package.json +3 -3
  188. package/.medusa/server/src/workflows/payout/steps/create-payout.d.ts +0 -3
  189. package/.medusa/server/src/workflows/payout/steps/create-payout.js +0 -12
  190. package/.medusa/server/src/workflows/payout/steps/update-payout-account.d.ts +0 -35
  191. package/.medusa/server/src/workflows/payout/steps/update-payout-account.js +0 -27
  192. package/.medusa/server/src/workflows/payout/steps/update-payout.d.ts +0 -35
  193. package/.medusa/server/src/workflows/payout/steps/update-payout.js +0 -27
  194. package/.medusa/server/src/workflows/payout/steps/validate-seller-payout-account.d.ts +0 -5
  195. package/.medusa/server/src/workflows/payout/steps/validate-seller-payout-account.js +0 -21
  196. package/.medusa/server/src/workflows/payout/workflows/create-payout.d.ts +0 -9
  197. package/.medusa/server/src/workflows/payout/workflows/create-payout.js +0 -87
@@ -0,0 +1,17 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.processPayoutReversalsStep = exports.processPayoutReversalsStepId = void 0;
4
+ const workflows_sdk_1 = require("@medusajs/framework/workflows-sdk");
5
+ const types_1 = require("@mercurjs/types");
6
+ exports.processPayoutReversalsStepId = "process-payout-reversals";
7
+ exports.processPayoutReversalsStep = (0, workflows_sdk_1.createStep)(exports.processPayoutReversalsStepId, async (input, { container }) => {
8
+ const service = container.resolve(types_1.MercurModules.PAYOUT);
9
+ const reversals = [];
10
+ for (const id of input.ids) {
11
+ reversals.push(await service.processPayoutReversal(id));
12
+ }
13
+ return new workflows_sdk_1.StepResponse(reversals);
14
+ }
15
+ // Not compensated: money that reached the provider cannot be pulled back by a rollback.
16
+ );
17
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvY2Vzcy1wYXlvdXQtcmV2ZXJzYWxzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vc3JjL3dvcmtmbG93cy9wYXlvdXQvc3RlcHMvcHJvY2Vzcy1wYXlvdXQtcmV2ZXJzYWxzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLHFFQUE0RTtBQUM1RSwyQ0FBd0Y7QUFNM0UsUUFBQSw0QkFBNEIsR0FBRywwQkFBMEIsQ0FBQTtBQUV6RCxRQUFBLDBCQUEwQixHQUFHLElBQUEsMEJBQVUsRUFDbEQsb0NBQTRCLEVBQzVCLEtBQUssRUFBRSxLQUFzQyxFQUFFLEVBQUUsU0FBUyxFQUFFLEVBQUUsRUFBRTtJQUM5RCxNQUFNLE9BQU8sR0FBRyxTQUFTLENBQUMsT0FBTyxDQUF1QixxQkFBYSxDQUFDLE1BQU0sQ0FBQyxDQUFBO0lBRTdFLE1BQU0sU0FBUyxHQUF3QixFQUFFLENBQUE7SUFDekMsS0FBSyxNQUFNLEVBQUUsSUFBSSxLQUFLLENBQUMsR0FBRyxFQUFFLENBQUM7UUFDM0IsU0FBUyxDQUFDLElBQUksQ0FBQyxNQUFNLE9BQU8sQ0FBQyxxQkFBcUIsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFBO0lBQ3pELENBQUM7SUFFRCxPQUFPLElBQUksNEJBQVksQ0FBQyxTQUFTLENBQUMsQ0FBQTtBQUNwQyxDQUFDO0FBQ0Qsd0ZBQXdGO0NBQ3pGLENBQUEifQ==
@@ -0,0 +1,6 @@
1
+ import { PayoutDTO } from "@mercurjs/types";
2
+ export type ProcessPayoutsStepInput = {
3
+ ids: string[];
4
+ };
5
+ export declare const processPayoutsStepId = "process-payouts";
6
+ export declare const processPayoutsStep: import("@medusajs/framework/workflows-sdk").StepFunction<ProcessPayoutsStepInput, PayoutDTO[]>;
@@ -0,0 +1,17 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.processPayoutsStep = exports.processPayoutsStepId = void 0;
4
+ const workflows_sdk_1 = require("@medusajs/framework/workflows-sdk");
5
+ const types_1 = require("@mercurjs/types");
6
+ exports.processPayoutsStepId = "process-payouts";
7
+ exports.processPayoutsStep = (0, workflows_sdk_1.createStep)(exports.processPayoutsStepId, async (input, { container }) => {
8
+ const service = container.resolve(types_1.MercurModules.PAYOUT);
9
+ const payouts = [];
10
+ for (const id of input.ids) {
11
+ payouts.push(await service.processPayout(id));
12
+ }
13
+ return new workflows_sdk_1.StepResponse(payouts);
14
+ }
15
+ // Not compensated: money that reached the provider cannot be pulled back by a rollback.
16
+ );
17
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvY2Vzcy1wYXlvdXRzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vc3JjL3dvcmtmbG93cy9wYXlvdXQvc3RlcHMvcHJvY2Vzcy1wYXlvdXRzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLHFFQUE0RTtBQUM1RSwyQ0FBZ0Y7QUFNbkUsUUFBQSxvQkFBb0IsR0FBRyxpQkFBaUIsQ0FBQTtBQUV4QyxRQUFBLGtCQUFrQixHQUFHLElBQUEsMEJBQVUsRUFDMUMsNEJBQW9CLEVBQ3BCLEtBQUssRUFBRSxLQUE4QixFQUFFLEVBQUUsU0FBUyxFQUFFLEVBQUUsRUFBRTtJQUN0RCxNQUFNLE9BQU8sR0FBRyxTQUFTLENBQUMsT0FBTyxDQUF1QixxQkFBYSxDQUFDLE1BQU0sQ0FBQyxDQUFBO0lBRTdFLE1BQU0sT0FBTyxHQUFnQixFQUFFLENBQUE7SUFDL0IsS0FBSyxNQUFNLEVBQUUsSUFBSSxLQUFLLENBQUMsR0FBRyxFQUFFLENBQUM7UUFDM0IsT0FBTyxDQUFDLElBQUksQ0FBQyxNQUFNLE9BQU8sQ0FBQyxhQUFhLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQTtJQUMvQyxDQUFDO0lBRUQsT0FBTyxJQUFJLDRCQUFZLENBQUMsT0FBTyxDQUFDLENBQUE7QUFDbEMsQ0FBQztBQUNELHdGQUF3RjtDQUN6RixDQUFBIn0=
@@ -0,0 +1,8 @@
1
+ export type SyncPayoutAccountStepInput = {
2
+ id: string;
3
+ };
4
+ export declare const syncPayoutAccountStepId = "sync-payout-account-step";
5
+ /**
6
+ * Pulls the account from the provider and stores its state.
7
+ */
8
+ export declare const syncPayoutAccountStep: import("@medusajs/framework/workflows-sdk").StepFunction<SyncPayoutAccountStepInput, import("@mercurjs/types").PayoutAccountDTO>;
@@ -0,0 +1,33 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.syncPayoutAccountStep = exports.syncPayoutAccountStepId = void 0;
4
+ const workflows_sdk_1 = require("@medusajs/framework/workflows-sdk");
5
+ const types_1 = require("@mercurjs/types");
6
+ exports.syncPayoutAccountStepId = "sync-payout-account-step";
7
+ /**
8
+ * Pulls the account from the provider and stores its state.
9
+ */
10
+ exports.syncPayoutAccountStep = (0, workflows_sdk_1.createStep)(exports.syncPayoutAccountStepId, async (input, { container }) => {
11
+ const service = container.resolve(types_1.MercurModules.PAYOUT);
12
+ const previous = await service.retrievePayoutAccount(input.id);
13
+ const account = await service.syncPayoutAccount(input.id);
14
+ return new workflows_sdk_1.StepResponse(account, {
15
+ id: previous.id,
16
+ status: previous.status,
17
+ kyc_status: previous.kyc_status,
18
+ payouts_enabled: previous.payouts_enabled,
19
+ charges_enabled: previous.charges_enabled,
20
+ details_submitted: previous.details_submitted,
21
+ disabled_reason: previous.disabled_reason,
22
+ onboarding_token: previous.onboarding_token,
23
+ onboarding_token_issued_at: previous.onboarding_token_issued_at,
24
+ last_synced_at: previous.last_synced_at,
25
+ data: previous.data,
26
+ });
27
+ }, async (previous, { container }) => {
28
+ if (!previous) {
29
+ return;
30
+ }
31
+ await container.resolve(types_1.MercurModules.PAYOUT).updatePayoutAccounts(previous);
32
+ });
33
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3luYy1wYXlvdXQtYWNjb3VudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy93b3JrZmxvd3MvcGF5b3V0L3N0ZXBzL3N5bmMtcGF5b3V0LWFjY291bnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEscUVBQTRFO0FBQzVFLDJDQUFxRTtBQU14RCxRQUFBLHVCQUF1QixHQUFHLDBCQUEwQixDQUFBO0FBRWpFOztHQUVHO0FBQ1UsUUFBQSxxQkFBcUIsR0FBRyxJQUFBLDBCQUFVLEVBQzdDLCtCQUF1QixFQUN2QixLQUFLLEVBQUUsS0FBaUMsRUFBRSxFQUFFLFNBQVMsRUFBRSxFQUFFLEVBQUU7SUFDekQsTUFBTSxPQUFPLEdBQUcsU0FBUyxDQUFDLE9BQU8sQ0FBdUIscUJBQWEsQ0FBQyxNQUFNLENBQUMsQ0FBQTtJQUU3RSxNQUFNLFFBQVEsR0FBRyxNQUFNLE9BQU8sQ0FBQyxxQkFBcUIsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUE7SUFDOUQsTUFBTSxPQUFPLEdBQUcsTUFBTSxPQUFPLENBQUMsaUJBQWlCLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFBO0lBRXpELE9BQU8sSUFBSSw0QkFBWSxDQUFDLE9BQU8sRUFBRTtRQUMvQixFQUFFLEVBQUUsUUFBUSxDQUFDLEVBQUU7UUFDZixNQUFNLEVBQUUsUUFBUSxDQUFDLE1BQU07UUFDdkIsVUFBVSxFQUFFLFFBQVEsQ0FBQyxVQUFVO1FBQy9CLGVBQWUsRUFBRSxRQUFRLENBQUMsZUFBZTtRQUN6QyxlQUFlLEVBQUUsUUFBUSxDQUFDLGVBQWU7UUFDekMsaUJBQWlCLEVBQUUsUUFBUSxDQUFDLGlCQUFpQjtRQUM3QyxlQUFlLEVBQUUsUUFBUSxDQUFDLGVBQWU7UUFDekMsZ0JBQWdCLEVBQUUsUUFBUSxDQUFDLGdCQUFnQjtRQUMzQywwQkFBMEIsRUFBRSxRQUFRLENBQUMsMEJBQTBCO1FBQy9ELGNBQWMsRUFBRSxRQUFRLENBQUMsY0FBYztRQUN2QyxJQUFJLEVBQUUsUUFBUSxDQUFDLElBQUk7S0FDcEIsQ0FBQyxDQUFBO0FBQ0osQ0FBQyxFQUNELEtBQUssRUFBRSxRQUFRLEVBQUUsRUFBRSxTQUFTLEVBQUUsRUFBRSxFQUFFO0lBQ2hDLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQztRQUNkLE9BQU07SUFDUixDQUFDO0lBRUQsTUFBTSxTQUFTLENBQUMsT0FBTyxDQUF1QixxQkFBYSxDQUFDLE1BQU0sQ0FBQyxDQUFDLG9CQUFvQixDQUFDLFFBQVEsQ0FBQyxDQUFBO0FBQ3BHLENBQUMsQ0FDRixDQUFBIn0=
@@ -0,0 +1,4 @@
1
+ import { UpdatePayoutReversalDTO } from "@mercurjs/types";
2
+ export type UpdatePayoutReversalsStepInput = UpdatePayoutReversalDTO[];
3
+ export declare const updatePayoutReversalsStepId = "update-payout-reversals";
4
+ export declare const updatePayoutReversalsStep: import("@medusajs/framework/workflows-sdk").StepFunction<UpdatePayoutReversalsStepInput, import("@mercurjs/types").PayoutReversalDTO[]>;
@@ -0,0 +1,29 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.updatePayoutReversalsStep = exports.updatePayoutReversalsStepId = void 0;
4
+ const workflows_sdk_1 = require("@medusajs/framework/workflows-sdk");
5
+ const types_1 = require("@mercurjs/types");
6
+ const sent_to_provider_1 = require("../utils/sent-to-provider");
7
+ exports.updatePayoutReversalsStepId = "update-payout-reversals";
8
+ exports.updatePayoutReversalsStep = (0, workflows_sdk_1.createStep)(exports.updatePayoutReversalsStepId, async (input, { container }) => {
9
+ const service = container.resolve(types_1.MercurModules.PAYOUT);
10
+ const previous = input.length
11
+ ? await service.listPayoutReversals({ id: input.map((reversal) => reversal.id) }, { take: null })
12
+ : [];
13
+ const reversals = input.length ? await service.updatePayoutReversals(input) : [];
14
+ return new workflows_sdk_1.StepResponse(reversals, previous.map(({ id, amount, status, status_reason, data }) => ({ id, amount, status, status_reason, data })));
15
+ }, async (previous, { container }) => {
16
+ if (!previous?.length) {
17
+ return;
18
+ }
19
+ const service = container.resolve(types_1.MercurModules.PAYOUT);
20
+ const current = new Map((await service.listPayoutReversals({ id: previous.map((reversal) => reversal.id) }, { select: ["id", "status", "data"], take: null })).map((reversal) => [reversal.id, reversal]));
21
+ const restorable = previous.filter((reversal) => {
22
+ const now = current.get(reversal.id);
23
+ return now && !(0, sent_to_provider_1.sentToProvider)(now, reversal);
24
+ });
25
+ if (restorable.length) {
26
+ await service.updatePayoutReversals(restorable);
27
+ }
28
+ });
29
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXBkYXRlLXBheW91dC1yZXZlcnNhbHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvd29ya2Zsb3dzL3BheW91dC9zdGVwcy91cGRhdGUtcGF5b3V0LXJldmVyc2Fscy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSxxRUFBNEU7QUFDNUUsMkNBQThGO0FBRTlGLGdFQUEwRDtBQUk3QyxRQUFBLDJCQUEyQixHQUFHLHlCQUF5QixDQUFBO0FBRXZELFFBQUEseUJBQXlCLEdBQUcsSUFBQSwwQkFBVSxFQUNqRCxtQ0FBMkIsRUFDM0IsS0FBSyxFQUFFLEtBQXFDLEVBQUUsRUFBRSxTQUFTLEVBQUUsRUFBRSxFQUFFO0lBQzdELE1BQU0sT0FBTyxHQUFHLFNBQVMsQ0FBQyxPQUFPLENBQXVCLHFCQUFhLENBQUMsTUFBTSxDQUFDLENBQUE7SUFDN0UsTUFBTSxRQUFRLEdBQUcsS0FBSyxDQUFDLE1BQU07UUFDM0IsQ0FBQyxDQUFDLE1BQU0sT0FBTyxDQUFDLG1CQUFtQixDQUFDLEVBQUUsRUFBRSxFQUFFLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxRQUFRLEVBQUUsRUFBRSxDQUFDLFFBQVEsQ0FBQyxFQUFFLENBQUMsRUFBRSxFQUFFLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxDQUFDO1FBQ2pHLENBQUMsQ0FBQyxFQUFFLENBQUE7SUFDTixNQUFNLFNBQVMsR0FBRyxLQUFLLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxNQUFNLE9BQU8sQ0FBQyxxQkFBcUIsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFBO0lBRWhGLE9BQU8sSUFBSSw0QkFBWSxDQUNyQixTQUFTLEVBQ1QsUUFBUSxDQUFDLEdBQUcsQ0FBQyxDQUFDLEVBQUUsRUFBRSxFQUFFLE1BQU0sRUFBRSxNQUFNLEVBQUUsYUFBYSxFQUFFLElBQUksRUFBRSxFQUFFLEVBQUUsQ0FBQyxDQUFDLEVBQUUsRUFBRSxFQUFFLE1BQU0sRUFBRSxNQUFNLEVBQUUsYUFBYSxFQUFFLElBQUksRUFBRSxDQUFDLENBQUMsQ0FDN0csQ0FBQTtBQUNILENBQUMsRUFDRCxLQUFLLEVBQUUsUUFBUSxFQUFFLEVBQUUsU0FBUyxFQUFFLEVBQUUsRUFBRTtJQUNoQyxJQUFJLENBQUMsUUFBUSxFQUFFLE1BQU0sRUFBRSxDQUFDO1FBQ3RCLE9BQU07SUFDUixDQUFDO0lBRUQsTUFBTSxPQUFPLEdBQUcsU0FBUyxDQUFDLE9BQU8sQ0FBdUIscUJBQWEsQ0FBQyxNQUFNLENBQUMsQ0FBQTtJQUM3RSxNQUFNLE9BQU8sR0FBRyxJQUFJLEdBQUcsQ0FDckIsQ0FDRSxNQUFNLE9BQU8sQ0FBQyxtQkFBbUIsQ0FDL0IsRUFBRSxFQUFFLEVBQUUsUUFBUSxDQUFDLEdBQUcsQ0FBQyxDQUFDLFFBQVEsRUFBRSxFQUFFLENBQUMsUUFBUSxDQUFDLEVBQUUsQ0FBQyxFQUFFLEVBQy9DLEVBQUUsTUFBTSxFQUFFLENBQUMsSUFBSSxFQUFFLFFBQVEsRUFBRSxNQUFNLENBQUMsRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLENBQ2pELENBQ0YsQ0FBQyxHQUFHLENBQUMsQ0FBQyxRQUFRLEVBQUUsRUFBRSxDQUFDLENBQUMsUUFBUSxDQUFDLEVBQUUsRUFBRSxRQUFRLENBQUMsQ0FBQyxDQUM3QyxDQUFBO0lBQ0QsTUFBTSxVQUFVLEdBQUcsUUFBUSxDQUFDLE1BQU0sQ0FBQyxDQUFDLFFBQVEsRUFBRSxFQUFFO1FBQzlDLE1BQU0sR0FBRyxHQUFHLE9BQU8sQ0FBQyxHQUFHLENBQUMsUUFBUSxDQUFDLEVBQUUsQ0FBQyxDQUFBO1FBQ3BDLE9BQU8sR0FBRyxJQUFJLENBQUMsSUFBQSxpQ0FBYyxFQUFDLEdBQUcsRUFBRSxRQUFRLENBQUMsQ0FBQTtJQUM5QyxDQUFDLENBQUMsQ0FBQTtJQUVGLElBQUksVUFBVSxDQUFDLE1BQU0sRUFBRSxDQUFDO1FBQ3RCLE1BQU0sT0FBTyxDQUFDLHFCQUFxQixDQUFDLFVBQVUsQ0FBQyxDQUFBO0lBQ2pELENBQUM7QUFDSCxDQUFDLENBQ0YsQ0FBQSJ9
@@ -0,0 +1,4 @@
1
+ import { UpdatePayoutDTO } from "@mercurjs/types";
2
+ export type UpdatePayoutsStepInput = UpdatePayoutDTO[];
3
+ export declare const updatePayoutsStepId = "update-payouts";
4
+ export declare const updatePayoutsStep: import("@medusajs/framework/workflows-sdk").StepFunction<UpdatePayoutsStepInput, import("@mercurjs/types").PayoutDTO[]>;
@@ -0,0 +1,34 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.updatePayoutsStep = exports.updatePayoutsStepId = void 0;
4
+ const workflows_sdk_1 = require("@medusajs/framework/workflows-sdk");
5
+ const types_1 = require("@mercurjs/types");
6
+ const sent_to_provider_1 = require("../utils/sent-to-provider");
7
+ exports.updatePayoutsStepId = "update-payouts";
8
+ exports.updatePayoutsStep = (0, workflows_sdk_1.createStep)(exports.updatePayoutsStepId, async (input, { container }) => {
9
+ const service = container.resolve(types_1.MercurModules.PAYOUT);
10
+ const previous = input.length ? await service.listPayouts({ id: input.map((payout) => payout.id) }, { take: null }) : [];
11
+ const payouts = input.length ? await service.updatePayouts(input) : [];
12
+ return new workflows_sdk_1.StepResponse(payouts, previous.map(({ id, account_id, amount, status, status_reason, data }) => ({
13
+ id,
14
+ account_id,
15
+ amount,
16
+ status,
17
+ status_reason,
18
+ data,
19
+ })));
20
+ }, async (previous, { container }) => {
21
+ if (!previous?.length) {
22
+ return;
23
+ }
24
+ const service = container.resolve(types_1.MercurModules.PAYOUT);
25
+ const current = new Map((await service.listPayouts({ id: previous.map((payout) => payout.id) }, { select: ["id", "status", "data"], take: null })).map((payout) => [payout.id, payout]));
26
+ const restorable = previous.filter((payout) => {
27
+ const now = current.get(payout.id);
28
+ return now && !(0, sent_to_provider_1.sentToProvider)(now, payout);
29
+ });
30
+ if (restorable.length) {
31
+ await service.updatePayouts(restorable);
32
+ }
33
+ });
34
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXBkYXRlLXBheW91dHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvd29ya2Zsb3dzL3BheW91dC9zdGVwcy91cGRhdGUtcGF5b3V0cy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSxxRUFBNEU7QUFDNUUsMkNBQXNGO0FBRXRGLGdFQUEwRDtBQUk3QyxRQUFBLG1CQUFtQixHQUFHLGdCQUFnQixDQUFBO0FBRXRDLFFBQUEsaUJBQWlCLEdBQUcsSUFBQSwwQkFBVSxFQUN6QywyQkFBbUIsRUFDbkIsS0FBSyxFQUFFLEtBQTZCLEVBQUUsRUFBRSxTQUFTLEVBQUUsRUFBRSxFQUFFO0lBQ3JELE1BQU0sT0FBTyxHQUFHLFNBQVMsQ0FBQyxPQUFPLENBQXVCLHFCQUFhLENBQUMsTUFBTSxDQUFDLENBQUE7SUFDN0UsTUFBTSxRQUFRLEdBQUcsS0FBSyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsTUFBTSxPQUFPLENBQUMsV0FBVyxDQUFDLEVBQUUsRUFBRSxFQUFFLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxNQUFNLEVBQUUsRUFBRSxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUMsRUFBRSxFQUFFLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQTtJQUN4SCxNQUFNLE9BQU8sR0FBRyxLQUFLLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxNQUFNLE9BQU8sQ0FBQyxhQUFhLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQTtJQUV0RSxPQUFPLElBQUksNEJBQVksQ0FDckIsT0FBTyxFQUNQLFFBQVEsQ0FBQyxHQUFHLENBQUMsQ0FBQyxFQUFFLEVBQUUsRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFLE1BQU0sRUFBRSxhQUFhLEVBQUUsSUFBSSxFQUFFLEVBQUUsRUFBRSxDQUFDLENBQUM7UUFDekUsRUFBRTtRQUNGLFVBQVU7UUFDVixNQUFNO1FBQ04sTUFBTTtRQUNOLGFBQWE7UUFDYixJQUFJO0tBQ0wsQ0FBQyxDQUFDLENBQ0osQ0FBQTtBQUNILENBQUMsRUFDRCxLQUFLLEVBQUUsUUFBUSxFQUFFLEVBQUUsU0FBUyxFQUFFLEVBQUUsRUFBRTtJQUNoQyxJQUFJLENBQUMsUUFBUSxFQUFFLE1BQU0sRUFBRSxDQUFDO1FBQ3RCLE9BQU07SUFDUixDQUFDO0lBRUQsTUFBTSxPQUFPLEdBQUcsU0FBUyxDQUFDLE9BQU8sQ0FBdUIscUJBQWEsQ0FBQyxNQUFNLENBQUMsQ0FBQTtJQUM3RSxNQUFNLE9BQU8sR0FBRyxJQUFJLEdBQUcsQ0FDckIsQ0FDRSxNQUFNLE9BQU8sQ0FBQyxXQUFXLENBQUMsRUFBRSxFQUFFLEVBQUUsUUFBUSxDQUFDLEdBQUcsQ0FBQyxDQUFDLE1BQU0sRUFBRSxFQUFFLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQyxFQUFFLEVBQUUsRUFBRSxNQUFNLEVBQUUsQ0FBQyxJQUFJLEVBQUUsUUFBUSxFQUFFLE1BQU0sQ0FBQyxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUN6SCxDQUFDLEdBQUcsQ0FBQyxDQUFDLE1BQU0sRUFBRSxFQUFFLENBQUMsQ0FBQyxNQUFNLENBQUMsRUFBRSxFQUFFLE1BQU0sQ0FBQyxDQUFDLENBQ3ZDLENBQUE7SUFDRCxNQUFNLFVBQVUsR0FBRyxRQUFRLENBQUMsTUFBTSxDQUFDLENBQUMsTUFBTSxFQUFFLEVBQUU7UUFDNUMsTUFBTSxHQUFHLEdBQUcsT0FBTyxDQUFDLEdBQUcsQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDLENBQUE7UUFDbEMsT0FBTyxHQUFHLElBQUksQ0FBQyxJQUFBLGlDQUFjLEVBQUMsR0FBRyxFQUFFLE1BQU0sQ0FBQyxDQUFBO0lBQzVDLENBQUMsQ0FBQyxDQUFBO0lBRUYsSUFBSSxVQUFVLENBQUMsTUFBTSxFQUFFLENBQUM7UUFDdEIsTUFBTSxPQUFPLENBQUMsYUFBYSxDQUFDLFVBQVUsQ0FBQyxDQUFBO0lBQ3pDLENBQUM7QUFDSCxDQUFDLENBQ0YsQ0FBQSJ9
@@ -0,0 +1,12 @@
1
+ export type ValidateOnboardingTokenStepInput = {
2
+ account: {
3
+ id: string;
4
+ onboarding_token_issued_at: Date | string | null;
5
+ } | null | undefined;
6
+ };
7
+ export declare const validateOnboardingTokenStepId = "validate-onboarding-token";
8
+ /**
9
+ * Rejects an unknown token and one older than the module's
10
+ * `onboarding.tokenTtlSeconds`.
11
+ */
12
+ export declare const validateOnboardingTokenStep: import("@medusajs/framework/workflows-sdk").StepFunction<ValidateOnboardingTokenStepInput, undefined>;
@@ -0,0 +1,23 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.validateOnboardingTokenStep = exports.validateOnboardingTokenStepId = 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("@mercurjs/types");
7
+ exports.validateOnboardingTokenStepId = "validate-onboarding-token";
8
+ /**
9
+ * Rejects an unknown token and one older than the module's
10
+ * `onboarding.tokenTtlSeconds`.
11
+ */
12
+ exports.validateOnboardingTokenStep = (0, workflows_sdk_1.createStep)(exports.validateOnboardingTokenStepId, async ({ account }, { container }) => {
13
+ if (!account) {
14
+ throw new utils_1.MedusaError(utils_1.MedusaError.Types.NOT_FOUND, "Unknown onboarding token");
15
+ }
16
+ const { tokenTtlSeconds } = container.resolve(types_1.MercurModules.PAYOUT).getOptions().onboarding;
17
+ const issuedAt = account.onboarding_token_issued_at ? new Date(account.onboarding_token_issued_at).getTime() : 0;
18
+ if (Date.now() - issuedAt >= tokenTtlSeconds * 1000) {
19
+ throw new utils_1.MedusaError(utils_1.MedusaError.Types.NOT_ALLOWED, "The onboarding token has expired");
20
+ }
21
+ return new workflows_sdk_1.StepResponse(void 0);
22
+ });
23
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmFsaWRhdGUtb25ib2FyZGluZy10b2tlbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy93b3JrZmxvd3MvcGF5b3V0L3N0ZXBzL3ZhbGlkYXRlLW9uYm9hcmRpbmctdG9rZW4udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEscURBQXVEO0FBQ3ZELHFFQUE0RTtBQUM1RSwyQ0FBcUU7QUFNeEQsUUFBQSw2QkFBNkIsR0FBRywyQkFBMkIsQ0FBQTtBQUV4RTs7O0dBR0c7QUFDVSxRQUFBLDJCQUEyQixHQUFHLElBQUEsMEJBQVUsRUFDbkQscUNBQTZCLEVBQzdCLEtBQUssRUFBRSxFQUFFLE9BQU8sRUFBb0MsRUFBRSxFQUFFLFNBQVMsRUFBRSxFQUFFLEVBQUU7SUFDckUsSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDO1FBQ2IsTUFBTSxJQUFJLG1CQUFXLENBQUMsbUJBQVcsQ0FBQyxLQUFLLENBQUMsU0FBUyxFQUFFLDBCQUEwQixDQUFDLENBQUE7SUFDaEYsQ0FBQztJQUVELE1BQU0sRUFBRSxlQUFlLEVBQUUsR0FBRyxTQUFTLENBQUMsT0FBTyxDQUF1QixxQkFBYSxDQUFDLE1BQU0sQ0FBQyxDQUFDLFVBQVUsRUFBRSxDQUFDLFVBQVUsQ0FBQTtJQUNqSCxNQUFNLFFBQVEsR0FBRyxPQUFPLENBQUMsMEJBQTBCLENBQUMsQ0FBQyxDQUFDLElBQUksSUFBSSxDQUFDLE9BQU8sQ0FBQywwQkFBMEIsQ0FBQyxDQUFDLE9BQU8sRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUE7SUFFaEgsSUFBSSxJQUFJLENBQUMsR0FBRyxFQUFFLEdBQUcsUUFBUSxJQUFJLGVBQWUsR0FBRyxJQUFJLEVBQUUsQ0FBQztRQUNwRCxNQUFNLElBQUksbUJBQVcsQ0FBQyxtQkFBVyxDQUFDLEtBQUssQ0FBQyxXQUFXLEVBQUUsa0NBQWtDLENBQUMsQ0FBQTtJQUMxRixDQUFDO0lBRUQsT0FBTyxJQUFJLDRCQUFZLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQTtBQUNqQyxDQUFDLENBQ0YsQ0FBQSJ9
@@ -0,0 +1,10 @@
1
+ import { PayoutStatus } from "@mercurjs/types";
2
+ export type ValidatePayoutRetryStepInput = {
3
+ payout: {
4
+ id: string;
5
+ status: PayoutStatus;
6
+ };
7
+ };
8
+ export declare const RETRYABLE_PAYOUT_STATUSES: PayoutStatus[];
9
+ export declare const validatePayoutRetryStepId = "validate-payout-retry";
10
+ export declare const validatePayoutRetryStep: import("@medusajs/framework/workflows-sdk").StepFunction<ValidatePayoutRetryStepInput, undefined>;
@@ -0,0 +1,15 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.validatePayoutRetryStep = exports.validatePayoutRetryStepId = exports.RETRYABLE_PAYOUT_STATUSES = 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("@mercurjs/types");
7
+ exports.RETRYABLE_PAYOUT_STATUSES = [types_1.PayoutStatus.FAILED, types_1.PayoutStatus.ON_HOLD, types_1.PayoutStatus.PENDING];
8
+ exports.validatePayoutRetryStepId = "validate-payout-retry";
9
+ exports.validatePayoutRetryStep = (0, workflows_sdk_1.createStep)(exports.validatePayoutRetryStepId, async ({ payout }) => {
10
+ if (!exports.RETRYABLE_PAYOUT_STATUSES.includes(payout.status)) {
11
+ throw new utils_1.MedusaError(utils_1.MedusaError.Types.NOT_ALLOWED, `Payout ${payout.id} is ${payout.status} and cannot be retried`);
12
+ }
13
+ return new workflows_sdk_1.StepResponse(void 0);
14
+ });
15
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmFsaWRhdGUtcGF5b3V0LXJldHJ5LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vc3JjL3dvcmtmbG93cy9wYXlvdXQvc3RlcHMvdmFsaWRhdGUtcGF5b3V0LXJldHJ5LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLHFEQUF1RDtBQUN2RCxxRUFBNEU7QUFDNUUsMkNBQThDO0FBTWpDLFFBQUEseUJBQXlCLEdBQUcsQ0FBQyxvQkFBWSxDQUFDLE1BQU0sRUFBRSxvQkFBWSxDQUFDLE9BQU8sRUFBRSxvQkFBWSxDQUFDLE9BQU8sQ0FBQyxDQUFBO0FBRTdGLFFBQUEseUJBQXlCLEdBQUcsdUJBQXVCLENBQUE7QUFFbkQsUUFBQSx1QkFBdUIsR0FBRyxJQUFBLDBCQUFVLEVBQy9DLGlDQUF5QixFQUN6QixLQUFLLEVBQUUsRUFBRSxNQUFNLEVBQWdDLEVBQUUsRUFBRTtJQUNqRCxJQUFJLENBQUMsaUNBQXlCLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDO1FBQ3ZELE1BQU0sSUFBSSxtQkFBVyxDQUNuQixtQkFBVyxDQUFDLEtBQUssQ0FBQyxXQUFXLEVBQzdCLFVBQVUsTUFBTSxDQUFDLEVBQUUsT0FBTyxNQUFNLENBQUMsTUFBTSx3QkFBd0IsQ0FDaEUsQ0FBQTtJQUNILENBQUM7SUFFRCxPQUFPLElBQUksNEJBQVksQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFBO0FBQ2pDLENBQUMsQ0FDRixDQUFBIn0=
@@ -0,0 +1,10 @@
1
+ export type ValidateSellerWithoutPayoutAccountStepInput = {
2
+ seller: {
3
+ id: string;
4
+ payout_account?: {
5
+ id: string;
6
+ } | null;
7
+ };
8
+ };
9
+ export declare const validateSellerWithoutPayoutAccountStepId = "validate-seller-without-payout-account";
10
+ export declare const validateSellerWithoutPayoutAccountStep: import("@medusajs/framework/workflows-sdk").StepFunction<ValidateSellerWithoutPayoutAccountStepInput, undefined>;
@@ -0,0 +1,13 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.validateSellerWithoutPayoutAccountStep = exports.validateSellerWithoutPayoutAccountStepId = void 0;
4
+ const utils_1 = require("@medusajs/framework/utils");
5
+ const workflows_sdk_1 = require("@medusajs/framework/workflows-sdk");
6
+ exports.validateSellerWithoutPayoutAccountStepId = "validate-seller-without-payout-account";
7
+ exports.validateSellerWithoutPayoutAccountStep = (0, workflows_sdk_1.createStep)(exports.validateSellerWithoutPayoutAccountStepId, async ({ seller }) => {
8
+ if (seller.payout_account) {
9
+ throw new utils_1.MedusaError(utils_1.MedusaError.Types.CONFLICT, `Seller ${seller.id} already has a payout account`);
10
+ }
11
+ return new workflows_sdk_1.StepResponse(void 0);
12
+ });
13
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmFsaWRhdGUtc2VsbGVyLXdpdGhvdXQtcGF5b3V0LWFjY291bnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvd29ya2Zsb3dzL3BheW91dC9zdGVwcy92YWxpZGF0ZS1zZWxsZXItd2l0aG91dC1wYXlvdXQtYWNjb3VudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSxxREFBdUQ7QUFDdkQscUVBQTRFO0FBTS9ELFFBQUEsd0NBQXdDLEdBQUcsd0NBQXdDLENBQUE7QUFFbkYsUUFBQSxzQ0FBc0MsR0FBRyxJQUFBLDBCQUFVLEVBQzlELGdEQUF3QyxFQUN4QyxLQUFLLEVBQUUsRUFBRSxNQUFNLEVBQStDLEVBQUUsRUFBRTtJQUNoRSxJQUFJLE1BQU0sQ0FBQyxjQUFjLEVBQUUsQ0FBQztRQUMxQixNQUFNLElBQUksbUJBQVcsQ0FBQyxtQkFBVyxDQUFDLEtBQUssQ0FBQyxRQUFRLEVBQUUsVUFBVSxNQUFNLENBQUMsRUFBRSwrQkFBK0IsQ0FBQyxDQUFBO0lBQ3ZHLENBQUM7SUFFRCxPQUFPLElBQUksNEJBQVksQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFBO0FBQ2pDLENBQUMsQ0FDRixDQUFBIn0=
@@ -0,0 +1,26 @@
1
+ import { BigNumberInput, FulfillmentStatus } from "@medusajs/framework/types";
2
+ export type FulfillmentRow = {
3
+ canceled_at?: Date | string | null;
4
+ shipped_at?: Date | string | null;
5
+ delivered_at?: Date | string | null;
6
+ items?: {
7
+ line_item_id?: string | null;
8
+ quantity: BigNumberInput;
9
+ }[] | null;
10
+ };
11
+ export type FulfillableOrder = {
12
+ items?: {
13
+ id: string;
14
+ quantity: BigNumberInput;
15
+ }[] | null;
16
+ fulfillments?: FulfillmentRow[] | null;
17
+ };
18
+ export declare const ORDER_FULFILLMENT_FIELDS: string[];
19
+ export declare function fulfillmentReached(status: string | null | undefined, required: FulfillmentStatus): boolean;
20
+ /**
21
+ * The order module derives `fulfillment_status` only on its own read path,
22
+ * not through query.graph, so the pipeline rebuilds it from the fulfillments
23
+ * the same way: a status is reached when every ordered unit is in a
24
+ * fulfillment that reached it, partial when some are.
25
+ */
26
+ export declare function deriveFulfillmentStatus(order: FulfillableOrder): FulfillmentStatus;
@@ -0,0 +1,64 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ORDER_FULFILLMENT_FIELDS = void 0;
4
+ exports.fulfillmentReached = fulfillmentReached;
5
+ exports.deriveFulfillmentStatus = deriveFulfillmentStatus;
6
+ const utils_1 = require("@medusajs/framework/utils");
7
+ exports.ORDER_FULFILLMENT_FIELDS = [
8
+ "items.id",
9
+ "items.quantity",
10
+ "fulfillments.canceled_at",
11
+ "fulfillments.shipped_at",
12
+ "fulfillments.delivered_at",
13
+ "fulfillments.items.line_item_id",
14
+ "fulfillments.items.quantity",
15
+ ];
16
+ const FULFILLMENT_SCALE = [
17
+ "not_fulfilled",
18
+ "partially_fulfilled",
19
+ "fulfilled",
20
+ "partially_shipped",
21
+ "shipped",
22
+ "partially_delivered",
23
+ "delivered",
24
+ ];
25
+ function fulfillmentReached(status, required) {
26
+ if (status === "canceled") {
27
+ return false;
28
+ }
29
+ return FULFILLMENT_SCALE.indexOf((status ?? "not_fulfilled")) >= FULFILLMENT_SCALE.indexOf(required);
30
+ }
31
+ /**
32
+ * The order module derives `fulfillment_status` only on its own read path,
33
+ * not through query.graph, so the pipeline rebuilds it from the fulfillments
34
+ * the same way: a status is reached when every ordered unit is in a
35
+ * fulfillment that reached it, partial when some are.
36
+ */
37
+ function deriveFulfillmentStatus(order) {
38
+ const ordered = (order.items ?? []).reduce((acc, item) => utils_1.MathBN.add(acc, item.quantity), 0);
39
+ if (utils_1.MathBN.lte(ordered, 0)) {
40
+ return "not_fulfilled";
41
+ }
42
+ const active = (order.fulfillments ?? []).filter((f) => !f.canceled_at);
43
+ const count = (predicate) => active
44
+ .filter(predicate)
45
+ .flatMap((f) => f.items ?? [])
46
+ .reduce((acc, item) => utils_1.MathBN.add(acc, item.quantity), 0);
47
+ const fulfilled = count(() => true);
48
+ const shipped = count((f) => !!f.shipped_at);
49
+ const delivered = count((f) => !!f.delivered_at);
50
+ if (utils_1.MathBN.gte(delivered, ordered))
51
+ return "delivered";
52
+ if (utils_1.MathBN.gt(delivered, 0))
53
+ return "partially_delivered";
54
+ if (utils_1.MathBN.gte(shipped, ordered))
55
+ return "shipped";
56
+ if (utils_1.MathBN.gt(shipped, 0))
57
+ return "partially_shipped";
58
+ if (utils_1.MathBN.gte(fulfilled, ordered))
59
+ return "fulfilled";
60
+ if (utils_1.MathBN.gt(fulfilled, 0))
61
+ return "partially_fulfilled";
62
+ return "not_fulfilled";
63
+ }
64
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZnVsZmlsbG1lbnQtc3RhdHVzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vc3JjL3dvcmtmbG93cy9wYXlvdXQvdXRpbHMvZnVsZmlsbG1lbnQtc3RhdHVzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQW1DQSxnREFLQztBQVFELDBEQXdCQztBQXZFRCxxREFBa0Q7QUFjckMsUUFBQSx3QkFBd0IsR0FBRztJQUN0QyxVQUFVO0lBQ1YsZ0JBQWdCO0lBQ2hCLDBCQUEwQjtJQUMxQix5QkFBeUI7SUFDekIsMkJBQTJCO0lBQzNCLGlDQUFpQztJQUNqQyw2QkFBNkI7Q0FDOUIsQ0FBQTtBQUVELE1BQU0saUJBQWlCLEdBQXdCO0lBQzdDLGVBQWU7SUFDZixxQkFBcUI7SUFDckIsV0FBVztJQUNYLG1CQUFtQjtJQUNuQixTQUFTO0lBQ1QscUJBQXFCO0lBQ3JCLFdBQVc7Q0FDWixDQUFBO0FBRUQsU0FBZ0Isa0JBQWtCLENBQUMsTUFBaUMsRUFBRSxRQUEyQjtJQUMvRixJQUFJLE1BQU0sS0FBSyxVQUFVLEVBQUUsQ0FBQztRQUMxQixPQUFPLEtBQUssQ0FBQTtJQUNkLENBQUM7SUFDRCxPQUFPLGlCQUFpQixDQUFDLE9BQU8sQ0FBQyxDQUFDLE1BQU0sSUFBSSxlQUFlLENBQXNCLENBQUMsSUFBSSxpQkFBaUIsQ0FBQyxPQUFPLENBQUMsUUFBUSxDQUFDLENBQUE7QUFDM0gsQ0FBQztBQUVEOzs7OztHQUtHO0FBQ0gsU0FBZ0IsdUJBQXVCLENBQUMsS0FBdUI7SUFDN0QsTUFBTSxPQUFPLEdBQUcsQ0FBQyxLQUFLLENBQUMsS0FBSyxJQUFJLEVBQUUsQ0FBQyxDQUFDLE1BQU0sQ0FBaUIsQ0FBQyxHQUFHLEVBQUUsSUFBSSxFQUFFLEVBQUUsQ0FBQyxjQUFNLENBQUMsR0FBRyxDQUFDLEdBQUcsRUFBRSxJQUFJLENBQUMsUUFBUSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUE7SUFDNUcsSUFBSSxjQUFNLENBQUMsR0FBRyxDQUFDLE9BQU8sRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDO1FBQzNCLE9BQU8sZUFBZSxDQUFBO0lBQ3hCLENBQUM7SUFFRCxNQUFNLE1BQU0sR0FBRyxDQUFDLEtBQUssQ0FBQyxZQUFZLElBQUksRUFBRSxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxXQUFXLENBQUMsQ0FBQTtJQUN2RSxNQUFNLEtBQUssR0FBRyxDQUFDLFNBQXlDLEVBQUUsRUFBRSxDQUMxRCxNQUFNO1NBQ0gsTUFBTSxDQUFDLFNBQVMsQ0FBQztTQUNqQixPQUFPLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxLQUFLLElBQUksRUFBRSxDQUFDO1NBQzdCLE1BQU0sQ0FBaUIsQ0FBQyxHQUFHLEVBQUUsSUFBSSxFQUFFLEVBQUUsQ0FBQyxjQUFNLENBQUMsR0FBRyxDQUFDLEdBQUcsRUFBRSxJQUFJLENBQUMsUUFBUSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUE7SUFFN0UsTUFBTSxTQUFTLEdBQUcsS0FBSyxDQUFDLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxDQUFBO0lBQ25DLE1BQU0sT0FBTyxHQUFHLEtBQUssQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsQ0FBQTtJQUM1QyxNQUFNLFNBQVMsR0FBRyxLQUFLLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsWUFBWSxDQUFDLENBQUE7SUFFaEQsSUFBSSxjQUFNLENBQUMsR0FBRyxDQUFDLFNBQVMsRUFBRSxPQUFPLENBQUM7UUFBRSxPQUFPLFdBQVcsQ0FBQTtJQUN0RCxJQUFJLGNBQU0sQ0FBQyxFQUFFLENBQUMsU0FBUyxFQUFFLENBQUMsQ0FBQztRQUFFLE9BQU8scUJBQXFCLENBQUE7SUFDekQsSUFBSSxjQUFNLENBQUMsR0FBRyxDQUFDLE9BQU8sRUFBRSxPQUFPLENBQUM7UUFBRSxPQUFPLFNBQVMsQ0FBQTtJQUNsRCxJQUFJLGNBQU0sQ0FBQyxFQUFFLENBQUMsT0FBTyxFQUFFLENBQUMsQ0FBQztRQUFFLE9BQU8sbUJBQW1CLENBQUE7SUFDckQsSUFBSSxjQUFNLENBQUMsR0FBRyxDQUFDLFNBQVMsRUFBRSxPQUFPLENBQUM7UUFBRSxPQUFPLFdBQVcsQ0FBQTtJQUN0RCxJQUFJLGNBQU0sQ0FBQyxFQUFFLENBQUMsU0FBUyxFQUFFLENBQUMsQ0FBQztRQUFFLE9BQU8scUJBQXFCLENBQUE7SUFDekQsT0FBTyxlQUFlLENBQUE7QUFDeEIsQ0FBQyJ9
@@ -0,0 +1,3 @@
1
+ export * from "./fulfillment-status";
2
+ export * from "./payout-amounts";
3
+ export * from "./sent-to-provider";
@@ -0,0 +1,20 @@
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("./fulfillment-status"), exports);
18
+ __exportStar(require("./payout-amounts"), exports);
19
+ __exportStar(require("./sent-to-provider"), exports);
20
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvd29ya2Zsb3dzL3BheW91dC91dGlscy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7O0FBQUEsdURBQW9DO0FBQ3BDLG1EQUFnQztBQUNoQyxxREFBa0MifQ==
@@ -0,0 +1,173 @@
1
+ import { BigNumberInput, FulfillmentStatus } from "@medusajs/framework/types";
2
+ import { PayoutDTO, PayoutReversalDTO, PayoutStatus, PayoutStatusReasonCode } from "@mercurjs/types";
3
+ import { FulfillableOrder } from "./fulfillment-status";
4
+ type AmountRow = {
5
+ amount: BigNumberInput;
6
+ raw_amount?: BigNumberInput | null;
7
+ };
8
+ type RefundRow = AmountRow & {
9
+ id: string;
10
+ };
11
+ type PaymentRow = AmountRow & {
12
+ id: string;
13
+ captured_at: Date | string | null;
14
+ canceled_at: Date | string | null;
15
+ data: Record<string, unknown> | null;
16
+ captures?: AmountRow[] | null;
17
+ refunds?: RefundRow[] | null;
18
+ };
19
+ export type PayoutOrder = FulfillableOrder & {
20
+ id: string;
21
+ status: string;
22
+ canceled_at: Date | string | null;
23
+ total: BigNumberInput;
24
+ currency_code: string;
25
+ credit_lines?: {
26
+ amount: BigNumberInput;
27
+ }[] | null;
28
+ shipping_methods?: {
29
+ id: string;
30
+ }[] | null;
31
+ seller?: {
32
+ id: string;
33
+ payout_account?: {
34
+ id: string;
35
+ payouts_enabled: boolean;
36
+ } | null;
37
+ } | null;
38
+ payment_collections?: {
39
+ payments?: PaymentRow[] | null;
40
+ }[] | null;
41
+ };
42
+ export type CommissionLine = {
43
+ amount: BigNumberInput;
44
+ item_id?: string | null;
45
+ shipping_method_id?: string | null;
46
+ };
47
+ export type PaymentState = {
48
+ id: string;
49
+ captured: boolean;
50
+ canceled: boolean;
51
+ fully_refunded: boolean;
52
+ data: Record<string, unknown>;
53
+ } | null;
54
+ export type PayoutDecision = {
55
+ status: PayoutStatus;
56
+ status_reason: PayoutStatusReasonCode | null;
57
+ status_detail: string | null;
58
+ amount: BigNumberInput;
59
+ };
60
+ export declare const PAYOUT_ORDER_FIELDS: string[];
61
+ export declare const REVERSAL_ORDER_FIELDS: string[];
62
+ /** Order total before refunds: Medusa books a refund as a credit line that lowers `total`. */
63
+ export declare function grossTotalOf(order: Pick<PayoutOrder, "total" | "credit_lines">): BigNumberInput;
64
+ export declare function paymentStateOf(order: Pick<PayoutOrder, "payment_collections">): PaymentState;
65
+ export declare function commissionTotalsOf(orders: Pick<PayoutOrder, "id" | "items" | "shipping_methods">[], lines: CommissionLine[]): Map<string, BigNumberInput>;
66
+ export declare function commissionLineFilters(orders: Pick<PayoutOrder, "items" | "shipping_methods">[]): {
67
+ $or: ({
68
+ item_id: string[];
69
+ shipping_method_id?: undefined;
70
+ } | {
71
+ shipping_method_id: string[];
72
+ item_id?: undefined;
73
+ })[];
74
+ };
75
+ /**
76
+ * Order of checks: canceled, account, fulfilled, paid, amount.
77
+ */
78
+ export declare function decideOrderPayout(input: {
79
+ order: {
80
+ seller_id: string;
81
+ status: string;
82
+ canceled_at?: Date | string | null;
83
+ fulfillment_status: string | null;
84
+ total: BigNumberInput;
85
+ currency_code?: string | null;
86
+ };
87
+ account: {
88
+ id: string;
89
+ payouts_enabled: boolean;
90
+ } | null;
91
+ payment: PaymentState;
92
+ commission_total: BigNumberInput;
93
+ required_fulfillment_status: FulfillmentStatus;
94
+ }): PayoutDecision;
95
+ /**
96
+ * The seller gives back the refunded amount minus the commission share on
97
+ * it, once the order payout is paid.
98
+ */
99
+ export declare function decideReversal(input: {
100
+ refund_id: string;
101
+ refund_amount: BigNumberInput;
102
+ refund_canceled: boolean;
103
+ order_total: BigNumberInput;
104
+ commission_total: BigNumberInput;
105
+ currency_code?: string | null;
106
+ payout: {
107
+ id: string;
108
+ status: PayoutStatus;
109
+ provider_payout_id: string | null;
110
+ } | null;
111
+ }): PayoutDecision;
112
+ export type OrderPayoutsPlan = {
113
+ create: {
114
+ seller_id: string;
115
+ order_id: string;
116
+ account_id: string;
117
+ amount: number;
118
+ currency_code: string;
119
+ status: PayoutStatus;
120
+ status_reason: string | null;
121
+ data: Record<string, unknown>;
122
+ }[];
123
+ update: {
124
+ id: string;
125
+ account_id: string;
126
+ amount: number;
127
+ status: PayoutStatus;
128
+ status_reason: string | null;
129
+ data: Record<string, unknown>;
130
+ }[];
131
+ counts: Record<string, number>;
132
+ };
133
+ /**
134
+ * A payout that is paid, processing or aborted is left alone; one on hold or
135
+ * failed is re-decided. A refund that landed before the payout cannot be
136
+ * reversed later, so the payout is built net of it and carries its commission share.
137
+ */
138
+ export declare function planOrderPayouts(input: {
139
+ orders: PayoutOrder[];
140
+ commission_lines: CommissionLine[];
141
+ payouts: PayoutDTO[];
142
+ required_fulfillment_status: FulfillmentStatus;
143
+ }): OrderPayoutsPlan;
144
+ export type PayoutReversalsPlan = {
145
+ create: {
146
+ payout_id: string;
147
+ refund_id: string;
148
+ amount: number;
149
+ status: PayoutStatus;
150
+ status_reason: string | null;
151
+ data: Record<string, unknown>;
152
+ }[];
153
+ update: {
154
+ id: string;
155
+ amount: number;
156
+ status: PayoutStatus;
157
+ status_reason: string | null;
158
+ data: Record<string, unknown>;
159
+ }[];
160
+ counts: Record<string, number>;
161
+ };
162
+ /**
163
+ * Every refund on an order whose payout exists gets one reversal, net of the
164
+ * commission share on it. Refunds the payout already absorbed are skipped.
165
+ */
166
+ export declare function planPayoutReversals(input: {
167
+ orders: PayoutOrder[];
168
+ commission_lines: CommissionLine[];
169
+ payouts: (PayoutDTO & {
170
+ reversals?: PayoutReversalDTO[];
171
+ })[];
172
+ }): PayoutReversalsPlan;
173
+ export {};