@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.
- package/CHANGELOG.md +85 -0
- package/dist/commands/main.d.ts +4 -3
- package/dist/commands/main.d.ts.map +1 -1
- package/dist/commands/main.js +3 -1
- package/dist/commands/main.js.map +1 -1
- package/dist/commands/payments_renew.d.ts +33 -0
- package/dist/commands/payments_renew.d.ts.map +1 -0
- package/dist/commands/payments_renew.js +77 -0
- package/dist/commands/payments_renew.js.map +1 -0
- package/dist/providers/payments_provider.d.ts.map +1 -1
- package/dist/providers/payments_provider.js +6 -1
- package/dist/providers/payments_provider.js.map +1 -1
- package/dist/src/billing/billing_store.d.ts +50 -1
- package/dist/src/billing/billing_store.d.ts.map +1 -1
- package/dist/src/billing/billing_store.js.map +1 -1
- package/dist/src/billing/lucid_billing_store.d.ts +5 -1
- package/dist/src/billing/lucid_billing_store.d.ts.map +1 -1
- package/dist/src/billing/lucid_billing_store.js +72 -0
- package/dist/src/billing/lucid_billing_store.js.map +1 -1
- package/dist/src/billing/managed_subscriptions.d.ts +91 -0
- package/dist/src/billing/managed_subscriptions.d.ts.map +1 -0
- package/dist/src/billing/managed_subscriptions.js +208 -0
- package/dist/src/billing/managed_subscriptions.js.map +1 -0
- package/dist/src/billing/mixins/with_subscription.d.ts +41 -2
- package/dist/src/billing/mixins/with_subscription.d.ts.map +1 -1
- package/dist/src/billing/mixins/with_subscription.js +33 -0
- package/dist/src/billing/mixins/with_subscription.js.map +1 -1
- package/dist/src/billing/schema.d.ts.map +1 -1
- package/dist/src/billing/schema.js +23 -0
- package/dist/src/billing/schema.js.map +1 -1
- package/dist/src/define_config.d.ts +12 -0
- package/dist/src/define_config.d.ts.map +1 -1
- package/dist/src/define_config.js.map +1 -1
- package/dist/src/driver.d.ts +40 -0
- package/dist/src/driver.d.ts.map +1 -1
- package/dist/src/drivers/woovi.d.ts +41 -5
- package/dist/src/drivers/woovi.d.ts.map +1 -1
- package/dist/src/drivers/woovi.js +137 -9
- package/dist/src/drivers/woovi.js.map +1 -1
- package/dist/src/index.d.ts +8 -0
- package/dist/src/index.d.ts.map +1 -1
- package/dist/src/index.js +4 -0
- package/dist/src/index.js.map +1 -1
- package/dist/src/payments_manager.d.ts +31 -0
- package/dist/src/payments_manager.d.ts.map +1 -1
- package/dist/src/payments_manager.js +46 -0
- package/dist/src/payments_manager.js.map +1 -1
- package/dist/src/subscription_lifecycle.d.ts +21 -0
- package/dist/src/subscription_lifecycle.d.ts.map +1 -0
- package/dist/src/subscription_lifecycle.js +22 -0
- package/dist/src/subscription_lifecycle.js.map +1 -0
- package/dist/src/subscription_mode.d.ts +32 -0
- package/dist/src/subscription_mode.d.ts.map +1 -0
- package/dist/src/subscription_mode.js +13 -0
- package/dist/src/subscription_mode.js.map +1 -0
- package/dist/src/subscriptions_api.d.ts +93 -0
- package/dist/src/subscriptions_api.d.ts.map +1 -0
- package/dist/src/subscriptions_api.js +102 -0
- package/dist/src/subscriptions_api.js.map +1 -0
- package/dist/src/testing/in_memory_billing_store.d.ts +19 -2
- package/dist/src/testing/in_memory_billing_store.d.ts.map +1 -1
- package/dist/src/testing/in_memory_billing_store.js +77 -0
- package/dist/src/testing/in_memory_billing_store.js.map +1 -1
- 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
|
-
/**
|
|
20
|
-
|
|
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
|
|
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;
|
|
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,
|
|
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"}
|