Ejemplo n.º 1
0
        unsafe static int RunReport(IntPtr *conn)
        {
            IntPtr id;
            int    retval;
            int    rows, cols, i, j;
            string line;

            Console.WriteLine("Running report....");
            id = Monetra.M_TransNew(conn);
            Monetra.M_TransKeyVal(conn, id, "username", "vitale");
            Monetra.M_TransKeyVal(conn, id, "password", "test");
            Monetra.M_TransKeyVal(conn, id, "action", "admin");
            Monetra.M_TransKeyVal(conn, id, "admin", "gut");
            if (Monetra.M_TransSend(conn, id) == 0)
            {
                Console.WriteLine("Failed to send trans: " + Monetra.M_ConnectionError(conn));
                return(1);
            }
            retval = Monetra.M_ReturnStatus(conn, id);
            if (retval != Monetra.M_SUCCESS)
            {
                Console.WriteLine("Bad return status: " + retval);
            }
            Monetra.M_ParseCommaDelimited(conn, id);

            rows = Monetra.M_NumRows(conn, id);
            cols = Monetra.M_NumColumns(conn, id);

            Console.WriteLine("Report Data (" + rows + " rows, " + cols + " cols):");
            line = "";
            for (i = 0; i < cols; i++)
            {
                if (i != 0)
                {
                    line = line + "|";
                }
                line = line + Monetra.M_GetHeader(conn, id, i);
            }
            Console.WriteLine(line);
            for (i = 0; i < rows; i++)
            {
                line = "";
                for (j = 0; j < cols; j++)
                {
                    if (j != 0)
                    {
                        line = line + "|";
                    }
                    line = line + Monetra.M_GetCellByNum(conn, id, j, i);
                }
                Console.WriteLine(line);
            }
            Monetra.M_DeleteTrans(conn, id);
            Console.WriteLine("Report Done");
            return(0);
        }
Ejemplo n.º 2
0
    static void disconnect_test()
    {
        Monetra conn = new Monetra();

        if (method == 1)
        {
            conn.SetSSL(host, port);
            conn.VerifySSLCert(false);
        }
        else
        {
            conn.SetIP(host, port);
        }
        if (!conn.Connect())
        {
            Console.WriteLine("Connection Failed: " + conn.ConnectionError());
            return;
        }
        Console.WriteLine("Connected, you have 20s either shut down monetra or kill the link to monetra");
        conn.SetBlocking(true);

        for (int i = 20; i >= 0; i--)
        {
            Console.Write(i.ToString() + "...");
            System.Threading.Thread.Sleep(1000);

            /* Check in realtime for a disconnect event */
            if (!conn.Monitor())
            {
                Console.WriteLine("");
                Console.WriteLine("Disconnect detected: " + conn.ConnectionError());
                return;
            }
        }
        Console.WriteLine("");

        int id = conn.TransNew();

        conn.TransKeyVal(id, "username", username);
        conn.TransKeyVal(id, "password", password);
        conn.TransKeyVal(id, "action", "chkpwd");
        if (!conn.TransSend(id))
        {
            Console.WriteLine("Connection Failed: " + conn.ConnectionError());
            return;
        }

        Console.WriteLine(" * Got a response, looks like you didn't disconnect");
        conn.DeleteTrans(id);
        Console.WriteLine("Disconnecting...");
        conn.DestroyConn();
        conn = null;
    }
Ejemplo n.º 3
0
        unsafe static int RunTrans(IntPtr *conn)
        {
            int    retval;
            IntPtr id;
            IntPtr keys;
            string key;
            int    num_keys;
            int    i;

            Console.WriteLine("Running transaction...");
            id = Monetra.M_TransNew(conn);
            Monetra.M_TransKeyVal(conn, id, "username", "vitale");
            Monetra.M_TransKeyVal(conn, id, "password", "test");
            Monetra.M_TransKeyVal(conn, id, "action", "sale");
            Monetra.M_TransKeyVal(conn, id, "account", "4012888888881");
            Monetra.M_TransKeyVal(conn, id, "expdate", "0512");
            Monetra.M_TransKeyVal(conn, id, "amount", "12.00");
            if (Monetra.M_TransSend(conn, id) == 0)
            {
                Console.WriteLine("Failed to send trans: " + Monetra.M_ConnectionError(conn));
                return(1);
            }
            retval = Monetra.M_ReturnStatus(conn, id);
            if (retval != Monetra.M_SUCCESS)
            {
                Console.WriteLine("Bad return status: " + retval);
            }
            /* print results ... */
            Console.WriteLine("code: " + Monetra.M_ResponseParam(conn, id, "code"));
            Console.WriteLine("verbiage: " + Monetra.M_ResponseParam(conn, id, "verbiage"));

            keys = Monetra.M_ResponseKeys(conn, id, &num_keys);
            Console.WriteLine("All " + num_keys + " repsonse parameters:");
            for (i = 0; i < num_keys; i++)
            {
                key = Monetra.M_ResponseKeys_index(keys, num_keys, i);
                Console.WriteLine(key + "=" + Monetra.M_ResponseParam(conn, id, key));
            }
            Monetra.M_FreeResponseKeys(keys, num_keys);
            Monetra.M_DeleteTrans(conn, id);
            Console.WriteLine("Transaction Done");
            return(0);
        }
