Пример #1
0
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);
}
Пример #2
0
?>
</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']);
    ?>
Пример #3
0
<?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)));
Пример #4
0
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)));