diff --git a/packages/server/src/services/StripePayment/CreatePaymentReceivedStripePayment.ts b/packages/server/src/services/StripePayment/CreatePaymentReceivedStripePayment.ts index b0a3017c1..29d1c8d18 100644 --- a/packages/server/src/services/StripePayment/CreatePaymentReceivedStripePayment.ts +++ b/packages/server/src/services/StripePayment/CreatePaymentReceivedStripePayment.ts @@ -20,7 +20,7 @@ export class CreatePaymentReceiveStripePayment { private uow: UnitOfWork; /** - * + * * @param {number} tenantId * @param {number} saleInvoiceId * @param {number} paidAmount @@ -36,26 +36,27 @@ export class CreatePaymentReceiveStripePayment { return this.uow.withTransaction(tenantId, async (trx: Knex.Transaction) => { // Finds or creates a new stripe payment clearing account (current asset). const stripeClearingAccount = - accountRepository.findOrCreateStripeClearing({}, trx); + await accountRepository.findOrCreateStripeClearing({}, trx); // Retrieves the given invoice to create payment transaction associated to it. const invoice = await this.getSaleInvoiceService.getSaleInvoice( tenantId, saleInvoiceId ); + const paymentReceivedDTO = { + customerId: invoice.customerId, + paymentDate: new Date(), + amount: paidAmount, + exchangeRate: 1, + referenceNo: '', + statement: '', + depositAccountId: stripeClearingAccount.id, + entries: [{ invoiceId: saleInvoiceId, paymentAmount: paidAmount }], + }; // Create a payment received transaction associated to the given invoice. await this.createPaymentReceivedService.createPaymentReceived( tenantId, - { - customerId: invoice.customerId, - paymentDate: new Date(), - amount: paidAmount, - exchangeRate: 1, - referenceNo: '', - statement: '', - depositAccountId: stripeClearingAccount.id, - entries: [{ invoiceId: saleInvoiceId, paymentAmount: paidAmount }], - }, + paymentReceivedDTO, {}, trx ); diff --git a/packages/server/src/services/StripePayment/events/StripeWebhooksSubscriber.ts b/packages/server/src/services/StripePayment/events/StripeWebhooksSubscriber.ts index 9f2e157d7..d21072df1 100644 --- a/packages/server/src/services/StripePayment/events/StripeWebhooksSubscriber.ts +++ b/packages/server/src/services/StripePayment/events/StripeWebhooksSubscriber.ts @@ -8,6 +8,7 @@ import { import HasTenancyService from '@/services/Tenancy/TenancyService'; import { Tenant } from '@/system/models'; import { initalizeTenantServices } from '@/api/middleware/TenantDependencyInjection'; +import { initializeTenantSettings } from '@/api/middleware/SettingsMiddleware'; @Service() export class StripeWebhooksSubscriber { @@ -43,6 +44,7 @@ export class StripeWebhooksSubscriber { const saleInvoiceId = parseInt(metadata.saleInvoiceId, 10); await initalizeTenantServices(tenantId); + await initializeTenantSettings(tenantId); // Get the amount from the event const amount = event.data.object.amount_total;