if ($this_config['IPN_pass'] != '' && $this_config['IPN_pass'] != $_GET['cred']) { paycom_error(_PLUG_PAY_PAYCOM_ERROR3 . $_GET['cred']); } if ($result != 'Y') { paycom_error(sprintf(_PLUG_PAY_PAYCOM_ERROR4, $invoice, '<br />') . "\n" . get_dump($vars)); } if ($this_config['testing'] == '' && $vars['ans'] == 'YGOODTEST|null') { paycom_error(_PLUG_PAY_PAYCOM_ERROR5); } //if (!$amount){ // paycom_error("returned amount empty or = 0"); //} $p = $db->get_payment(intval($invoice)); $pr = $db->get_product($p['product_id']); if ($pr['paycom_id'] != $vars['product_id']) { paycom_error(sprintf(_PLUG_PAY_PAYCOM_ERROR6, $pr[paycom_id], $vars[product_id])); } // check IP if ($this_config['ip'] && !validate_src($_SERVER['REMOTE_ADDR'], $this_config['ip'])) { paycom_error(sprintf(_PLUG_PAY_PAYCOM_ERROR7, $_SERVER['REMOTE_ADDR']) . $this_config['ip']); } // check merchant id if ($this_config['co_code'] != $co_code) { paycom_error(_PLUG_PAY_PAYCOM_ERROR8); } // process payment $err = $db->finish_waiting_payment($invoice, 'paycom', $vars['transaction_id'], $amount, $vars); if ($err) { paycom_error("finish_waiting_payment error: {$err}"); } print "OK";
global $t; $t->assign(error, array(_PLUG_PAY_PAYCOM_ERROR . $msg . _PLUG_PAY_PAYCOM_ERROR2)); $t->display('fatal_error.html'); exit; } ////////////////////////////////////////////////////////////////////////////// // // M A I N // ////////////////////////////////////////////////////////////////////////////// $p = $db->get_payment(intval($vars['x_payment_id'])); $pr = $db->get_product($p['product_id']); $t = new_smarty(); $t->assign('payment', $p); $t->assign('product', $pr); $t->assign('member', $db->get_user($p['member_id'])); if ($result != 'Y') { $t->display("cancel.html"); exit; } if ($this_config['testing'] == '' && $vars['ans'] == 'YGOODTEST|null') { paycom_error(_PLUG_PAY_PAYCOM_ERROR10); } if ($pr['paycom_id'] != $vars['product_id']) { paycom_error(_PLUG_PAY_PAYCOM_ERROR6); } // check merchant id if ($this_config['co_code'] != $co_code) { paycom_error(_PLUG_PAY_PAYCOM_ERROR8); } $t->display("thanks.html");