mirror of
https://github.com/fluxerapp/fluxer
synced 2026-10-18 13:35:42 +09:00
feat(premium): native Nordic prices and subscribing during grace (#3274)
This commit is contained in:
1 parent
0ef1cd14c3
commit
7a4aa42d4b
84 files changed
+7720
-4589
No files matched your search
@@ -6,6 +6,7 @@ import type {IDonationRepository} from '@app/api/donation/IDonationRepository';
|
||||
import type {IEmailDnsValidationService} from '@app/api/infrastructure/IEmailDnsValidationService';
|
||||
import {Logger} from '@app/api/Logger';
|
||||
import {getBillingRepository} from '@app/api/middleware/ServiceRegistry';
|
||||
import {shouldDisableAdaptivePricing} from '@app/api/utils/CurrencyUtils';
|
||||
import {ValidationErrorCodes} from '@fluxer/constants/src/ValidationErrorCodes';
|
||||
import {InputValidationError} from '@fluxer/errors/src/domains/core/InputValidationError';
|
||||
import {DonationAmountInvalidError} from '@fluxer/errors/src/domains/donation/DonationAmountInvalidError';
|
||||
@@ -173,6 +174,7 @@ export class DonationCheckoutService {
|
||||
enabled: true,
|
||||
},
|
||||
...(isBusiness ? {billing_address_collection: 'required' as const} : {}),
|
||||
...(shouldDisableAdaptivePricing(params.currency) ? {adaptive_pricing: {enabled: false}} : {}),
|
||||
...(mode === 'payment'
|
||||
? {
|
||||
customer_creation: 'always' as const,
|
||||
|
||||
@@ -131,6 +131,8 @@ describe('POST /donations/checkout', () => {
|
||||
}
|
||||
| undefined;
|
||||
expect(lineItem?.price_data?.currency).toBe(currency);
|
||||
const nordic = ['sek', 'dkk', 'nok'].includes(currency);
|
||||
expect(session?.adaptive_pricing).toEqual(nordic ? {enabled: 'false'} : undefined);
|
||||
});
|
||||
test('accepts monthly interval', async () => {
|
||||
const response = await createDonationCheckoutBuilder(harness)
|
||||
|
||||
Reference in new issue
Block a user