public async Task SuccessfulPayment() { await AddTriggeredPayment(); try { var triggerRequest = new TriggerPaymentRequest { ClientId = ClientId }; var triggerResponse = await Client.TriggerPaymentAsync(triggerRequest); Assert.AreEqual(true, triggerResponse.Successful); Assert.AreEqual(3000, triggerResponse.Amount); Assert.AreEqual("444433...111", triggerResponse.CreditCard.TruncatedCardNumber); Assert.IsNotNull(triggerResponse.Receipt); Assert.IsNotNull(triggerResponse.PoNum); Assert.AreEqual("Visa", triggerResponse.CreditCard.CardDescription); } catch { LogMessages(); throw; } await DeleteTriggeredPayment(); }
public async Task InsufficientFunds() { PaymentAmount = 3051; await AddTriggeredPayment(); try { var triggerRequest = new TriggerPaymentRequest { ClientId = ClientId, }; var triggerResponse = await Client.TriggerPaymentAsync(triggerRequest); Assert.AreEqual(false, triggerResponse.Successful); Assert.AreEqual(PaymentAmount, triggerResponse.Amount); Assert.AreEqual("444433...111", triggerResponse.CreditCard.TruncatedCardNumber); Assert.AreEqual("51", triggerResponse.ResponseCode); Assert.AreEqual("Insufficient Funds", triggerResponse.ResponseText); } catch { LogMessages(); throw; } await DeleteTriggeredPayment(); }
public async Task <TriggerPaymentResponse> TriggerPaymentAsync(TriggerPaymentRequest request) { var requestMessage = new PeriodicRequestMessage(); var periodicItem = requestMessage.Periodic.PeriodicList.PeriodicItem; periodicItem.ActionType = "trigger"; periodicItem.ClientId = request.ClientId; var responseMessage = await PostAsync <PeriodicRequestMessage, PeriodicResponseMessage>(requestMessage); periodicItem = responseMessage.Periodic.PeriodicList.PeriodicItem; var response = new TriggerPaymentResponse { Successful = periodicItem.Successful == "yes", ResponseCode = periodicItem.ResponseCode, ResponseText = periodicItem.ResponseText, Amount = periodicItem.Amount ?? 0, Currency = periodicItem.Currency, TransactionId = periodicItem.TransactionId, Receipt = periodicItem.Receipt, PoNum = periodicItem.PoNum, SettlementDate = DateUtils.ParseYyyymmdd(periodicItem.SettlementDate), }; if (periodicItem.CreditCardInfo != null) { response.CreditCard = new CreditCardResponse { CardDescription = periodicItem.CreditCardInfo.CardDescription, Expires = new YearMonth(periodicItem.CreditCardInfo.ExpiryDate), TruncatedCardNumber = periodicItem.CreditCardInfo.TruncatedCreditCardNumber, }; } return(response); }