Owneat Technical Guide main Help

Class PaymentController

Namespace: Payment.API.Controllers
Assembly: Payment.API.dll

Controller that manage payments.

[ApiController] [ApiVersion("1.0")] [Route("api/v{version:apiVersion}/[controller]s")] public sealed class PaymentController : ControllerBase

Inheritance

objectControllerBase ← PaymentController

Inherited Members

ControllerBase.StatusCode\(int\), ControllerBase.StatusCode\(int, object?\), ControllerBase.Content\(string\), ControllerBase.Content\(string, string\), ControllerBase.Content\(string, string, Encoding\), ControllerBase.Content\(string, MediaTypeHeaderValue?\), ControllerBase.NoContent\(\), ControllerBase.Ok\(\), ControllerBase.Ok\(object?\), ControllerBase.Redirect\(string\), ControllerBase.RedirectPermanent\(string\), ControllerBase.RedirectPreserveMethod\(string\), ControllerBase.RedirectPermanentPreserveMethod\(string\), ControllerBase.LocalRedirect\(string\), ControllerBase.LocalRedirectPermanent\(string\), ControllerBase.LocalRedirectPreserveMethod\(string\), ControllerBase.LocalRedirectPermanentPreserveMethod\(string\), ControllerBase.RedirectToAction\(\), ControllerBase.RedirectToAction\(string?\), ControllerBase.RedirectToAction\(string?, object?\), ControllerBase.RedirectToAction\(string?, string?\), ControllerBase.RedirectToAction\(string?, string?, object?\), ControllerBase.RedirectToAction\(string?, string?, string?\), ControllerBase.RedirectToAction\(string?, string?, object?, string?\), ControllerBase.RedirectToActionPreserveMethod\(string?, string?, object?, string?\), ControllerBase.RedirectToActionPermanent\(string?\), ControllerBase.RedirectToActionPermanent\(string?, object?\), ControllerBase.RedirectToActionPermanent\(string?, string?\), ControllerBase.RedirectToActionPermanent\(string?, string?, string?\), ControllerBase.RedirectToActionPermanent\(string?, string?, object?\), ControllerBase.RedirectToActionPermanent\(string?, string?, object?, string?\), ControllerBase.RedirectToActionPermanentPreserveMethod\(string?, string?, object?, string?\), ControllerBase.RedirectToRoute\(string?\), ControllerBase.RedirectToRoute\(object?\), ControllerBase.RedirectToRoute\(string?, object?\), ControllerBase.RedirectToRoute\(string?, string?\), ControllerBase.RedirectToRoute\(string?, object?, string?\), ControllerBase.RedirectToRoutePreserveMethod\(string?, object?, string?\), ControllerBase.RedirectToRoutePermanent\(string?\), ControllerBase.RedirectToRoutePermanent\(object?\), ControllerBase.RedirectToRoutePermanent\(string?, object?\), ControllerBase.RedirectToRoutePermanent\(string?, string?\), ControllerBase.RedirectToRoutePermanent\(string?, object?, string?\), ControllerBase.RedirectToRoutePermanentPreserveMethod\(string?, object?, string?\), ControllerBase.RedirectToPage\(string\), ControllerBase.RedirectToPage\(string, object?\), ControllerBase.RedirectToPage\(string, string?\), ControllerBase.RedirectToPage\(string, string?, object?\), ControllerBase.RedirectToPage\(string, string?, string?\), ControllerBase.RedirectToPage\(string, string?, object?, string?\), ControllerBase.RedirectToPagePermanent\(string\), ControllerBase.RedirectToPagePermanent\(string, object?\), ControllerBase.RedirectToPagePermanent\(string, string?\), ControllerBase.RedirectToPagePermanent\(string, string?, string?\), ControllerBase.RedirectToPagePermanent\(string, string?, object?, string?\), ControllerBase.RedirectToPagePreserveMethod\(string, string?, object?, string?\), ControllerBase.RedirectToPagePermanentPreserveMethod\(string, string?, object?, string?\), ControllerBase.File\(byte\[\], string\), ControllerBase.File\(byte\[\], string, bool\), ControllerBase.File\(byte\[\], string, string?\), ControllerBase.File\(byte\[\], string, string?, bool\), ControllerBase.File\(byte\[\], string, DateTimeOffset?, EntityTagHeaderValue\), ControllerBase.File\(byte\[\], string, DateTimeOffset?, EntityTagHeaderValue, bool\), ControllerBase.File\(byte\[\], string, string?, DateTimeOffset?, EntityTagHeaderValue\), ControllerBase.File\(byte\[\], string, string?, DateTimeOffset?, EntityTagHeaderValue, bool\), ControllerBase.File\(Stream, string\), ControllerBase.File\(Stream, string, bool\), ControllerBase.File\(Stream, string, string?\), ControllerBase.File\(Stream, string, string?, bool\), ControllerBase.File\(Stream, string, DateTimeOffset?, EntityTagHeaderValue\), ControllerBase.File\(Stream, string, DateTimeOffset?, EntityTagHeaderValue, bool\), ControllerBase.File\(Stream, string, string?, DateTimeOffset?, EntityTagHeaderValue\), ControllerBase.File\(Stream, string, string?, DateTimeOffset?, EntityTagHeaderValue, bool\), ControllerBase.File\(string, string\), ControllerBase.File\(string, string, bool\), ControllerBase.File\(string, string, string?\), ControllerBase.File\(string, string, string?, bool\), ControllerBase.File\(string, string, DateTimeOffset?, EntityTagHeaderValue\), ControllerBase.File\(string, string, DateTimeOffset?, EntityTagHeaderValue, bool\), ControllerBase.File\(string, string, string?, DateTimeOffset?, EntityTagHeaderValue\), ControllerBase.File\(string, string, string?, DateTimeOffset?, EntityTagHeaderValue, bool\), ControllerBase.PhysicalFile\(string, string\), ControllerBase.PhysicalFile\(string, string, bool\), ControllerBase.PhysicalFile\(string, string, string?\), ControllerBase.PhysicalFile\(string, string, string?, bool\), ControllerBase.PhysicalFile\(string, string, DateTimeOffset?, EntityTagHeaderValue\), ControllerBase.PhysicalFile\(string, string, DateTimeOffset?, EntityTagHeaderValue, bool\), ControllerBase.PhysicalFile\(string, string, string?, DateTimeOffset?, EntityTagHeaderValue\), ControllerBase.PhysicalFile\(string, string, string?, DateTimeOffset?, EntityTagHeaderValue, bool\), ControllerBase.Unauthorized\(\), ControllerBase.Unauthorized\(object?\), ControllerBase.NotFound\(\), ControllerBase.NotFound\(object?\), ControllerBase.BadRequest\(\), ControllerBase.BadRequest\(object?\), ControllerBase.BadRequest\(ModelStateDictionary\), ControllerBase.UnprocessableEntity\(\), ControllerBase.UnprocessableEntity\(object?\), ControllerBase.UnprocessableEntity\(ModelStateDictionary\), ControllerBase.Conflict\(\), ControllerBase.Conflict\(object?\), ControllerBase.Conflict\(ModelStateDictionary\), ControllerBase.Problem\(string?, string?, int?, string?, string?\), ControllerBase.ValidationProblem\(ValidationProblemDetails\), ControllerBase.ValidationProblem\(ModelStateDictionary\), ControllerBase.ValidationProblem\(\), ControllerBase.ValidationProblem\(string?, string?, int?, string?, string?, ModelStateDictionary?\), ControllerBase.Created\(\), ControllerBase.Created\(string?, object?\), ControllerBase.Created\(Uri?, object?\), ControllerBase.CreatedAtAction\(string?, object?\), ControllerBase.CreatedAtAction\(string?, object?, object?\), ControllerBase.CreatedAtAction\(string?, string?, object?, object?\), ControllerBase.CreatedAtRoute\(string?, object?\), ControllerBase.CreatedAtRoute\(object?, object?\), ControllerBase.CreatedAtRoute\(string?, object?, object?\), ControllerBase.Accepted\(\), ControllerBase.Accepted\(object?\), ControllerBase.Accepted\(Uri\), ControllerBase.Accepted\(string?\), ControllerBase.Accepted\(string?, object?\), ControllerBase.Accepted\(Uri, object?\), ControllerBase.AcceptedAtAction\(string?\), ControllerBase.AcceptedAtAction\(string?, string?\), ControllerBase.AcceptedAtAction\(string?, object?\), ControllerBase.AcceptedAtAction\(string?, string?, object?\), ControllerBase.AcceptedAtAction\(string?, object?, object?\), ControllerBase.AcceptedAtAction\(string?, string?, object?, object?\), ControllerBase.AcceptedAtRoute\(object?\), ControllerBase.AcceptedAtRoute\(string?\), ControllerBase.AcceptedAtRoute\(string?, object?\), ControllerBase.AcceptedAtRoute\(object?, object?\), ControllerBase.AcceptedAtRoute\(string?, object?, object?\), ControllerBase.Challenge\(\), ControllerBase.Challenge\(params string\[\]\), ControllerBase.Challenge\(AuthenticationProperties\), ControllerBase.Challenge\(AuthenticationProperties, params string\[\]\), ControllerBase.Forbid\(\), ControllerBase.Forbid\(params string\[\]\), ControllerBase.Forbid\(AuthenticationProperties\), ControllerBase.Forbid\(AuthenticationProperties, params string\[\]\), ControllerBase.SignIn\(ClaimsPrincipal\), ControllerBase.SignIn\(ClaimsPrincipal, string\), ControllerBase.SignIn\(ClaimsPrincipal, AuthenticationProperties\), ControllerBase.SignIn\(ClaimsPrincipal, AuthenticationProperties, string\), ControllerBase.SignOut\(\), ControllerBase.SignOut\(AuthenticationProperties\), ControllerBase.SignOut\(params string\[\]\), ControllerBase.SignOut\(AuthenticationProperties, params string\[\]\), ControllerBase.TryUpdateModelAsync<TModel\>\(TModel\), ControllerBase.TryUpdateModelAsync<TModel\>\(TModel, string\), ControllerBase.TryUpdateModelAsync<TModel\>\(TModel, string, IValueProvider\), ControllerBase.TryUpdateModelAsync<TModel\>\(TModel, string, params Expression<Func<TModel, object?\>\>\[\]\), ControllerBase.TryUpdateModelAsync<TModel\>\(TModel, string, Func<ModelMetadata, bool\>\), ControllerBase.TryUpdateModelAsync<TModel\>\(TModel, string, IValueProvider, params Expression<Func<TModel, object?\>\>\[\]\), ControllerBase.TryUpdateModelAsync<TModel\>\(TModel, string, IValueProvider, Func<ModelMetadata, bool\>\), ControllerBase.TryUpdateModelAsync\(object, Type, string\), ControllerBase.TryUpdateModelAsync\(object, Type, string, IValueProvider, Func<ModelMetadata, bool\>\), ControllerBase.TryValidateModel\(object\), ControllerBase.TryValidateModel\(object, string?\), ControllerBase.HttpContext, ControllerBase.Request, ControllerBase.Response, ControllerBase.RouteData, ControllerBase.ModelState, ControllerBase.ControllerContext, ControllerBase.MetadataProvider, ControllerBase.ModelBinderFactory, ControllerBase.Url, ControllerBase.ObjectValidator, ControllerBase.ProblemDetailsFactory, ControllerBase.User, ControllerBase.Empty, object.Equals\(object?\), object.Equals\(object?, object?\), object.GetHashCode\(\), object.GetType\(\), object.ReferenceEquals\(object?, object?\), object.ToString\(\)

