Платежные системы / stripe — оплата в интернете для программистов

в 13:01, , рубрики: stripe, платежная система, метки: ,

Попробовал весьма интересный стартап сервис по приему платежей пластиковыми картами stripe, основанный в Сан-Франциско.

stripe blueprints

Судя по их блогу, открылись они совсем недавно, если верить информации в интернете, в декабре 2011 года. Примечательно, что среди инвесторов данного сервиса три наиболее влиятельных венчурных фонда силиконовой долины (Sequoia Capital, Y Combinator и Andreessen Horowitz), а также Peter Thiel и Elon Musk, которые являются основателями PayPal. Такая компания инвесторов сразу привлекает внимание к проекту.

Идеология

Они утверждают, что сложности платежей в интернете кроются не в финансах, а в коде, что их сервис простой и создан программистами для программистов, и что с ними не нужно будет пользоваться платежными агрегаторами. Они решают все проблемы платежей картами, включая хранение данных карт, периодические платежи и выводы на ваш банковский счет. Говорят, что сотрудничают с несколькими лучшими финансовыми институтами мира.

stripe api cloud

Я создал там эккаунт и решил попробовать прикрутить оплату через этот сервис.
Для нетерпеливых: опробовать можно здесь, исходники того, что там работает можно посмотреть тут: index.php, pay.php и php-либа stripe'а.

Впечатления

Надо признать, что, как разработчик, я очень порадовался их сервису. Попробую описать почему:

  • все достаточно просто, понятно и хорошо документировано, что в общем-то уже не мало
  • мощное api с большими возможностями
  • написаны библиотеки для многих популярных языков, что очень ускоряет разработку. Библиотеки открыты и лежат на github'е
  • удобная для разработки и тестирования фича с тумблером режимов эккаунта: test/live (скрин)
  • цена 2.9% + 0.3$ за транзакцию, дешевле многих конкурентов
  • дружелюбный интерфейс для магазина
  • легко отслеживать платежи в учетной записи и делать возварты (кнопка Refund Payment, скрин)
  • можно ничего не хранить в своих БД. Данные о картах сохраняются на серверах stripe. Также можно получить историю и другие данные с их серверов
  • действительно легко подключить. За день почти любой программист осилит прикручивание к своему сайту

Безопасность

Заметил у них очень любопытное решение по безопасности, касается оно болезненной темы хранения и пересылки данных пластиковых карт (cvc и прочее). Они предлагают брать на страничке магазина данные карты покупателя, но магазин их никуда не пересылает, а вызывает метод создания токена на основе данных карты и открытого ключа эккаунта, который реально вызывает java-script с их сервера. Магазин в результате получает токен, который можно отправлять и сохранять, расшифровать его смогут только на серверах stripe (причем в случае утечки токена оплатить по нему можно будет только в указанный магазин). Мне кажется, это интересное и безопасное решение: пересылки открытых приватных данных не происходит, все шифрование происходит на клиенте (в браузере), причем скриптом, который лежит на серверах страйп (подробнее см. в index.php).

Пример кода

Приведу пример кода, который реализует платеж на 10 долларов в мой тестовый эккаунт:

<?php   	require_once("stripe-php/lib/Stripe.php"); 	Stripe::setApiKey("YOUR_API_SECRET_KEY");  	// get the credit card details submitted by the form 	$token = $_POST['stripeToken'];  	// create the charge on Stripe's servers - this will charge the user's card 	$charge = Stripe_Charge::create(array( 	  "amount" => 1000, // amount in cents, again 	  "currency" => "usd", 	  "card" => $token, 	  "description" => "your_email@domain.com") 	);	 ?>    

Заключение

Если бы я был магазином и хотел подключить оплату кредитками, то я с удовольствием бы попробовал их. Но не обошлось и без ложки дегтя, а точнее ведра или бочки. На данный момент они работают только с юридическими лицами-резидентами США. Правда, они утверждают, что скоро геграфия расширится.

Кто знает о них что-нибудь интересное или откопает у них в документации — дополняйте меня в комментариях.

Автор: solvadore


* - обязательные к заполнению поля


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js