InvoiceExpiredPaidPartial and InvoicePaidAfterExpiration webhooks

This commit is contained in:
rockstardev
2025-05-12 23:52:10 -05:00
parent 9afa45088e
commit 2b86d4c9dc
3 changed files with 35 additions and 4 deletions

View File

@@ -29,6 +29,8 @@ public class InvoiceWebhookProvider : WebhookProvider<InvoiceEvent>
{WebhookEventType.InvoiceExpired, "Invoice - Expired"},
{WebhookEventType.InvoiceSettled, "Invoice - Is Settled"},
{WebhookEventType.InvoiceInvalid, "Invoice - Became Invalid"},
{WebhookEventType.InvoiceExpiredPaidPartial, "Invoice - Expired Paid Partial"},
{WebhookEventType.InvoicePaidAfterExpiration, "Invoice - Expired Paid Late"},
};
}
@@ -113,6 +115,26 @@ public class InvoiceWebhookProvider : WebhookProvider<InvoiceEvent>
Payment = GreenfieldInvoiceController.ToPaymentModel(invoiceEvent.Invoice, invoiceEvent.Payment),
StoreId = invoiceEvent.Invoice.StoreId
};
case InvoiceEventCode.ExpiredPaidPartial:
return new WebhookInvoiceReceivedPaymentEvent(WebhookEventType.InvoiceExpiredPaidPartial, storeId)
{
AfterExpiration =
invoiceEvent.Invoice.Status == InvoiceStatus.Expired ||
invoiceEvent.Invoice.Status == InvoiceStatus.Invalid,
PaymentMethodId = invoiceEvent.Payment.PaymentMethodId.ToString(),
Payment = GreenfieldInvoiceController.ToPaymentModel(invoiceEvent.Invoice, invoiceEvent.Payment),
StoreId = invoiceEvent.Invoice.StoreId
};
case InvoiceEventCode.PaidAfterExpiration:
return new WebhookInvoiceReceivedPaymentEvent(WebhookEventType.InvoicePaidAfterExpiration, storeId)
{
AfterExpiration =
invoiceEvent.Invoice.Status == InvoiceStatus.Expired ||
invoiceEvent.Invoice.Status == InvoiceStatus.Invalid,
PaymentMethodId = invoiceEvent.Payment.PaymentMethodId.ToString(),
Payment = GreenfieldInvoiceController.ToPaymentModel(invoiceEvent.Invoice, invoiceEvent.Payment),
StoreId = invoiceEvent.Invoice.StoreId
};
default:
return null;
}