Создание полноценного шлюза онлайн-платежей, такого как Paypal
Таким образом, этот вопрос не касается интеграции существующего платежного шлюза в мой сайт. Это больше архитектурный вопрос.
Я хочу построить систему, аналогичную Paypal. Теперь я понимаю, что Paypal предлагает множество функций под крышей, и я не могу реализовать их все сразу. Я хочу реализовать основные функциональные возможности Paypal и других подобных сервисов.
Итак, мой вопрос (скорее дискуссия) о том, как можно было бы построить такую систему. Некоторые моменты для обсуждения:
- Обработка платежей через существующие банки. Я предполагаю, что мне понадобится доступ к местным банковским протоколам, чтобы получить это.
- Разрешить пользователям безопасно хранить и обрабатывать свои платежи
- Как Paypal обрабатывает транзакции?
Мысли?
2 ответа
То, о чем вы говорите, становится поставщиком платежных услуг. Я был там и сделал это. Примерно 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, который используется этими банками-эквайерами при взаимодействии друг с другом.
В итоге: все зависит от вашего региона.
- Свяжитесь с крупным банком и попытайтесь дозвониться до их руки.
- Объясните, что вы настраиваетесь в качестве поставщика платежных услуг, и запросите сведения о формате связи для запросов на авторизацию и файлов расчетов на конец дня
- Создайте тестовую учетную запись продавца, разработайте программное обеспечение для авторизации и расчетов и пройдите процедуру аккредитации. Большинство приобретателей помогают вам пройти этот процесс бесплатно, но когда вы хотите зарегистрироваться в качестве аккредитованного PSP, некоторые потребуют плату.
- вам также необходимо будет соблюдать некоторые правила, например, вам может потребоваться зарегистрироваться в качестве платежного учреждения
После того как вы зарегистрируетесь и получите аккредитацию, вы сможете принимать клиентов и создавать торговые счета от имени тех банков, против которых вы аккредитованы (имея в виду, что каждый покупатель обычно поддерживает несколько банков). Промыть и повторить с другими покупателями, как вы считаете необходимым.
Помимо этого у вас есть много других проблем, в основном связанных с PCI-DSS. Это совсем другая тема, и на этом сайте уже есть несколько вопросов и ответов. Как я уже сказал, это феноменальное начинание - скорее всего, многолетний проект даже для команды разумного размера, но, безусловно, возможно.
Большая задача, скорее всего, вам не следует изобретать велосипед, а использовать существующее колесо (например, PayPal).
Однако, если вы настаиваете на продолжении. Начните с малого, вы можете использовать средства обработки кредитных карт (Moneris, Authorize.NET) для обработки кредитных карт. У большинства провайдеров есть API, который вы можете использовать. Будьте осторожны, что вам может понадобиться использовать разных провайдеров в зависимости от типа карты (Discover, Visa, Amex, Mastercard) и страны (США, Канада, Великобритания). Поэтому создайте его так, чтобы вы могли общаться с несколькими API обработки кредитных карт.
Безопасность имеет важное значение, если вы храните кредитные карты и платежные реквизиты. Убедитесь, что вы шифруете вещи правильно.
Опять же, не изобретай велосипед. Вам лучше использовать существующего поставщика и сосредоточить свое внимание на разработке решения проблемы, которую нелегко приобрести.