mirror of
https://github.com/Tria-plc/edr-platform.git
synced 2026-09-09 05:58:18 +00:00
Merge pull request #454 from Tria-plc/freight_feature/usermanagement
changes
This commit is contained in:
@@ -963,6 +963,21 @@ export class BillingService {
|
|||||||
.getRepository(Invoice)
|
.getRepository(Invoice)
|
||||||
.update({ id: invoice.id }, { paymentId: result.intentId });
|
.update({ id: invoice.id }, { paymentId: result.intentId });
|
||||||
|
|
||||||
|
// DEMO: manually fire the gateway `payment.succeeded` callback here, without
|
||||||
|
// waiting for real gateway settlement. Runs AFTER the paymentId link above so
|
||||||
|
// `handlePaymentEvent → settleByPaymentId` can correlate the invoice. TODO:
|
||||||
|
// remove — real settlement flips this via the `${source}.invoice.paid` handler.
|
||||||
|
if (!result.immediateSuccess) {
|
||||||
|
await this.payment.handlePaymentEvent({
|
||||||
|
eventType: "payment.succeeded",
|
||||||
|
eventId: `demo-${result.intentId}`,
|
||||||
|
referenceId: invoice.sourceId,
|
||||||
|
intentId: result.intentId,
|
||||||
|
providerTxnId: result.providerTxnId,
|
||||||
|
paidAt: (result.paidAt ?? new Date()).toISOString(),
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
if (result.immediateSuccess) {
|
if (result.immediateSuccess) {
|
||||||
await this.settleByPaymentId(
|
await this.settleByPaymentId(
|
||||||
result.intentId,
|
result.intentId,
|
||||||
|
|||||||
@@ -479,7 +479,7 @@ export class PaymentService {
|
|||||||
alreadyFinalized?: boolean;
|
alreadyFinalized?: boolean;
|
||||||
reason?: string;
|
reason?: string;
|
||||||
}> {
|
}> {
|
||||||
console.log(`Received payment event: ${JSON.stringify(event)}`);
|
this.logger.log(`Received payment event: ${JSON.stringify(event)}`);
|
||||||
if (event.eventType === "payment.succeeded") {
|
if (event.eventType === "payment.succeeded") {
|
||||||
const intent = await this.paymentRepo.findOneBy({
|
const intent = await this.paymentRepo.findOneBy({
|
||||||
refId: event.referenceId,
|
refId: event.referenceId,
|
||||||
@@ -490,13 +490,12 @@ export class PaymentService {
|
|||||||
reason: `No local intent for reference ${event.referenceId}`,
|
reason: `No local intent for reference ${event.referenceId}`,
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
console.log(`Processing payment succeeded event for intent: }`, intent);
|
|
||||||
const { alreadyFinalized } = await this.markIntentSucceeded(intent.id, {
|
const { alreadyFinalized } = await this.markIntentSucceeded(intent.id, {
|
||||||
providerTxnId: event.providerTxnId,
|
providerTxnId: event.providerTxnId,
|
||||||
paidAt: event.paidAt ? new Date(event.paidAt) : undefined,
|
paidAt: event.paidAt ? new Date(event.paidAt) : undefined,
|
||||||
notify: true,
|
notify: true,
|
||||||
});
|
});
|
||||||
console.log(
|
this.logger.log(
|
||||||
`Payment finalized for intent ${intent.id}, alreadyFinalized: ${alreadyFinalized}`,
|
`Payment finalized for intent ${intent.id}, alreadyFinalized: ${alreadyFinalized}`,
|
||||||
);
|
);
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user