Ejemplo n.º 1
0
        private void DoRefund()
        {
            var yuckres = _spi.InitiateRefundTx("yuck-" + DateTime.Now.ToString("dd-MM-yyyy-HH-mm-ss"), int.Parse(_retryCmd[1]));

            if (!yuckres.Initiated)
            {
                Console.WriteLine($"# Could not initiate refund: {yuckres.Message}. Please Retry.");
            }
        }
Ejemplo n.º 2
0
        private void AcceptUserInput()
        {
            var bye = false;

            while (!bye)
            {
                var input = Console.ReadLine();
                if (input == null)
                {
                    continue;
                }
                var spInput = input.Split(':');
                switch (spInput[0])
                {
                case "pizza":
                    var pres = _spi.InitiatePurchaseTx(RequestIdHelper.Id("pizza"), 1000);
                    if (!pres.Initiated)
                    {
                        Console.WriteLine($"# Could not initiate purchase: {pres.Message}. Please Retry.");
                    }
                    break;

                case "yuck":
                    var yuckres = _spi.InitiateRefundTx(RequestIdHelper.Id("yuck"), 1000);
                    if (!yuckres.Initiated)
                    {
                        Console.WriteLine($"# Could not initiate refund: {yuckres.Message}. Please Retry.");
                    }
                    break;

                case "pos_id":
                    Console.Clear();
                    if (_spi.SetPosId(spInput[1]))
                    {
                        _posId = spInput[1];
                        Console.WriteLine($"## -> POS ID now set to {_posId}");
                    }
                    else
                    {
                        Console.WriteLine($"## -> Could not set POS ID");
                    }
                    PrintStatusAndActions();
                    Console.Write("> ");
                    break;

                case "eftpos_address":
                    Console.Clear();
                    if (_spi.SetEftposAddress(spInput[1]))
                    {
                        _eftposAddress = spInput[1];
                        Console.WriteLine($"## -> Eftpos Address now set to {_eftposAddress}");
                    }
                    else
                    {
                        Console.WriteLine($"## -> Could not set Eftpos Address");
                    }
                    PrintStatusAndActions();
                    Console.Write("> ");
                    break;

                case "pair":
                    _spi.Pair();
                    break;

                case "pair_cancel":
                    _spi.PairingCancel();
                    break;

                case "pair_confirm":
                    _spi.PairingConfirmCode();
                    break;

                case "unpair":
                    _spi.Unpair();
                    break;

                case "tx_sign_accept":
                    _spi.AcceptSignature(true);
                    break;

                case "tx_sign_decline":
                    _spi.AcceptSignature(false);
                    break;

                case "tx_cancel":
                    _spi.CancelTransaction();
                    break;

                case "settle":
                    var settleres = _spi.InitiateSettleTx(RequestIdHelper.Id("settle"));
                    if (!settleres.Initiated)
                    {
                        Console.WriteLine($"# Could not initiate settlement: {settleres.Message}. Please Retry.");
                    }
                    break;

                case "ok":
                    Console.Clear();
                    _spi.AckFlowEndedAndBackToIdle();
                    PrintStatusAndActions();
                    Console.Write("> ");
                    break;

                case "status":
                    Console.Clear();
                    PrintStatusAndActions();
                    break;

                case "bye":
                    bye = true;
                    break;

                case "":
                    Console.Write("> ");
                    break;

                default:
                    Console.WriteLine("# I don't understand. Sorry.");
                    break;
                }
            }
            Console.WriteLine("# BaBye!");
            if (_spiSecrets != null)
            {
                Console.WriteLine($"{_posId}:{_eftposAddress}:{_spiSecrets.EncKey}:{_spiSecrets.HmacKey}");
            }
        }