function before_process()
 {
     global $messageStack;
     if (!empty($_GET['notify_id'])) {
         if (!(($_GET['trade_status'] == 'TRADE_FINISHED' || $_GET['trade_status'] == 'TRADE_SUCCESS') && $_GET['is_success'] == 'T')) {
             $messageStack->add_session('alipay-failed', MODULE_PAYMENT_ALIPAYFOR_TEXT_PAYMENT_FAILED, 'error');
             zen_redirect(zen_href_link(FILENAME_CHECKOUT_PAYMENT, '', 'SSL', true, false));
         }
         $alipay = new alipay_core();
         $alipay_config = $this->prepareConfig();
         $alipay->setConfig($alipay_config);
         $result = $alipay->verifyResponse($_GET);
         if ($result) {
             $order_id = (int) (isset($_GET['extra_common_param']) ? $_GET['extra_common_param'] : 0);
             if ($order_id > 0) {
                 $_SESSION['alipay_forcard_success_order_id'] = $order_id;
             }
             return true;
         } else {
             $this->order_status = DEFAULT_ORDERS_STATUS_ID;
             // Pending / Awaiting payment
             $messageStack->add_session('alipay-failed', MODULE_PAYMENT_ALIPAYFOR_TEXT_PAYMENT_FAILED, 'error');
             zen_redirect(zen_href_link(FILENAME_CHECKOUT_PAYMENT, '', 'SSL', true, false));
         }
     }
     zen_redirect(zen_href_link(FILENAME_CHECKOUT_PAYMENT, '', 'SSL', true, false));
 }
/**
 * Alipay forcard Payment Module
 *
 * @author alipaymate.com
 * @copyright (c) 2013 alipaymate.com
 * @copyright Portions Copyright (c) 2003 Zen Cart
 * @license http://www.zen-cart.com/license/2_0.txt GNU Public License V2.0
 */
require 'includes/application_top.php';
require DIR_FS_CATALOG . DIR_WS_LANGUAGES . 'english/modules/payment/alipay_forcard.php';
require DIR_FS_CATALOG . DIR_WS_MODULES . 'payment/alipay_forcard.php';
if (!empty($_POST['notify_id'])) {
    if ($_POST['trade_status'] != 'TRADE_SUCCESS') {
        alipay_forcard_notify_error();
    }
    $alipay_core = new alipay_core();
    $alipay = new alipay_forcard();
    $alipay_config = $alipay->prepareConfig();
    $alipay_core->setConfig($alipay_config);
    $result = $alipay_core->verifyResponse($_POST);
    if ($result) {
        $order_id = (int) (isset($_POST['extra_common_param']) ? $_POST['extra_common_param'] : 0);
        if ($order_id) {
            $order_query = 'select orders_id, orders_status from ' . TABLE_ORDERS . " where payment_module_code = 'alipay_forcard' and orders_id = " . $order_id;
            $orders = $db->Execute($order_query);
            if ($orders->RecordCount() < 1) {
                alipay_forcard_notify_error();
            }
            if ($orders->fields['orders_status'] == MODULE_PAYMENT_ALIPAYFOR_ORDER_STATUS_ID) {
                alipay_forcard_notify_success();
            }