LV. MCVE Payment Functions
Introduction
These functions interface the MCVE API (libmcve), allowing you to work directly with MCVE from your PHP scripts. MCVE is Main Street Softworks' solution to direct credit card processing for Linux / Unix ( 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 module for PHP, you can process credit cards directly through MCVE via your PHP scripts. The following references will outline the process.
Note: MCVE is the replacement for RedHat's CCVS. They contracted with RedHat in late 2001 to migrate all existing clientelle to the MCVE platform.
Note: This extension is not available on Windows platforms.
Installation
To enable MCVE Support in PHP, first verify your LibMCVE installation directory. You will then need to configure PHP with the --with-mcve option. If you use this option without specifying the path to your MCVE installation, PHP will attempt to look in the default LibMCVE Install location (/usr/local). If MCVE is in a non-standard location, run configure with: --with-mcve=$mcve_path, where $mcve_path is the path to your MCVE installation. Please note that MCVE support requires that $mcve_path/lib and $mcve_path/include exist, and include mcve.h under the include directory and libmcve.so and/or libmcve.a under the lib directory.
Since MCVE has true server/client separation, there are no additional requirements for running PHP with MCVE support. To test your MCVE extension in PHP, you may connect to testbox.mcve.com on port 8333 for IP, or port 8444 for SSL using the MCVE 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's PHP API can be found at http://www.mainstreetsoftworks.com/docs/phpapi.pdf. 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.
- MC_TRANTYPE (integer)
- MC_USERNAME (integer)
- MC_PASSWORD (integer)
- MC_ACCOUNT (integer)
- MC_TRACKDATA (integer)
- MC_EXPDATE (integer)
- MC_STREET (integer)
- MC_ZIP (integer)
- MC_CV (integer)
- MC_COMMENTS (integer)
- MC_CLERKID (integer)
- MC_STATIONID (integer)
- MC_APPRCODE (integer)
- MC_AMOUNT (integer)
- MC_PTRANNUM (integer)
- MC_TTID (integer)
- MC_USER (integer)
- MC_PWD (integer)
- MC_ACCT (integer)
- MC_BDATE (integer)
- MC_EDATE (integer)
- MC_BATCH (integer)
- MC_FILE (integer)
- MC_ADMIN (integer)
- MC_AUDITTYPE (integer)
- MC_CUSTOM (integer)
- MC_EXAMOUNT (integer)
- MC_EXCHARGES (integer)
- MC_RATE (integer)
- MC_RENTERNAME (integer)
- MC_RETURNCITY (integer)
- MC_RETURNSTATE (integer)
- MC_RETURNLOCATION (integer)
- MC_PRIORITY (integer)
- MC_INQUIRY (integer)
- MC_CARDTYPES (integer)
- MC_SUB (integer)
- MC_MARKER (integer)
- MC_DEVICETYPE (integer)
- MC_ERRORCODE (integer)
- MC_NEWBATCH (integer)
- MC_CURR (integer)
- MC_DESCMERCH (integer)
- MC_DESCLOC (integer)
- MC_ORIGTYPE (integer)
- MC_PIN (integer)
- MC_VOIDORIGTYPE (integer)
- MC_TIMESTAMP (integer)
- MC_PRIO_HIGH (integer)
- MC_PRIO_NORMAL (integer)
- MC_PRIO_LOW (integer)
- MC_USER_PROC (integer)
- MC_USER_USER (integer)
- MC_USER_PWD (integer)
- MC_USER_INDCODE (integer)
- MC_USER_MERCHID (integer)
- MC_USER_BANKID (integer)
- MC_USER_TERMID (integer)
- MC_USER_CLIENTNUM (integer)
- MC_USER_STOREID (integer)
- MC_USER_AGENTID (integer)
- MC_USER_CHAINID (integer)
- MC_USER_ZIPCODE (integer)
- MC_USER_TIMEZONE (integer)
- MC_USER_MERCHCAT (integer)
- MC_USER_MERNAME (integer)
- MC_USER_MERCHLOC (integer)
- MC_USER_STATECODE (integer)
- MC_USER_PHONE (integer)
- MC_USER_SUB (integer)
- MC_USER_CARDTYPES (integer)
- MC_USER_MODE (integer)
- MC_USER_VNUMBER (integer)
- MC_USER_ROUTINGID (integer)
- MC_USER_PPROPERTY (integer)
- MC_USER_PID (integer)
- MC_USER_PIDPWD (integer)
- MC_USER_SMID (integer)
- MC_USER_SMIDPWD (integer)
- MC_USER_USDDIV (integer)
- MC_USER_AUDDIV (integer)
- MC_USER_DKKDIV (integer)
- MC_USER_GBPDIV (integer)
- MC_USER_HKDDIV (integer)
- MC_USER_JPYDIV (integer)
- MC_USER_NZDDIV (integer)
- MC_USER_NOKDIV (integer)
- MC_USER_SGDDIV (integer)
- MC_USER_ZARDIV (integer)
- MC_USER_SEKDIV (integer)
- MC_USER_CHFDIV (integer)
- MC_USER_CADDIV (integer)
- MC_USER_DIVNUM (integer)
- MC_CARD_VISA (integer)
- MC_CARD_MC (integer)
- MC_CARD_AMEX (integer)
- MC_CARD_DISC (integer)
- MC_CARD_JCB (integer)
- MC_CARD_CB (integer)
- MC_CARD_DC (integer)
- MC_CARD_GIFT (integer)
- MC_CARD_OTHER (integer)
- MC_CARD_ALL (integer)
- MC_MODE_AUTH (integer)
- MC_MODE_SETTLE (integer)
- MC_MODE_BOTH (integer)
- MC_MODE_ALL (integer)
- MC_EXCHARGES_REST (integer)
- MC_EXCHARGES_GIFT (integer)
- MC_EXCHARGES_MINI (integer)
- MC_EXCHARGES_TELE (integer)
- MC_EXCHARGES_OTHER (integer)
- MC_EXCHARGES_LAUND (integer)
- MC_EXCHARGES_NONE (integer)
- MC_EXCHARGES_GAS (integer)
- MC_EXCHARGES_MILE (integer)
- MC_EXCHARGES_LATE (integer)
- MC_EXCHARGES_1WAY (integer)
- MC_EXCHARGES_VIOL (integer)
- MC_TRAN_SALE (integer)
- MC_TRAN_REDEMPTION (integer)
- MC_TRAN_PREAUTH (integer)
- MC_TRAN_VOID (integer)
- MC_TRAN_PREAUTHCOMPLETE (integer)
- MC_TRAN_FORCE (integer)
- MC_TRAN_OVERRIDE (integer)
- MC_TRAN_RETURN (integer)
- MC_TRAN_RELOAD (integer)
- MC_TRAN_CREDIT (integer)
- MC_TRAN_SETTLE (integer)
- MC_TRAN_INCREMENTAL (integer)
- MC_TRAN_REVERSAL (integer)
- MC_TRAN_ACTIVATE (integer)
- MC_TRAN_BALANCEINQ (integer)
- MC_TRAN_CASHOUT (integer)
- MC_TRAN_TOREVERSAL (integer)
- MC_TRAN_SETTLERFR (integer)
- MC_TRAN_ISSUE (integer)
- MC_TRAN_TIP (integer)
- MC_TRAN_MERCHRETURN (integer)
- MC_TRAN_IVRREQ (integer)
- MC_TRAN_IVRRESP (integer)
- MC_TRAN_ADMIN (integer)
- MC_TRAN_PING (integer)
- MC_TRAN_CHKPWD (integer)
- MC_TRAN_CHNGPWD (integer)
- MC_TRAN_LISTSTATS (integer)
- MC_TRAN_LISTUSERS (integer)
- MC_TRAN_GETUSERINFO (integer)
- MC_TRAN_ADDUSER (integer)
- MC_TRAN_EDITUSER (integer)
- MC_TRAN_DELUSER (integer)
- MC_TRAN_ENABLEUSER (integer)
- MC_TRAN_DISABLEUSER (integer)
- MC_TRAN_IMPORT (integer)
- MC_TRAN_EXPORT (integer)
- MC_TRAN_ERRORLOG (integer)
- MC_TRAN_CLEARERRORLOG (integer)
- MC_TRAN_GETSUBACCTS (integer)
- MC_ADMIN_GUT (integer)
- MC_ADMIN_GL (integer)
- MC_ADMIN_GFT (integer)
- MC_ADMIN_BT (integer)
- MC_ADMIN_UB (integer)
- MC_ADMIN_QC (integer)
- MC_ADMIN_RS (integer)
- MC_ADMIN_CTH (integer)
- MC_ADMIN_CFH (integer)
- MC_ADMIN_FORCESETTLE (integer)
- MC_ADMIN_SETBATCHNUM (integer)
- MC_ADMIN_RENUMBERBATCH (integer)
- MC_ADMIN_FIELDEDIT (integer)
- MC_ADMIN_CLOSEBATCH (integer)
- MCVE_UNUSED (integer)
- MCVE_NEW (integer)
- MCVE_PENDING (integer)
- MCVE_DONE (integer)
- MCVE_GOOD (integer)
- MCVE_BAD (integer)
- MCVE_STREET (integer)
- MCVE_ZIP (integer)
- MCVE_UNKNOWN (integer)
- MCVE_ERROR (integer)
- MCVE_FAIL (integer)
- MCVE_SUCCESS (integer)
- MCVE_AUTH (integer)
- MCVE_DENY (integer)
- MCVE_CALL (integer)
- MCVE_DUPL (integer)
- MCVE_PKUP (integer)
- MCVE_RETRY (integer)
- MCVE_SETUP (integer)
- MCVE_TIMEOUT (integer)
- MCVE_SALE (integer)
- MCVE_PREAUTH (integer)
- MCVE_FORCE (integer)
- MCVE_OVERRIDE (integer)
- MCVE_RETURN (integer)
- MCVE_SETTLE (integer)
- MCVE_PROC (integer)
- MCVE_USER (integer)
- MCVE_PWD (integer)
- MCVE_INDCODE (integer)
- MCVE_MERCHID (integer)
- MCVE_BANKID (integer)
- MCVE_TERMID (integer)
- MCVE_CLIENTNUM (integer)
- MCVE_STOREID (integer)
- MCVE_AGENTID (integer)
- MCVE_CHAINID (integer)
- MCVE_ZIPCODE (integer)
- MCVE_TIMEZONE (integer)
- MCVE_MERCHCAT (integer)
- MCVE_MERNAME (integer)
- MCVE_MERCHLOC (integer)
- MCVE_STATECODE (integer)
- MCVE_SERVICEPHONE (integer)
- Table of Contents
- mcve_adduser -- Add an MCVE user using usersetup structure
- mcve_adduserarg -- Add a value to user configuration structure
- mcve_bt -- Get unsettled batch totals
- mcve_checkstatus -- Check to see if a transaction has completed
- mcve_chkpwd -- Verify Password
- mcve_chngpwd -- Change the system administrator's password
- mcve_completeauthorizations -- Number of complete authorizations in queue, returning an array of their identifiers
- mcve_connect -- Establish the connection to MCVE
- mcve_connectionerror -- Get a textual representation of why a connection failed
- mcve_deleteresponse -- Delete specified transaction from MCVE_CONN structure
- mcve_deletetrans -- Delete specified transaction from MCVE_CONN structure
- mcve_deleteusersetup -- Deallocate data associated with usersetup structure
- mcve_deluser -- Delete an MCVE user account
- mcve_destroyconn -- Destroy the connection and MCVE_CONN structure
- mcve_destroyengine -- Free memory associated with IP/SSL connectivity
- mcve_disableuser -- Disable an active MCVE user account
- mcve_edituser -- Edit MCVE user using usersetup structure
- mcve_enableuser -- Enable an inactive MCVE user account
- mcve_force -- Send a FORCE to MCVE. (typically, a phone-authorization)
- mcve_getcell -- Get a specific cell from a comma delimited response by column name
- mcve_getcellbynum -- Get a specific cell from a comma delimited response by column number
- mcve_getcommadelimited -- Get the RAW comma delimited data returned from MCVE
- mcve_getheader -- Get the name of the column in a comma-delimited response
- mcve_getuserarg -- Grab a value from usersetup structure
- mcve_getuserparam -- Get a user response parameter
- mcve_gft -- Audit MCVE for Failed transactions
- mcve_gl -- Audit MCVE for settled transactions
- mcve_gut -- Audit MCVE for Unsettled Transactions
- mcve_initconn -- Create and initialize an MCVE_CONN structure
- mcve_initengine -- Ready the client for IP/SSL Communication
- mcve_initusersetup -- Initialize structure to store user data
- mcve_iscommadelimited -- Checks to see if response is comma delimited
- mcve_liststats -- List statistics for all users on MCVE system
- mcve_listusers -- List all users on MCVE system
- mcve_maxconntimeout -- The maximum amount of time the API will attempt a connection to MCVE
- mcve_monitor -- Perform communication with MCVE (send/receive data) Non-blocking
- mcve_numcolumns -- Number of columns returned in a comma delimited response
- mcve_numrows -- Number of rows returned in a comma delimited response
- mcve_override -- Send an OVERRIDE to MCVE
- mcve_parsecommadelimited -- Parse the comma delimited response so mcve_getcell, etc will work
- mcve_ping -- Send a ping request to MCVE
- mcve_preauth -- Send a PREAUTHORIZATION to MCVE
- mcve_preauthcompletion -- Complete a PREAUTHORIZATION... Ready it for settlement
- mcve_qc -- Audit MCVE for a list of transactions in the outgoing queue
- mcve_responseparam -- Get a custom response parameter
- mcve_return -- Issue a RETURN or CREDIT to MCVE
- mcve_returncode -- Grab the exact return code from the transaction
- mcve_returnstatus -- Check to see if the transaction was successful
- mcve_sale -- Send a SALE to MCVE
- mcve_setblocking -- Set blocking/non-blocking mode for connection
- mcve_setdropfile -- Set the connection method to Drop-File
- mcve_setip -- Set the connection method to IP
- mcve_setssl_files -- Set certificate key files and certificates if server requires client certificate verification
- mcve_setssl -- Set the connection method to SSL
- mcve_settimeout -- Set maximum transaction time (per trans)
- mcve_settle -- Issue a settlement command to do a batch deposit
- mcve_text_avs -- Get a textual representation of the return_avs
- mcve_text_code -- Get a textual representation of the return_code
- mcve_text_cv -- Get a textual representation of the return_cv
- mcve_transactionauth -- Get the authorization number returned for the transaction (alpha-numeric)
- mcve_transactionavs -- Get the Address Verification return status
- mcve_transactionbatch -- Get the batch number associated with the transaction
- mcve_transactioncv -- Get the CVC2/CVV2/CID return status
- mcve_transactionid -- Get the unique system id for the transaction
- mcve_transactionitem -- Get the ITEM number in the associated batch for this transaction
- mcve_transactionssent -- Check to see if outgoing buffer is clear
- mcve_transactiontext -- Get verbiage (text) return from MCVE or processing institution
- mcve_transinqueue -- Number of transactions in client-queue
- mcve_transnew -- Start a new transaction
- mcve_transparam -- Add a parameter to a transaction
- mcve_transsend -- Finalize and send the transaction
- mcve_ub -- Get a list of all Unsettled batches
- mcve_uwait -- Wait x microsecs
- mcve_verifyconnection -- Set whether or not to PING upon connect to verify connection
- mcve_verifysslcert -- Set whether or not to verify the server ssl certificate
- mcve_void -- VOID a transaction in the settlement queue