// 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);