Назад

Гайд-Автоматическая оплата Webmoney (Или премиум система)

Автор: gmden: Дата: 06.15.2011

Сразу скажу не вините за мой корявый рус язык.

Для того чтобы поставить автоматическую оплату через Webmoney вам нужно:
1)Получить сертификат Продавца в системе Webmoney. Для этого нужно сначала приобрести персональный сертификат. там нужно проще сказать оттащить заявление и ксерокс паспорта в контору webmoney , тут Более подробно можно узнать у Регистратора в своем регионе.

Как получили персональный аттестат: получаете аттестат продавца, вот тут гемор честно. Вам нужно сделать сайт магазин по всем требованиям. Выслушать кучу замечаний и исправить их. (Лично я делал изначально продажа видеороликов о рыбалке). .
(Потом можно удалить всё это говно про рыбалку и поставить свой норм сайт)

Как все это сделано настраиваем кошельки на работу.
Всё делаем как на скрине иначе не будет работать.

Торговое имя: - тут пишите любое Название.
Secret Key: - это ваш пароль ставите любой.
Result URL:, Success URL:, Fail URL: - Тут указываете пути к к файлам.
Всё сделали сохраняем и осталось полько настроить PHP скрипт, и самого НПСа.

Настраиваем наш РНР.
Добовляем в ваш бд новые таблицы обязательно в ту бд в которую обращается ваша еА.



если у вас MYSQL40 то

-- MySQL dump 10.9
--
-- Host: localhost Database: merchant
-- ------------------------------------------------------
-- Server version 4.1.16-log

/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;
/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */;
/*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */;
/*!40101 SET NAMES utf8 */;
/*!40014 SET @OLD_UNIQUE_CHECKS=@@UNIQUE_CHECKS, UNIQUE_CHECKS=0 */;
/*!40014 SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0 */;
/*!40101 SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='NO_AUTO_VALUE_ON_ZERO' */;
/*!40111 SET @OLD_SQL_NOTES=@@SQL_NOTES, SQL_NOTES=0 */;

--
-- Current Database: `merchant`
--

CREATE DATABASE /*!32312 IF NOT EXISTS*/ `merchant` /*!40100 DEFAULT CHARACTER SET latin1 */;

USE `merchant`;

--
-- Table structure for table `items`
--

