#php #validation #shopping-cart #payment
#php #проверка #корзина покупок #оплата
Вопрос:
Допустим, ради обсуждения, мой клиент не хочет использовать api Paypal для транзакций. Я уже создал корзину покупок. Пользователь отправляет товары в корзину и номер своей кредитной карты.
Предполагая, что я не использую какой-либо API, как мне тогда взимать плату с кредитной карты пользователя за товары в корзине? Я понимаю, что это сложно, просто интересно, каков общий процесс и с чего начать.
Ответ №1:
Вам нужно будет инициировать банковскую транзакцию, поэтому, очевидно, вам нужно будет использовать API на каком-то уровне. Я думаю, что сначала нужно было бы подробно изучить, как хотя бы один из популярных коммерческих (по определению?) сервисы обработки платежных карт работают, например:
- https://paymentvision.com/Payment-Gateway/Payment-Gateway-API.aspx
- http://aws.amazon.com/fps/
- https://www.firstdata.com/en_us/customer-center/merchants/support/first-data-global-gateway-api-software-landing.html
- http://www.authorize.net/
Следующим шагом будет разработка подсистемы «обработка платежей» вашего PHP-приложения / библиотеки вокруг «внутреннего рабочего процесса» (возможно, с использованием сторонней библиотеки PHP, если она доступна) и проведение некоторого тестирования.
Затем я бы запланировал аудит безопасности вашего кода и систем, прежде чем вы фактически будете использовать его для обработки информации о платежной карте от имени клиента / третьей стороны.
Комментарии:
1. Не могли бы вы быть немного более конкретными? Вы смотрели FAQ по Amazon FPS ?
2. Я имею в виду, что когда Amazon обрабатывает платежи по кредитным картам от своих клиентов, они также будут использовать API, согласно вашему объяснению? Значит, сама компания также использует Amazon FPS? Я прочитаю FAQ, когда у меня будет время.
3. Ну, такие крупные компании, как Amazon, могут позволить себе запускать свои собственные операции ACH и EPN , поэтому я бы не стал предполагать, что Amazon использует единый API для обработки платежей. Но у частных лиц и малых и средних предприятий действительно нет другого выбора, кроме как платить за услугу, и у каждой службы есть связанный API. Это то, что я имел в виду, говоря «вам нужно будет использовать API на каком-то уровне».
Ответ №2:
Вы также можете записывать всю информацию о карте и использовать внешний платежный процессор. Проблема в том, что вы столкнетесь с большими сборами, поскольку это будет считаться введенной, а не украденной транзакцией.
Если вы не хотите / не хотите использовать paypal, не хотите использовать платежный процессор, такой как authorize.net , вы могли бы рассмотреть другие варианты, такие как stripe.com .
Комментарии:
1. Также обратите внимание, что если вы собираетесь каким-то образом «создать свою собственную», вам нужно быть осторожным с тем, что и как вы это делаете. pcisecuritystandards.org
2. никогда не слышал о stripe. Отличное предложение!
Ответ №3:
Найдите платежный шлюз, например authorize.net . С такими платежными шлюзами, как этот, вашему клиенту нужно будет зарегистрировать торговый счет в агентстве по обработке кредитных карт. Ваш платежный шлюз может помочь вам в этом.
Затем вы обычно получаете токен или ключ api, который будете использовать для подключения к службам платежных шлюзов. Из php вы будете использовать cURL или fsockopen для подключения к ним. Безопасно отправьте свой ключ api, получите ответ, затем отправьте другое требуемое сообщение, получите другой ответ, а затем отправьте информацию о кредитной карте и информацию о владельце кредитной карты.
Существует множество библиотек PHP на выбор для разных платежных шлюзов. Я не предлагаю authorize.net , это был просто пример. Но когда вы найдете ту, которая вас устраивает, и вас устраивают сборы, связанные с обработкой кредитных карт, вы можете либо использовать предварительно написанную библиотеку, либо платежный шлюз предоставит вам API, который расскажет вам, как интегрироваться с их системой.
Ответ №4:
Эффективность Payum доказана более чем 1 тыс. звезд на GitHub, отличными комментариями и миллионом загрузок. Поддерживает более 50 различных платежных шлюзов, поэтому вы наверняка найдете то, что вам нужно.