'zip' => $_POST['card_zip'], 'cc_number' => $_POST['card_number'], 'cc_expiration_month' => $_POST['card_exp_month'], 'cc_expiration_year' => $_POST['card_exp_year'], 'cc_type' => $_POST['card_type'], 'cc_cvv' => $_POST['card_cvv'], 'amount' => $payment->amount ); $cc_result = $cc_processor->process($params); if($cc_result === false){ fatal_error('Error processing card: '.$cc_processor->getLastError()); } if($payment->add()){ //TODO: Attach to oldest invoices if($payment->attachInvoices(array($_POST['invoice_id'] => $payment->amount)) === FALSE){ $error_msg .= "Error applying payment to invoice!\n"; debug_message($payment->getLastError()); } // Add the company transaction $ct = new SI_CompanyTransaction(); $ct->amount = -$payment->amount; $ct->company_id = $payment->company_id; $ct->description = "Credit card payment of ".$payment->amount." on ".date("n/j/y", $payment->timestamp); $ct->timestamp = time(); if($ct->add() === FALSE){ $error_msg .= "Error adding transaction to company account!\n"; debug_message($ct->getLastError()); }