DROP TABLE IF EXISTS `items`;
CREATE TABLE `items` (
`id` int(11) NOT NULL auto_increment,
`description` char(255) NOT NULL default '',
`content` char(255) NOT NULL default '',
`price` float(9,2) NOT NULL default '0.00',
`unit` enum('WMZ','WMR','WME') NOT NULL default 'WMZ',
`state` enum('Y','N') NOT NULL default 'N',
`reserved` datetime default NULL,
PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1;

--
-- Dumping data for table `items`
--


/*!40000 ALTER TABLE `items` DISABLE KEYS */;
LOCK TABLES `items` WRITE;
INSERT INTO `items` VALUES (1,'Test-1','PinCode-1: 987-6543',0.01,'WMR','Y',NULL),(2,'Test-2','Serial: 123-4567',0.01,'WMR','Y',NULL),(3,'Test-3','Extra: 987-0000',0.02,'WMR','Y',NULL);
UNLOCK TABLES;
/*!40000 ALTER TABLE `items` ENABLE KEYS */;

--
-- Table structure for table `payment`
--

DROP TABLE IF EXISTS `payment`;
CREATE TABLE `payment` (
`id` int(11) NOT NULL auto_increment,
`item` int(11) NOT NULL default '0',
`state` enum('I','R','S','G','F') NOT NULL default 'I',
`timestamp` datetime NOT NULL default '0000-00-00 00:00:00',
`email` varchar(255) default NULL,
`RND` varchar(8) default NULL,
`LMI_SYS_INVS_NO` int(11) default NULL,
`LMI_SYS_TRANS_NO` int(11) default NULL,
`LMI_SYS_TRANS_DATE` varchar(17) default NULL,
`LMI_PAYER_PURSE` varchar(13) default NULL,
`LMI_PAYER_WM` varchar(12) default NULL,
PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1;

--
-- Dumping data for table `payment`
--


/*!40000 ALTER TABLE `payment` DISABLE KEYS */;
LOCK TABLES `payment` WRITE;
UNLOCK TABLES;
/*!40000 ALTER TABLE `payment` ENABLE KEYS */;

/*!40101 SET SQL_MODE=@OLD_SQL_MODE */;
/*!40014 SET FOREIGN_KEY_CHECKS=@OLD_FOREIGN_KEY_CHECKS */;
/*!40014 SET UNIQUE_CHECKS=@OLD_UNIQUE_CHECKS */;
/*!40101 SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT */;
/*!40101 SET CHARACTER_SET_RESULTS=@OLD_CHARACTER_SET_RESULTS */;
/*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */;
/*!40111 SET SQL_NOTES=@OLD_SQL_NOTES */;





Если у вас MYSQL323 то
-- $Id: DATABASE_MYSQL323.sql,v 1.1 2006/07/31 14:11:41 asor Exp $
--
-- MySQL dump 8.23
--
-- Host: localhost Database: merchant
---------------------------------------------------------
-- Server version 3.23.58-log

--
-- Current Database: merchant
--

CREATE DATABASE /*!32312 IF NOT EXIST*/ merchant;

USE merchant;

--
-- Table structure for table `items`
--

CREATE TABLE items (
id int(11) NOT NULL auto_increment,
description char(255) NOT NULL default '',
content char(255) NOT NULL default '',
price float(9,2) NOT NULL default '0.00',
unit enum('WMZ','WMR','WME') NOT NULL default 'WMZ',
state enum('Y','N') NOT NULL default 'N',
reserved datetime default NULL,
PRIMARY KEY (id)
) TYPE=MyISAM;

--
-- Dumping data for table `items`
--


INSERT INTO items VALUES (1,'Test-1','PinCode-1: 987-6543',0.01,'WMR','Y',NULL);
INSERT INTO items VALUES (2,'Test-2','Serial: 123-4567',0.01,'WMR','Y',NULL);
INSERT INTO items VALUES (3,'Test-3','Extra: 987-0000',0.02,'WMR','Y',NULL);

--
-- Table structure for table `payment`
--

CREATE TABLE payment (
id int(11) NOT NULL auto_increment,
item int(11) NOT NULL default '0',
state enum('I','R','S','G','F') NOT NULL default 'I',
timestamp datetime NOT NULL default '0000-00-00 00:00:00',
email varchar(255) default NULL,
RND char(8) default NULL,
LMI_SYS_INVS_NO int(11) default NULL,
LMI_SYS_TRANS_NO int(11) default NULL,
LMI_SYS_TRANS_DATE char(17) default NULL,
LMI_PAYER_PURSE char(13) default NULL,
LMI_PAYER_WM char(12) default NULL,
PRIMARY KEY (id)
) TYPE=MyISAM;


Настраиваем таблицы. Открываем items и редактируем строки, Изначально там их 3 строки. Можно добавить еще!
1)id тут количество Вещей(Например ТЦГ) которое даст нпс.
2)description описание что покупают.
3)content Описание за скоко покупают
4)price Цена
5)unit Валюта
6)state Если стоит Y(Продаётся) стоит N(Не продаётся)



Открываем http://вашсайт/merchant/wm_config.php
И вписываете свои данные где выделено красным.
// $Id: wm_config.php,v 1.8 2006/01/20 19:32:32 asor Exp $
//
// ****************************************************
// *** WM Shop Constant Information Section ***
// ****************************************************

//Public variables Section

$WM_SHOP_PURSE_WMR = 'R123456789123'; // [COLOR="Blue"]Тут R кошелёк (Рубли)[/COLOR]
$WM_SHOP_PURSE_WME = 'E123456789123'; // [COLOR="blue"]Тут E кошелёк (Евро)[/COLOR]
$WM_SHOP_PURSE_WMZ = 'Z123456789123'; // [COLOR="blue"]Тут Z Кошелёк (Долоры)[/COLOR]
$WM_SHOP_PURSE_WMU = 'U123456789123'; // [COLOR="blue"]Тут U Кошелёк (Хохлятская валюта)[/COLOR]
$WM_SHOP_WMID = '123456789123'; // Тут ваш WMID логин в кипере
Те что ненужны валюты можно удалить.
// Signature Section configuration

$WM_WMSIGNER_PATH = '/home/user/sign/WMSigner'; //Path to WMSigner section.
// ********* Attention!!!!!! ***********
// 1. WMSigner should be located in a folder, where users will not be able to donwload it.
// Same referrs to WMSigner.ini and key file.
// 2. WMSigner.ini conf searches for signer section at the same folder, where it is located itself.
// 3. WMSigner looks for keys file the path it is stated in WMSigner.ini, taking into account the fact that "current"
// folder is the one, where WMSigner script is located.
// For example:
// Scipts and html-documents folder: /home/my_site/html
// WMSigner folder: /home/my_site/sign
// Configuration file: /home/my_site/sign/WMSigner.ini :
// 123456789012
// pass
// /home/my_site/sign/keyfile.kwm
// (important: no spaces in the beginning of a string but obligatory LF at the end of the file!)
// For PHP+Apache for Windows (not checked!):
// $WM_WMSIGNER_PATH = 'd:\sign\WMSigner.exe';

