public void TestSettleTransactionSuccess() { var paymentRequest = new PaymentRequest(merchantInfo, sessionToken, currency, amount, paymentOptionCard) { TransactionType = ApiConstants.TransactionTypeAuth, Items = items }; var paymentResponse = requestExecutor.Payment(paymentRequest).GetAwaiter().GetResult(); var request = new SettleTransactionRequest( merchantInfo, sessionToken, currency, amount, paymentResponse.TransactionId); var response = requestExecutor.SettleTransaction(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); }
public void TestGetAndSetModelSettleTransactionRequest() { _ = new SettleTransactionRequest( merchantInfo, sessionToken, currency, amount, "relatedTransactionId") { ClientUniqueId = "", ClientRequestId = "", Addendums = new Addendums { }, DescriptorMerchantName = "", DescriptorMerchantPhone = "", UrlDetails = new UrlDetails { }, CustomData = "", Comment = "", CustomSiteName = "", ProductId = "" }; Assert.Pass(); }
public async Task <SettleTransactionResponse> SettleTransaction( string currency, string amount, string relatedTransactionId, string clientUniqueId = null, string clientRequestId = null, string userId = null, Addendums addendums = null, string descriptorMerchantName = null, string descriptorMerchantPhone = null, DynamicDescriptor dynamicDescriptor = 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) { var request = new SettleTransactionRequest( merchantInfo, sessionToken, currency, amount, relatedTransactionId) { AuthCode = authCode, ClientUniqueId = clientUniqueId, ClientRequestId = clientRequestId, UserId = userId, Addendums = addendums, DescriptorMerchantName = dynamicDescriptor?.MerchantName ?? descriptorMerchantName, DescriptorMerchantPhone = dynamicDescriptor?.MerchantPhone ?? descriptorMerchantPhone, UrlDetails = urlDetails, CustomData = customData, Comment = comment, CustomSiteName = customSiteName, ProductId = productId, DeviceDetails = deviceDetails, RebillingType = rebillingType, AuthenticationTypeOnly = authenticationTypeOnly, SubMerchant = subMerchant }; return(await safechargeRequestExecutor.SettleTransaction(request)); }
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 void TestSettleTransactionWithPaymentTransactionTypeSale() { var paymentRequest = new PaymentRequest(merchantInfo, sessionToken, currency, amount, paymentOptionCard) { Items = items }; var paymentResponse = requestExecutor.Payment(paymentRequest).GetAwaiter().GetResult(); var request = new SettleTransactionRequest( merchantInfo, sessionToken, currency, amount, paymentResponse.TransactionId); var response = requestExecutor.SettleTransaction(request).GetAwaiter().GetResult(); Assert.IsNotNull(response); Assert.IsEmpty(response.Reason); Assert.AreEqual(ResponseStatus.Success, response.Status); Assert.AreEqual(ApiConstants.TransactionStatusError, response.TransactionStatus); Assert.AreEqual("Auth Code/Trans ID/Credit Card Number Mismatch", response.GwErrorReason); }
public async Task <SettleTransactionResponse> SettleTransaction(SettleTransactionRequest settleTransactionRequest) { return(await this.PostAsync <SettleTransactionResponse, SettleTransactionRequest>(settleTransactionRequest)); }