<? top('Пополнить номера') ?>
<div class="padding">
<form action="/form" method="post">
<select name="operator">
<option value="24899291">МТС</option>
<option value="24899391">Мегафон</option>
<option value="95877310">Теле2</option>
</select>
<p><input type="text" name="phone" placeholder="Номер телефона"></p>
<p><input type="submit" name="enter" value="Пополнить"></p>
</form>
</div>
<? bottom() ?>
<?
if ($_POST['enter'])
{
require_once ('cpayeer.php');
$accountNumber = 'P1XXXXXXX';
$apiId = '00000000';
$apiKey = 'xxxxxxxxxx';
$payeer = new CPayeer($accountNumber, $apiId, $apiKey);
if ($payeer->isAuth())
{
$initOutput = $payeer->initOutput(array(
'ps' => $_POST['operator'],
'curIn' => 'RUB',
'sumOut' => 10,
'curOut' => 'RUB',
'param_ACCOUNT_NUMBER' => $_POST['phone'],
));
if ($initOutput)
{
$historyId = $payeer->output();
if ($historyId > 0)
{
echo "Выплата успешна";
}
else
{
echo '<pre>' . print_r($payeer->getErrors() , true) . '</pre>';
}
}
else
{
echo '<pre>' . print_r($payeer->getErrors() , true) . '</pre>';
}
}
else
{
echo '<pre>' . print_r($payeer->getErrors() , true) . '</pre>';
}
}
?>
<?php
class CPayeer
{
private $url = 'https://payeer.com/ajax/api/api.php';
private $agent = 'Mozilla/5.0 (Windows NT 6.1; rv:12.0) Gecko/20100101 Firefox/12.0';
private $auth = array();
private $output;
private $errors;
private $language = 'ru';
public function __construct($account, $apiId, $apiPass)
{
$arr = array(
'account' => $account,
'apiId' => $apiId,
'apiPass' => $apiPass,
);
$response = $this->getResponse($arr);
if ($response['auth_error'] == '0')
{
$this->auth = $arr;
}
}
public function isAuth()
{
if (!empty($this->auth)) return true;
return false;
}
private function getResponse($arPost)
{
if (!function_exists('curl_init'))
{
die('curl library not installed');
return false;
}
if ($this->isAuth())
{
$arPost = array_merge($arPost, $this->auth);
}
$data = array();
foreach ($arPost as $k => $v)
{
$data[] = urlencode($k) . '=' . urlencode($v);
}
$data[] = 'language=' . $this->language;
$data = implode('&', $data);
$handler = curl_init();
curl_setopt($handler, CURLOPT_URL, $this->url);
curl_setopt($handler, CURLOPT_HEADER, 0);
curl_setopt($handler, CURLOPT_POST, true);
curl_setopt($handler, CURLOPT_POSTFIELDS, $data);
curl_setopt($handler, CURLOPT_SSL_VERIFYPEER, 0);
curl_setopt($handler, CURLOPT_SSL_VERIFYHOST, 0);
curl_setopt($handler, CURLOPT_USERAGENT, $this->agent);
curl_setopt($handler, CURLOPT_RETURNTRANSFER, 1);
$content = curl_exec($handler);
//print_r($content);
$arRequest = curl_getinfo($handler);
//print_r($arRequest);
curl_close($handler);
//print_r($content);
$content = json_decode($content, true);
if (isset($content['errors']) && !empty($content['errors']))
{
$this->errors = $content['errors'];
}
return $content;
}
public function getPaySystems()
{
$arPost = array(
'action' => 'getPaySystems',
);
$response = $this->getResponse($arPost);
return $response;
}
public function initOutput($arr)
{
$arPost = $arr;
$arPost['action'] = 'initOutput';
$response = $this->getResponse($arPost);
if (empty($response['errors']))
{
$this->output = $arr;
return true;
}
return false;
}
public function output()
{
$arPost = $this->output;
$arPost['action'] = 'output';
$response = $this->getResponse($arPost);
if (empty($response['errors']))
{
return $response['historyId'];
}
return false;
}
public function getHistoryInfo($historyId)
{
$arPost = array(
'action' => 'historyInfo',
'historyId' => $historyId
);
$response = $this->getResponse($arPost);
return $response;
}
public function getBalance()
{
$arPost = array(
'action' => 'balance',
);
$response = $this->getResponse($arPost);
return $response;
}
public function getErrors()
{
return $this->errors;
}
public function transfer($arPost)
{
$arPost['action'] = 'transfer';
$response = $this->getResponse($arPost);
return $response;
}
public function SetLang($language)
{
$this->language = $language;
return $this;
}
public function getShopOrderInfo($arPost)
{
$arPost['action'] = 'shopOrderInfo';
$response = $this->getResponse($arPost);
return $response;
}
public function checkUser($arPost)
{
$arPost['action'] = 'checkUser';
$response = $this->getResponse($arPost);
if (empty($response['errors']))
{
return true;
}
return false;
}
public function getExchangeRate($arPost)
{
$arPost['action'] = 'getExchangeRate';
$response = $this->getResponse($arPost);
return $response;
}
public function merchant($arPost)
{
$arPost['action'] = 'merchant';
$arPost['shop'] = json_encode($arPost['shop']);
$arPost['form'] = json_encode($arPost['form']);
$arPost['ps'] = json_encode($arPost['ps']);
if (empty($arPost['ip'])) $arPost['ip'] = $_SERVER['REMOTE_ADDR'];
$response = $this->getResponse($arPost);
if (empty($response['errors']))
{
return $response;
}
return false;
}
}
?>
<textarea name="phone">24899291
24899391
95877310</textarea>
$phones = array('24899291', '24899391', '95877310');
foreach($phones as $phone)
{
$initOutput = $payeer->initOutput(array(
'ps' => $_POST['operator'],
'curIn' => 'RUB',
'sumOut' => 10,
'curOut' => 'RUB',
'param_ACCOUNT_NUMBER' => $phone,
));
if ($initOutput)
{
$historyId = $payeer->output();
if ($historyId > 0)
{
echo "Выплата успешна";
}
else
{
echo '<pre>' . print_r($payeer->getErrors() , true) . '</pre>';
}
}
else
{
echo '<pre>' . print_r($payeer->getErrors() , true) . '</pre>';
}
}
<p><input type="text" name="phone[0][number]" placeholder="Номер телефона"></p>
<p><input type="text" name="phone[0][sum]" placeholder="Сумма пополнения"></p>
array(
array(
'number' => '24899291',
'sum' => '10'
),
array(
'number' => '24899391',
'sum' => '20'
),
array(
'number' => '95877310',
'sum' => '30'
)
)
foreach($_POST['phones'] as $phone)
{
$initOutput = $payeer->initOutput(array(
'ps' => $_POST['operator'],
'curIn' => 'RUB',
'sumOut' => $phone['sum'],
'curOut' => 'RUB',
'param_ACCOUNT_NUMBER' => $phone['number'],
));
if ($initOutput)
{
$historyId = $payeer->output();
if ($historyId > 0)
{
echo "Выплата успешна";
}
else
{
echo '<pre>' . print_r($payeer->getErrors() , true) . '</pre>';
}
}
else
{
echo '<pre>' . print_r($payeer->getErrors() , true) . '</pre>';
}
}