public IActionResult Post([FromBody] BackFillRequest request) { var paymentMethod = _manager.AddNewCreditCard(request, _requestorInformationHelper.GetRequestorInformation(HttpContext)); if (paymentMethod == null) { return(UnprocessableEntity()); } return(Ok(paymentMethod)); }
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); }
public PaymentMethod AddNewCreditCard(BackFillRequest request, RequestorInformation requestor) { var epdid = CreateElectronicPaymentInfo(request, requestor); return(CreateContractPaymentMethod(epdid, request.ContractDid, requestor)); }