Beispiel #1
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);
        }
Beispiel #2
0
        public Task <PostPaymentInfoResponse> PostPaymentInfo(ElectronicPaymentInfo paymentDetails, RequestorInformation requestorInfo)
        {
            var path = "/v1/paymentdetails/creditcard";

            return(PostJsonAsync <PostPaymentInfoResponse>(path, paymentDetails, requestorInfo));
        }