public static void RunPaymentScript(StartPaymentOperationResult result) { var phantomJS = new PhantomJS(); phantomJS.OutputReceived += (sender, e) => { if (e.Data != null) { throw new Exception($"Payment script failed: {e.Data}"); } }; using (var fileStream = Assembly.GetExecutingAssembly().GetManifestResourceStream("BarionClientLibrary.IntegrationTests.PaymentScript.js")) using (var streamReader = new StreamReader(fileStream)) { var paymentScript = streamReader.ReadToEnd(); phantomJS.RunScript(paymentScript, new[] { result.GatewayUrl, AppSettings.BarionPayer, AppSettings.BarionPayerPassword }); } }
public static RefundOperationResult Refund(BarionClient barionClient, StartPaymentOperationResult result) { var refundOpertation = new RefundOperation(); refundOpertation.PaymentId = result.PaymentId; var transactionToRefund = new TransactionToRefund(); transactionToRefund.TransactionId = result.Transactions.Single(t => t.POSTransactionId == POSTransactionId).TransactionId; transactionToRefund.AmountToRefund = new decimal(50); refundOpertation.TransactionsToRefund = new[] { transactionToRefund }; Console.WriteLine("Sending Refund..."); var refundResult = barionClient.ExecuteAsync <RefundOperationResult>(refundOpertation).Result; if (!refundResult.IsOperationSuccessful) { throw new Exception("Refund operation was not successful"); } return(refundResult); }
public static GetPaymentStateOperationResult GetPaymentState(BarionClient barionClient, StartPaymentOperationResult result) { var paymentStateOperation = new GetPaymentStateOperation { PaymentId = result.PaymentId }; var statusresult = barionClient.ExecuteAsync <GetPaymentStateOperationResult>(paymentStateOperation).Result; if (!statusresult.IsOperationSuccessful) { throw new Exception("Get payment state operation was not successful."); } return(statusresult); }