コード例 #1
0
ファイル: tiki-payment.php プロジェクト: jkimdon/cohomeals
// Licensed under the GNU LESSER GENERAL PUBLIC LICENSE. See license.txt for details.
// $Id: tiki-payment.php 51201 2014-05-09 16:53:50Z lphuberdeau $
// Data sent by the IPN must be left unharmed
if (isset($_GET['ipn'])) {
    $ipn_data = $_POST;
}
$inputConfiguration = array(array('staticKeyFilters' => array('amount' => 'text', 'manual_amount' => 'text', 'description' => 'text', 'request' => 'alpha', 'payable' => 'digits', 'offset_outstanding' => 'digits', 'offset_overdue' => 'digits', 'offset_past' => 'digits', 'offset_canceled' => 'digits', 'invoice' => 'digits', 'cancel' => 'digits', 'note' => 'striptags', 'detail' => 'wikicontent', 'cclite_payment_amount' => 'text', 'tiki_credit_amount' => 'text', 'tiki_credit_pay' => 'text', 'tiki_credit_type' => 'text', 'checkout' => 'text', 'update' => 'word', 'daconfirm' => 'word', 'ticket' => 'word', 'returnurl' => 'url'), 'staticKeyFiltersForArrays' => array('cart' => 'digits'), 'catchAllUnset' => null));
require_once 'tiki-setup.php';
require_once 'lib/categories/categlib.php';
require_once 'lib/payment/paymentlib.php';
$access->check_feature('payment_feature');
$auto_query_args = array('offset_outstanding', 'offset_overdue', 'offset_past', 'offset_canceled');
if (isset($_POST['tiki_credit_pay']) && isset($_POST['tiki_credit_amount']) && isset($_POST['tiki_credit_type']) && isset($_POST['invoice'])) {
    require_once 'lib/payment/creditspaylib.php';
    $userpaycredits = new UserPayCredits();
    $userpaycredits->payAmount($_POST['tiki_credit_type'], $_POST['tiki_credit_amount'], $_POST['invoice']);
}
if (isset($ipn_data)) {
    $access->check_feature('payment_paypal_ipn');
    require_once 'lib/payment/paypallib.php';
    $invoice = $paypallib->get_invoice($ipn_data);
    if (!is_numeric($invoice) || $invoice < 1) {
        echo 'Payment response was not correctly formatted';
        // goes back to PayPal server - for debugging mainly
        exit;
    }
    $info = $paymentlib->get_payment($invoice);
    // Important to check with paypal first
    if (isset($info) && $paypallib->is_valid($ipn_data, $info)) {
        $amount = $paypallib->get_amount($ipn_data);
        $paymentlib->enter_payment($invoice, $amount, 'paypal', $ipn_data);