Доброго времени суток, подскажите как реализовать оплату на сайте файл freekassa работает и нормально передает все параметры файл в спойлере не работает его надо как то подружить с переменными первого файла, файл wallet проводит оплату внутренне валютой, сори за так заданный вопрос может не совсем понятный, сильно не пинайте новичка, заранее спасибо за ответ. Спойлер: Файл который прикрутить PHP: <?php /** * Liqpay Payment Module * * NOTICE OF LICENSE * * This source file is subject to the Open Software License (OSL 3.0) * that is available through the world-wide-web at this URL: * http://opensource.org/licenses/osl-3.0.php * * @category LiqPay * @package liqpay/liqpay * @version 3.0 * @author Liqpay * @copyright Copyright (c) 2014 Liqpay * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0) * * EXTENSION INFORMATION * * LIQPAY API https://www.liqpay.ua/documentation/en * */ /** * Payment method liqpay process * * @author Liqpay <support@liqpay.ua> */ class LiqPay { const CURRENCY_EUR = 'EUR'; const CURRENCY_USD = 'USD'; const CURRENCY_UAH = 'UAH'; const CURRENCY_RUB = 'RUB'; const CURRENCY_RUR = 'RUR'; private $_api_url = 'https://www.liqpay.ua/api/'; private $_checkout_url = 'https://www.liqpay.ua/api/3/checkout'; protected $_supportedCurrencies = array( self::CURRENCY_EUR, self::CURRENCY_USD, self::CURRENCY_UAH, self::CURRENCY_RUB, self::CURRENCY_RUR, ); private $_public_key; private $_private_key; private $_server_response_code = null; /** * Constructor. * * @param string $public_key * @param string $private_key * * @throws InvalidArgumentException */ public function __construct($public_key, $private_key) { if (empty($public_key)) { throw new InvalidArgumentException('public_key is empty'); } if (empty($private_key)) { throw new InvalidArgumentException('private_key is empty'); } $this->_public_key = $public_key; $this->_private_key = $private_key; } /** * Call API * * @param string $path * @param array $params * @param int $timeout * * @return string */ public function api($path, $params = array(), $timeout = 5) { if (!isset($params['version'])) { throw new InvalidArgumentException('version is null'); } $url = $this->_api_url . $path; $public_key = $this->_public_key; $private_key = $this->_private_key; $data = $this->encode_params(array_merge(compact('public_key'), $params)); $signature = $this->str_to_sign($private_key.$data.$private_key); $postfields = http_build_query(array( 'data' => $data, 'signature' => $signature )); $ch = curl_init(); curl_setopt($ch, CURLOPT_URL, $url); curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, true); // Avoid MITM vulnerability http://phpsecurity.readthedocs.io/en/latest/Input-Validation.html#validation-of-input-sources curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 2); // Check the existence of a common name and also verify that it matches the hostname provided curl_setopt($ch, CURLOPT_CONNECTTIMEOUT ,$timeout); // The number of seconds to wait while trying to connect curl_setopt($ch, CURLOPT_TIMEOUT, $timeout); // The maximum number of seconds to allow cURL functions to execute curl_setopt($ch, CURLOPT_POST, true); curl_setopt($ch, CURLOPT_POSTFIELDS, $postfields); curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); $server_output = curl_exec($ch); $this->_server_response_code = curl_getinfo($ch, CURLINFO_HTTP_CODE); curl_close($ch); return json_decode($server_output); } /** * Return last api response http code * * @return string|null */ public function get_response_code() { return $this->_server_response_code; } /** * cnb_form * * @param array $params * * @return string * * @throws InvalidArgumentException */ public function cnb_form($params) { $language = 'ru'; if (isset($params['language']) && $params['language'] == 'en') { $language = 'en'; } $params = $this->cnb_params($params); $data = $this->encode_params($params); $signature = $this->cnb_signature($params); return sprintf(' <form method="POST" action="%s" accept-charset="utf-8"> %s %s <input type="image" src="//static.liqpay.ua/buttons/p1%s.radius.png" name="btn_text" /> </form> ', $this->_checkout_url, sprintf('<input type="hidden" name="%s" value="%s" />', 'data', $data), sprintf('<input type="hidden" name="%s" value="%s" />', 'signature', $signature), $language ); } /** * cnb_signature * * @param array $params * * @return string */ public function cnb_signature($params) { $params = $this->cnb_params($params); $private_key = $this->_private_key; $json = $this->encode_params($params); $signature = $this->str_to_sign($private_key . $json . $private_key); return $signature; } /** * cnb_params * * @param array $params * * @return array $params */ private function cnb_params($params) { $params['public_key'] = $this->_public_key; if (!isset($params['version'])) { throw new InvalidArgumentException('version is null'); } if (!isset($params['amount'])) { throw new InvalidArgumentException('amount is null'); } if (!isset($params['currency'])) { throw new InvalidArgumentException('currency is null'); } if (!in_array($params['currency'], $this->_supportedCurrencies)) { throw new InvalidArgumentException('currency is not supported'); } if ($params['currency'] == self::CURRENCY_RUR) { $params['currency'] = self::CURRENCY_RUB; } if (!isset($params['description'])) { throw new InvalidArgumentException('description is null'); } return $params; } /** * encode_params * * @param array $params * @return string */ private function encode_params($params) { return base64_encode(json_encode($params)); } /** * decode_params * * @param string $params * @return array */ public function decode_params($params) { return json_decode(base64_decode($params), true); } /** * str_to_sign * * @param string $str * * @return string */ public function str_to_sign($str) { $signature = base64_encode(sha1($str, 1)); return $signature; } }