Ejemplo n.º 4
0
        unsafe static int Main(string[] args)
        {
            IntPtr conn;

            Monetra.M_InitEngine(null);
            Monetra.M_InitConn(&conn);
            Monetra.M_SetSSL(&conn, "testbox.monetra.com", 8665);
            Monetra.M_SetBlocking(&conn, 1);
            if (Monetra.M_Connect(&conn) == 0)
            {
                Console.WriteLine("Failed to connect: " + Monetra.M_ConnectionError(&conn));
                return(1);
            }

            RunTrans(&conn);
            RunReport(&conn);

            Monetra.M_DestroyConn(&conn);
            Monetra.M_DestroyEngine();
            return(0);
        }
Ejemplo n.º 5
0
    static unsafe void unsafeapiref(bool do_report)
    {
        IntPtr conn = (IntPtr)0;

        Monetra.M_InitConn(ref conn);
        if (method == 1)
        {
            Monetra.M_SetSSL(ref conn, host, port);
            Monetra.M_VerifySSLCert(ref conn, 0);
        }
        else
        {
            Monetra.M_SetIP(ref conn, host, port);
        }
        if (Monetra.M_Connect(ref conn) == 0)
        {
            Console.WriteLine("Connection Failed: " + Monetra.M_ConnectionError(ref conn));
            return;
        }
        Console.WriteLine("Connected, Sending Sale TXN...");
        Monetra.M_SetBlocking(ref conn, 1);
        IntPtr id;

        id = Monetra.M_TransNew(ref conn);
        Monetra.M_TransKeyVal(ref conn, id, "username", username);
        Monetra.M_TransKeyVal(ref conn, id, "password", password);
        Monetra.M_TransKeyVal(ref conn, id, "action", "sale");
        Monetra.M_TransKeyVal(ref conn, id, "account", "4012888888881881");
        Monetra.M_TransKeyVal(ref conn, id, "expdate", "0525");
        Monetra.M_TransKeyVal(ref conn, id, "amount", "12.00");
        Monetra.M_TransKeyVal(ref conn, id, "zip", "32606");
        Monetra.M_TransKeyVal(ref conn, id, "comments", "Multiline Comment \"Test\"\nTest Me");
        if (Monetra.M_TransSend(ref conn, id) == 0)
        {
            Console.WriteLine("Connection Failed: " + Monetra.M_ConnectionError(ref conn));
            return;
        }

        Console.WriteLine("Response:");
        int    num_responsekeys = 0;
        IntPtr responsekeys     = Monetra.M_ResponseKeys(ref conn, id, ref num_responsekeys);

        for (int i = 0; i < num_responsekeys; i++)
        {
            string key = Monetra.M_ResponseKeys_index(responsekeys, num_responsekeys, i);
            Console.WriteLine(key + " : " + Monetra.M_ResponseParam(ref conn, id, key));
        }
        Monetra.M_FreeResponseKeys(responsekeys, num_responsekeys);

        Monetra.M_DeleteTrans(ref conn, id);

        if (do_report)
        {
            Console.WriteLine("Sending Unsettled Report Request...");
            id = Monetra.M_TransNew(ref conn);
            Monetra.M_TransKeyVal(ref conn, id, "username", username);
            Monetra.M_TransKeyVal(ref conn, id, "password", password);
            Monetra.M_TransKeyVal(ref conn, id, "action", "admin");
            Monetra.M_TransKeyVal(ref conn, id, "admin", "GUT");
            if (Monetra.M_TransSend(ref conn, id) == 0)
            {
                Console.WriteLine("Connection Failed: " + Monetra.M_ConnectionError(ref conn));
                return;
            }
            if (Monetra.M_ReturnStatus(ref conn, id) != Monetra.M_SUCCESS)
            {
                Console.WriteLine("GUT failed: " + Monetra.M_ResponseParam(ref conn, id, "verbiage"));
            }
            else
            {
                Console.WriteLine("Response:");
                Monetra.M_ParseCommaDelimited(ref conn, id);
                int rows    = Monetra.M_NumRows(ref conn, id);
                int columns = Monetra.M_NumColumns(ref conn, id);
                Console.WriteLine("Rows: " + rows.ToString() + " Cols: " + columns.ToString());

                for (int i = 0; i < columns; i++)
                {
                    if (i != 0)
                    {
                        Console.Write("|");
                    }
                    Console.Write(Monetra.M_GetHeader(ref conn, id, i));
                }
                Console.WriteLine("");
                for (int i = 0; i < rows; i++)
                {
                    for (int j = 0; j < columns; j++)
                    {
                        if (j != 0)
                        {
                            Console.Write("|");
                        }
                        Console.Write(Monetra.M_GetCellByNum(ref conn, id, j, i));
                    }
                    Console.WriteLine("");
                }
                Console.WriteLine("");
            }
            Monetra.M_DeleteTrans(ref conn, id);
        }
        Console.WriteLine("Disconnecting...");
        Monetra.M_DestroyConn(ref conn);
    }
