public IActionResult Post([FromBody] BackFillRequest request)
        {
            var paymentMethod = _manager.AddNewCreditCard(request,
                                                          _requestorInformationHelper.GetRequestorInformation(HttpContext));

            if (paymentMethod == null)
            {
                return(UnprocessableEntity());
            }

            return(Ok(paymentMethod));
        }
Example #2
0
        private string CreateElectronicPaymentInfo(BackFillRequest request, RequestorInformation requestor)
        {
            var records          = _chargingApiClient.GetTransactionLogByToken(request.Token, requestor);
            var creditCardRecord = records.Result.FirstOrDefault();

            if (creditCardRecord == null)
            {
                return(null);
            }

            if (creditCardRecord.ResultReferenceId != request.Token)
            {
                return(null);
            }

            var creditCard = new CreditCard()
            {
                Name         = creditCardRecord.Name,
                AddressLine1 = creditCardRecord.Address1,
                AddressLine2 = creditCardRecord.Address2,
                City         = creditCardRecord.City,
                Country      = creditCardRecord.Country,
                State        = creditCardRecord.State,
                PostalCode   = creditCardRecord.Zip,
                CardType     = creditCardRecord.CardType,
                First6Digits = creditCardRecord.CCNumFirst6,
                Last4Digits  = creditCardRecord.Last4Digits,
            };

            var expiresMonthYear = creditCardRecord.ExpirationDate.Split('/');

            if (expiresMonthYear.Length > 1)
            {
                creditCard.ExpirationMonth = expiresMonthYear[0];
                creditCard.ExpirationYear  = expiresMonthYear[1];
            }

            var paymentInfo = new ElectronicPaymentInfo()
            {
                AccountDid    = creditCardRecord.AccountDid,
                CreatedById   = "ArBackfill",
                PaymentType   = creditCardRecord.PaymentType,
                TokenId       = creditCardRecord.ResultReferenceId,
                TokenExpireDt = creditCardRecord.ResultReferenceExpirationDate,
                CreditCard    = creditCard
            };

            var detailResponse = _tellerApiClient.PostPaymentInfo(paymentInfo, requestor);

            return(detailResponse.Result.ElectronicPaymentDid);
        }
Example #3
0
        public PaymentMethod AddNewCreditCard(BackFillRequest request, RequestorInformation requestor)
        {
            var epdid = CreateElectronicPaymentInfo(request, requestor);

            return(CreateContractPaymentMethod(epdid, request.ContractDid, requestor));
        }