Example #1
0
        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);
        }
Example #2
0
 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;
 }
Example #3
0
 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);
            }
        }
Example #5
0
 public StatusResponse(CreditCardPaymentStatuses status)
 {
     Status  = status;
     Message = $"Payment completed with status: {status}";
 }
Example #6
0
 public PaymentResponse(string secure3d, CreditCardPaymentStatuses status, string message)
 {
     Secure3d = secure3d;
     Status   = status;
     Message  = message;
 }