Braintree
Braintree — платёжный сервис PayPal. Через него пользователь платит картой, из PayPal, через Google Pay или Apple Pay.
- Пройдено подключение Firebase.
- Проект Firebase переведён на тариф Blaze.
- Включена аутентификация Firebase.
Платёж обрабатывается облачной функцией Firebase.
Как подключить
1. Настройка интеграции
Сначала — песочница: проверять оплату всегда нужно в тестовом окружении, и только потом переключаться на боевое.
- Откройте сайт Braintree.
- Зарегистрируйтесь, чтобы получить доступ к песочнице. На почту может прийти письмо с дополнительными шагами. Если аккаунт уже есть — просто войдите.
- Во FlutterFlow откройте Settings and Integrations > In App Purchases & Subscriptions > Braintree.
- Включите Enable Braintree/PayPal.
- В секции Credentials (Sandbox) нужно заполнить Merchant ID, Tokenization Key, Public Key и Private Key.
- За ними идите на главную страницу аккаунта Braintree.
- Нажмите на шестерёнку справа сверху и выберите Business — здесь лежит Merchant ID.
- Откройте страницу API — здесь Public Key и Private Key.
- Там же нажмите Generate New Tokenization Key, скопируйте ключ и вставьте в соответствующее поле во FlutterFlow.
Нажмите Deploy — развернутся облачные функции, которые обрабатывают платежи:
2. Google Pay и Apple Pay
После шагов выше приложение уже принимает карты и оплату из PayPal. Google Pay и Apple Pay включаются отдельно: в секции Credentials (Sandbox) нужно указать соответствующий Merchant ID.
- Где взять Merchant ID для Google Pay — в справке Google.
- Как настроить Apple Pay и получить Apple Merchant ID — в документации Apple.
3. Действие оплаты
- Выберите виджет, на который вешаете действие.
- В панели свойств справа откройте Actions.
- Нажмите + Add Action.
- Выберите жест: On Tap, On Double Tap или On Long Press.
- В Action Type укажите Braintree Payment.
- Задайте Amount — конкретным значением или из переменной.
- В Payment Method выберите Credit Card, PayPal или Drop-In. Вариант Drop-In даёт пользователю выбрать способ оплаты самому. Про Credit Card — ниже.
- Для Drop-In укажите Allowed Payment Types. Google Pay и Apple Pay потребуют заранее заданных Merchant ID.
- Заполните Currency Code; по желанию — Tax Rate Percentage и Shipping Cost. Для Apple Pay обязателен Country Code.
Перед вызовом действия пользователь должен быть авторизован, иначе платёж завершится ошибкой. Как настроить вход — в разделе про аутентификацию.
Оплата картой
Если на странице оплаты нужна только карта, добавьте форму ввода:
- В Payment Method выберите Credit Card.
- Перетащите на холст виджет Credit Card Form.
- Оформите форму под дизайн приложения.
- Вернитесь к кнопке оплаты и продолжите настройку действия.
- Заполните Currency Code; по желанию — Tax Rate Percentage и Shipping Cost.
4. Проверка
Платежи Braintree работают на реальных устройствах Android и в эмуляторе; покупки в App Store — только на настоящем устройстве iOS. Как запустить приложение на устройстве — в разделе про Local Run.
В Preview Mode, Test Mode и Run Mode платежи Braintree не работают.
- Выгрузите и запустите проект через Local Run.
- Платите тестовыми картами Braintree.
5. Переход на боевой аккаунт
- Заведите боевой аккаунт Braintree — не песочницу — и получите его учётные данные.
- Заполните ими секцию Credentials (Production) на странице настроек Braintree во FlutterFlow.
- Включите тумблер Is Production.
- Нажмите Deploy, чтобы развернуть облачные функции с боевыми ключами.
После этого приложение можно собирать и публиковать.