/** * Function sending Order to PayU Service * @access public * @param array $order * @param boolean $debug * @return object $result */ public static function create($order, $debug = TRUE) { // preparing payu service for order initialization $OrderCreateRequestUrl = OpenPayU_Configuration::getServiceUrl() . 'co/openpayu/OrderCreateRequest'; if ($debug) { OpenPayU::addOutputConsole('OpenPayU endpoint for OrderCreateRequest message', $OrderCreateRequestUrl); } OpenPayU::setOpenPayuEndPoint($OrderCreateRequestUrl); // convert array to openpayu document $xml = OpenPayU::buildOrderCreateRequest($order); if ($debug) { OpenPayU::addOutputConsole('OrderCreateRequest message', htmlentities($xml)); } $merchantPosId = OpenPayU_Configuration::getMerchantPosId(); $signatureKey = OpenPayU_Configuration::getSignatureKey(); // send openpayu document with order initialization structure to PayU service $response = OpenPayU::sendOpenPayuDocumentAuth($xml, $merchantPosId, $signatureKey); if ($debug) { OpenPayU::addOutputConsole('OrderCreateRequest message', htmlentities($response)); } // verify response from PayU service $status = OpenPayU::verifyOrderCreateResponse($response); if ($debug) { OpenPayU::addOutputConsole('OrderCreateResponse status', serialize($status)); } $result = new OpenPayU_Result(); $result->setStatus($status); $result->setError($status['StatusCode']); $result->setSuccess($status['StatusCode'] == 'OPENPAYU_SUCCESS' ? TRUE : FALSE); $result->setRequest($order); $result->setResponse(OpenPayU::parseOpenPayUDocument($response)); return $result; }