function txn_load_full($db, $id) { $txn = txn_load($db, $id); $items = txn_load_items($db, $id); $payments = txn_load_payments($db, $id); $notes = txn_load_notes($db, $id); if ($txn['person']) { $person = person_load($db, $txn['person']); } return array('txn' => $txn, 'items' => $items, 'payments' => $payments, 'person' => $person, 'notes' => $notes); }
?> </td> </tr> <tr class="total"> <td class="right" colspan="<?php echo $span; ?> ">Total:</td> <td class="price"><?php echo amount($details['total']); ?> </td> </tr> <?php $methods = array('cash' => 'Cash', 'change' => 'Change', 'credit' => 'Credit Card', 'square' => 'Square', 'stripe' => 'Stripe', 'dwolla' => 'Dwolla', 'gift' => 'Gift Card', 'check' => 'Check', 'discount' => 'Discount', 'bad' => 'Bad Debt'); $payments = txn_load_payments($db, $id); if (count($payments)) { foreach ($payments as $payment) { if ($payment['method'] == 'discount' && $payment['discount']) { $method = sprintf("Discount (%d%%)", $payment['discount']); } else { $method = $methods[$payment['method']]; } echo '<tr>', '<td class="right" colspan="3">', $method, ':</td>', '<td class="price">', amount($payment['amount']), "</td></tr>\n"; } ?> <tr class="total"> <td class="right" colspan="3">Total Due:</td> <td class="price"><?php echo amount($details['total'] - $details['total_paid']); ?>
<?php include '../scat.php'; include '../lib/txn.php'; $txn_id = (int) $_REQUEST['txn']; $id = (int) $_REQUEST['id']; $admin = (int) $_REQUEST['admin']; if (!$txn_id || !$id) { die_jsonp("No transaction or payment specified."); } $txn = new Transaction($db, $txn_id); try { $txn->removePayment($id, $admin); } catch (Exception $e) { die_jsonp($e->getMessage()); } echo jsonp(array('txn' => txn_load($db, $txn_id), 'payments' => txn_load_payments($db, $txn_id)));
include '../lib/eps-express.php'; $id = (int) $_REQUEST['id']; $amount = $_REQUEST['amount']; if (!$id || !$amount) { die_jsonp("Either transaction or amount was not specified."); } $person_id = (int) $_REQUEST['person']; $person = $person_id ? person_load($db, $person_id) : false; $account = $person['payment_account_id']; if (!$person_id || !$person || !$account) { die_jsonp("No person specified or no card stored for person."); } $eps = new EPS_Express(); $response = $eps->CreditCardSalePaymentAccount($id, $amount, $account); $xml = new SimpleXMLElement($response); if ($xml->Response->ExpressResponseCode != 0) { die_jsonp((string) $xml->Response->ExpressResponseMessage); } $method = 'credit'; $cc = array(); $cc['cc_txn'] = $xml->Response->Transaction->TransactionID; $cc['cc_approval'] = $xml->Response->Transaction->ApprovalNumber; $cc['cc_type'] = $xml->Response->Card->CardLogo; $txn = new Transaction($db, $id); try { $payment = $txn->addPayment($method, $amount, $cc); } catch (Exception $e) { die_jsonp($e->getMessage()); } echo jsonp(array('payment' => $payment, 'txn' => txn_load($db, $id), 'payments' => txn_load_payments($db, $id)));