public void TestSimpleAuthSettleScenarioWithVoid() { var paymentRequest = new PaymentRequest(merchantInfo, sessionToken, currency, amount, paymentOptionCard) { TransactionType = ApiConstants.TransactionTypeAuth, Items = items }; var paymentResponse = requestExecutor.Payment(paymentRequest).GetAwaiter().GetResult(); var settleRequest = new SettleTransactionRequest( merchantInfo, sessionToken, currency, amount, paymentResponse.TransactionId); var settleResponse = requestExecutor.SettleTransaction(settleRequest).GetAwaiter().GetResult(); var request = new VoidTransactionRequest( merchantInfo, sessionToken, currency, amount, settleResponse.TransactionId); var response = requestExecutor.VoidTransaction(request).GetAwaiter().GetResult(); Assert.IsNotNull(response); Assert.IsEmpty(response.Reason); Assert.AreEqual(ResponseStatus.Success, response.Status); Assert.IsNull(response.GwErrorReason); Assert.IsNull(response.PaymentMethodErrorReason); Assert.AreNotEqual(ApiConstants.TransactionStatusError, response.TransactionStatus); }
private void VoidTransactionButton_Click(object sender, EventArgs e) { VoidTransactionRequest request = new VoidTransactionRequest(); //request.OriginalRequestUUID = ; cloverConnector.VoidTransaction(new VoidTransactionRequest()); }
public void VoidTransaction_Success() { var transactionId = transactionService.CreateTransaction(createTransactionRequest).Content.Id; CaptureTransactionRequest captureRequest = new CaptureTransactionRequest() { Amount = createTransactionRequest.Amount, Currency = createTransactionRequest.Currency, TransactionId = transactionId }; var voidRequest = new VoidTransactionRequest() { TransactionId = transactionId, Amount = createTransactionRequest.Amount }; var voidResponse = transactionService.VoidTransaction(voidRequest); var transaction = voidResponse.Content; Assert.IsFalse(voidResponse.IsError); Assert.AreEqual(201, voidResponse.ResponseCode); Assert.IsNotNull(transaction.Id); Assert.AreEqual(createTransactionRequest.Amount, transaction.VoidedAmount); }
public override Transaction DoVoid(VoidTransactionRequest voidRequest) { VerifyStatus(); Payment payment = voidRequest.Payment; if (payment == null) { throw new ArgumentNullException("request.Payment"); } Transaction authorizeTransaction = voidRequest.AuthorizeTransaction; if (authorizeTransaction == null) { throw new ArgumentNullException("transactionRequest.AuthorizeTransaction"); } CreditCardRequest request = InitializeVoidRequest(payment, authorizeTransaction); CreditCardResponse response = null; //RECORD REQUEST if (this.UseDebugMode) { string reqDebug = BuildRequestDebug(request); this.RecordCommunication(this.Name, CommunicationDirection.Send, reqDebug, null); } //TODO : Test mode is not supported. if (this.UseTestMode) { response = (CreditCardResponse)TransactionClient.doTransaction(request, this.AccountToken); } else { response = (CreditCardResponse)TransactionClient.doTransaction(request, this.AccountToken); } if (response != null) { //RECORD RESPONSE if (this.UseDebugMode) { string respDebug = BuildResponseDebug(response); this.RecordCommunication(this.Name, CommunicationDirection.Receive, respDebug, null); } return(ProcessResponse(payment, response, TransactionType.Void, voidRequest.Amount)); } else { throw new Exception("Operation Failed, Response is null."); } }
public override Transaction DoVoid(VoidTransactionRequest voidRequest) { Payment payment = voidRequest.Payment; if (payment == null) { throw new ArgumentNullException("request.Payment"); } Transaction authorizeTransaction = voidRequest.AuthorizeTransaction; if (authorizeTransaction == null) { throw new ArgumentNullException("voidRequest.AuthorizeTransaction"); } return(CreateTransaction(voidRequest.TransactionType, voidRequest.Amount)); }
public void TestEmptyConstructorsUsedForMappingFromConfigFile() { _ = new PaymentRequest(); _ = new SettleTransactionRequest(); _ = new VoidTransactionRequest(); _ = new RefundTransactionRequest(); _ = new GetPaymentStatusRequest(); _ = new OpenOrderRequest(); _ = new InitPaymentRequest(); _ = new Authorize3dRequest(); _ = new Verify3dRequest(); _ = new PayoutRequest(); _ = new GetCardDetailsRequest(); _ = new GetMerchantPaymentMethodsRequest(); Assert.Pass(); }
public async Task <VoidTransactionResponse> VoidTransaction( string currency, string amount, string relatedTransactionId, string clientUniqueId = null, string clientRequestId = null, string userId = null, UrlDetails urlDetails = null, string authCode = null, string customData = null, string comment = null, string customSiteName = null, string productId = null, DeviceDetails deviceDetails = null, string rebillingType = null, string authenticationTypeOnly = null, SubMerchant subMerchant = null, Addendums addendums = null) { var request = new VoidTransactionRequest( merchantInfo, sessionToken, currency, amount, relatedTransactionId) { AuthCode = authCode, ClientUniqueId = clientUniqueId, ClientRequestId = clientRequestId, UserId = userId, UrlDetails = urlDetails, CustomData = customData, Comment = comment, CustomSiteName = customSiteName, ProductId = productId, DeviceDetails = deviceDetails, RebillingType = rebillingType, AuthenticationTypeOnly = authenticationTypeOnly, SubMerchant = subMerchant, Addendums = addendums }; return(await safechargeRequestExecutor.VoidTransaction(request)); }
public VoidPaymentResult Void(VoidPaymentRequest voidPaymentRequest) { var result = new VoidPaymentResult(); var voidRequest = new VoidTransactionRequest() { Amount = (int)(Math.Round(voidPaymentRequest.Order.OrderTotal, 2) * 100), TransactionId = voidPaymentRequest.Order.AuthorizationTransactionId }; var voidResponse = _paylikeTransactionService.VoidTransaction(voidRequest); if (voidResponse.IsError) { result.AddError(voidResponse.ErrorMessage); result.AddError(voidResponse.ErrorContent); } else { result.NewPaymentStatus = PaymentStatus.Voided; } return(result); }
public int VoidTransaction(VoidTransactionRequest request) { Send("/VoidTransaction", request); return(0); }
public override Transaction DoVoid(VoidTransactionRequest voidRequest) { //Cancel order is different from void. Void is not supported //return AC.AcNotifier.CancelOrder(this, voidRequest); throw new NotSupportedException("Voiding of authorizations is not supported."); }
public override Transaction DoVoid(VoidTransactionRequest voidRequest) { throw new Exception("Void is not supported by the InternetSecure gateway."); }
public int VoidTransaction(VoidTransactionRequest request) { throw new NotImplementedException(); }
public override Transaction DoVoid(VoidTransactionRequest voidRequest) { VerifyStatus(); Payment payment = voidRequest.Payment; if (payment == null) { throw new ArgumentNullException("request.Payment"); } Transaction authorizeTransaction = voidRequest.AuthorizeTransaction; if (authorizeTransaction == null) { throw new ArgumentNullException("transactionRequest.AuthorizeTransaction"); } //HAVE WE CAPTURED ANY? LSDecimal capturedAmount = payment.Transactions.GetTotalCaptured(); if (capturedAmount > 0) { //PAYJUNCTION CANNOT 'PARTIAL VOID' //JUST RETURN A SUCCESSFUL RESPONSE, THE REMAINING AUTHORIZATION WILL BE //RELEASED BY THE BANK WHEN IT IS NOT CAPTURED Transaction transaction = new Transaction(); transaction.PaymentGatewayId = this.PaymentGatewayId; transaction.ProviderTransactionId = authorizeTransaction.ProviderTransactionId; transaction.TransactionType = voidRequest.TransactionType; transaction.TransactionStatus = TransactionStatus.Successful; transaction.TransactionDate = DateTime.UtcNow; transaction.Amount = voidRequest.Amount; return(transaction); } Dictionary <string, string> sensitiveData = new Dictionary <string, string>(); string requestData = InitializeVoidRequest(payment, authorizeTransaction, sensitiveData); //RECORD REQUEST if (this.UseDebugMode) { this.RecordCommunication(this.Name, CommunicationDirection.Send, requestData, sensitiveData); } string responseData = SendRequestToGateway(requestData); if (responseData != null) { //RECORD RESPONSE if (this.UseDebugMode) { this.RecordCommunication(this.Name, CommunicationDirection.Receive, responseData, null); } Transaction transaction = ProcessResponse(payment, responseData, TransactionType.Void, voidRequest.Amount); //PAYJUNCTION DOES NOT INCLUDE TRANSACTION ID WITH CAPTURES //IT IS THE SAME TRANSACTION ID AS AUTHORIZATION if (string.IsNullOrEmpty(transaction.ProviderTransactionId)) { transaction.ProviderTransactionId = authorizeTransaction.ProviderTransactionId; } return(transaction); } else { throw new Exception("Operation Failed, Response is null."); } }
/// <summary> /// Not Supported. /// </summary> /// <param name="voidRequest"></param> /// <returns></returns> public override Transaction DoVoid(VoidTransactionRequest voidRequest) { throw new NotSupportedException("Operation Not Supported."); }
public ApiResponse <Transaction> VoidTransaction(VoidTransactionRequest request) { return(SendApiRequest <VoidTransactionRequest, Transaction>(request)); }
/// <summary> /// Submits a void request for a previously authorized transaction /// </summary> /// <param name="voidRequest">The void request</param> /// <returns>Transaction that represents the result of the void request</returns> public abstract Transaction DoVoid(VoidTransactionRequest voidRequest);
/// <summary> /// Voids this payment /// </summary> /// <param name="remoteIP">Remote IP of the user initiating the request</param> public virtual void Void(string remoteIP) { VoidTransactionRequest request = new VoidTransactionRequest(this, remoteIP); PaymentEngine.DoVoid(request); }
public async Task <VoidTransactionResponse> VoidTransaction(VoidTransactionRequest voidTransactionRequest) { return(await this.PostAsync <VoidTransactionResponse, VoidTransactionRequest>(voidTransactionRequest)); }