@adonis-agora/payments 0.6.0 → 0.7.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (64) hide show
  1. package/CHANGELOG.md +85 -0
  2. package/dist/commands/main.d.ts +4 -3
  3. package/dist/commands/main.d.ts.map +1 -1
  4. package/dist/commands/main.js +3 -1
  5. package/dist/commands/main.js.map +1 -1
  6. package/dist/commands/payments_renew.d.ts +33 -0
  7. package/dist/commands/payments_renew.d.ts.map +1 -0
  8. package/dist/commands/payments_renew.js +77 -0
  9. package/dist/commands/payments_renew.js.map +1 -0
  10. package/dist/providers/payments_provider.d.ts.map +1 -1
  11. package/dist/providers/payments_provider.js +6 -1
  12. package/dist/providers/payments_provider.js.map +1 -1
  13. package/dist/src/billing/billing_store.d.ts +50 -1
  14. package/dist/src/billing/billing_store.d.ts.map +1 -1
  15. package/dist/src/billing/billing_store.js.map +1 -1
  16. package/dist/src/billing/lucid_billing_store.d.ts +5 -1
  17. package/dist/src/billing/lucid_billing_store.d.ts.map +1 -1
  18. package/dist/src/billing/lucid_billing_store.js +72 -0
  19. package/dist/src/billing/lucid_billing_store.js.map +1 -1
  20. package/dist/src/billing/managed_subscriptions.d.ts +91 -0
  21. package/dist/src/billing/managed_subscriptions.d.ts.map +1 -0
  22. package/dist/src/billing/managed_subscriptions.js +208 -0
  23. package/dist/src/billing/managed_subscriptions.js.map +1 -0
  24. package/dist/src/billing/mixins/with_subscription.d.ts +41 -2
  25. package/dist/src/billing/mixins/with_subscription.d.ts.map +1 -1
  26. package/dist/src/billing/mixins/with_subscription.js +33 -0
  27. package/dist/src/billing/mixins/with_subscription.js.map +1 -1
  28. package/dist/src/billing/schema.d.ts.map +1 -1
  29. package/dist/src/billing/schema.js +23 -0
  30. package/dist/src/billing/schema.js.map +1 -1
  31. package/dist/src/define_config.d.ts +12 -0
  32. package/dist/src/define_config.d.ts.map +1 -1
  33. package/dist/src/define_config.js.map +1 -1
  34. package/dist/src/driver.d.ts +40 -0
  35. package/dist/src/driver.d.ts.map +1 -1
  36. package/dist/src/drivers/woovi.d.ts +41 -5
  37. package/dist/src/drivers/woovi.d.ts.map +1 -1
  38. package/dist/src/drivers/woovi.js +137 -9
  39. package/dist/src/drivers/woovi.js.map +1 -1
  40. package/dist/src/index.d.ts +8 -0
  41. package/dist/src/index.d.ts.map +1 -1
  42. package/dist/src/index.js +4 -0
  43. package/dist/src/index.js.map +1 -1
  44. package/dist/src/payments_manager.d.ts +31 -0
  45. package/dist/src/payments_manager.d.ts.map +1 -1
  46. package/dist/src/payments_manager.js +46 -0
  47. package/dist/src/payments_manager.js.map +1 -1
  48. package/dist/src/subscription_lifecycle.d.ts +21 -0
  49. package/dist/src/subscription_lifecycle.d.ts.map +1 -0
  50. package/dist/src/subscription_lifecycle.js +22 -0
  51. package/dist/src/subscription_lifecycle.js.map +1 -0
  52. package/dist/src/subscription_mode.d.ts +32 -0
  53. package/dist/src/subscription_mode.d.ts.map +1 -0
  54. package/dist/src/subscription_mode.js +13 -0
  55. package/dist/src/subscription_mode.js.map +1 -0
  56. package/dist/src/subscriptions_api.d.ts +93 -0
  57. package/dist/src/subscriptions_api.d.ts.map +1 -0
  58. package/dist/src/subscriptions_api.js +102 -0
  59. package/dist/src/subscriptions_api.js.map +1 -0
  60. package/dist/src/testing/in_memory_billing_store.d.ts +19 -2
  61. package/dist/src/testing/in_memory_billing_store.d.ts.map +1 -1
  62. package/dist/src/testing/in_memory_billing_store.js +77 -0
  63. package/dist/src/testing/in_memory_billing_store.js.map +1 -1
  64. package/package.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"lucid_billing_store.js","sourceRoot":"","sources":["../../../src/billing/lucid_billing_store.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"lucid_billing_store.js","sourceRoot":"","sources":["../../../src/billing/lucid_billing_store.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,91 @@
1
+ import type { CreateSubscriptionInput, PaymentsDriver } from '../driver.js';
2
+ import type { BillingStore } from './billing_store.js';
3
+ /** The cycles a managed subscription can advance by. Mirrors `CreateSubscriptionInput.cycle`. */
4
+ export type ManagedCycle = 'WEEKLY' | 'BIWEEKLY' | 'MONTHLY' | 'QUARTERLY' | 'SEMIANNUALLY' | 'YEARLY';
5
+ /**
6
+ * The end of the period that starts at `from`.
7
+ *
8
+ * Month arithmetic clamps to the last day of the target month rather than rolling over:
9
+ * naive `setMonth` turns 31 January into 3 March, and a subscription that starts on the 31st
10
+ * would drift a day or two forward every short month until it no longer resembles the date
11
+ * the customer agreed to. Clamping keeps 31 January → 28 February → 31 March.
12
+ */
13
+ export declare function advancePeriod(from: Date, cycle: string): Date;
14
+ /**
15
+ * The idempotency key for one cycle's charge.
16
+ *
17
+ * Keyed by subscription AND period start, so a renewal pass that runs twice — a retried
18
+ * worker, an overlapping cron, an operator running the command by hand after one looked
19
+ * stuck — asks the gateway for the same charge rather than a second one. This is the only
20
+ * thing standing between a duplicated tick and a double debit.
21
+ */
22
+ export declare function cycleIdempotencyKey(subscriptionId: string, periodStart: Date): string;
23
+ /** What a managed subscription needs at creation. */
24
+ export interface CreateManagedInput extends CreateSubscriptionInput {
25
+ currency?: string;
26
+ }
27
+ /** A created managed subscription and the charge that opened its first period. */
28
+ export interface ManagedSubscriptionResult {
29
+ id: string;
30
+ status: string;
31
+ currentPeriodStart: Date;
32
+ currentPeriodEnd: Date;
33
+ /** The first cycle's charge, so the caller can show a Pix QR code or a link immediately. */
34
+ charge: Awaited<ReturnType<PaymentsDriver['charge']>>;
35
+ }
36
+ /**
37
+ * Create a subscription this library owns.
38
+ *
39
+ * The gateway is never asked for a subscription — only for a charge, which every gateway can
40
+ * do. That is the whole point: cancelling becomes "stop issuing charges" and re-pricing
41
+ * becomes "the next one is a different number", both local writes, on gateways whose
42
+ * subscription API cannot do either (Woovi/OpenPix) or has no subscription API at all.
43
+ *
44
+ * The first cycle is charged immediately and synchronously. A subscription whose first charge
45
+ * silently failed is worse than one that failed to start: the app would have a row saying
46
+ * `active` and no money behind it.
47
+ */
48
+ export declare function createManagedSubscription(driver: PaymentsDriver, store: BillingStore, input: CreateManagedInput): Promise<ManagedSubscriptionResult>;
49
+ /** What one renewal pass did. */
50
+ export interface RenewalOutcome {
51
+ subscriptionId: string;
52
+ /** `charged` advanced the period; `ended` stopped a subscription asked to cancel. */
53
+ result: 'charged' | 'ended' | 'failed';
54
+ error?: string;
55
+ }
56
+ /**
57
+ * Charge every managed subscription whose cycle is due, and advance its period.
58
+ *
59
+ * A failed charge does NOT advance the period and does not stop the pass: the subscription
60
+ * stays due and is retried next tick, and one gateway hiccup cannot skip a customer's month
61
+ * or abort everyone else's renewal. Repeated failure is a dunning policy the application
62
+ * owns — this reports, it does not cancel anyone.
63
+ */
64
+ export declare function renewDueManagedSubscriptions(resolveDriver: (provider: string) => PaymentsDriver, store: BillingStore, options?: {
65
+ now?: Date;
66
+ limit?: number;
67
+ }): Promise<RenewalOutcome[]>;
68
+ /**
69
+ * Cancel a managed subscription.
70
+ *
71
+ * `atPeriodEnd` keeps the access the customer already paid for and stops the next charge;
72
+ * immediate ends it now. Neither calls the gateway — there is nothing there to call, which
73
+ * is exactly why this works on Woovi.
74
+ */
75
+ export declare function cancelManagedSubscription(store: BillingStore, id: string, options?: {
76
+ atPeriodEnd?: boolean;
77
+ now?: Date;
78
+ }): Promise<void>;
79
+ /**
80
+ * Re-price or re-describe a managed subscription.
81
+ *
82
+ * Takes effect on the NEXT cycle — the current one is already paid, and silently re-charging
83
+ * the difference is a decision the application makes, not this function. No proration here on
84
+ * purpose: guessing it wrong moves money nobody authorized.
85
+ */
86
+ export declare function updateManagedSubscription(store: BillingStore, id: string, patch: {
87
+ amount?: number;
88
+ description?: string | null;
89
+ cycle?: string;
90
+ }): Promise<void>;
91
+ //# sourceMappingURL=managed_subscriptions.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"managed_subscriptions.d.ts","sourceRoot":"","sources":["../../../src/billing/managed_subscriptions.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,uBAAuB,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAC5E,OAAO,KAAK,EAAE,YAAY,EAA4B,MAAM,oBAAoB,CAAC;AAEjF,iGAAiG;AACjG,MAAM,MAAM,YAAY,GACpB,QAAQ,GACR,UAAU,GACV,SAAS,GACT,WAAW,GACX,cAAc,GACd,QAAQ,CAAC;AAgBb;;;;;;;GAOG;AACH,wBAAgB,aAAa,CAAC,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI,CAmB7D;AAED;;;;;;;GAOG;AACH,wBAAgB,mBAAmB,CAAC,cAAc,EAAE,MAAM,EAAE,WAAW,EAAE,IAAI,GAAG,MAAM,CAErF;AAED,qDAAqD;AACrD,MAAM,WAAW,kBAAmB,SAAQ,uBAAuB;IACjE,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,kFAAkF;AAClF,MAAM,WAAW,yBAAyB;IACxC,EAAE,EAAE,MAAM,CAAC;IACX,MAAM,EAAE,MAAM,CAAC;IACf,kBAAkB,EAAE,IAAI,CAAC;IACzB,gBAAgB,EAAE,IAAI,CAAC;IACvB,4FAA4F;IAC5F,MAAM,EAAE,OAAO,CAAC,UAAU,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;CACvD;AAED;;;;;;;;;;;GAWG;AACH,wBAAsB,yBAAyB,CAC7C,MAAM,EAAE,cAAc,EACtB,KAAK,EAAE,YAAY,EACnB,KAAK,EAAE,kBAAkB,GACxB,OAAO,CAAC,yBAAyB,CAAC,CA2CpC;AA8BD,iCAAiC;AACjC,MAAM,WAAW,cAAc;IAC7B,cAAc,EAAE,MAAM,CAAC;IACvB,qFAAqF;IACrF,MAAM,EAAE,SAAS,GAAG,OAAO,GAAG,QAAQ,CAAC;IACvC,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED;;;;;;;GAOG;AACH,wBAAsB,4BAA4B,CAChD,aAAa,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,cAAc,EACnD,KAAK,EAAE,YAAY,EACnB,OAAO,GAAE;IAAE,GAAG,CAAC,EAAE,IAAI,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAA;CAAO,GAC3C,OAAO,CAAC,cAAc,EAAE,CAAC,CAmD3B;AAED;;;;;;GAMG;AACH,wBAAsB,yBAAyB,CAC7C,KAAK,EAAE,YAAY,EACnB,EAAE,EAAE,MAAM,EACV,OAAO,GAAE;IAAE,WAAW,CAAC,EAAE,OAAO,CAAC;IAAC,GAAG,CAAC,EAAE,IAAI,CAAA;CAAO,GAClD,OAAO,CAAC,IAAI,CAAC,CAWf;AAED;;;;;;GAMG;AACH,wBAAsB,yBAAyB,CAC7C,KAAK,EAAE,YAAY,EACnB,EAAE,EAAE,MAAM,EACV,KAAK,EAAE;IAAE,MAAM,CAAC,EAAE,MAAM,CAAC;IAAC,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAA;CAAE,GACtE,OAAO,CAAC,IAAI,CAAC,CAEf"}
@@ -0,0 +1,208 @@
1
+ /** Whole months per cycle, for the cycles measured in months. */
2
+ const MONTHS_PER_CYCLE = {
3
+ MONTHLY: 1,
4
+ QUARTERLY: 3,
5
+ SEMIANNUALLY: 6,
6
+ YEARLY: 12,
7
+ };
8
+ /** Days per cycle, for the cycles measured in days. */
9
+ const DAYS_PER_CYCLE = {
10
+ WEEKLY: 7,
11
+ BIWEEKLY: 14,
12
+ };
13
+ /**
14
+ * The end of the period that starts at `from`.
15
+ *
16
+ * Month arithmetic clamps to the last day of the target month rather than rolling over:
17
+ * naive `setMonth` turns 31 January into 3 March, and a subscription that starts on the 31st
18
+ * would drift a day or two forward every short month until it no longer resembles the date
19
+ * the customer agreed to. Clamping keeps 31 January → 28 February → 31 March.
20
+ */
21
+ export function advancePeriod(from, cycle) {
22
+ const days = DAYS_PER_CYCLE[cycle];
23
+ if (days !== undefined) {
24
+ const next = new Date(from.getTime());
25
+ next.setUTCDate(next.getUTCDate() + days);
26
+ return next;
27
+ }
28
+ const months = MONTHS_PER_CYCLE[cycle] ?? 1;
29
+ const day = from.getUTCDate();
30
+ // Day 1 first, so the intermediate value cannot overflow the target month while we set it.
31
+ const next = new Date(from.getTime());
32
+ next.setUTCDate(1);
33
+ next.setUTCMonth(next.getUTCMonth() + months);
34
+ const lastDayOfTarget = new Date(Date.UTC(next.getUTCFullYear(), next.getUTCMonth() + 1, 0)).getUTCDate();
35
+ next.setUTCDate(Math.min(day, lastDayOfTarget));
36
+ return next;
37
+ }
38
+ /**
39
+ * The idempotency key for one cycle's charge.
40
+ *
41
+ * Keyed by subscription AND period start, so a renewal pass that runs twice — a retried
42
+ * worker, an overlapping cron, an operator running the command by hand after one looked
43
+ * stuck — asks the gateway for the same charge rather than a second one. This is the only
44
+ * thing standing between a duplicated tick and a double debit.
45
+ */
46
+ export function cycleIdempotencyKey(subscriptionId, periodStart) {
47
+ return `sub:${subscriptionId}:${periodStart.toISOString().slice(0, 10)}`;
48
+ }
49
+ /**
50
+ * Create a subscription this library owns.
51
+ *
52
+ * The gateway is never asked for a subscription — only for a charge, which every gateway can
53
+ * do. That is the whole point: cancelling becomes "stop issuing charges" and re-pricing
54
+ * becomes "the next one is a different number", both local writes, on gateways whose
55
+ * subscription API cannot do either (Woovi/OpenPix) or has no subscription API at all.
56
+ *
57
+ * The first cycle is charged immediately and synchronously. A subscription whose first charge
58
+ * silently failed is worse than one that failed to start: the app would have a row saying
59
+ * `active` and no money behind it.
60
+ */
61
+ export async function createManagedSubscription(driver, store, input) {
62
+ const amount = input.amount ?? 0;
63
+ const cycle = input.cycle ?? 'MONTHLY';
64
+ const currency = input.currency ?? 'brl';
65
+ const periodStart = input.startDate ? new Date(input.startDate) : new Date();
66
+ const periodEnd = advancePeriod(periodStart, cycle);
67
+ const row = await store.createManagedSubscription({
68
+ provider: driver.provider,
69
+ customerId: input.customerId,
70
+ status: 'active',
71
+ planId: input.planId,
72
+ amount,
73
+ currency,
74
+ cycle,
75
+ method: input.method ?? null,
76
+ description: input.description ?? null,
77
+ externalReference: input.externalReference ?? null,
78
+ currentPeriodStart: periodStart,
79
+ currentPeriodEnd: periodEnd,
80
+ // The next cycle is due when this one ends.
81
+ nextChargeAt: periodEnd,
82
+ payload: {},
83
+ });
84
+ const charge = await chargeCycle(driver, {
85
+ id: row.id,
86
+ amount,
87
+ customerId: input.customerId,
88
+ description: input.description ?? null,
89
+ externalReference: input.externalReference ?? null,
90
+ method: input.method ?? null,
91
+ periodStart,
92
+ card: input.card,
93
+ });
94
+ return {
95
+ id: row.id,
96
+ status: 'active',
97
+ currentPeriodStart: periodStart,
98
+ currentPeriodEnd: periodEnd,
99
+ charge,
100
+ };
101
+ }
102
+ /** One cycle's charge. Shared by creation and renewal so both carry the same reference. */
103
+ async function chargeCycle(driver, cycle) {
104
+ return driver.charge({
105
+ customerId: cycle.customerId,
106
+ amount: cycle.amount,
107
+ idempotencyKey: cycleIdempotencyKey(cycle.id, cycle.periodStart),
108
+ // The app's own reference, on EVERY cycle. This is what makes a renewal route through
109
+ // the ordinary webhook path — no per-gateway lookup, because the charge says who it is
110
+ // for in the same field a one-off does.
111
+ ...(cycle.externalReference !== null ? { externalReference: cycle.externalReference } : {}),
112
+ ...(cycle.description !== null ? { description: cycle.description } : {}),
113
+ ...(cycle.method !== null ? { method: cycle.method } : {}),
114
+ ...(cycle.card !== undefined ? { card: cycle.card } : {}),
115
+ });
116
+ }
117
+ /**
118
+ * Charge every managed subscription whose cycle is due, and advance its period.
119
+ *
120
+ * A failed charge does NOT advance the period and does not stop the pass: the subscription
121
+ * stays due and is retried next tick, and one gateway hiccup cannot skip a customer's month
122
+ * or abort everyone else's renewal. Repeated failure is a dunning policy the application
123
+ * owns — this reports, it does not cancel anyone.
124
+ */
125
+ export async function renewDueManagedSubscriptions(resolveDriver, store, options = {}) {
126
+ const now = options.now ?? new Date();
127
+ const due = await store.listDueManagedSubscriptions(now, options.limit ?? 100);
128
+ const outcomes = [];
129
+ for (const row of due) {
130
+ // Asked to cancel at period end: the period just ended, so stop here. Checked BEFORE
131
+ // charging — the whole promise of "cancel at period end" is that no further money moves.
132
+ if (row.cancelAtPeriodEnd === true) {
133
+ await store.updateManagedSubscription(row.id, {
134
+ status: 'canceled',
135
+ nextChargeAt: null,
136
+ endsAt: now,
137
+ });
138
+ outcomes.push({ subscriptionId: row.id, result: 'ended' });
139
+ continue;
140
+ }
141
+ const periodStart = toDate(row.currentPeriodEnd) ?? now;
142
+ const periodEnd = advancePeriod(periodStart, row.cycle ?? 'MONTHLY');
143
+ try {
144
+ await chargeCycle(resolveDriver(row.provider), {
145
+ id: row.id,
146
+ amount: row.amount ?? 0,
147
+ customerId: row.customerId,
148
+ description: row.description ?? null,
149
+ externalReference: row.externalReference ?? null,
150
+ method: row.method ?? null,
151
+ periodStart,
152
+ });
153
+ }
154
+ catch (error) {
155
+ // Period untouched on purpose: it stays due and is retried, rather than silently
156
+ // rolling forward a month the customer never paid for.
157
+ outcomes.push({
158
+ subscriptionId: row.id,
159
+ result: 'failed',
160
+ error: error instanceof Error ? error.message : String(error),
161
+ });
162
+ continue;
163
+ }
164
+ await store.updateManagedSubscription(row.id, {
165
+ currentPeriodStart: periodStart,
166
+ currentPeriodEnd: periodEnd,
167
+ nextChargeAt: periodEnd,
168
+ });
169
+ outcomes.push({ subscriptionId: row.id, result: 'charged' });
170
+ }
171
+ return outcomes;
172
+ }
173
+ /**
174
+ * Cancel a managed subscription.
175
+ *
176
+ * `atPeriodEnd` keeps the access the customer already paid for and stops the next charge;
177
+ * immediate ends it now. Neither calls the gateway — there is nothing there to call, which
178
+ * is exactly why this works on Woovi.
179
+ */
180
+ export async function cancelManagedSubscription(store, id, options = {}) {
181
+ const now = options.now ?? new Date();
182
+ if (options.atPeriodEnd === true) {
183
+ await store.updateManagedSubscription(id, { cancelAtPeriodEnd: true });
184
+ return;
185
+ }
186
+ await store.updateManagedSubscription(id, {
187
+ status: 'canceled',
188
+ nextChargeAt: null,
189
+ endsAt: now,
190
+ });
191
+ }
192
+ /**
193
+ * Re-price or re-describe a managed subscription.
194
+ *
195
+ * Takes effect on the NEXT cycle — the current one is already paid, and silently re-charging
196
+ * the difference is a decision the application makes, not this function. No proration here on
197
+ * purpose: guessing it wrong moves money nobody authorized.
198
+ */
199
+ export async function updateManagedSubscription(store, id, patch) {
200
+ await store.updateManagedSubscription(id, patch);
201
+ }
202
+ /** Lucid hands back a Luxon `DateTime`; the in-memory store a `Date`. Accept both. */
203
+ function toDate(value) {
204
+ if (value === null || value === undefined)
205
+ return null;
206
+ return value instanceof Date ? value : value.toJSDate();
207
+ }
208
+ //# sourceMappingURL=managed_subscriptions.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"managed_subscriptions.js","sourceRoot":"","sources":["../../../src/billing/managed_subscriptions.ts"],"names":[],"mappings":"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"}
@@ -16,8 +16,15 @@ export declare class BillingSubscription extends BaseModel {
16
16
  */
17
17
  static assignUuid(row: BillingSubscription): void;
18
18
  id: string;
19
- /** Gateway subscription id (Stripe `sub_...`, Asaas `sub_...`, Woovi `globalID`). */
20
- gatewayId: string;
19
+ /**
20
+ * Gateway subscription id (Stripe `sub_...`, Asaas `sub_...`, Woovi `globalID`).
21
+ *
22
+ * `null` on a managed subscription: the library owns that recurrence and never created
23
+ * anything at the gateway, so there is no id to hold. The column has always been nullable
24
+ * — the type said otherwise, which also blocked the free-plan case where a row exists and
25
+ * no gateway subscription does.
26
+ */
27
+ gatewayId: string | null;
21
28
  provider: string;
22
29
  status: string;
23
30
  planId: string;
@@ -25,6 +32,38 @@ export declare class BillingSubscription extends BaseModel {
25
32
  trialEndsAt: DateTime | null;
26
33
  endsAt: DateTime | null;
27
34
  payload: Record<string, unknown>;
35
+ /** Whether this library drives the recurrence rather than the gateway. */
36
+ managed: boolean | null;
37
+ /**
38
+ * Amount per cycle, integer minor units — same unit as `billing_payments.amount`.
39
+ *
40
+ * `consume` for the same reason it is on that column: `BIGINT` comes back from
41
+ * node-postgres as a STRING, because reading beyond 2^53 would lose precision silently.
42
+ * Without it the renewal runner hands `'9900'` to `driver.charge({ amount })` — a string
43
+ * where every driver expects a number, straight into the request that moves money.
44
+ * `Number()` is safe here specifically: these are minor units, and 2^53 of them is ninety
45
+ * trillion reais.
46
+ */
47
+ amount: number | null;
48
+ currency: string | null;
49
+ /** `MONTHLY`, `YEARLY`, … — the cycle the period is advanced by on each renewal. */
50
+ cycle: string | null;
51
+ /** Payment method each cycle's charge goes out on (`pix`, `credit_card`, …). */
52
+ method: string | null;
53
+ description: string | null;
54
+ /**
55
+ * The app's own reference, copied onto every cycle's charge.
56
+ *
57
+ * This is what makes managed mode route webhooks without any per-gateway special case: a
58
+ * renewal arrives as a normal payment carrying the app's reference, exactly like a one-off.
59
+ */
60
+ externalReference: string | null;
61
+ currentPeriodStart: DateTime | null;
62
+ currentPeriodEnd: DateTime | null;
63
+ /** When the next cycle is due. `null` once the subscription stops renewing. */
64
+ nextChargeAt: DateTime | null;
65
+ /** Cancel requested, but the paid period is not over — stop renewing, keep access. */
66
+ cancelAtPeriodEnd: boolean | null;
28
67
  createdAt: DateTime;
29
68
  updatedAt: DateTime;
30
69
  }
@@ -1 +1 @@
1
- {"version":3,"file":"with_subscription.d.ts","sourceRoot":"","sources":["../../../../src/billing/mixins/with_subscription.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,8BAA8B,CAAC;AACzE,OAAO,EAAE,SAAS,EAAwB,MAAM,qBAAqB,CAAC;AACtE,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAEtC;;;;;GAKG;AACH,qBAAa,mBAAoB,SAAQ,SAAS;IAChD;;;;;OAKG;IAEH,MAAM,CAAC,UAAU,CAAC,GAAG,EAAE,mBAAmB,GAAG,IAAI,CAEhD;IAGO,EAAE,EAAE,MAAM,CAAC;IAEnB,qFAAqF;IAE7E,SAAS,EAAE,MAAM,CAAC;IAGlB,QAAQ,EAAE,MAAM,CAAC;IAGjB,MAAM,EAAE,MAAM,CAAC;IAGf,MAAM,EAAE,MAAM,CAAC;IAGf,UAAU,EAAE,MAAM,CAAC;IAGnB,WAAW,EAAE,QAAQ,GAAG,IAAI,CAAC;IAG7B,MAAM,EAAE,QAAQ,GAAG,IAAI,CAAC;IAGxB,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAGjC,SAAS,EAAE,QAAQ,CAAC;IAGpB,SAAS,EAAE,QAAQ,CAAC;CAC7B;AAED,8DAA8D;AAC9D,MAAM,WAAW,eAAe;IAC9B,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,EAAE,QAAQ,GAAG,IAAI,CAAC;IAC7B,MAAM,EAAE,QAAQ,GAAG,IAAI,CAAC;IACxB,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACjC,SAAS,EAAE,QAAQ,CAAC;IACpB,SAAS,EAAE,QAAQ,CAAC;CACrB;AAED,MAAM,MAAM,sBAAsB,CAAC,KAAK,SAAS,oBAAoB,CAAC,OAAO,SAAS,CAAC,IAAI,KAAK,GAAG;IACjG,KAAK,GAAG,IAAI,EAAE,GAAG,EAAE,GAAG,eAAe,CAAC;CACvC,CAAC;AAEF;;;;;;;;GAQG;AACH,wBAAgB,gBAAgB,KACtB,KAAK,SAAS,oBAAoB,CAAC,OAAO,SAAS,CAAC,cAC9C,KAAK,KAChB,sBAAsB,CAAC,KAAK,CAAC,CAkCjC"}
1
+ {"version":3,"file":"with_subscription.d.ts","sourceRoot":"","sources":["../../../../src/billing/mixins/with_subscription.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,8BAA8B,CAAC;AACzE,OAAO,EAAE,SAAS,EAAwB,MAAM,qBAAqB,CAAC;AACtE,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAEtC;;;;;GAKG;AACH,qBAAa,mBAAoB,SAAQ,SAAS;IAChD;;;;;OAKG;IAEH,MAAM,CAAC,UAAU,CAAC,GAAG,EAAE,mBAAmB,GAAG,IAAI,CAEhD;IAGO,EAAE,EAAE,MAAM,CAAC;IAEnB;;;;;;;OAOG;IAEK,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IAGzB,QAAQ,EAAE,MAAM,CAAC;IAGjB,MAAM,EAAE,MAAM,CAAC;IAGf,MAAM,EAAE,MAAM,CAAC;IAGf,UAAU,EAAE,MAAM,CAAC;IAGnB,WAAW,EAAE,QAAQ,GAAG,IAAI,CAAC;IAG7B,MAAM,EAAE,QAAQ,GAAG,IAAI,CAAC;IAGxB,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAQzC,0EAA0E;IAElE,OAAO,EAAE,OAAO,GAAG,IAAI,CAAC;IAEhC;;;;;;;;;OASG;IAEK,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IAGtB,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IAEhC,oFAAoF;IAE5E,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IAE7B,gFAAgF;IAExE,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IAGtB,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IAEnC;;;;;OAKG;IAEK,iBAAiB,EAAE,MAAM,GAAG,IAAI,CAAC;IAGjC,kBAAkB,EAAE,QAAQ,GAAG,IAAI,CAAC;IAGpC,gBAAgB,EAAE,QAAQ,GAAG,IAAI,CAAC;IAE1C,+EAA+E;IAEvE,YAAY,EAAE,QAAQ,GAAG,IAAI,CAAC;IAEtC,sFAAsF;IAE9E,iBAAiB,EAAE,OAAO,GAAG,IAAI,CAAC;IAGlC,SAAS,EAAE,QAAQ,CAAC;IAGpB,SAAS,EAAE,QAAQ,CAAC;CAC7B;AAED,8DAA8D;AAC9D,MAAM,WAAW,eAAe;IAC9B,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,EAAE,QAAQ,GAAG,IAAI,CAAC;IAC7B,MAAM,EAAE,QAAQ,GAAG,IAAI,CAAC;IACxB,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACjC,SAAS,EAAE,QAAQ,CAAC;IACpB,SAAS,EAAE,QAAQ,CAAC;CACrB;AAED,MAAM,MAAM,sBAAsB,CAAC,KAAK,SAAS,oBAAoB,CAAC,OAAO,SAAS,CAAC,IAAI,KAAK,GAAG;IACjG,KAAK,GAAG,IAAI,EAAE,GAAG,EAAE,GAAG,eAAe,CAAC;CACvC,CAAC;AAEF;;;;;;;;GAQG;AACH,wBAAgB,gBAAgB,KACtB,KAAK,SAAS,oBAAoB,CAAC,OAAO,SAAS,CAAC,cAC9C,KAAK,KAChB,sBAAsB,CAAC,KAAK,CAAC,CAkCjC"}
@@ -51,6 +51,39 @@ __decorate([
51
51
  __decorate([
52
52
  column({ serializeAs: null })
53
53
  ], BillingSubscription.prototype, "payload", void 0);
54
+ __decorate([
55
+ column()
56
+ ], BillingSubscription.prototype, "managed", void 0);
57
+ __decorate([
58
+ column({ consume: (value) => (value === null ? null : Number(value)) })
59
+ ], BillingSubscription.prototype, "amount", void 0);
60
+ __decorate([
61
+ column()
62
+ ], BillingSubscription.prototype, "currency", void 0);
63
+ __decorate([
64
+ column()
65
+ ], BillingSubscription.prototype, "cycle", void 0);
66
+ __decorate([
67
+ column()
68
+ ], BillingSubscription.prototype, "method", void 0);
69
+ __decorate([
70
+ column()
71
+ ], BillingSubscription.prototype, "description", void 0);
72
+ __decorate([
73
+ column()
74
+ ], BillingSubscription.prototype, "externalReference", void 0);
75
+ __decorate([
76
+ column.dateTime()
77
+ ], BillingSubscription.prototype, "currentPeriodStart", void 0);
78
+ __decorate([
79
+ column.dateTime()
80
+ ], BillingSubscription.prototype, "currentPeriodEnd", void 0);
81
+ __decorate([
82
+ column.dateTime()
83
+ ], BillingSubscription.prototype, "nextChargeAt", void 0);
84
+ __decorate([
85
+ column()
86
+ ], BillingSubscription.prototype, "cancelAtPeriodEnd", void 0);
54
87
  __decorate([
55
88
  column.dateTime({ autoCreate: true })
56
89
  ], BillingSubscription.prototype, "createdAt", void 0);
@@ -1 +1 @@
1
- {"version":3,"file":"with_subscription.js","sourceRoot":"","sources":["../../../../src/billing/mixins/with_subscription.ts"],"names":[],"mappings":";;;;;;AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAEzC,OAAO,EAAE,SAAS,EAAE,YAAY,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAGtE;;;;;GAKG;AACH,MAAM,OAAO,mBAAoB,SAAQ,SAAS;IAChD;;;;;OAKG;IAEI,AAAP,MAAM,CAAC,UAAU,CAAC,GAAwB;QACxC,IAAI,CAAC,GAAG,CAAC,EAAE;YAAE,GAAG,CAAC,EAAE,GAAG,UAAU,EAAE,CAAC;IACrC,CAAC;CAmCF;AAhCS;IADP,MAAM,CAAC,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC;+CACT;AAIX;IADP,MAAM,EAAE;sDACiB;AAGlB;IADP,MAAM,EAAE;qDACgB;AAGjB;IADP,MAAM,EAAE;mDACc;AAGf;IADP,MAAM,EAAE;mDACc;AAGf;IADP,MAAM,CAAC,EAAE,WAAW,EAAE,IAAI,EAAE,CAAC;uDACH;AAGnB;IADP,MAAM,CAAC,QAAQ,CAAC,EAAE,WAAW,EAAE,IAAI,EAAE,CAAC;wDACF;AAG7B;IADP,MAAM,CAAC,QAAQ,CAAC,EAAE,WAAW,EAAE,IAAI,EAAE,CAAC;mDACP;AAGxB;IADP,MAAM,CAAC,EAAE,WAAW,EAAE,IAAI,EAAE,CAAC;oDACW;AAGjC;IADP,MAAM,CAAC,QAAQ,CAAC,EAAE,UAAU,EAAE,IAAI,EAAE,CAAC;sDACV;AAGpB;IADP,MAAM,CAAC,QAAQ,CAAC,EAAE,UAAU,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,CAAC;sDAC5B;AApCrB;IADN,YAAY,EAAE;2CAGd;AAuDH;;;;;;;;GAQG;AACH,MAAM,UAAU,gBAAgB;IAC9B,OAAO,CACL,UAAiB,EACc,EAAE;QACjC,MAAM,iBAAkB,SAAQ,UAAU;SA8BzC;QA5BS;YADP,MAAM,EAAE;4DACiB;QAGlB;YADP,MAAM,EAAE;2DACgB;QAGjB;YADP,MAAM,EAAE;yDACc;QAGf;YADP,MAAM,EAAE;yDACc;QAGf;YADP,MAAM,CAAC,EAAE,WAAW,EAAE,IAAI,EAAE,CAAC;6DACH;QAGnB;YADP,MAAM,CAAC,QAAQ,CAAC,EAAE,WAAW,EAAE,IAAI,EAAE,CAAC;8DACF;QAG7B;YADP,MAAM,CAAC,QAAQ,CAAC,EAAE,WAAW,EAAE,IAAI,EAAE,CAAC;yDACP;QAGxB;YADP,MAAM,CAAC,EAAE,WAAW,EAAE,IAAI,EAAE,CAAC;0DACW;QAGjC;YADP,MAAM,CAAC,QAAQ,CAAC,EAAE,UAAU,EAAE,IAAI,EAAE,CAAC;4DACV;QAGpB;YADP,MAAM,CAAC,QAAQ,CAAC,EAAE,UAAU,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,CAAC;4DAC5B;QAE9B,OAAO,iBAAiB,CAAC;IAC3B,CAAC,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"with_subscription.js","sourceRoot":"","sources":["../../../../src/billing/mixins/with_subscription.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["../../../src/billing/schema.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AAEH,+CAA+C;AAC/C,MAAM,MAAM,kBAAkB,GAAG,SAAS,OAAO,EAAE,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;AAE9E;;;;;;;;;;GAUG;AACH,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,CAAC,GAAG,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,kBAAkB,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;CACxE;AAED;;;;;;GAMG;AACH,MAAM,WAAW,aAAc,SAAQ,gBAAgB;IACrD,OAAO,CAAC,EAAE;QAAE,IAAI,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IAC5B,UAAU,CAAC,CAAC,IAAI,CAAC,EAAE,MAAM,GAAG;QAAE,OAAO,CAAC,EAAE;YAAE,IAAI,CAAC,EAAE,MAAM,CAAA;SAAE,CAAA;KAAE,CAAC;CAC7D;AAED;;;;;;;GAOG;AACH,eAAO,MAAM,cAAc,YACzB,mBAAmB,EACnB,uBAAuB,EACvB,kBAAkB,EAClB,wBAAwB,EACxB,kBAAkB,EAClB,sBAAsB,EACtB,sBAAsB,CACd,CAAC;AAEX,oEAAoE;AACpE,wBAAgB,aAAa,CAAC,EAAE,EAAE,aAAa,GAAG,MAAM,GAAG,SAAS,CAQnE;AAsFD;;;;;;;;;;;;GAYG;AACH,wBAAsB,mBAAmB,CAAC,EAAE,EAAE,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC,CAmP1E;AAaD;;;GAGG;AACH,wBAAgB,0BAA0B,CAAC,KAAK,EAAE,MAAM,IAAI,GAAG,MAAM,IAAI,CAKxE;AAED;;;;;;;;GAQG;AACH,wBAAsB,iBAAiB,CAAC,EAAE,EAAE,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC,CAKxE;AAED;;;;;;;;;;;;GAYG;AACH,wBAAsB,qBAAqB,CAAC,EAAE,EAAE,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC,CAU5E"}
1
+ {"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["../../../src/billing/schema.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AAEH,+CAA+C;AAC/C,MAAM,MAAM,kBAAkB,GAAG,SAAS,OAAO,EAAE,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;AAE9E;;;;;;;;;;GAUG;AACH,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,CAAC,GAAG,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,kBAAkB,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;CACxE;AAED;;;;;;GAMG;AACH,MAAM,WAAW,aAAc,SAAQ,gBAAgB;IACrD,OAAO,CAAC,EAAE;QAAE,IAAI,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IAC5B,UAAU,CAAC,CAAC,IAAI,CAAC,EAAE,MAAM,GAAG;QAAE,OAAO,CAAC,EAAE;YAAE,IAAI,CAAC,EAAE,MAAM,CAAA;SAAE,CAAA;KAAE,CAAC;CAC7D;AAED;;;;;;;GAOG;AACH,eAAO,MAAM,cAAc,YACzB,mBAAmB,EACnB,uBAAuB,EACvB,kBAAkB,EAClB,wBAAwB,EACxB,kBAAkB,EAClB,sBAAsB,EACtB,sBAAsB,CACd,CAAC;AAEX,oEAAoE;AACpE,wBAAgB,aAAa,CAAC,EAAE,EAAE,aAAa,GAAG,MAAM,GAAG,SAAS,CAQnE;AAsFD;;;;;;;;;;;;GAYG;AACH,wBAAsB,mBAAmB,CAAC,EAAE,EAAE,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC,CAiR1E;AAaD;;;GAGG;AACH,wBAAgB,0BAA0B,CAAC,KAAK,EAAE,MAAM,IAAI,GAAG,MAAM,IAAI,CAKxE;AAED;;;;;;;;GAQG;AACH,wBAAsB,iBAAiB,CAAC,EAAE,EAAE,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC,CAKxE;AAED;;;;;;;;;;;;GAYG;AACH,wBAAsB,qBAAqB,CAAC,EAAE,EAAE,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC,CAU5E"}