public Task <Result <PaymentResponse> > ProcessNGeniusWebhook(string code, CreditCardPaymentStatuses status) { return(Result.Success() .BindWithLock(_locker, typeof(PaymentLink), code, () => Result.Success() .Bind(GetLink) .Bind(ProcessResponse))); Task <Result <PaymentLink> > GetLink() => this.GetLink(code); Task <Result <PaymentResponse> > ProcessResponse(PaymentLink link) => this.ProcessResponse(link.ToLinkData(), code, status); }
public PaymentLinkData(decimal amount, string email, ServiceTypes serviceType, Currencies currency, string comment, string referenceCode, CreditCardPaymentStatuses creditCardPaymentStatus, string code, DateTime date) { Amount = amount; Email = email; ServiceType = serviceType; Currency = currency; Comment = comment; ReferenceCode = referenceCode; CreditCardPaymentStatus = creditCardPaymentStatus; Code = code; Date = date; }
public CreditCardPaymentResult(string secure3d, string referenceCode, string authorizationCode, string externalCode, string expirationDate, string cardNumber, CreditCardPaymentStatuses status, string message, decimal amount, string merchantReference) { Secure3d = secure3d; ReferenceCode = referenceCode; AuthorizationCode = authorizationCode; ExternalCode = externalCode; ExpirationDate = expirationDate; CardNumber = cardNumber; Status = status; Message = message; Amount = amount; MerchantReference = merchantReference; }
public static PaymentStatuses ToPaymentStatus(this CreditCardPaymentStatuses status) { switch (status) { case CreditCardPaymentStatuses.Created: return(PaymentStatuses.Created); case CreditCardPaymentStatuses.Success: return(PaymentStatuses.Authorized); case CreditCardPaymentStatuses.Secure3d: return(PaymentStatuses.Secure3d); case CreditCardPaymentStatuses.Failed: return(PaymentStatuses.Failed); default: throw new ArgumentOutOfRangeException(nameof(status), status, null); } }
public StatusResponse(CreditCardPaymentStatuses status) { Status = status; Message = $"Payment completed with status: {status}"; }
public PaymentResponse(string secure3d, CreditCardPaymentStatuses status, string message) { Secure3d = secure3d; Status = status; Message = message; }