Модераторы: skyboy, MoLeX, Aliance, ksnk
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Скачивание после оплаты 
:(
    Опции темы
Areostar
Дата 19.10.2011, 13:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1191
Регистрация: 5.4.2008

Репутация: нет
Всего: -2



Заранее извените если тему не туда поместил!

Вопрос: Как замутить на сайте такую фишку - довать скачивать фаил только после оплаты(по веб мани на пример)?

Если это не дело PHP, то хоть направте куда следует!
PM MAIL   Вверх
CruorVult
Дата 19.10.2011, 13:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 868
Регистрация: 24.9.2008
Где: г.Киев, Украина

Репутация: 9
Всего: 28



Сделать скачивание файла с помощью скрипта
http://shaman.asiadata.ru/node/217

Делать проверку. Если пользователь заплатил - то выдать ему файл.

Добавлено через 1 минуту и 8 секунд
ну и запретить любое прямое скачивание

Добавлено через 3 минуты и 53 секунды
Код

if(/*Юзер заплатил*/)
{
    
    $filename = $_REQUEST['filename'];    
    
    $dir="upload/";            
    $type = mime_content_type($filename);

    if (!$type ) header("Content-Type: application/octet-stream");
        else header("Content-Type: ".$type); 
    header("content-disposition: attachment; filename=\"".$filename."\""); 
    header("Content-Transfer-Encoding: binary");
    header('Pragma: no-cache');
    header('Expires: 0');
    readfile($dir.$filename);
}

PM MAIL Skype   Вверх
Areostar
Дата 19.10.2011, 19:51 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1191
Регистрация: 5.4.2008

Репутация: нет
Всего: -2



Как я вижу это фаилик от дурпала! а если у меня сайт самописный!?

Скажите просто как мне(автоматом) проверять отслюнявил ли мне человек денежку на Вебмани скажим!??
PM MAIL   Вверх
Absinthe
Дата 19.10.2011, 20:27 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 526
Регистрация: 4.5.2011

Репутация: 5
Всего: 11



Areostar, а что тебе мешает прочитать на сайте платежной системы, как это делать? Все равно никто понятнее не опишет это.
PM MAIL   Вверх
Sanchezzz
Дата 20.10.2011, 00:24 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1670
Регистрация: 19.11.2006
Где: Voronezh

Репутация: 41
Всего: 60



1 у каждой оплаты своя схема работы но принцеп действия один и тотже вернуть скрипту резалт ОК или 1 

Расмотрим вебмани!
у вас должен быть файл для обработки ответа от сервера....

например webmoney_web_result.php это резалт путь скрипта нужно прописывать в  merchant.webmoney.ru кабинете
Код


include_once $_SERVER['DOCUMENT_ROOT'] . "/config.php"; // конфиг 

$WM_PAYEE_PURSE = "R28438*******"; // НОМЕР КАШЕЛЬКА куда принемать деньги используется чтобы не подменили в форме.
$order_id = (!empty($_POST['order_id'])) ? intval($_POST['order_id']) : 0;
$CNST_SECRET_KEY ="1221"; // секретный код должен настраиваться в платежном кабинете...





if($_POST['LMI_PREREQUEST']==1 ) {
 
 $sql="SELECT * FROM `server_order` WHERE `id`={$order_id} LIMIT 1;"; // таблица заказов
 $res =  $db->query($sql);
  if($res->num_rows == 0) {
    echo "ERR: НЕТ ТАКОГО ТОВАРА";
    exit;
  }
  
  $row = $res->fetch_assoc();
  if(trim($row['price'])!=trim($_POST['LMI_PAYMENT_AMOUNT'])) {
    echo "ERR: НЕВЕРНАЯ СУММА ".$_POST['LMI_PAYMENT_AMOUNT'];
    exit;
  }

  if(trim($_POST['LMI_PAYEE_PURSE'])!=$WM_PAYEE_PURSE) {
    echo "ERR: НЕВЕРНЫЙ КОШЕЛЕК ПОЛУЧАТЕЛЯ ".$_POST['LMI_PAYEE_PURSE'];
    exit;
  }
 
  echo "YES";
}// Если нет LMI_PREREQUEST, следовательно это форма оповещения о платеже...
else{
    $msg = "Пусто";

// проверка кода.
    $strCheck = md5($_POST["LMI_PAYEE_PURSE"].$_POST["LMI_PAYMENT_AMOUNT"].$_POST["LMI_PAYMENT_NO"].$_POST["LMI_MODE"].$_POST["LMI_SYS_INVS_NO"].$_POST["LMI_SYS_TRANS_NO"].$_POST["LMI_SYS_TRANS_DATE"].$CNST_SECRET_KEY.$_POST["LMI_PAYER_PURSE"].$_POST["LMI_PAYER_WM"]);
        if ($bCorrectPayment && strtoupper($_POST["LMI_HASH"]) != strtoupper($strCheck))
            $bCorrectPayment = False;
// если код верный и оплата есть то дальше.
        if ($bCorrectPayment){
            $strPS_STATUS_DESCRIPTION = "";
            if ($_POST["LMI_MODE"] != 0)
                $strPS_STATUS_DESCRIPTION .= "тестовый режим, реально деньги не переводились; ";
            $strPS_STATUS_DESCRIPTION .= "кошелек продавца - ".$_POST["LMI_PAYEE_PURSE"]."; ";
            $strPS_STATUS_DESCRIPTION .= "номер счета - ".$_POST["LMI_SYS_INVS_NO"]."; ";
            $strPS_STATUS_DESCRIPTION .= "номер платежа - ".$_POST["LMI_SYS_TRANS_NO"]."; ";
            $strPS_STATUS_DESCRIPTION .= "дата платежа - ".$_POST["LMI_SYS_TRANS_DATE"]."";

            $strPS_STATUS_MESSAGE = "";
            $strPS_STATUS_MESSAGE .= "кошелек покупателя - ".$_POST["LMI_PAYER_PURSE"]."; ";
            $strPS_STATUS_MESSAGE .= "WMId покупателя - ".$_POST["LMI_PAYER_WM"]."; ";
            if (isset($_POST["LMI_PAYMER_NUMBER"]) && strlen($_POST["LMI_PAYMER_NUMBER"])>0)
                $strPS_STATUS_MESSAGE .= "номер ВМ-карты - ".$_POST["LMI_PAYMER_NUMBER"]."; ";
            if (isset($_POST["LMI_PAYMER_EMAIL"]) && strlen($_POST["LMI_PAYMER_EMAIL"])>0)
                $strPS_STATUS_MESSAGE .= "paymer.com e-mail покупателя - ".$_POST["LMI_PAYMER_EMAIL"]."; ";
            if (isset($_POST["LMI_TELEPAT_PHONENUMBER"]) && strlen($_POST["LMI_TELEPAT_PHONENUMBER"])>0)
                $strPS_STATUS_MESSAGE .= "телефон покупателя - ".$_POST["LMI_TELEPAT_PHONENUMBER"]."; ";
            if (isset($_POST["LMI_TELEPAT_ORDERID"]) && strlen($_POST["LMI_TELEPAT_ORDERID"])>0)
                $strPS_STATUS_MESSAGE .= "платеж в Телепате - ".$_POST["LMI_TELEPAT_ORDERID"]."";

                
            $msg =$strPS_STATUS_DESCRIPTION . " " . $strPS_STATUS_MESSAGE;    
// делаем  чтото с оплатой открываем доступ узеру например...
// у меня это выдача лицензионного ключа.

        }
        
        $to      = '[email protected]'; // себе отчет на мыло...
        $subject = 'WM PAY';
        $message = $msg;
        $headers = 'From: [email protected]' . "\r\n" .
            'Reply-To: [email protected]' . "\r\n" .
            'X-Mailer: PHP/' . phpversion();

        mail($to, $subject, $message, $headers);
            
}


Форма оплаты 
Код

<?
$price= 2000; //цена
$order_id = 1; // ID заказа можно передовать от болды клиенту...
 ?>
<form action="https://merchant.webmoney.ru/lmi/payment.asp"  method="POST">
            <input type="hidden" name="LMI_PAYMENT_AMOUNT" value="<?=$price?>">
            <input type="hidden" name="LMI_PAYMENT_DESC" value="Лицензионный ключ к продукту **** CMS standart">
            <input type="hidden" name="LMI_PAYMENT_DESC_BASE64" value="<?=base64_encode('Лицензионный ключ к продукту **** CMS standart')?>">

            <input type="hidden" name="LMI_PAYMENT_NO" value="<?=$order_id?>">
            <input type="hidden" name="LMI_PAYEE_PURSE" value="НОМЕР КОШЕЛЬКА КУДА ОТПРАВИТЬ ДЕНЬГИ">
            <input type="hidden" name="LMI_SIM_MODE" value="0">
            <input type="hidden" name="order_id" value="<?=$order_id?>">
            <input type="submit" name="submit" value="Оплатить">
        </form>


Для полноценной работы увас должен быть атестат продавца иначе нечего не получется это стоит всего 20-40$ долоров WMZ

Вся нужная дока есть https://merchant.webmoney.ru/conf/guide_simple.asp








--------------------
Понравился ответ "+" по репе, не забываем закрывать тему, заказы в LS.
PM MAIL Skype GTalk   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "PHP"
Aliance
IZ@TOP
skyboy
SamDark
MoLeX

Новичкам:

  • PHP редакторы собираются и обсуждаются здесь
  • Электронные книги по PHP, документацию можно найти здесь
  • Интерпретатор PHP, полную документацию можно скачать на PHP.NET

Важно:

  • Не брезгуйте пользоваться тегами [code=php]КОД[/code] для повышения читабельности текста/кода.
  • Перед созданием новой темы воспользуйтесь поиском и загляните в FAQ
  • Действия модераторов можно обсудить здесь

Внимание:

  • Темы "ищу скрипт", "подскажите скрипт" и т.п. будут переноситься в форум "Web-технологии"
  • Темы с именами: "Срочно", "помогите", "не знаю как делать" будут УДАЛЯТЬСЯ

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, IZ@TOP, skyboy, SamDark, MoLeX, awers.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | PHP: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0771 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.