// Politely tell the customer their card was declined // and to try a different form of payment. $err[] = "There was an error processing this credit card. The response from the bank was: {$reason}"; //$err[] = "AVS Result: $avs_result"; //$err[] = "CVV Result: $cvv_result"; // TODO: in case of errors, email the above info to the admin } else { if ($payment->isError()) { // Get the error number so we can reference the Authnet // documentation and get an error description. $error_number = $payment->getResponseSubcode(); $error_message = $payment->getResponseText(); // OR // Capture a detailed error message. No need to refer to the manual // with this one as it tells you everything the manual does. $full_error_message = $payment->getResponseMessage(); $avs_result = $payment->getAVSResponse(); $cvv_result = $payment->getCVVResponse(); $err[] = "Error {$error_number}: {$full_error_message}"; //$err[] = "AVS Result: $avs_result"; //$err[] = "CVV Result: $cvv_result"; // TODO: in case of errors, email the above info to the admin // We can tell what kind of error it is and handle it appropriately. if ($payment->isConfigError()) { // We misconfigured something on our end. //$err[] = "Config Error"; } else { if ($payment->isTempError()) { // Some kind of temporary error on Authorize.Net's end. // It should work properly "soon". //$err[] = "Temporary Error";
/** * Authorize and Prosses order using the AuthnetAIM.class.php class. * Fill object of the class ($payment), then send to process order, * this order then gives a echo for the payment error or recieved. * Tutorial: http://www.johnconde.net/blog/tutorial-integrating-the-authorizenet-aim-api-with-php/ * @param object $ccInfo Object containing info for the Authorize.NET API. * @return void */ function wc_AuthorizeCard($ccInfo) { require 'AuthnetAIM.class.php'; $payment = new AuthnetAIM("52H4eeYq", "7RD64g4h993VE6rp", true); $payment->setTransaction($ccInfo->getCreditCard(), $ccInfo->getExpiration(), $ccInfo->getTotal()); $payment->setParameter("x_description", $ccInfo->getProduct()); $payment->setParameter("x_email", $ccInfo->getEmail()); $payment->setParameter("x_first_name", $ccInfo->getName()); $payment->process(); if ($payment->isApproved()) { echo "Payment Received/Approved"; } if ($payment->isError()) { $error_number = $payment->getResponseSubcode(); $error_message = $payment->getResponseText(); echo $payment->getResponseMessage(); } }