$WM_CACERT = './WebMoneyCA.crt'; // WebMoney root certificate path, in PEM-format
//You can as well download this file at: https://www.wmcert.com/Cert/WebMoneyCA.crt

$LMI_MODE = '0'; // Payment request test mode.
$LMI_SIM_MODE = '0'; // Extra field for test mode.
$LMI_SECRET_KEY = 'x46cjg'; // [COLOR="Blue"]Тут вписываем ваш секретный пароль который вы вводиле в настройках кошелька на сайте https://merchant.webmoney.ru/conf/purses.asp[/COLOR]
// DO NOT FORGET TO CHANGE IT here and in merchant settings!
$LMI_HASH_METHOD = 'MD5'; // Method of forming control signature for MD5|SIGN

//Data needed to access database

$DB_HOST = 'HOST'; // тут хост
$DB_USER = 'USER'; // тут логин
$DB_PASS = 'PASS'; // тут пароль
$DB_DBASE = 'DBASE'; // тут Имя бд


Ну и сам НПС

//Sanasol==========
prontera,164,36,5 script Девочка72,{

set .name$,"Девочка";

mes .name$;
mes "Я выдаю ТЦГ";
switch(select("Получить:Не надо:Информация")) {

case 1:
mes "Введите свой e-mail";
next;
input @mail$;
next;
query_sql "select state,item,email from `payment` where `email`='"+@mail$+"'",@state$,@count,@mail2$;
if (@mail2$ == @mail$ && @state$ == "G") {
mes "Всё хорошо!";
next;
getitem 7227,@count;
query_sql "delete from `payment` where `email`='"+@mail2$+"' limit 1";
set @count,0;
set @mail2$,"none";
set @state$,"none";
} else {
mes "E-mail не верный или вы не оплатили";
}
close;
break;

case 2:
close;
break;

case 3:
mes .name$;
mes "Информация";
mes "Информация";
mes "Информация";
mes "Информация";
next;
mes .name$;
mes "Информация";
mes "Информация";
mes "Информация";
mes "Информация";
close;
break;

}

}




Наетом всё! Не считая настройки под себя.

[RIGHT]Ставим спасибки:rolleyes:.[/RIGHT]

Автор: gmden: Дата: 06.15.2011

Цитата Кеник;43450:
Нет.

Молодец, что оформил.


В смысли нет! Что я упустил? (Если настройка и подгонка под себя это я не считаю за пропуск.)

Автор: Fox[RM]: Дата: 06.15.2011

Цитата gmden;43451:
В смысли нет! Что я упустил? (Если настройка и подгонка под себя это я не считаю за пропуск.)


нет значит - не будет спасибки :)

Присоединюсь к ответу Кеника, молодец что оформил.

Автор: Sanasol: Дата: 06.15.2011

:)

Не жалко НПЦа отдавать?
Не сам ведь писал

Автор: gmden: Дата: 06.15.2011

Цитата Sanasol;43454:
:)

Не жалко НПЦа отдавать?
Не сам ведь писал


Так выж и писали копирайт стоит. Мне не жалко этих денек. Просто большинство здешних жлобы. Когда я писал помогите или дайте. Все начали говорить что сделают только за ВМЗ. Я потратил больше месяца на поиски информации и всё сделал. Пускай пользуются люди. А жлобы удавятся. Вам Sanasol спасибо за помощь.

Автор: Sanasol: Дата: 06.15.2011

Понятно.

Автор: Said: Дата: 06.15.2011

+1 обоим.

1-му за то что не бросил затею. и поделился
2-му что помогу, человеку реализовать его идею. (хоть не знаю платно или просто ради интереса)

Автор: Кеник: Дата: 06.15.2011

Цитата gmden;43451:
В смысли нет! Что я упустил? (Если настройка и подгонка под себя это я не считаю за пропуск.)


Ничего не упустил в принципе. Все просто замечательно, молодец что поделился, но последняя строчка меня бесит :D потому нет.

Автор: vixa2012: Дата: 06.15.2011

Парниша красавчик респект и уважуха