feat: add payment management improvements and reminder emails
- Add option to approve/reject payments without sending notification emails (checkbox in review popup, default enabled) - Add payment reminder email template and send functionality - Track when reminder emails are sent (reminderSentAt field) - Display reminder sent timestamp in payment review popup - Make payment review popup scrollable for better UX - Add payment-reminder template to email system (available in admin emails)
This commit is contained in:
@@ -218,16 +218,21 @@ export const paymentsApi = {
|
||||
body: JSON.stringify(data),
|
||||
}),
|
||||
|
||||
approve: (id: string, adminNote?: string) =>
|
||||
approve: (id: string, adminNote?: string, sendEmail: boolean = true) =>
|
||||
fetchApi<{ payment: Payment; message: string }>(`/api/payments/${id}/approve`, {
|
||||
method: 'POST',
|
||||
body: JSON.stringify({ adminNote }),
|
||||
body: JSON.stringify({ adminNote, sendEmail }),
|
||||
}),
|
||||
|
||||
reject: (id: string, adminNote?: string) =>
|
||||
reject: (id: string, adminNote?: string, sendEmail: boolean = true) =>
|
||||
fetchApi<{ payment: Payment; message: string }>(`/api/payments/${id}/reject`, {
|
||||
method: 'POST',
|
||||
body: JSON.stringify({ adminNote }),
|
||||
body: JSON.stringify({ adminNote, sendEmail }),
|
||||
}),
|
||||
|
||||
sendReminder: (id: string) =>
|
||||
fetchApi<{ message: string; reminderSentAt?: string }>(`/api/payments/${id}/send-reminder`, {
|
||||
method: 'POST',
|
||||
}),
|
||||
|
||||
updateNote: (id: string, adminNote: string) =>
|
||||
@@ -502,6 +507,7 @@ export interface Payment {
|
||||
paidAt?: string;
|
||||
paidByAdminId?: string;
|
||||
adminNote?: string;
|
||||
reminderSentAt?: string; // When payment reminder email was sent
|
||||
createdAt: string;
|
||||
updatedAt: string;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user