/** * getQueryResult() * @see fpiapi/gateways/FpiapiGateway::getQueryResult() */ public function getQueryResult() { $params =& $_REQUEST; $fields = array(isset($params["SOLOPMT_VERSION"]) ? $params["SOLOPMT_VERSION"] : NULL, isset($params["SOLOPMT_TIMESTMP"]) ? $params["SOLOPMT_TIMESTMP"] : NULL, isset($params["SOLOPMT_RCV_ID"]) ? $params["SOLOPMT_RCV_ID"] : NULL, isset($params["SOLOPMT_RESPCODE"]) ? $params["SOLOPMT_RESPCODE"] : NULL, isset($params["SOLOPMT_STAMP"]) ? $params["SOLOPMT_STAMP"] : NULL, isset($params["SOLOPMT_REF"]) ? $params["SOLOPMT_REF"] : NULL, isset($params["SOLOPMT_KEYVERS"]) ? $params["SOLOPMT_KEYVERS"] : NULL, isset($params["SOLOPMT_ALG"]) ? $params["SOLOPMT_ALG"] : NULL); $fields = $this->filterEmptyFields($fields); $mac = implode('&', $fields) . "&" . $this->configuration['privateKey'] . "&"; $mac = strtoupper(md5($mac)); if (!isset($params['SOLOPMT_MAC']) || $mac != $params['SOLOPMT_MAC']) { throw new FpiapiException("MAC mismatch", FPIAPI_EXCEPTION_MAC_ERROR); } switch ($params['SOLOPMT_RESPCODE']) { case 'Notfound': throw new FpiapiException("Payment not found", FPIAPI_EXCEPTION_NOT_FOUND); case 'Error': throw new FpiapiException("Error", FPIAPI_EXCEPTION_ERROR); } $qr = new QueryResult(); $qr->setSum($params['SOLOPMT_AMOUNT']); $qr->setUid($params['SOLOPMT_STAMP']); $qr->setReferenceNumber($params['SOLOPMT_REF']); $qr->setDueDate($params['SOLOPMT_DATE']); return $qr; }
/** * getQueryResult() * @see fpiapi/gateways/FpiapiGateway::getQueryResult() */ public function getQueryResult() { $params =& $_REQUEST; if (!isset($params['NET_VERSION'])) { return null; } $fields = array($params['NET_VERSION'], $params['NET_SELLER_ID'], $params['NET_RESPCODE'], $params['NET_STAMP'], $params['NET_REF'], $params['NET_DATE'], $params['NET_AMOUNT'], $params['NET_CUR'], $params['NET_PAID'], $this->configuration['privateKey']); $fields = $this->filterEmptyFields($fields); //print_r($fields); $mac = implode('&', $fields) . '&'; $mac = strtoupper(md5($mac)); if ($mac != $params['NET_RETURN_MAC']) { throw new FpiapiException("MAC mismatch", FPIAPI_EXCEPTION_MAC_ERROR); } switch ($params['NET_RESPCODE']) { case 'NOTFOUND': throw new FpiapiException("Payment not found", FPIAPI_EXCEPTION_NOT_FOUND); case 'ERROR': throw new FpiapiException("Error", FPIAPI_EXCEPTION_ERROR); } $qr = new QueryResult(); $qr->setSum($params['NET_AMOUNT']); $qr->setUid($params['NET_STAMP']); $qr->setReferenceNumber($params['NET_REF']); $qr->setDueDate($params['NET_DATE']); return $t; }