[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: PHP скрипт приема платежей
Alen94
Здравствуйте, я установил рнр скрипт приема платежей на яндекс деньги, http://sajtaprodvizhenie.ru/oplata/ydx_example.php ,в начале скрипта стоит сумма 700р, а когда я ввожу емаил и нажимаю перейти к оплате уже стоит сумма 1р почему и как это исправить?
Код скрипт
<?php
/*Лицензионное соглашение
Настоящее лицензионное соглашение (далее, Соглашение) является договором между Вами и автором “YDX-get Script” – владельцем сайта vizbe.ru (далее, Автор).
1. Программный продукт YDX-get Script (далее, Продукт) представляет собой исходный код программы позволяющей принимать оплату через систему Яндекс.Деньги в полуавтоматическом режиме, воспроизведенный в файлах или на бумаге, включая электронную или распечатанную документацию, а также текст данного Соглашения.
2. Использование Продукта свидетельствует о том, что Вы ознакомились с содержанием Соглашения, принимаете его положения, и будете использовать Продукт на условиях данного Соглашения.
3. Соглашение вступает в законную силу непосредственно в момент получения Продукта, т.е. получения Вами Продукта посредством электронных средств передачи данных либо на физических носителях.
4. Все авторские права на Продукт принадлежат Автору. Продукт в целом или по отдельности является объектом авторского права и подлежит защите согласно российскому и международному законодательству. Использование Продукта с нарушением условий данного Соглашения, является нарушением законов об авторском праве, и будет преследоваться в соответствии с действующим законодательством.
5. Продукт поставляется на условиях "КАК ЕСТЬ" ("AS IS") без предоставления гарантий производительности, покупательной способности, сохранности данных, а также иных явно выраженных или предполагаемых гарантий. Автор не несет какой-либо ответственности за причинение или возможность причинения вреда Вам, Вашей информации или Вашему бизнесу вследствие использования или невозможности использования Продукта.
6. Любое распространение Продукта без предварительного согласия Автора, включая некоммерческое, является нарушением данного Соглашения и влечет за собой ответственность согласно действующему законодательству.
7. Вы вправе вносить любые изменения в исходный код Продукта по Вашему усмотрению. При этом последующее использование Продукта должно осуществляться в соответствии с данным Соглашением и при условии сохранения всех авторских прав. Автор не несет ответственности за работоспособность Продукта в случае внесения Вами каких бы то ни было изменений.
8. Автор не несет ответственность, связанную с привлечением Вас к административной или уголовной ответственности за использование Продукта в противозаконных целях (включая, но не ограничиваясь, продажей через Интернет-магазин объектов, изъятых из оборота или добытых преступным путем, предназначенных для разжигания межрасовой или межнациональной вражды; и т.д.).
9. Прекращение действия данного Соглашения допускается в случае удаления Вами всех полученных файлов и документации, а так же их копий. Прекращение действия данного Соглашения не обязывает Автора возвратить средства, потраченные Вами на приобретение Продукта.

(с) 2012
http://webmoney-yandex.vizbe.ru
*/

//функция ShowYDX($client_id,$price) выводит кнопку оплаты для client_id (может быть емайл клиента или его код и т.п.) и с ценой price
//функция GetYDX($client_id) проверяет получение перевода и возвращает полученную сумму от client_id (тот же, что передавался в ShowYDX()).

require_once ("db_class.php"); //там же создается екземпляр класса в переменной $db

//введите сюда Ваши настройки

define ("YDX_purse", "410011464999072"); //номер Вашего кошельки, куда зачислять средства
define ("POP_SRV_YDX", "pop3.site.ru"); //адрес почтового сервера (POP3)
define ("POP_LOGIN_YDX", "ssidal-94"); //login для получения почты
define ("POP_PASSW_YDX", "*******"); //пароль
define ("NOTIFY_YDX", "1"); //отправлять ли емайл при успешной обработке платежа. (1 - отправлять, 0 - не отправлять)
define ("ADMIN_EMAIL_YDX", "sidal-94@mail.ru"); //адрес, куда отправлять сообщение об обработке платежа
define ("RETURN_EMAIL_YDX", "sidal-94@mail.ru"); //адрес, откуда отправляется сообщение (в случаи ошибки при доставке, сюда прийдет сообщение об ошибке).

function YDX_received($comment,$sum - 700)
{
//Ваш обработчик полученого платежа.
//Входные данные:
//$comment - комментарий платежа
//$sum - сумма платежа

}

function YDX_not_received($comment)
{
//Ваш обработчик, когда платеж еще не получен
//Входные данные:
//$comment - комментарий платежа
//тут можно сделать вывод сообщения: "платеж пока не получен, повторите запрос позже."

}
//конец настроек

function Create_YDX_Table() // создать таблицу в базе данных
{
global $db;
$query="
CREATE TABLE IF NOT EXISTS `ydx_note` (
`id` int(8) NOT NULL AUTO_INCREMENT,
`date` timestamp NOT NULL default CURRENT_TIMESTAMP,
`amount` decimal(9,2) NOT NULL,
`comment` varchar(60) NOT NULL,
`account` decimal(9,2) NOT NULL,
`cod` tinyint(2) NOT NULL DEFAULT '0',
PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=1 ;
"
;
return $db->db_query($query);
}

function addYDXNote($r)
{
global $db;
$sum = $db->to_float(floatval(str_replace(",",".",$r[1])));
$acc = $db->to_float(floatval(str_replace(",",".",$r[3])));
$comment = $r[2];

$query="SELECT id FROM ydx_note WHERE comment='".$comment."' AND account='".$acc."'";
$res=$db->db_query($query);
if ($row = $db->db_fetch_array($res))
{
//данные о платеже уже внесены в таблицу ( $row['id'] содержит id этой строки )
//при необходимости, можете добавить сюда реакцию на это событие

return false;
}
$query="INSERT ydx_note(amount,comment,account) VALUES ('".$sum."','".$comment."','".$acc."')";
$db->db_query($query);
$id=$db->db_insert_id();
if (NOTIFY_YDX) //отправить сообщение администратору о получении средств
{
//действие при получении платежа
$message="Вы получили ".$sum." р. Комментарий к переводу:".$comment." (сделана запись в базе - id:".$id.")";
$header='From: YDX script <'.RETURN_EMAIL_YDX.'>
Content-Type: text/plain; charset="windows-1251"'
;
mail(ADMIN_EMAIL_YDX, "YDX - notify", $message, $header);
}
return 1;
}

function check_YDX($comment)
{
global $db;
$sum=0;
$query="SELECT id, amount FROM ydx_note WHERE comment='".$comment."' AND cod='0'";
$res=$db->db_query($query);
while ($row = $db->db_fetch_array($res))
{
$sum+=$row['amount'];
//пометить платеж, как обработаный (cod = 1)
$query="UPDATE ydx_note SET cod='1' WHERE id='".$row['id']."'";
$db->db_query($query);
}
if ($sum>0) //если есть необработаные платежи по данному WMID
{
//платеж получен. перейти к его обработке
YDX_received($comment,$sum); //обработать платеж своей функцией
return $sum;
}
//платеж пока не получен
YDX_not_received($comment);
return 0;
}

function checkEmail_YDX()
{
$mbox=imap_open("{".POP_SRV_YDX.":110/pop3/notls"."}INBOX",POP_LOGIN_YDX,POP_PASSW_YDX); //novalidate-cert или notls
$r=imap_check($mbox);
$amount=iconv('windows-1251','utf-8','Сумма перевода');
$comment=iconv('windows-1251','utf-8','Комментарий отправителя');
$acc=iconv('windows-1251','utf-8','Доступно');
while($r->Nmsgs)
{
$message=base64_decode(imap_body($mbox,1));
if (preg_match('/'.$amount.':\s*(\d+,?\d*)\s*.+\n'.$comment.':\s([0-9a-zA-Z@_.-]+).*\n+'.$acc.':\s*(\d+,?\d*)\s*.+\n/',$message,$r))
addYDXNote($r);
imap_delete($mbox,1);
imap_expunge($mbox);
$r=imap_check($mbox);
}
imap_close($mbox);
}

//отобразить кнопку оплаты через яндекс с указанным комментом(имя пользователя или код заказа) и ценой
//комментарий может содержать только цифры, буквы латинского алфавита, символы: @_.-

function ShowYDX($comment,$price)
{
preg_match("/[0-9a-zA-Z@_.-]+/",$comment ,$r); //фильтр от инъекций
$comment=$r[0];
print '
<iframe allowtransparency="true" src="https://money.yandex.ru/embed/small.xml?uid='
.YDX_purse.'&button-text=01&button-size=m&button-color=orange&targets='.$comment.'&default-sum='.$price.'" frameborder="0" height="42" scrolling="no" width="auto"></iframe>
'
;
}

//возвращает значение полученной суммы для указаного заказа
function GetYDX(&$comment)
{
checkEmail_YDX();
preg_match("/[0-9a-zA-Z@_.-]+/",$comment ,$r); //фильтр от инъекций
$comment=$r[0];
return check_YDX($comment);
}

?>
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.