Skip to content

Commit

Permalink
add version to stripe client (podkrepi-bg#471)
Browse files Browse the repository at this point in the history
* added: explicit version for stripe api client

* added: maxNetworkRetries 2 to stripe client

* added: full stripe error log

---------

Co-authored-by: quantum-grit <[email protected]>
  • Loading branch information
2 people authored and dimitur2204 committed Mar 23, 2023
1 parent 1e5a4b7 commit 018929c
Show file tree
Hide file tree
Showing 5 changed files with 20 additions and 13 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -9,15 +9,15 @@ import { VaultService } from '../vault/vault.service'
import { CampaignService } from '../campaign/campaign.service'
import { ConfigService } from '@nestjs/config'
import { StripeModule } from '@golevelup/nestjs-stripe'
import { useFactoryService } from './helpers/use-factory-service'
import { StripeConfigFactory } from '../donations/helpers/stripe-config-factory'
import { ExportService } from '../export/export.service'
import { NotificationModule } from '../sockets/notifications/notification.module'

@Module({
imports: [
StripeModule.forRootAsync(StripeModule, {
inject: [ConfigService],
useFactory: useFactoryService.useFactory,
useFactory: StripeConfigFactory.useFactory,
}),
NotificationModule,
],
Expand Down
4 changes: 2 additions & 2 deletions apps/api/src/donations/donations.module.ts
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
import { StripeModule } from '@golevelup/nestjs-stripe'
import { Module } from '@nestjs/common'
import { ConfigService } from '@nestjs/config'
import { useFactoryService } from '../bank-transactions-file/helpers/use-factory-service'
import { StripeConfigFactory } from './helpers/stripe-config-factory'
import { CampaignModule } from '../campaign/campaign.module'
import { CampaignService } from '../campaign/campaign.service'
import { RecurringDonationService } from '../recurring-donation/recurring-donation.service'
Expand All @@ -22,7 +22,7 @@ import { NotificationModule } from '../sockets/notifications/notification.module
imports: [
StripeModule.forRootAsync(StripeModule, {
inject: [ConfigService],
useFactory: useFactoryService.useFactory,
useFactory: StripeConfigFactory.useFactory,
}),
VaultModule,
CampaignModule,
Expand Down
8 changes: 6 additions & 2 deletions apps/api/src/donations/donations.service.ts
Original file line number Diff line number Diff line change
Expand Up @@ -53,7 +53,9 @@ export class DonationsService {
'[Stripe] Error while getting price list. Error type: ' +
error.type +
' message: ' +
error.message,
error.message +
' full error: ' +
JSON.stringify(error),
)
},
)
Expand Down Expand Up @@ -266,7 +268,9 @@ export class DonationsService {
'[Stripe] Error while creating checkout session. Error type: ' +
error.type +
' message: ' +
error.message,
error.message +
' full error: ' +
JSON.stringify(error),
)
},
)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,10 +2,16 @@ import { StripeModuleConfig } from '@golevelup/nestjs-stripe'
import { ConfigService } from '@nestjs/config'
import { Public } from 'nest-keycloak-connect'

export const useFactoryService = {
export const StripeConfigFactory = {
useFactory: async (config: ConfigService) =>
({
apiVersion: '2022-11-15',
appInfo: {
name: 'Podkrepi.bg open charity platform',
url: 'https://podkrepi.bg',
},
apiKey: config.get('stripe.secretKey', ''),
maxNetworkRetries: 2,
webhookConfig: {
stripeWebhookSecret: config.get('stripe.webhookSecret', ''),
requestBodyProperty: 'body',
Expand Down
9 changes: 3 additions & 6 deletions apps/api/src/recurring-donation/recurring-donation.module.ts
Original file line number Diff line number Diff line change
Expand Up @@ -5,21 +5,18 @@ import { PrismaService } from '../prisma/prisma.service'
import { HttpModule } from '@nestjs/axios'
import { StripeModule } from '@golevelup/nestjs-stripe'
import { ConfigService } from '@nestjs/config'
import { useFactoryService } from '../bank-transactions-file/helpers/use-factory-service'
import { StripeConfigFactory } from '../donations/helpers/stripe-config-factory'

@Module({
imports: [
StripeModule.forRootAsync(StripeModule, {
inject: [ConfigService],
useFactory: useFactoryService.useFactory,
useFactory: StripeConfigFactory.useFactory,
}),
HttpModule,
],

controllers: [RecurringDonationController],
providers: [
PrismaService,
RecurringDonationService,
],
providers: [PrismaService, RecurringDonationService],
})
export class RecurringDonationModule {}

0 comments on commit 018929c

Please sign in to comment.