Stripe: сервис вашей мечты для автоматизации денежных переводов
Имевшие дело с сервисом электронных платежей Stripe знают, что он отлично заточен под разработчиков. Его документация написана людьми для людей; есть хороший тестовый режим — полная копия реального, и для перехода на live-режим нужно только заменить ключи, не трогая API и не получая никаких сюрпризов; админка тестового режима — тоже полная копия боевого. В общем, Stripe — это хорошо, и я хочу посвятить эту статью базовым вопросам интеграции сервиса в e-Commerce-проект, объяснив процессы на конкретных и абстрактных примерах. Надеюсь, что мой опыт поможет всем, кто хочет попробовать Stripe на своём проекте.
Однако перед тем, как использовать Stripe, задайте вопрос: «А где находится бизнес, который мы будем обслуживать?». Например, если бизнес российский, Stripe для нас бесполезен: принимать платежи можно из любой страны, но бизнес владельца аккаунта на Stripe должен быть юридически зарегистрирован в одной из доступных стран. Иначе создать и авторизовать аккаунт невозможно. Список стран можно посмотреть здесь. Если вы хотите выводить деньги на другие счета, например, поставщикам (как это делать, я расскажу ниже), то юридически поставщики тоже должны находиться в странах, с которыми работает Stripe. Бизнес клиента, с которым работала я, зарегистрирован в Америке, что позволяло проводить платежи через Stripe.
Также нужно быть готовым, что Stripe не поддерживает xml-протокол 3-D-secure, который требует от клиента вводить код подтверждения, полученный в SMS-сообщении. Stripe просто пытается провести платеж без этой опции, и если банк принимает платежи без 3-D Secure — хорошо, если нет — всё закончится отказом, и с этой карты платить не получится.
Проведение платежа
Чтобы перевести деньги с карточки клиента на наш Stripe-аккаунт, нам нужно сделать следующее. С помощью скрипта Stripe.js получим на фронтенде Stripe token. Дальше мы будем использовать token с серверной стороны, чтобы провести сам платёж.
Подключаем Stripe.js и указываем публичный ключ:
Делаем обычную HTML-форму, на input указываем атрибуты data-stripe для работы скрипта. Нам будет нужен номер карты клиента, год и месяц валидности карты и CVC. Имя и фамилию владельца Stripe не требует.
Теперь получим token:
На всякий случай: этот шаг описан в официальной документации.
Теперь мы можем списать деньги с клиента через сервер. Примеры кода на PHP.
Это всё, что нужно сделать, чтобы перевести деньги с карты клиента на ваш Stripe-счёт.
Автоматические переводы денег вашим поставщикам
Теперь рассмотрим перевод на рабочем примере. Представим, что вы пишете платформу, которая продаёт редкие книги из маленьких издательств по всему миру. Вам нужно переводить деньги вашим поставщикам-издательствам, чтобы они выслали книгу клиенту, и брать себе комиссию 10$ c каждой продажи. Вы не хотите париться с ежемесячными отчётами и выплатами, вы хотите просто переводить деньги каждый раз, когда платит клиент. Stripe это позволяет.
Как и прежде, обязательное условие для настройки автоматических переводов — это нахождение поставщика в одной из стран, поддерживаемых Stripe.
У Stripe есть замечательная штука Managed Acсounts. С помощью этой опции мы как бы создаем Stripe-аккаунт для нашего поставщика, но берём на себя все заботы по управлению аккаунтом, так что самому издательству не нужно будет регистрироваться в Stripe.
Сначала получим информацию о банковском счёте вашего издательства с помощью уже знакомого нам скрипта Stripe.js. Как и в случае списания денег с карты клиента, для операций над банковским счётом нам тоже нужен Stripe token.
Это тоже описано в документации.
Ремарка. Имейте в виду, что для каждой страны банковские данные (routing_number, account_number ) заполняются по-разному. Например, для европейских стран нужно получать IBAN-номер. Он кладётся в поле account_number, а routing_number не отпраляется вообще. Также для некоторых стран внутренние номера счетов склеиваются в одну строку и записываются в поля. Например, чтобы получить корректный идентификационный номер банка routing_number для Канады, надо склеить transit number и institution number (transit number + institution number). Если transit number: 02345, а institution number: 987, то routing_number будет ‘02345987’. Account number варьируется в зависимости от банка. А для Германии нужен будет только IBAN номер, он заполняется в поле routing_number. Например, IBAN: DE89370400440532013000 (22 символа). Как заполнять эти поля для остальных стран, можно посмотреть тут.
Итак, теперь у нас есть token банковского счёта, куда мы можем выводить деньги поставщикам. Давайте создадим Managed Account. Пусть наше издательство находится в Америке, является компанией, а не ИП, и мы платим ему в американских долларах.
Казалось бы, теперь у нас есть Managed Account, и можно переводить деньги, но нет: аккаунт нужно верифицировать. Для этого нужно предоставить Stripe определённую юридическую информацию о компании. Какая именно информация нужна и в каких странах, описано здесь.
Итак, для издательства в Америке нам нужно предоставить:
| Название | Описание |
|---|---|
| legal_entity.address.city | Город, в котором расположена компания |
| legal_entity.address.line1 | Адрес компании |
| legal_entity.address.postal_code | Почтовый индекс |
| legal_entity.address.state | Штат |
| legal_entity.business_name | Название компании |
| legal_entity.business_tax_id | Налоговый идентификационный номер |
| legal_entity.dob.day | День рождения владельца компании |
| legal_entity.dob.month | Месяц рождения владельца компании |
| legal_entity.dob.year | Год рождения владельца компании |
| legal_entity.first_name | Имя владельца компании |
| legal_entity.last_name | Фамилия владельца компании |
| legal_entity.ssn_last_4 | Четыре последние цифры номера социального страхования владельца компании |
| legal_entity.type | individual/company |
| tos_acceptance.date | Дата принятия условий использования Stripe |
| tos_acceptance.ip | IP-адрес, с которого происходило принятие условий использования Stripe |
Условия использования Stripe здесь. Человек, от чьего имени будет создаваться Managed Account, должен их принять.
Также Stripe может потребовать дополнительную информацию. Для Америки это:
| Название | Описание |
|---|---|
| legal_entity.personal_id_number | Личный идентификационный номер |
| legal_entity.verification.document | Скан документа, подтверждающего личность |
Собираем необходимую информацию и редактируем аккаунт.
Теперь команда Stripe всё проверит, и в админке мы увидим статус Verified.
https://dashboard.stripe.com/test/applications/users/overview
Но этого нам не будет достаточно. Также команда Stripe может указать ошибки в данных или потребовать дополнительной информации, например personal_id_number.
Когда команда проверит данные, аккаунт будет обновлён. На это событие можно настроить webhook.
Необходимые поля будут описаны в объекте аккаунта:
Для тестирования верификации Stripe предоставляет хорошую тестовую среду. С помощью переводов с определённых тестовых карт мы можем симулировать разные сценарии поведения верификации аккуантов. Примеры таких сценариев:
Как конкретно симулировать эти случаи, описано здесь.
Обработать все ситуации придётся в любом случае. И по моему опыту, лучше сразу предоставить Stripe максимум информации, чтобы избежать сюрпризов с отключением аккаунта.
Когда все окей, и Stripe верифицировал ваш Managed Account, нужно включить переводы (transfers) с помощью API или отключить автоматические — это одно и то же.
https://dashboard.stripe.com/account/transfers
Итак, у нас есть верифициронный аккаунт, переводы включены, и теперь мы можем делать переводы денег напрямую поставщику.
Предположим, у нас есть книга. Поставщик хочет за неё 50$, мы хотим 10$ долларов комиссии себе, плюс нам надо заложить в цену комиссию Stripe на перевод. Сейчас Stripe берёт за каждый перевод 2,9% + 30¢. Мы решили, что оплатим комиссию из своей части. Тогда пользователю надо заплатить за книгу 60$. Из своей части мы отдадим 2,04$ комиссии Stripe.
Получаем token с помощью Stripe.js и проводим платёж со стороны сервера.
Свойство application_fee позволяет указать, какую сумму от перевода оставить на нашем счету. Комиссия Stripe будет списываться в любом случае только с нашего счёта, даже если мы сделаем полный перевод поставщику.
На банковский счёт поставщика деньги сразу не придут, они выводятся раз в семь дней. Т.е. мы переводим деньги на Stripe-аккаунт нашего поставщика, и по истечении семи дней они переводятся аккаунту на привязанный банковский счёт.
Дополнительные фичи
Кроме того, Stripe позволяет сохранять клиентов, добавлять произвольные метаданные при создании платежа, чтобы было проще ориентироваться в проведённых платежах, задавать description при платеже для его более информативного описания, и многое другое. Обо всём этом можно посмотреть в документации к API платежей.
Желаю вам удачи в интеграции Stripe! Я буду рада вашим комментариям, вопросам и уточнениям, которые помогут дополнить статью.
5 причин, по которым Stripe стал самым дорогим стартапом США
Несомненно, платежная система сейчас находится на волне успеха (даже несмотря на ее подчеркнутое молчание о будущих планах на IPO). Если вы покупали что-то в интернете, вполне возможно, ваш платеж обрабатывал Stripe. А если пытались что-нибудь продать онлайн — эта вероятность даже выше.
Еще интереснее то, как компания, созданная 11 лет назад братьями Джоном и Патриком Коллисонами, пришла к сегодняшнему успеху. Вот пять правил, которые помогли Stripe стать самым дорогостоящим стартапом США.
До появления Stripe прием платежей с банковских карт (особенно онлайн) был еще той головной болью. Приходилось работать с уже существующими поставщиками платежных услуг, которые предлагали запутанные системы и сложные интеграции. Братья Коллисон увидели, насколько всё это трудно, и решили найти вариант попроще.
Теперь, чтобы принимать платежи онлайн, достаточно лишь добавить несколько строк кода на свой сайт. Нет, сложности с интеграциями и обработкой платежей никуда не делись, но конечному пользователю уже нет до них никакого дела. Всю работу за него делает Stripe.
2. Дружите со всеми
Stripe можно легко подключить практически к любой онлайн-платформе — и это тоже сильно упрощает жизнь пользователям. Платежный сервис предлагает встроенную интеграцию со Squarespace, Memberful, Shopify, BigCommerce и сотнями других платформ. А значит, даже если вы понятия не имеете о программировании, подключить Stripe вам не составит труда.
3. Радуйте своих клиентов
Для бизнеса жизненно необходимо ладить со своими пользователями, а Stripe как раз славится замечательной клиентской поддержкой. Это важно вдвойне, если учесть, что среди клиентов компании — много представителей малого бизнеса, которые не особо разбираются в разработке сайтов или обработке платежей.
Stripe сделал так, чтобы пользователь его даже не замечал. Другие сервисы, вроде PayPal например, являются видимой частью платежного процесса. Вы понимаете, что пользуетесь ими, когда переходите непосредственно к оплате товара. Фактически вам приходится покинуть сайт продавца и ввести свою информацию в PayPal, который впоследствии возвращает вас в магазин.
Это нравится далеко не всем. Тогда как Stripe остается «за кулисами» и обрабатывает платеж таким образом, чтобы для клиента всё было максимально прозрачно.
4. Нанимайте лучших
Каждый кандидат на вакансию в Stripe должен пройти «воскресный тест». Сотрудники компании задают самим себе вопрос: готовы ли они поработать с этим человеком в выходные? Если ответ отрицательный, стоит поискать другого кандидата.
В результате получается устойчивая саморегулирующаяся система. Нанимая только сотрудников с лучшими человеческими качествами, вы создаете атмосферу, в которой хочется работать. Это привлекает талантливых людей, которым важно самореализоваться и быть оцененными по достоинству.
5. Станьте сервисом по умолчанию
С годами Stripe стал для многих представителей малого бизнеса, желающих принимать платежи онлайн, вариантом № 1. Интернет-продажи стали особенно актуальными во время пандемии, когда миллионам людей пришлось искать дистанционные способы ведения бизнеса.
Если вы за последний год начали продажи в интернете или перевели свой офлайн-бизнес в онлайн, высока вероятность, что вы по умолчанию воспользовались Stripe по указанным выше причинам. Для бизнеса нет ничего лучше, чем стать вариантом № 1 для своих клиентов. Stripe стал таковым в сфере приема онлайн-платежей — и это трудно переоценить.
Как подключить платежную систему Stripe в СНГ?
Пожалуй, одна из основных проблем, с которыми приходится бороться тем, кто желает масштабировать свой бизнес и выходить на зарубежный рынок – процессинг международных платежей. Особенно актуальна эта проблема для стран, в которых есть ограничения работы Stripe и других платежных систем.
Из-за проблем с принятием платежей многие предприниматели вынуждены переносить бизнес в другие страны, и, как следствие, терять на этом временные и материальные ресурсы вместо инвестиций в развитие и масштабирование проекта.
В данной статье мы поделимся информацией об актуальных вариантах приема платежей через систему Stripe, если вы проживаете в странах СНГ, а также предоставим список стран, подходящих для открытия компании за рубежом, чтобы без проблем принимать платежи со всего мира без риска блокировки аккаунта.
Stripe – это сервис, позволяющий компаниям принимать онлайн-платежи в нескольких валютах. Если вы владеете сайтом или приложением и желаете принимать платежи быстро и безопасно, то Stripe – это наиболее уместное решение, несмотря на большое количество различных альтернативных платежек.
Stripe известна своими ведущими в отрасли инструментами для разработчиков, которые позволяют владельцам бизнеса интегрировать и настраивать свои решения для обработки платежей с использованием различных языков программирования. Также Stripe позволяет вашей компании принимать онлайн-платежи с банковских карт и в короткие сроки выводить денежные средства прямо на ваш банковский счет.
Вы можете использовать Stripe для приема платежей с большинства банковских карт, включая Visa, MasterCard, American Express, Discover и несколько других иностранных кредитных карт, а также мобильные кошельки, такие как Google и Apple Pay.
Платежная система поддерживается в 46 странах, за исключением России, Украины и других стран СНГ.
На протяжении последних лет самым оптимальным решением подключить Stripe была удаленная регистрация LLC в США и работа через Payoneer. К сожалению, данный способ со временем потерял свою актуальность в связи с часто возникающей проблемой блокировки денежных средств на аккаунтах. Система запрашивает подтверждающие документы, выписки с банковского счета, подтверждение наличия SSN, а также доказательства отправки товара и подтверждение статуса резидента страны.
Несомненно, и сейчас есть возможность воспользоваться данным способом, имея партнера в США, который сможет помочь с открытием банковского счета. Однако, вероятность организации стабильной работы без холдов и постоянных проверок от системы крайне низка.
Stripe Atlas – это услуга регистрации компании в США непосредственно с помощью Stripe. Несмотря на то, что данный вариант предоставляется самим сервисом, он крайне нестабилен и грозит дополнительными рисками для предпринимателей.
На сегодняшний день оптимальными вариантами для приема платежей по всему миру являются:
2. Открытие компании в Европе через представителя под ключ для компаний с высоким оборотом – это наиболее удобный и абсолютно легальный способ, позволяющий стабильно работать с приемом платежей. Ехать в Европу не обязательно – зарегистрировать юридическое лицо можно удаленно.
В какой стране зарегистрировать компанию для использования Stripe?
На сегодняшний день в список актуальных стран для регистрации юридического лица входят: Латвия, Литва, Эстония, Кипр, Германия, Нидерланды, США, Гонконг, Великобритания. Последний вариант является наиболее надежным.
Поделитесь вашим впечатлением после прочтения статьи, заинтересовала ли вас возможность платежную систему Stripe в СНГ?
Если статья была полезна, то мы будем благодарны, если вы поддержите наш канал подпиской и комментарием 🙂
Что такое Stripe и почему мы пользуемся этой платёжной системой
Что такое Stripe?
Stripe — международная система для защищённых интернет-платежей с помощью пластиковых карт. Говоря проще, Stripe выступает посредником между покупателем и продавцом, который проводит безопасный с точки зрения защиты информации платёж. Stripe решает все проблемы платежей картами, включая хранение данных карт, периодические платежи и выводы на банковский счет. Систему Stripe отличает высокая скорость обработки платежей и безопасность, а с точки зрения бизнеса — очень удобные средства интеграции с сайтами (особенно для программистов). JavaRush использует Stripe для способов оплаты: Visa и Mastercard. 
Надежен ли Stripe, безопасно ли мне вводить в систему свои данные?
Да, Stripe отвечает международным стандартам безопасности, с сертификацией PCI первого уровня. Это — высший уровень сертификации, доступный в индустрии платежей.
Почему JavaRush выбрали именно Stripe, а не другую платёжную систему?
У Stripe очень высокая репутация в мире Online-бизнеса, в первую очередь — из-за высокой надёжности и безопасности, а также благодаря хорошей документации и лёгкости интеграции с сайтами.
Если я хочу купить подписку JavaRush, я должен иметь аккаунт Stripe?
Нет, достаточно иметь действительную пластиковую карту (дебетовую или кредитную) Visa или Mastercard.
Хранит ли JavaRush платёжные данные клиентов на своем сервере?
Нет, JavaRush не хранит никаких банковских данных пользователей. Все данные вводятся в окне виджета Stripe, встроенного в наш сайт, передаются системой Stripe в зашифрованном виде (используется алгоритм блочного шифрования AES-256). После этого JavaRush получает ответ об успешной транзакции и подписка пользователя активируется.
Кто ещё пользуется Stripe?
Уверяем вас, не только JavaRush =). Согласно данным производителя системы, в настоящий момент Stripe использует более 100 000 компаний. Среди них — представители интернет-коммерции, сервисные компании, благотворительные организации, платёжные платформы сайтов. Примеры? Facebook, SAP, Kickstarter, Udacity, TED, unicef и многие другие. Вот список клиентов: https://stripe.com/us/customers
Почему при оплате включено автопродление?
Автопродление подписки — это не попытка снять больше денег. Это обычная практика для сервисных компаний, к которой у нас ещё не все привыкли. Большинство компаний, предоставляющих ограниченные по времени услуги, используют автопродление. Например, Code School или PlayStation Network. Это очень удобно: вам не нужно держать в голове, когда вам отключат доступ к игровой сети или учебной программе. В случае JavaRush автопродление включается автоматически при оплате через Stripe с помощью Visa или Mastercard. Кроме того, автопродление всегда можно отключить в настройках сайта.
stripe — оплата в интернете для программистов
Попробовал весьма интересный стартап сервис по приему платежей пластиковыми картами stripe, основанный в Сан-Франциско.
Судя по их блогу, открылись они совсем недавно, если верить информации в интернете, в декабре 2011 года. Примечательно, что среди инвесторов данного сервиса три наиболее влиятельных венчурных фонда силиконовой долины (Sequoia Capital, Y Combinator и Andreessen Horowitz), а также Peter Thiel и Elon Musk, которые являются основателями PayPal. Такая компания инвесторов сразу привлекает внимание к проекту.
Идеология
Они утверждают, что сложности платежей в интернете кроются не в финансах, а в коде, что их сервис простой и создан программистами для программистов, и что с ними не нужно будет пользоваться платежными агрегаторами. Они решают все проблемы платежей картами, включая хранение данных карт, периодические платежи и выводы на ваш банковский счет. Говорят, что сотрудничают с несколькими лучшими финансовыми институтами мира.
Я создал там эккаунт и решил попробовать прикрутить оплату через этот сервис.
Для нетерпеливых: опробовать можно здесь, исходники того, что там работает можно посмотреть тут: index.php, pay.php и php-либа stripe’а.
Впечатления
Безопасность
Заметил у них очень любопытное решение по безопасности, касается оно болезненной темы хранения и пересылки данных пластиковых карт (cvc и прочее). Они предлагают брать на страничке магазина данные карты покупателя, но магазин их никуда не пересылает, а вызывает метод создания токена на основе данных карты и открытого ключа эккаунта, который реально вызывает java-script с их сервера. Магазин в результате получает токен, который можно отправлять и сохранять, расшифровать его смогут только на серверах stripe (причем в случае утечки токена оплатить по нему можно будет только в указанный магазин). Мне кажется, это интересное и безопасное решение: пересылки открытых приватных данных не происходит, все шифрование происходит на клиенте (в браузере), причем скриптом, который лежит на серверах страйп (подробнее см. в index.php).
Пример кода
Приведу пример кода, который реализует платеж на 10 долларов в мой тестовый эккаунт:
Заключение
Если бы я был магазином и хотел подключить оплату кредитками, то я с удовольствием бы попробовал их. Но не обошлось и без ложки дегтя, а точнее ведра или бочки. На данный момент они работают только с юридическими лицами-резидентами США. Правда, они утверждают, что скоро география расширится.
Кто знает о них что-нибудь интересное или откопает у них в документации — дополняйте меня в комментариях.