Constructors

PaymentController\(IMediator\)

Payment controller constructor, injecting MediatR.IMediator to send requests.

public PaymentController(IMediator mediator)

Parameters

mediator IMediator

The MediatR.IMediator to inject for mediator query handling.

Methods

ClearTablePayments\(TableToCleanFromPaymentsCommand\)

Delete a specific payment by its unique identifier.

[HttpPut("clear-table")] [ProducesResponseType(204)] [ProducesResponseType(400)] [ProducesResponseType(500)] public Task<ActionResult<Payment>> ClearTablePayments(TableToCleanFromPaymentsCommand command)

Parameters

command TableToCleanFromPaymentsCommand

Returns

Task < ActionResult <Payment\>\>

CreatePayment\(CreatePaymentCommand\)

Post a new payment.

[HttpPost] [ProducesResponseType(typeof(Payment), 201)] [ProducesResponseType(400)] [ProducesResponseType(500)] public Task<ActionResult<Payment>> CreatePayment(CreatePaymentCommand command)

Parameters

command CreatePaymentCommand

Returns

Task < ActionResult <Payment\>\>

DeletePayment\(Guid\)

Delete a specific payment by its unique identifier.

[HttpDelete("{id}")] [ProducesResponseType(204)] [ProducesResponseType(400)] [ProducesResponseType(404)] [ProducesResponseType(500)] public Task<IActionResult> DeletePayment(Guid id)

