LXVIII. 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 clientele 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