Статьи

Полоса против Брэйнтри: полное руководство

Полоса против Брейнтри

Если вы разрабатываете приложение, которое должно принимать платежи, вы, скорее всего, будете считать Stripe и Braintree провайдерами платежей.

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

Ненаучный обзор намекает на то, что Stripe более популярен среди разработчиков: в прошлом месяце было 99 вопросов StackOverflow против 34- х Брейнтри. У более старого поставщика Authorize.net было всего 10 , что свидетельствует о переходе к новым платежным компаниям.

В этой статье подробно рассматриваются Stripe и Braintree, чтобы помочь разработчикам и компаниям принять обоснованное решение. Я использовал обоих провайдеров в производстве.

PayPal

PayPal приобрела Braintree в 2013 году. С тех пор Braintree упростила принятие PayPal в современном веб-приложении.

Если вы используете Braintree для приема кредитных карт, никаких дополнительных действий для приема PayPal не требуется. Это просто другой способ оплаты, например, Visa или MasterCard. Braintree обрабатывает все нюансы, будь то для разовых транзакций или оплаты подписки.

Принятие PayPal важно для вашего бизнеса? Если так, то у Брэйнтри есть веские основания.

Stripe в настоящее время не имеет интеграции с PayPal.

Победитель: Брейнтри. Он обеспечивает плавную интеграцию PayPal, доступную для большинства сайтов.

Braintree DropPin PayPal и форма кредитной карты Брэйнтри «PayPal» и форма кредитной карты

Формы оплаты, Front-end

Stripe и Braintree предлагают готовые формы оплаты, которые вы можете разместить на своем сайте:

  • Stripe Checkout : всплывающая форма кредитной карты

  • Braintree Drop-in UI : форма кредитной карты, встроенная в страницу

Braintree Drop-in UI — это мое личное предпочтение. Он появляется в строке, сливаясь с вашим пользовательским интерфейсом. Он также может включать кнопку PayPal, позволяющую клиенту войти в PayPal, не покидая ваш сайт.

В дополнение к готовым формам, Stripe и Braintree позволяют создавать свои собственные.

Braintree требует, чтобы ваш сервер извлек одноразовый клиентский токен из API Braintree перед отображением формы оплаты, будь то с помощью пользовательского интерфейса Drop-in или размещенных полей (его решение для настраиваемой формы). Stripe не требует от вашего сервера извлекать одноразовый токен до того, как клиент отобразит платежную форму, что экономит шаг и сокращает время загрузки на 1-2 секунды.

Победитель: Галстук. Braintree предоставляет лучший универсальный интерфейс оплаты, но требует дополнительного запроса к серверу, который может задержать загрузку на 1-2 секунды.

Брейнтри против полоса формы Брейнтри форма против формы полоса

Служба поддержки

В понедельник я отправил следующий вопрос и Стрипу, и Брейнтри:

Здравствуйте, каков наилучший способ получить понятную человеку причину отклонения кредитной карты? Могу ли я получить это при создании подписки, а также при отклонении карты во время существующей подписки?

Брейнтри ответил через 6 часов. Полоса ответила примерно через полтора дня. Оба ответа касались вопроса, но Брейнтри был намного быстрее.

Это согласуется с моим предыдущим опытом работы с обеими компаниями. Braintree ответила на мои запросы в течение 6 часов в будние дни и 24 часа в выходные.

Основная поддержка Braintree — по электронной почте ( [email protected] ) и по телефону. Stripe’s через веб-форму без поддержки по телефону.

Обе компании занимаются на GitHub. Их библиотеки с открытым исходным кодом, и они отвечают непосредственно на страницах вопроса для каждого. (Примеры: Stripe , Braintree .)

Обе компании работают в Твиттере, их каналы показывают, что они отвечают напрямую разработчикам в течение короткого периода времени. (Примеры: Stripe , Braintree .)

Braintree участвует в StackOverflow, популярном форуме разработчиков вопросов и ответов. 19 сентября на четыре вопроса Брейнтри Брейнтри ответил сразу на два. Чередующиеся вопросы о StackOverflow обычно не получают официального ответа.

Stripe имеет IRC- канал, отличный повод для повторной загрузки вашего любимого клиента. Вы можете или не можете связаться с кем-то в команде.

Победитель: Брейнтри. Оба обеспечивают хорошую поддержку, но Braintree быстрее и доступнее.

Скидки

скидки

Stripe и Braintree поддерживают скидки на подписки. Например, клиенты могут получить 5 долларов от платы за первый месяц.

Скидки работают примерно одинаково для каждого сервиса. Администратор создает скидку на панели инструментов, и вызовы API из вашего приложения могут применить эту скидку.

