📄 mcve.c
字号:
ZEND_FETCH_RESOURCE(conn, MCVE_CONN *, arg1, -1, "mcve connection", le_conn); convert_to_long_ex(arg2); MCVE_VerifyConnection(conn, Z_LVAL_PP(arg2)); RETURN_TRUE;}/* }}} *//* {{{ proto bool m_verifysslcert(resource conn, int tf) Set whether or not to verify the server ssl certificate*/PHP_FUNCTION(m_verifysslcert){ MCVE_CONN *conn; zval **arg1, **arg2; if (ZEND_NUM_ARGS() != 2 || zend_get_parameters_ex(2, &arg1, &arg2) == FAILURE) WRONG_PARAM_COUNT; ZEND_FETCH_RESOURCE(conn, MCVE_CONN *, arg1, -1, "mcve connection", le_conn); convert_to_long_ex(arg2); MCVE_VerifySSLCert(conn, Z_LVAL_PP(arg2)); RETURN_TRUE;}/* }}} *//* {{{ proto bool m_maxconntimeout(resource conn, int secs) The maximum amount of time the API will attempt a connection to MCVE*/PHP_FUNCTION(m_maxconntimeout){ MCVE_CONN *conn; zval **arg1, **arg2; if (ZEND_NUM_ARGS() != 2 || zend_get_parameters_ex(2, &arg1, &arg2) == FAILURE) WRONG_PARAM_COUNT; ZEND_FETCH_RESOURCE(conn, MCVE_CONN *, arg1, -1, "mcve connection", le_conn); convert_to_long_ex(arg2); MCVE_MaxConnTimeout(conn, Z_LVAL_PP(arg2)); RETURN_TRUE;}/* }}} *//* {{{ proto int m_connect(resource conn) Establish the connection to MCVE */PHP_FUNCTION(m_connect){ MCVE_CONN *conn; int retval; zval **arg; if (ZEND_NUM_ARGS() != 1 || zend_get_parameters_ex(1, &arg) == FAILURE) WRONG_PARAM_COUNT; ZEND_FETCH_RESOURCE(conn, MCVE_CONN *, arg, -1, "mcve connection", le_conn); retval = MCVE_Connect(conn); RETURN_LONG(retval);}/* }}} *//* {{{ proto string m_connectionerror(resource conn) Get a textual representation of why a connection failed */PHP_FUNCTION(m_connectionerror){ MCVE_CONN *conn; char *retval; zval **arg; if (ZEND_NUM_ARGS() != 1 || zend_get_parameters_ex(1, &arg) == FAILURE) WRONG_PARAM_COUNT; ZEND_FETCH_RESOURCE(conn, MCVE_CONN *, arg, -1, "mcve connection", le_conn); retval = MCVE_ConnectionError(conn); if (retval == NULL) { RETVAL_STRING("",1); } else { RETVAL_STRING(retval, 1); }}/* }}} *//* {{{ proto int m_transactionssent(resource conn) Check to see if outgoing buffer is clear */PHP_FUNCTION(m_transactionssent){ MCVE_CONN *conn; int retval; zval **arg; if (ZEND_NUM_ARGS() != 1 || zend_get_parameters_ex(1, &arg) == FAILURE) WRONG_PARAM_COUNT; ZEND_FETCH_RESOURCE(conn, MCVE_CONN *, arg, -1, "mcve connection", le_conn); retval = MCVE_TransactionsSent(conn); RETURN_LONG(retval);}/* }}} *//* {{{ proto int m_ping(resource conn) Send a ping request to MCVE */PHP_FUNCTION(m_ping){ MCVE_CONN *conn; int retval; zval **arg; if (ZEND_NUM_ARGS() != 1 || zend_get_parameters_ex(1, &arg) == FAILURE) WRONG_PARAM_COUNT; ZEND_FETCH_RESOURCE(conn, MCVE_CONN *, arg, -1, "mcve connection", le_conn); retval = MCVE_Ping(conn); RETURN_LONG(retval);}/* }}} *//* {{{ proto int m_transnew(resource conn) Start a new transaction */PHP_FUNCTION(m_transnew){ MCVE_CONN *conn; int retval; zval **arg; if (ZEND_NUM_ARGS() != 1 || zend_get_parameters_ex(1, &arg) == FAILURE) WRONG_PARAM_COUNT; ZEND_FETCH_RESOURCE(conn, MCVE_CONN *, arg, -1, "mcve connection", le_conn); retval = MCVE_TransNew(conn); RETURN_LONG(retval);}/* }}} *//* {{{ proto int m_transparam(resource conn, long identifier, int key, ...) Add a parameter to a transaction */PHP_FUNCTION(m_transparam){ MCVE_CONN *conn; int retval; int key; zval **arg1, **arg2, **arg3, **arg4, **arg5; if (ZEND_NUM_ARGS() == 4) { if (zend_get_parameters_ex(4, &arg1, &arg2, &arg3, &arg4) == FAILURE) WRONG_PARAM_COUNT; } else if (ZEND_NUM_ARGS() == 5) { if (zend_get_parameters_ex(5, &arg1, &arg2, &arg3, &arg4, &arg5) == FAILURE) WRONG_PARAM_COUNT; } else { WRONG_PARAM_COUNT; } convert_to_long_ex(arg3); key = Z_LVAL_PP(arg3); if (key == MC_CUSTOM && ZEND_NUM_ARGS() != 5) WRONG_PARAM_COUNT; ZEND_FETCH_RESOURCE(conn, MCVE_CONN *, arg1, -1, "mcve connection", le_conn); convert_to_long_ex(arg2); switch (key) { /* Typecast to MCVE_int64 */ case MC_TTID: convert_to_long_ex(arg4); retval = MCVE_TransParam(conn, (long)Z_LVAL_PP(arg2), key, (MCVE_int64)Z_LVAL_PP(arg4)); break; /* Typecast to long */ case MC_PTRANNUM: case MC_TIMESTAMP: case MC_MARKER: convert_to_long_ex(arg4); retval = MCVE_TransParam(conn, (long)Z_LVAL_PP(arg2), key, (long)Z_LVAL_PP(arg4)); break; /* Typecast to int */ case MC_ADMIN: case MC_SUB: case MC_TRANTYPE: case MC_AUDITTYPE: case MC_EXCHARGES: case MC_INQUIRY: case MC_PRIORITY: case MC_CARDTYPES: case MC_ORIGTYPE: case MC_VOIDORIGTYPE: convert_to_long_ex(arg4); retval = MCVE_TransParam(conn, (long)Z_LVAL_PP(arg2), key, (int)Z_LVAL_PP(arg4)); break; /* Typecast to double */ case MC_AMOUNT: case MC_EXAMOUNT: case MC_RATE: convert_to_double_ex(arg4); retval = MCVE_TransParam(conn, (long)Z_LVAL_PP(arg2), key, (double)Z_DVAL_PP(arg4)); break; case MC_CUSTOM: convert_to_string_ex(arg4); convert_to_string_ex(arg5); retval = MCVE_TransParam(conn, (long)Z_LVAL_PP(arg2), key, Z_STRVAL_PP(arg4), Z_STRVAL_PP(arg5)); break; default: convert_to_string_ex(arg4); retval = MCVE_TransParam(conn, (long)Z_LVAL_PP(arg2), key, Z_STRVAL_PP(arg4)); break; } RETURN_LONG(retval);}/* }}} *//* {{{ proto int m_transsend(resource conn, long identifier) Finalize and send the transaction */PHP_FUNCTION(m_transsend){ MCVE_CONN *conn; int retval; zval **arg1, **arg2; if (ZEND_NUM_ARGS() != 2 || zend_get_parameters_ex(2, &arg1, &arg2) == FAILURE) WRONG_PARAM_COUNT; ZEND_FETCH_RESOURCE(conn, MCVE_CONN *, arg1, -1, "mcve connection", le_conn); convert_to_long_ex(arg2); retval = MCVE_TransSend(conn, Z_LVAL_PP(arg2)); RETURN_LONG(retval);}/* }}} *//* {{{ proto string m_responseparam(resource conn, long identifier, string key) Get a custom response parameter */PHP_FUNCTION(m_responseparam){ MCVE_CONN *conn; char *retval; zval **arg1, **arg2, **arg3; if (ZEND_NUM_ARGS() != 3 || zend_get_parameters_ex(3, &arg1, &arg2, &arg3) == FAILURE) WRONG_PARAM_COUNT; ZEND_FETCH_RESOURCE(conn, MCVE_CONN *, arg1, -1, "mcve connection", le_conn); convert_to_long_ex(arg2); convert_to_string_ex(arg3); retval = MCVE_ResponseParam(conn, Z_LVAL_PP(arg2), Z_STRVAL_PP(arg3)); if (retval == NULL) { RETVAL_STRING("",1); } else { RETVAL_STRING(retval, 1); }}/* }}} *//* {{{ proto string m_getuserparam(resource conn, long identifier, int key) Get a user response parameter */PHP_FUNCTION(m_getuserparam){ MCVE_CONN *conn; char *retval; zval **arg1, **arg2, **arg3; if (ZEND_NUM_ARGS() != 3 || zend_get_parameters_ex(3, &arg1, &arg2, &arg3) == FAILURE) WRONG_PARAM_COUNT; ZEND_FETCH_RESOURCE(conn, MCVE_CONN *, arg1, -1, "mcve connection", le_conn); convert_to_long_ex(arg2); convert_to_long_ex(arg3); retval = MCVE_GetUserParam(conn, Z_LVAL_PP(arg2), Z_LVAL_PP(arg3)); if (retval == NULL) { RETVAL_STRING("",1); } else { RETVAL_STRING(retval, 1); }}/* }}} *//* {{{ proto int m_returnstatus(resource conn, int identifier) Check to see if the transaction was successful */PHP_FUNCTION(m_returnstatus){ MCVE_CONN *conn; int retval; zval **arg1, **arg2; if (ZEND_NUM_ARGS() != 2 || zend_get_parameters_ex(2, &arg1, &arg2) == FAILURE) WRONG_PARAM_COUNT; ZEND_FETCH_RESOURCE(conn, MCVE_CONN *, arg1, -1, "mcve connection", le_conn); convert_to_long_ex(arg2); retval = MCVE_ReturnStatus(conn, Z_LVAL_PP(arg2)); RETURN_LONG(retval);}/* }}} *//* {{{ proto int m_returncode(resource conn, int identifier) Grab the exact return code from the transaction */PHP_FUNCTION(m_returncode){ MCVE_CONN *conn; int retval; zval **arg1, **arg2; if (ZEND_NUM_ARGS() != 2 || zend_get_parameters_ex(2, &arg1, &arg2) == FAILURE) WRONG_PARAM_COUNT; ZEND_FETCH_RESOURCE(conn, MCVE_CONN *, arg1, -1, "mcve connection", le_conn); convert_to_long_ex(arg2); retval = MCVE_ReturnCode(conn, Z_LVAL_PP(arg2)); RETURN_LONG(retval);}/* }}} *//* {{{ proto int m_transactionitem(resource conn, int identifier) Get the ITEM number in the associated batch for this transaction */PHP_FUNCTION(m_transactionitem){ MCVE_CONN *conn; int retval; zval **arg1, **arg2; if (ZEND_NUM_ARGS() != 2 || zend_get_parameters_ex(2, &arg1, &arg2) == FAILURE) WRONG_PARAM_COUNT; ZEND_FETCH_RESOURCE(conn, MCVE_CONN *, arg1, -1, "mcve connection", le_conn); convert_to_long_ex(arg2); retval = MCVE_TransactionItem(conn, Z_LVAL_PP(arg2)); RETURN_LONG(retval);}/* }}} *//* {{{ proto int m_transactionavs(resource conn, int identifier) Get the Address Verification return status */PHP_FUNCTION(m_transactionavs){ MCVE_CONN *conn; int retval; zval **arg1, **arg2; if (ZEND_NUM_ARGS() != 2 || zend_get_parameters_ex(2, &arg1, &arg2) == FAILURE) WRONG_PARAM_COUNT; ZEND_FETCH_RESOURCE(conn, MCVE_CONN *, arg1, -1, "mcve connection", le_conn); convert_to_long_ex(arg2); retval = MCVE_TransactionAVS(conn, Z_LVAL_PP(arg2)); RETURN_LONG(retval);}/* }}} *//* {{{ proto int m_transactioncv(resource conn, int identifier) Get the CVC2/CVV2/CID return status */PHP_FUNCTION(m_transactioncv){ MCVE_CONN *conn; int retval; zval **arg1, **arg2; if (ZEND_NUM_ARGS() != 2 || zend_get_parameters_ex(2, &arg1, &arg2) == FAILURE) WRONG_PARAM_COUNT;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -