$alipayapi->prepareRequest($alipay_notify, false); $url = $alipayapi->createUrl(); $alipay_notify->setParamList('compare_sign'); $params = $alipayapi->getProtocolParams(); unset($params['partner']); unset($params['service']); $alipayapi->setProtocolParams($params); $alipayapi->setSecreteKey(Configuration::get('ALIPAY_SECRETE_KEY')); $alipayapi->prepareRequest($alipay_notify); if ($alipayapi->getResponse($url) != 'true' || !$alipay_notify->verifyDupplicates() || $alipayapi->getSign() != Tools::getValue('sign')) { return; } if ($alipay_notify->saveNotify()) { $alipay = new Alipay(); $extra_vars = array(); $extra_vars['transaction_id'] = $alipay_notify->getTradeNo(); $alipay->validateOrder((int) $alipay_notify->getIdCart(), Configuration::get('PS_OS_PAYMENT'), $alipay_notify->getTotalFee(), 'Alipay', null, $extra_vars, null, false, $alipay_notify->getSecureKey()); $id_order = (int) Order::getOrderByCartId($alipay_notify->getIdCart()); if ($id_order) { $alipay_notify->saveOrder($id_order); header('HTTP/1.1 200 OK'); echo "success"; exit; } } header('HTTP/1.1 200 OK'); echo "fail"; exit; default: break; }
<?php include dirname(__FILE__) . '/../../config/config.inc.php'; include dirname(__FILE__) . '/../../header.php'; include dirname(__FILE__) . '/alipay.php'; $currency = new Currency(intval(isset($_POST['currency_payement']) ? $_POST['currency_payement'] : $cookie->id_currency)); $total = floatval(number_format($cart->getOrderTotal(true, 3), 2, '.', '')); $alipay = new Alipay(); $alipay->validateOrder($cart->id, _PS_OS_PAYMENT_, $total, $alipay->displayName); $order = new Order($alipay->currentOrder); Tools::redirectLink($_POST['hiddenlink']);