LXXVI. MCVE (Monetra) Payment Functions

Introduction

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 ( http://www.mainstreetsoftworks.com/ ). 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.

Installation

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 libmcve.so and/or libmcve.a and/or libmonetra.so 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 testbox.monetra.com 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 http://www.mainstreetsoftworks.com/.

See Also

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

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