Однако есть различия, которые повлияют на то, как вы применяете скидки, и они показывают, что Stripe сильнее в этой области.

  • Braintree не поддерживает процентные скидки (например, скидка 25%); Полоса делает. В Braintree, если у вас есть 25% скидка, которая применяется к вашим ежемесячным, квартальным и годовым планам, вам нужно создать отдельную скидку для каждого плана, каждый на свою сумму. С Stripe вы можете создать один купон на 25%, который распространяется на все три плана.
  • Braintree не поддерживает даты истечения срока действия купонов; Полоса делает.

Таким образом, с Braintree вы будете выполнять немного больше работы, если ваши планы имеют разные циклы выставления счетов (например, ежемесячные и ежеквартальные) или ваши скидки доступны только в течение ограниченного времени.

Победитель: полоса. Его скидки предлагают больше функциональности, в том числе процентные ставки и сроки годности.

Обновления и Proration

Stripe и Braintree легко справляются с обновлениями между планами, использующими один и тот же биллинговый цикл. Например, если кому-то нужно перейти с вашего ежемесячного плана Silver на ваш ежемесячный план Gold, простой API-вызов для любой из этих услуг поможет.

Однако Braintree не может обрабатывать обновления с планов с разными циклами выставления счетов — скажем, с ежемесячного плана на квартальный. Вам нужно будет развернуть свою собственную логику обновления ( обратитесь ко мне за советами). Stripe, с другой стороны, обрабатывает эти сложные обновления и применяет пропорциональные цены.

Победитель: полоса. В отличие от Braintree, он обрабатывает пропорциональное распределение в разных биллинговых циклах.

Интеграция с сервером

Stripe и Braintree предоставляют библиотеки для различных языков программирования. Как правило, они открыты, документированы и поддерживаются.

Я интегрировал библиотеки Ruby обеих служб. Они вполне адекватны, позволяя вам создавать и обновлять подписки, выполнять разовые транзакции и получать веб-хуки.

Победитель: Галстук. Сильные библиотеки разработчиков являются основой как для Stripe, так и для Braintree.

Документация

Вам нужно будет освоить API выбранного вами сервиса, и для этого вы будете сильно полагаться на документацию.

Документация Stripe более точная, чем у Braintree. Я не видел фразы в документации Stripe, которая была бы двусмысленной или открытой для интерпретации. Брейнтри, с другой стороны, может быть немного более расплывчатым.

Например, Braintree может уведомить ваше приложение (через веб-крючок), когда оно попыталось и не смогло взять с клиента плату за подписку. Часть того, что он передает, — failure_count , который он определил как число раз, когда шлюз повторял плату за просроченную подписку.

Обратите внимание на слово повторяется. failure_count ли failure_count первый сбой или только повторные попытки после?

Я написал и написал в Твиттере Брейнтри этот вопрос и получил противоположные ответы. Ответ в Твиттере оказался верным.

Брэйнтри уже исправил свои документы , изменив попытки на попытки . Я одобряю ответ Брэйнтри и надеюсь, что они еще больше ужесточат и уточнят свою документацию.

При этом оба сервиса имеют хорошо структурированную документацию, упорядоченную по языку программирования, что позволяет разработчикам получать конкретные рекомендации для своих наборов инструментов. Однако, реализовав обе услуги с нуля, документы Stripe заставили меня немного почесать голову.

Победитель: полоса. Его документация выигрывает по глубине и ясности.

Кредитные карты с истекшим сроком действия

просроченная кредитная карта

У Stripe и Braintree есть договоренности с компаниями-эмитентами кредитных карт об автоматическом обновлении кредитных карт, срок действия которых истекает. Во многих случаях клиентам, приобретающим заменяющую карту, не нужно обновлять информацию о своей кредитной карте. Это, вероятно, уменьшает отток и помогает вашему бизнесу.

С Braintree, вы должны запросить эту функцию , быстрый и бесплатный процесс. С Stripe это происходит автоматически.

Победитель: Галстук. Оба сервиса автоматически обновляют просроченные карты. Не забудьте запросить эту функцию у Брейнтри.

Пробные периоды

Stripe и Braintree допускают пробные периоды подписки, но только Stripe позволяет клиенту пробную версию без кредитной карты.

Для ознакомительных периодов не требуется способ оплаты. Если пробный период заканчивается и клиент не предоставил информацию о платеже, Stripe регистрирует просроченный платеж. Вы можете использовать webhooks, чтобы попросить клиента ввести платежную информацию. После того, как ваш (настраиваемый) лимит повторов превышен, Stripe отменяет учетную запись клиента.

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

Победитель: полоса. Для пробных периодов не требуется способ оплаты, как это делает Braintree.

