Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > .NET Frameworks (точка нет фреймворки) > C# (си шарп)
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 02.05.2013, 04:20   #1
Mixim
Форумчанин
 
Регистрация: 29.10.2009
Сообщений: 259
По умолчанию Как работать с ОСМП?

Продолжаю работу над своим проектом, темы по которому поднимались, например, здесь. Со всем оборудованием разобрался, осталось только понять и освоить принципы работы ОСМП (Объединенная Система Моментальных Платежей).
Изучив протокол ОСМП, понял, что на сервер необходимо отправлять http-запрос (WebRequest) с определенным содержимым:
  1. URL;
  2. аккаунт;
  3. сумма платежа;
  4. номер платежа (txn_id);
  5. etc.
При этом номер платежа должен быть уникален во всей системе и вот этого я понять не могу. Ладно, стоит у нас всего один терминал, тогда уникальность может быть обеспечена простым кодом:
Код:
newTxn_id=oldTxn_id+1;
т.е. при каждом новом платеже делаем инкремент и все, но если терминал не один, то такая технология рушится (черт знает сколько платежей было принято другими терминалами). Подскажите, как решить эту проблему?
У самого в голове пока лишь одно решение: бить весь возможный диапазон txn_id на количество терминалов, где каждый терминал будет начинать отсчет со своего номера, например, максимальное значение txn_id равно 1000, терминалов всего 10 штук, тогда 1000/10=100 и первый терминал может создавать чеки с номерами от 0 до 99, второй - от 100 до 199 и т.д., но это глупость, т.к. кто нам сказал, что платежи будут равнораспределенными по этим терминалам.
Кто что может подсказать, как лучше решить возникшую проблему?
Всем заранее спасибо за помощь
Из всех классических книг, посвященных программированию, ненавижу всего одну - русский перевод книги Роберта Седжвика-"Фундаментальные алгоритмы C++". Предпочитаю читать её в оригинале.
Mixim вне форума Ответить с цитированием
Старый 02.05.2013, 09:20   #2
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
номер платежа должен быть уникален во всей системе и вот этого я понять не могу.
А че тут понимать? Уникален номер платежа и номер рабочего места, которое по факту предоставить может например аккаунт. Аккаунты то тоже должны быть уникальные.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 02.05.2013, 11:53   #3
Mixim
Форумчанин
 
Регистрация: 29.10.2009
Сообщений: 259
По умолчанию

Цитата:
Сообщение от Stilet Посмотреть сообщение
А че тут понимать? Уникален номер платежа и номер рабочего места, которое по факту предоставить может например аккаунт. Аккаунты то тоже должны быть уникальные.
После некоторого поиска понял, что наиболее рациональным будет использование следующего формата: <номер терминала>+<число тактов, которое представляет дату и время>. Тем самым мне удасться добиться абсолютной уникальности на всех терминалах системы, если сделать выравнивание, конечно (дополнение нулями слева).
Спасибо за ответ
Из всех классических книг, посвященных программированию, ненавижу всего одну - русский перевод книги Роберта Седжвика-"Фундаментальные алгоритмы C++". Предпочитаю читать её в оригинале.
Mixim вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как заставить ValueListEditor работать как Edit? dolphin705 Общие вопросы Delphi 8 12.12.2012 15:04
Windows-программа + web-обвязка, как связать и как заставить работать? Человек_Борща Общие вопросы по программированию, компьютерный форум 3 23.04.2011 19:07
Необходимо внедрить прием платежей с терминалов ОСМП kutt Фриланс 9 05.10.2009 22:27
С++. Что и как можно внести в DLL и как потом с этим работать? dampirik Помощь студентам 5 21.09.2009 08:19
Обьясните как работать с графикой и как решыть задачу Alex_Fort Помощь студентам 6 12.06.2009 00:05