Ejemplo n.º 6
0
    static void traditionalapi()
    {
        Monetra.M_CONN conn = Monetra.M_InitConn();
        if (method == 1)
        {
            Monetra.M_SetSSL(conn, host, port);
            Monetra.M_VerifySSLCert(conn, false);
        }
        else
        {
            Monetra.M_SetIP(conn, host, port);
        }
        if (!Monetra.M_Connect(conn))
        {
            Console.WriteLine("Connection Failed: " + Monetra.M_ConnectionError(conn));
            return;
        }
        Console.WriteLine("Connected, Sending Sale TXN...");
        Monetra.M_SetBlocking(conn, true);
        int id;

        id = Monetra.M_TransNew(conn);
        Monetra.M_TransKeyVal(conn, id, "username", username);
        Monetra.M_TransKeyVal(conn, id, "password", password);
        Monetra.M_TransKeyVal(conn, id, "action", "sale");
        Monetra.M_TransKeyVal(conn, id, "account", "4012888888881881");
        Monetra.M_TransKeyVal(conn, id, "expdate", "0525");
        Monetra.M_TransKeyVal(conn, id, "amount", "12.00");
        Monetra.M_TransKeyVal(conn, id, "zip", "32606");
        Monetra.M_TransKeyVal(conn, id, "comments", "Multiline Comment \"Test\"\nTest Me");
        if (!Monetra.M_TransSend(conn, id))
        {
            Console.WriteLine("Connection Failed: " + Monetra.M_ConnectionError(conn));
            return;
        }

        Console.WriteLine("Response:");
        string[] responsekeys = Monetra.M_ResponseKeys(conn, id);
        for (int i = 0; i < responsekeys.Length; i++)
        {
            Console.WriteLine(responsekeys[i] + " : " + Monetra.M_ResponseParam(conn, id, responsekeys[i]));
        }
        Monetra.M_DeleteTrans(conn, id);

        Console.WriteLine("Sending Unsettled Report Request...");
        id = Monetra.M_TransNew(conn);
        Monetra.M_TransKeyVal(conn, id, "username", username);
        Monetra.M_TransKeyVal(conn, id, "password", password);
        Monetra.M_TransKeyVal(conn, id, "action", "admin");
        Monetra.M_TransKeyVal(conn, id, "admin", "GUT");
        if (!Monetra.M_TransSend(conn, id))
        {
            Console.WriteLine("Connection Failed: " + Monetra.M_ConnectionError(conn));
            return;
        }
        if (Monetra.M_ReturnStatus(conn, id) != Monetra.M_SUCCESS)
        {
            Console.WriteLine("GUT failed: " + Monetra.M_ResponseParam(conn, id, "verbiage"));
        }
        else
        {
            Console.WriteLine("Response:");
            Monetra.M_ParseCommaDelimited(conn, id);
            int rows    = Monetra.M_NumRows(conn, id);
            int columns = Monetra.M_NumColumns(conn, id);
            Console.WriteLine("Rows: " + rows.ToString() + " Cols: " + columns.ToString());

            for (int i = 0; i < columns; i++)
            {
                if (i != 0)
                {
                    Console.Write("|");
                }
                Console.Write(Monetra.M_GetHeader(conn, id, i));
            }
            Console.WriteLine("");
            for (int i = 0; i < rows; i++)
            {
                for (int j = 0; j < columns; j++)
                {
                    if (j != 0)
                    {
                        Console.Write("|");
                    }
                    Console.Write(Monetra.M_GetCellByNum(conn, id, j, i));
                }
                Console.WriteLine("");
            }
            Console.WriteLine("");
        }
        Monetra.M_DeleteTrans(conn, id);
        Console.WriteLine("Disconnecting...");
        Monetra.M_DestroyConn(conn);
    }