Webhooks

Ваш обработчик платежей должен уведомить ваше приложение об определенных событиях. Например, если учетная запись удалена из-за просроченных платежей, вам может потребоваться настроить доступ пользователей в вашем приложении, чтобы они больше не имели доступа к премиальным областям.

У Stripe и Braintree есть веб-хуки, которые рассказывают вашему приложению об определенных событиях. Они очень похожи в большинстве случаев.

Stripe отличается надежным статусом webhook и журналами, доступными на его панели инструментов. Например, вы можете увидеть, какие веб-хуки потерпели неудачу. Брейнтри не предлагает этого; только их вспомогательный персонал может проверить логи webhook.

Победитель: полоса. В отличие от Braintree, он показывает статус webhook и логи на своей панели.

отмена

выход

В неудачном случае клиент отменяет свою учетную запись, вы можете захотеть, чтобы он сохранил доступ на оставшуюся часть текущего расчетного периода. (Они заплатили за это, в конце концов!)

С Stripe вы можете отменить учетную запись, действующую в конце расчетного периода. В конце периода Stripe отправляет webhook subscription_deleted вашему приложению, после чего ваше приложение знает, что оно блокирует доступ пользователя.

С Braintree все отмены вступают в силу немедленно. Там нет ничего, чтобы уведомить ваше приложение об окончании текущего периода. Итак, ваше приложение должно помнить, что необходимо отключить доступ пользователя в конце периода, и до тех пор существует странное несоответствие, когда подписка пользователя Braintree отменяется, но у него все еще есть доступ.

В целом, я считаю, что логика отмены Stripe имеет больше смысла. Если вы используете Braintree и хотите, чтобы отмены вступили в силу в конце расчетного периода, вам потребуется выполнить дополнительное кодирование. Не стесняйтесь обращаться ко мне за советами.

Победитель: полоса. Его поток отмены имеет больше смысла для большинства сайтов.

тестирование

Если вы пользуетесь такими услугами, как Stripe или Braintree, коммерция, вероятно, имеет решающее значение для вашего сайта. Вы захотите протестировать каждый сервис самостоятельно, а затем внедрить автоматизированные тесты, чтобы убедиться, что они продолжают работать в будущем.

Stripe и Braintree предлагают тестовые среды со своими собственными инструментальными панелями и ключами API тестирования, которые вы можете разместить в своем приложении. Это позволяет вам переключаться между приложениями, находящимися в разработке, для создания поддельных подписок и сборов, а также просматривать их на панели инструментов.

Вы можете зарегистрироваться в тестовых средах Braintree и Stripe, не предоставляя банковскую информацию. На этом этапе вы можете использовать сервис в разработке. Прежде чем использовать сервис в производстве, вам необходимо предоставить свою личную и банковскую информацию на утверждение. Обе службы утверждают в течение нескольких дней.

Stripe и Braintree поддаются автоматическому тестированию. Braintree имеет больше функций тестирования, встроенных в свою библиотеку, чем Stripe , например, фальшивые веб-хуки и одноразовые платежи (которые могут генерировать различные ошибки при оплате). Stripe предлагает возможность отправлять поддельные веб-хуки со своей панели инструментов в ваше приложение на dev. Скорее всего, вам нужно будет дополнить библиотеку Stripe такими инструментами, как stripe-ruby-mock , где библиотека Braintree, вероятно, сама по себе может поддерживать хорошее тестирование.

Победитель: Галстук. Оба сервиса предлагают песочницы с низким барьером для входа и помощников для автоматизированных тестов.

Приборная доска

Как владелец аккаунта в Stripe или Braintree, вы будете иметь доступ к панели инструментов, где вы сможете просматривать клиентов, подписки и платежи. Обе службы предоставляют возможность управления этой информацией, возврата средств и изменения настроек учетной записи.

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

Общие впечатления

Ваше решение будет зависеть от того, насколько важна каждая функция для вас.

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

Stripe имеет превосходную документацию, пробные периоды, скидки, веб-хуки и обновления. Вам не нужно обходить Stripe, как это иногда бывает с Braintree. Если в вашем приложении нет бесплатных пробных версий или обновлений до разных циклов оплаты, вы можете выбрать Stripe, чтобы сэкономить время на разработку. Если вы опытный разработчик, а PayPal не подходит для бизнеса, вы можете склониться к Stripe.

Отсюда, ознакомьтесь с краткими руководствами для Stripe и Braintree . Зарегистрируйтесь в их песочницах, установите их библиотеки в своем приложении в dev и почувствуйте их различные подходы. Успокойтесь, что обе компании находятся на переднем крае платежей, но отметьте их различия.