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.


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.


本扩展已被移动到 » PECL 库中且自以下版本起不再被绑定到 PHP 中:5.1.0.


本扩展模块在 Windows 平台下不可用。


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 »


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.


以下常量由本扩展模块定义,因此只有在本扩展模块被编译到 PHP 中,或者在运行时被动态加载后才有效。

M_PENDING (integer)
M_DONE (integer)
M_ERROR (integer)
M_FAIL (integer)
M_SUCCESS (integer)


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