Exemplo n.º 1
0
        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 });
                }
        }
Exemplo n.º 2
0
        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);
        }
Exemplo n.º 3
0
        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);
        }