Note: This manual is provided for your convenience only - this is not the official source and may not be 100% up to date.

MCVE (Monetra) Payment Functions

LXXXV. MCVE (Monetra) Payment Functions


These functions interface the MCVE (Monetra) API (libmonetra, formerly known as libmcve), allowing you to work directly with MCVE/Monetra from your PHP scripts. MCVE/Monetra is Main Street Softworks' solution to direct credit/debit/gift card processing for Linux/Unix/MacOSX/Windows ( ). It lets you directly address the credit card clearing houses via your *nix box, modem and/or internet connection (bypassing the need for an additional service such as Authorize.Net or Pay Flow Pro). Using the MCVE/Monetra module for PHP, you can process credit cards directly through MCVE/Monetra via your PHP scripts. The following references will outline the process.

Note: MCVE/Monetra is the replacement for RedHat's CCVS. They contracted with RedHat in late 2001 to migrate all existing clientele to the MCVE platform.

Note: This extension has been moved to the PECL repository and is no longer bundled with PHP as of PHP 5.1.0.

Note: This extension is not available on Windows platforms.


To enable MCVE (Monetra) Support in PHP, first verify your LibMonetra (formerly libmcve) installation directory. If you are compiling MCVE/Monetra support directly into PHP, you will then need to configure PHP with the --with-mcve option. If you use this option without specifying the path to your libmonetra installation, PHP will attempt to look in the default LibMonetra Install location (/usr/local). If Monetra (MCVE) is in a non-standard location, run configure with: --with-mcve=$mcve_path, where $mcve_path is the path to your MCVE/Monetra installation. Please note that MCVE/Monetra support requires that $mcve_path/lib and $mcve_path/include exist, and include mcve.h or monetra.h under the include directory and and/or libmcve.a and/or and/or libmonetra.a under the lib directory.

If you want to install MCVE/Monetra support as a module, you can do so by using the PECL repository, and issuing the 'pecl install mcve' command if you are running a PEAR version of at least 1.4.0.

Since MCVE/Monetra has true server/client separation, there are no additional requirements for running PHP with MCVE support. To test your MCVE/Monetra extension in PHP, you may connect to on port 8333 for IP, or port 8444 for SSL using the MCVE/Monetra PHP API. Use 'vitale' for your username, and 'test' for your password. Additional information about test facilities are available at

See Also

Additional documentation about MCVE/Monetra's PHP API can be found at Main Street's documentation is complete and should be the primary reference for functions.

Resource Types

This extension defines a MCVE_CONN resource returned by m_initconn().

Predefined Constants

The constants below are defined by this extension, and will only be available when the extension has either been compiled into PHP or dynamically loaded at runtime.

M_PENDING (integer)

M_DONE (integer)

M_ERROR (integer)

M_FAIL (integer)

M_SUCCESS (integer)

Table of Contents
m_checkstatus -- Check to see if a transaction has completed
m_completeauthorizations -- Number of complete authorizations in queue, returning an array of their identifiers
m_connect -- Establish the connection to MCVE
m_connectionerror -- Get a textual representation of why a connection failed
m_deletetrans -- Delete specified transaction from MCVE_CONN structure
m_destroyconn -- Destroy the connection and MCVE_CONN structure
m_destroyengine -- Free memory associated with IP/SSL connectivity
m_getcell -- Get a specific cell from a comma delimited response by column name
m_getcellbynum -- Get a specific cell from a comma delimited response by column number
m_getcommadelimited -- Get the RAW comma delimited data returned from MCVE
m_getheader -- Get the name of the column in a comma-delimited response
m_initconn -- Create and initialize an MCVE_CONN structure
m_initengine -- Ready the client for IP/SSL Communication
m_iscommadelimited -- Checks to see if response is comma delimited
m_maxconntimeout -- The maximum amount of time the API will attempt a connection to MCVE
m_monitor -- Perform communication with MCVE (send/receive data) Non-blocking
m_numcolumns -- Number of columns returned in a comma delimited response
m_numrows -- Number of rows returned in a comma delimited response
m_parsecommadelimited -- Parse the comma delimited response so m_getcell, etc will work
m_responsekeys -- Returns array of strings which represents the keys that can be used for response parameters on this transaction
m_responseparam -- Get a custom response parameter
m_returnstatus -- Check to see if the transaction was successful
m_setblocking -- Set blocking/non-blocking mode for connection
m_setdropfile -- Set the connection method to Drop-File
m_setip -- Set the connection method to IP
m_setssl_cafile -- Set SSL CA (Certificate Authority) file for verification of server certificate
m_setssl_files -- Set certificate key files and certificates if server requires client certificate verification
m_setssl -- Set the connection method to SSL
m_settimeout -- Set maximum transaction time (per trans)
m_sslcert_gen_hash -- Generate hash for SSL client certificate verification
m_transactionssent -- Check to see if outgoing buffer is clear
m_transinqueue -- Number of transactions in client-queue
m_transkeyval -- Add key/value pair to a transaction. Replaces deprecated transparam()
m_transnew -- Start a new transaction
m_transsend -- Finalize and send the transaction
m_uwait -- Wait x microsecs
m_validateidentifier -- Whether or not to validate the passed identifier on any transaction it is passed to
m_verifyconnection -- Set whether or not to PING upon connect to verify connection
m_verifysslcert -- Set whether or not to verify the server ssl certificate