Parameters

id Guid

Returns

Task < IActionResult \>

GetAllPayments\(\)

Get the list of all payments.

[HttpGet] [ProducesResponseType(typeof(IEnumerable<Payment>), 200)] [ProducesResponseType(500)] public Task<ActionResult<IEnumerable<Payment>>> GetAllPayments()

Returns

Task < ActionResult < IEnumerable <Payment\>\>\>

GetPaymentById\(Guid\)

Get a specific payment by its unique identifier.

[HttpGet("{id}")] [ProducesResponseType(typeof(Payment), 200)] [ProducesResponseType(400)] [ProducesResponseType(404)] [ProducesResponseType(500)] public Task<ActionResult<Payment>> GetPaymentById(Guid id)

Parameters

id Guid

The id of the payment to get.

Returns

Task < ActionResult <Payment\>\>

GetPaymentWithOngoingSession\(Guid, double\)

Check if a payment link already exists on a payment instead of creating a new one.

[HttpGet("customer/{customerId}/retrieve-payment-link/{amount}")] [ProducesResponseType(typeof(Payment), 200)] [ProducesResponseType(400)] [ProducesResponseType(404)] [ProducesResponseType(500)] public Task<ActionResult<IEnumerable<Payment>>> GetPaymentWithOngoingSession(Guid customerId, double amount)

Parameters

customerId Guid

amount double

Returns

Task < ActionResult < IEnumerable <Payment\>\>\>

GetPaymentsByTableId\(Guid\)

Get the list of all payments by table id.

[HttpGet("table/{tableId}")] [ProducesResponseType(typeof(IEnumerable<Payment>), 200)] [ProducesResponseType(400)] [ProducesResponseType(500)] public Task<ActionResult<IEnumerable<Payment>>> GetPaymentsByTableId(Guid tableId)

Parameters

tableId Guid

Returns

Task < ActionResult < IEnumerable <Payment\>\>\>

Last modified: 21 May 2024