Таким образом, этот вопрос не касается интеграции существующего платежного шлюза в мой сайт. Это больше архитектурный вопрос.
Я хочу построить систему, аналогичную Paypal. Теперь я понимаю, что Paypal предлагает множество функций под крышей, и я не могу реализовать их все сразу. Я хочу реализовать основные функциональные возможности Paypal и других подобных сервисов.
Так что мой вопрос (скорее дискуссия) о том, как можно было бы построить такую систему. Некоторые моменты для обсуждения:
- Обработка платежей через существующие банки. Я предполагаю, что мне понадобится доступ к местным банковским протоколам, чтобы получить это.
- Разрешить пользователям безопасно хранить и обрабатывать свои платежи
- Как Paypal обрабатывает транзакции?
Мысли?
Ответы:
То, о чем вы говорите, становится поставщиком платежных услуг. Я был там и сделал это. Примерно 10 лет назад это было намного проще, чем сейчас, но если у вас есть феноменальное количество времени, денег и терпения, это все еще возможно .
Вам нужно будет связаться с банком-эквайером. Вы не сказали, в каком регионе мира вы находитесь, но под этим я не подразумеваю отделение местного банка. Каждый крупный банк, как правило, будет иметь отдельную руку для получения карт. Так вот в Великобритании у нас есть (например) Natwest банк, который использует Streamline (или Worldpay) в качестве его приобретающей руки. В целом, несмотря на то, что у нас есть десятки крупных банков, все они используют одного из пяти или около того получателей карт.
К счастью, все британские владельцы карт используют стандартный протокол для передачи запросов на авторизацию и расчета в конце дня. Вы найдете незначительные причуды, когда некоторые банки-эквайеры поддерживают некоторые функции и имеют немного другой синтаксис, но различия довольно незначительны. Стандарты Великобритании публикуются Ассоциацией платежных клиринговых услуг (APACS) (которая теперь известна как UKPA). Стандарты до сих пор обычно называют APACS 30 (авторизация) и APACS 29 (расчет), но теперь формально известны как APACS 70 (книги с 1 по 7).
Несмотря на то, что стандарт APACS широко поддерживается в Великобритании (Amex и Discover также принимают сообщения в этом формате), он не используется в других странах - в каждой стране есть свои - например: Carte Bancaire во Франции, CartaSi в Италии, Sistema 4B в Испания, Данкорт в Дании и т. Д. В настоящее время предпринимаются усилия по унификации протоколов по всей Европе - см. EPAS.org
Общаться с банком-эквайером можно несколькими способами. Опять же, это будет зависеть от вашего региона. В Великобритании (и в большинстве стран Европы) у нас есть один коммуникационный шлюз, который обеспечивает связь со всеми крупными покупателями, они называются TNS, и есть десятки способов связи через них с банком-эквайером от модемов до 9600 бод, ISDN, HTTPS, VPN или выделенная линия. В конечном итоге запрос авторизации будет преобразован в протокол X25, который используется этими банками-эквайерами при общении друг с другом.
Подводя итог: все зависит от вашего региона.
После того, как вы зарегистрируетесь и получите аккредитацию, вы сможете принимать клиентов и создавать торговые счета от имени тех банков, с которыми вы аккредитованы (имея в виду, что каждый покупатель обычно поддерживает несколько банков). Промыть и повторить с другими покупателями, как вы считаете необходимым.
Помимо этого у вас есть много других проблем, в основном связанных с PCI-DSS. Это совсем другая тема, и на этом сайте уже есть несколько вопросов и ответов. Как я уже сказал, это феноменальное начинание - скорее всего, многолетний проект даже для команды разумного размера, но это, безусловно, возможно.
источник
Большая задача, скорее всего, вам не следует изобретать велосипед, а использовать существующее колесо (например, PayPal).
Однако, если вы настаиваете на продолжении. Начните с малого, вы можете использовать средства обработки кредитных карт (Moneris, Authorize.NET) для обработки кредитных карт. У большинства провайдеров есть API, который вы можете использовать. Будьте осторожны, что вам может понадобиться использовать разных провайдеров в зависимости от типа карты (Discover, Visa, Amex, Mastercard) и страны (США, Канада, Великобритания). Поэтому создайте его так, чтобы вы могли общаться с несколькими API обработки кредитных карт.
Безопасность имеет важное значение, если вы храните кредитные карты и платежные реквизиты. Убедитесь, что вы шифруете вещи правильно.
Опять же, не изобретай велосипед. Вам лучше воспользоваться существующим провайдером и сосредоточить свое внимание на разработке решения проблемы, которую нелегко приобрести.
источник