25 lines
1.4 KiB
C#
25 lines
1.4 KiB
C#
using Microsoft.AspNetCore.Http;
|
|
|
|
namespace Fitness_core_BE.Interfaces.Services
|
|
{
|
|
public interface IPaymentService
|
|
{
|
|
Task<object> CreateCustomerPayment(object payload, HttpContext httpContext);
|
|
Task<object> CreateClientPayment(object payload, HttpContext httpContext);
|
|
Task<object> GetPaymentById(object payload, HttpContext httpContext);
|
|
Task<object> GetPaymentsByCustomerInvoice(object payload, HttpContext httpContext);
|
|
Task<object> GetPaymentsByClientInvoice(object payload, HttpContext httpContext);
|
|
Task<object> ApprovePayment(object payload, HttpContext httpContext);
|
|
Task<object> RecordSubscriptionPayment(object payload, HttpContext httpContext);
|
|
Task<object> GetSubscriptionPayments(object payload, HttpContext httpContext);
|
|
|
|
// "Charge now": owner-triggered attempt against the member's consented auto-charge card.
|
|
Task<object> AttemptAutoCharge(Guid customerInvoiceId, HttpContext httpContext);
|
|
// Emails/texts the member a link to pay the invoice online themselves.
|
|
Task<object> SendPaymentLink(Guid customerInvoiceId, HttpContext httpContext);
|
|
// Public pay-by-link surface (token proves authorization; no logged-in session).
|
|
Task<object> GetInvoiceByPaymentToken(string token);
|
|
Task<object> ChargeInvoiceByPaymentToken(string token, object payload);
|
|
}
|
|
}
|