/// <summary> /// Void Credit Card Async. /// </summary> /// <returns>ANetVoidCreateTransactionResponse instance</returns> /// <param name="transaction">TransactionRequest.</param> /// <param name="refId">Reference identifier.</param> public async Task <ANetVoidTransactionResponse> VoidAsync(ANetVoidTransactionRequest transaction, string refId) { var createRequest = new ANetVoidCreateTransactionRequest(); var requestBody = new ANetVoidTransactionRequestBody(); var merchantAuthentication = getMerchantAuthentication(); transaction.TransactionType = ANetTransactionType.voidTransaction; requestBody.MerchantAuthentication = merchantAuthentication; requestBody.RefId = refId; requestBody.TransactionRequest = transaction; createRequest.CreateTransactionRequest = requestBody; return(await voidAsync(createRequest)); }
private async Task <ANetVoidTransactionResponse> voidAsync(ANetVoidCreateTransactionRequest request) { var json = JSON.SerializeObject(request); var strResult = await _endPoint.PostStringAsync(json).ReceiveString(); var entity = JSON.DeserializeObject <ANetVoidCreateTransactionResponse>(strResult); if (entity.TransactionResponse != null) { return(entity.TransactionResponse); } else { //return a new transactionResponse object with the message list var errorEntity = new ANetVoidTransactionResponse(); var messages = JSON.DeserializeObject <ANetCreateResponseMessages>(strResult); errorEntity.ResponseCode = ANetResponseCodeType.Error; errorEntity.Messages = messages.ToMessageEnumerable(); return(errorEntity); } }