public async Task CallSettlementVanillaTest() { var bankAccount = new BankAccount { Branch = "1144", Account = "13341", AccountDigit = "X5", AccountType = BankAccountType.CC, Ispb = "12345678", DocumentType = DocumentType.CNPJ, DocumentNumber = "51914361000184" }; var settlementItem = new Settlement { Reference = "ST-01", AssetHolderDocumentType = DocumentType.CNPJ, AssetHolder = "51914361000184", SettlementDate = DateTime.Parse("2020-12-16"), Amount = 50000L, SettlementObligationDate = DateTime.Parse("2020-12-16"), PaymentScheme = "VCC", BankAccount = bankAccount }; var settlements = new List <Settlement> { settlementItem }; var receivableSettlementInput = new SettlementRequest { Settlements = settlements }; var result = await _settlementService.ReportSettlement(receivableSettlementInput); Print(result); }
public SettlementResponse PrintSettlement(string deviceUuid, SettlementRequest settlementRequest) { var request = new RestRequest("report/settlement", Method.POST); request.AddQueryParameter("uuid", deviceUuid); request.AddJsonBody(settlementRequest); var response = _clientHttp.Execute(request); if (response.ErrorException != null) { throw new SmartPaymentException(response.ErrorException.Message); } var content = response.Content; if (response.StatusCode == HttpStatusCode.OK) { return(JsonUtils.DecodeJson <SettlementResponse>(content)); } else { throw ProcessWebServiceException(content); } }
private void DoRequest(SettlementRequest req) { var resp = new Settlement().Post(req); if (resp.Error != null) { DataError = resp.Error.ErrorMessage; RequestId = resp.Error.RequestId; } else { Data = resp; } }
public SettlementResponse ProcessRequest(SettlementRequest request) { //Long 3rd party Api call Thread.Sleep(2000); var clearingStatus = ClearingStatus.Settled; return(new SettlementResponse() { TransactionId = request.TransactionId, ClearingStatus = clearingStatus, ProviderTransactionId = request.ProviderTransactionId }); }
private void Submit(object sender, EventArgs e) { int amount = Convert.ToInt32(Request.Form["amount"].Substring(0, Request.Form["amount"].IndexOf('.') > 0 ? Request.Form["amount"].IndexOf('.') : Request.Form["amount"].Length)); List <ReceiverModel> receivers = new List <ReceiverModel>(2); Merchant receiver1 = new Merchant(); receiver1.amount = 100; receiver1.merchant_id = 600001; receiver1.settlement_description = "Test"; Merchant receiver2 = new Merchant(); receiver2.amount = 1000; receiver2.merchant_id = 500001; receiver2.settlement_description = "Test2"; ReceiverModel res1 = new ReceiverModel() { requisites = receiver1, type = "merchant" }; ReceiverModel res2 = new ReceiverModel() { requisites = receiver2, type = "merchant" }; receivers.Add(res1); receivers.Add(res2); var req = new SettlementRequest { order_id = Request.Form["order_id"], amount = amount * 100, order_desc = "checkout json demo", currency = "RUB", receiver = receivers, operation_id = "443e7e57-d2eb-4793-842e-a45c5be8011c" }; DoRequest(req); }
public async Task <SettlementResponse> ReportSettlement(SettlementRequest receivableSettlement) { var request = new RestRequest($"{Options.BaseUrl}/{_path}", DataFormat.Json) { Method = Method.PATCH }; request.AddJsonBody(receivableSettlement); return(await GetPipeline <SettlementResponse>().Execute(new Commands.RequestCommand <SettlementResponse>() { Model = receivableSettlement, RestRequest = request, Profile = _baseProfile }).MapResponse()); }
public static void VendorSettlement(TransferFunds transferFunds, string OriTxnDate, string suspenseAcct, string Narration) { var serviceBusTransferRequest = new SettlementRequest() { Amount = transferFunds.amount, ChannelId = transferFunds.ChannelId, ClientKey = transferFunds.ClientKey, CodedString = transferFunds.CodedString, DestinationAccountNumber = suspenseAcct, Narration = Narration, OriginalStan = transferFunds.TransactionStan, OriginalTransactionDateTime = OriTxnDate, PlatformReference = transferFunds.ResponseTransferReference, SourceAccountNumber = transferFunds.destinationAccountNumber, TransactionReference = transferFunds.transactionReference, TransactionType = transferFunds.TransactionType }; var serviceBusCall = new ServiceBusManagement(AirtimeDomainAppsettingManager.GetSettlementQueueConnectionString()).PushToQueue(serviceBusTransferRequest, AirtimeDomainAppsettingManager.GetSettlementQueueName()); }
/// <summary> /// Creates a new settlement /// To create a settlement resource provide a completed order identifier and (optionally) a promise identifier. /// </summary> /// <param name="request">The <see cref="VirtualCardCreateSettlementRequest"/> object</param> /// <returns>A single <see cref="SettlementResponse"/> object</returns> public async Task <SettlementResponse> CreateSettlement(SettlementRequest request) { var url = ApiUrlHelper.GetApiUrlForController(ApiSession.ApiUrl, ApiControllerUri); return(await Post <SettlementResponse>(url, request).ConfigureAwait(false)); }
/// <summary> /// Günlük, başarılı olarak gerçekleşmiş işlemlerin işlem tipi bazında sorgulama /// </summary> /// <param name="input"></param> /// <returns></returns> public PaymentResponse SettlementQuery(SettlementRequest input) { throw new NotImplementedException(); }
/// <summary> /// Completes a pre-authorised payment. /// </summary> /// <param name="request">The request.</param> /// <returns></returns> public SettlementResponse Search(SettlementRequest request) { return(RunHttpRequest <SettlementResponse>(null, string.Format(Sandbox ? Endpoints.SandboxUrlFormat : Endpoints.LiveUrlFormat, "Search/Settlement", Verb.Get))); }
static void Main(string[] args) { var url = "http://127.0.0.1:8090"; //for http proxy //var proxyObject = new System.Net.WebProxy(); //proxyObject.Address = new Uri("https://1.2.3.4:8080"); Console.WriteLine("Client trying to connect to " + url + "..."); try { var client = new SmartPaymentClient(url); //client.HttpProxy = proxyObject; var devices = client.GetAllDevices(); Console.WriteLine("Trying to get all the devices...\r\n"); foreach (DeviceWithValidation device in devices) { Console.WriteLine("----------------------------------\r\n"); Console.WriteLine("Device: \r\n" + device.ToString()); } Console.WriteLine("----------------------------------\r\n"); Console.WriteLine("Web service config:\r\n"); var webserviceConfig = client.GetWebServiceConfig(); Console.WriteLine(webserviceConfig.ToString()); Console.WriteLine("----------------------------------\r\n"); Console.WriteLine("Sale 0.50 lei:\r\n"); //trying to get first device from device list var deviceUuid = ""; if (devices.Count > 0) { //extract the first valid device from list foreach (DeviceWithValidation dev in devices) { if (dev.IsValid) { deviceUuid = devices[0].Uuid; break; } } } if (string.IsNullOrEmpty(deviceUuid)) { Console.WriteLine("Device uuid is not specified!"); return; } // //SALE // var sr = new SaleRequest(); sr.Amount = 0.50m; sr.CurrencyName = "RON"; sr.CashBackAmount = 0.00m; //optional sr.TransactionEcrUuid = ""; //optional sr.PrintReceiptOnEcr = false; //optional var saleResponse = client.Sale(deviceUuid, sr); Console.WriteLine("Sale response:\r\n"); Console.WriteLine(saleResponse.ToString()); //if the sale was successful if (saleResponse.CardHostApprovedTransaction) { //SALE VOID var sv = new SaleVoidRequest(); sv.Amount = 0.50m; sv.CurrencyName = "RON"; sv.AuthorizationCode = saleResponse.AuthorizationCode; sv.ReceiptNumber = saleResponse.ReceiptNumber; sv.ReturnReferenceNumber = saleResponse.ReturnReferenceNumber; var saleVoidResponse = client.SaleVoid(deviceUuid, sv); Console.WriteLine("Sale void response:\r\n"); Console.WriteLine(saleVoidResponse.ToString()); //if the sale void was approved we launch the settlement report if (saleVoidResponse.CardHostApprovedTransaction) { var settlementRequest = new SettlementRequest(); settlementRequest.CurrencyName = "RON"; var settlementResponse = client.PrintSettlement(deviceUuid, settlementRequest); Console.WriteLine("Settlement response:\r\n"); Console.WriteLine(settlementResponse.ToString()); } } } catch (SmartPaymentException ex) { Console.WriteLine("Error received: \r\n"); Console.WriteLine(ex.ToString()); } Console.WriteLine("Press any key to exit."); Console.ReadLine(); }