public void reserve_a_product() { //get search result from cache if exits, to avoid sending redundant search request, if not, get it if (!_fixtures.Cache.TryGetValue("_searchResults_test", out SearchResponse searchResult)) { searching_for_two_valid_destinations(); _fixtures.Cache.TryGetValue("_searchResults_test", out searchResult); } var searchResultItem = searchResult.Results.First(); var req = new ReserveRequest( "CDGT01", DateTime.Now.AddDays(1), "CDGT01", DateTime.Now.AddDays(2), searchResultItem.ContractId, searchResultItem.CarCategoryCode, searchResultItem.RateId, "*****@*****.**", new Driver("+989372346281", "MR", "Ali", "Bordbar", "2281206696", "Tehran")); var response = _fixtures.CarRent.Reserve(req).Result; response.Errors.Should().BeNullOrEmpty(); }
/// <summary> /// Helper method needed for reserving and capturing payment in order to refund examples could work /// </summary> /// <param name="amount"></param> /// <param name="type"></param> /// <returns></returns> private CaptureResult ReserveAndCapture(Amount amount, AuthType type) { var request = new ReserveRequest { ShopOrderId = "csharpexample" + Guid.NewGuid().ToString(), Terminal = "AltaPay Dev Terminal", Amount = amount, PaymentType = type, Pan = "4111000011110000", ExpiryMonth = 1, ExpiryYear = 2012, Cvc = "123", }; PaymentResult paymentResult = _api.ReserveAmount(request); if (paymentResult.Result != Result.Success) { throw new Exception("The result was: " + paymentResult.Result + ", message: " + paymentResult.ResultMerchantMessage); } CaptureRequest captureRequest = new CaptureRequest { PaymentId = paymentResult.Payment.TransactionId }; CaptureResult captureResult = _api.Capture(captureRequest); if (captureResult.Result != Result.Success) { throw new Exception("The result was: " + captureResult.Result + ", message: " + captureResult.ResultMerchantMessage); } return(captureResult); }
private PaymentResult ReserveAmount(double amount, AuthType type, string includeAgreementConfig = "") { var sixMonthsFromNowDate = DateTime.Now.AddMonths(6); var request = new ReserveRequest { ShopOrderId = includeAgreementConfig + "csharptest" + Guid.NewGuid().ToString(), Terminal = "AltaPay Soap Test Terminal", Amount = Amount.Get(amount, Currency.DKK), PaymentType = type, Pan = "4111000011110000", ExpiryMonth = sixMonthsFromNowDate.Month, ExpiryYear = sixMonthsFromNowDate.Year, Cvc = "123", }; if (includeAgreementConfig != "") { var agreementConfig = new AgreementConfig(); agreementConfig.AgreementType = AgreementType.unscheduled; agreementConfig.AgreementUnscheduledType = AgreementUnscheduledType.incremental; request.AgreementConfig = agreementConfig; } PaymentResult result = _api.ReserveAmount(request); if (result.Result != Result.Success) { throw new Exception("The result was: " + result.Result + ", message: " + result.ResultMerchantMessage); } return(result); }
public async Task <ReserveResponse> Reserve(ReserveRequest request) { var path = new Paths.Reserve(_token); var response = await _api.CallRemoteApiAsync <ReserveRequest, ReserveResponse>(request, path); return(response); }
public System.Threading.Tasks.Task <ReserveResponse> ReserveAsync(SecurityHeaderType Security, RequestHeaderType RequestHeader, dacInput dacInput) { ReserveRequest inValue = new ReserveRequest(); inValue.Security = Security; inValue.RequestHeader = RequestHeader; inValue.dacInput = dacInput; return(((ReserveV01)(this)).ReserveAsync(inValue)); }
public dacOutput Reserve(ref SecurityHeaderType Security, RequestHeaderType RequestHeader, dacInput dacInput) { ReserveRequest inValue = new ReserveRequest(); inValue.Security = Security; inValue.RequestHeader = RequestHeader; inValue.dacInput = dacInput; ReserveResponse retVal = ((ReserveV01)(this)).Reserve(inValue); Security = retVal.Security; return(retVal.dacOutput); }
private static void CheckReserveRequest(ReserveRequest request) { if (request == null) { throw new ArgumentNullException("request"); } if (!request.OrderId.HasValue) { throw new ArgumentException("OrderId can't empty"); } }
private PaymentResult GetMerchantApiResultCardToken(string shopOrderId, double amount, string cardToken, Boolean callReservationOfFixedAmount = true) { var request = new ReserveRequest { Terminal = _testTerminal, ShopOrderId = shopOrderId, PaymentType = AuthType.payment, Amount = Amount.Get(amount, Currency.DKK), CreditCardToken = cardToken, Cvc = "123", }; return(_api.ReserveAmount(request)); // reservation }
public async Task <ServerResponse <Transaction> > StartReserve(ReserveRequest payment) { var currentSynchronizationContext = SynchronizationContext.Current; try { SynchronizationContext.SetSynchronizationContext(new OperationContextSynchronizationContext(InnerChannel)); return(await WrapperTS(Channel.StartReserve, payment)); } finally { SynchronizationContext.SetSynchronizationContext(currentSynchronizationContext); } }
private PaymentResult GetMerchantApiResult(string shopOrderId, double amount, Boolean callReservationOfFixedAmount = true) { DateTime sixMonthsFromNowDate = DateTime.Now.AddMonths(6); var request = new ReserveRequest { Terminal = _testTerminal, ShopOrderId = shopOrderId, PaymentType = AuthType.paymentAndCapture, Amount = Amount.Get(amount, Currency.DKK), Pan = "4111000011110002", ExpiryMonth = sixMonthsFromNowDate.Month, ExpiryYear = sixMonthsFromNowDate.Year, Cvc = "123", }; return(_api.ReserveAmount(request)); // reservation }
public void Can_Send_Reserve_Request() { var senderId = "061133"; var merchantid = "APPDK0074110008"; var orderid = "DB TESTING 2015060908"; decimal amount = 105; SoapConnection <ReserveV01Client, ReserveV01> soapConnection = new SoapConnection <ReserveV01Client, ReserveV01>(new EndpointConfiguration().ReserveV01); var req = new ReserveRequest { dacInput = new dacInput { MerchantId = merchantid, CustomerId = string.Empty, OrderId = orderid, CardChecksum = string.Empty, Amount = amount, MinimumAmount = amount, Partial = "N", Message = string.Empty, Test = "Y", UseDefaultCard = string.Empty, BulkRef = string.Empty, }, Security = new SecurityHeaderType(), RequestHeader = new RequestHeaderType { Language = "DA", SenderId = senderId, SignerId1 = senderId, SignerId2 = senderId, SignerId3 = senderId, DBCryptId = senderId, RequestId = "1234", Timestamp = DateTime.UtcNow.DbTimestamp() } }; var output = soapConnection.Send(client => client.Reserve(ref req.Security, req.RequestHeader, req.dacInput)); Assert.IsNotNull(output); }
private PaymentResult GetMerchantApiResultWithCustomerAndSource(string shopOrderId, double amount, CustomerInfo customerInfo, PaymentSource source = PaymentSource.moto, Boolean callReservationOfFixedAmount = true) { var sixMonthsFromNowDate = DateTime.Now.AddMonths(6); var request = new ReserveRequest { Source = source, ShopOrderId = shopOrderId, Terminal = _testTerminal, PaymentType = AuthType.payment, Amount = Amount.Get(amount, Currency.DKK), Pan = "4111000011110002", ExpiryMonth = sixMonthsFromNowDate.Month, ExpiryYear = sixMonthsFromNowDate.Year, Cvc = "123", CustomerInfo = customerInfo, }; return(_api.ReserveAmount(request)); // reservation }
public void ReserveAmountWithAgreementAndOrderlines() { //arrange var sixMonthsFromNowDate = DateTime.Now.AddMonths(6); var shopOrderId = "IT_AGREEMENTS_UI_csharp_" + Guid.NewGuid().ToString(); double amount = 77.7; var currency = Currency.DKK; AgreementConfig agreementConfig = new AgreementConfig(); agreementConfig.AgreementType = AgreementType.unscheduled; agreementConfig.AgreementUnscheduledType = AgreementUnscheduledType.incremental; var request = new ReserveRequest { Source = PaymentSource.eCommerce, ShopOrderId = shopOrderId, Terminal = _testTerminal, PaymentType = AuthType.payment, Amount = Amount.Get(amount, currency), Pan = "4111000011110002", ExpiryMonth = sixMonthsFromNowDate.Month, ExpiryYear = sixMonthsFromNowDate.Year, Cvc = "123", CustomerInfo = InitializeCustomerInfoTestData(), OrderLines = InitializeOrderlinesTestData(), AgreementConfig = agreementConfig, }; //act ReserveResult result = _api.ReserveAmount(request); //assert Assert.IsNotNull(result); Assert.IsNotNull(result.Result); Assert.IsNotNull(result.Payment); Assert.AreEqual(result.Result, Result.Success); Assert.AreEqual(result.Payment.TransactionStatus, GatewayConstants.PreauthTransactionStatus); Assert.AreEqual(result.Payment.ShopOrderId, shopOrderId); Assert.AreEqual(result.Payment.ReservedAmount, amount); Assert.AreEqual(result.Payment.MerchantCurrencyAlpha, currency.ShortName); Assert.IsTrue(CompareCustomerInfos(result.Payment.CustomerInfo)); }
public ReserveResponse Reserve(ReserveRequest request) { CheckReserveRequest(request); using (var mgr = IoC.Instance.Resolve <IBPProcessManager>()) { OWB owb; using (var owbMgr = IoC.Instance.Resolve <IBaseManager <OWB> >()) owb = owbMgr.Get(request.OrderId); if (owb == null) { throw new IntegrationLogicalException(string.Format("Can't find order with id '{0}' or you do not have permission", request.OrderId)); } mgr.ReserveOWBLst(new[] { owb }, ReserveOperationCode); } // пока все через очередь return(new ReserveResponse { OrderId = request.OrderId, ReserveState = ReserveStates.Queued }); }
public void ReserveAmountWithoutOrderlines() { //arrange var sixMonthsFromNowDate = DateTime.Now.AddMonths(6); var shopOrderId = Guid.NewGuid().ToString(); double amount = 1.23; var currency = Currency.DKK; var request = new ReserveRequest { Source = PaymentSource.eCommerce, ShopOrderId = shopOrderId, Terminal = _testTerminal, PaymentType = AuthType.payment, Amount = Amount.Get(amount, currency), Pan = "4111000011110002", ExpiryMonth = sixMonthsFromNowDate.Month, ExpiryYear = sixMonthsFromNowDate.Year, Cvc = "123", CustomerInfo = InitializeCustomerInfoTestData(), }; //act ReserveResult result = _api.ReserveAmount(request); //assert Assert.IsNotNull(result); Assert.IsNotNull(result.Result); Assert.IsNotNull(result.Payment); Assert.AreEqual(result.Result, Result.Success); Assert.AreEqual(result.Payment.TransactionStatus, GatewayConstants.PreauthTransactionStatus); Assert.AreEqual(result.Payment.ShopOrderId, shopOrderId); Assert.AreEqual(result.Payment.ReservedAmount, amount); Assert.AreEqual(result.Payment.MerchantCurrencyAlpha, currency.ShortName); Assert.IsTrue(CompareCustomerInfos(result.Payment.CustomerInfo)); }
public async Task <ServerResponse <Transaction> > StartReserve(ReserveRequest payment) { return(await OnlyRunOnIntranet(() => _cl.StartReserve(payment))); }
System.Threading.Tasks.Task <ReserveResponse> ReserveV01.ReserveAsync(ReserveRequest request) { return(base.Channel.ReserveAsync(request)); }
ReserveResponse ReserveV01.Reserve(ReserveRequest request) { return(base.Channel.Reserve(request)); }