PayPal у мобільному додатку: інтеграція SDK та Braintree

Вибір SDK для PayPal: Checkout чи Braintree? Уявіть: ви додали платіжний SDK, протестували в sandbox, випустили реліз — а перші користувачі не можуть оплатити, тому що повернення в додаток ламається на деяких пристроях. Така ситуація — наслідок неправильного вибору SDK або налаштування returnUrl.

Розробка та підтримка будь-яких видів мобільних додатків:

Інформаційні та розважальні мобільні програми
Новинки, ігри, довідники, онлайн-каталоги, погодні, фітнес та здоров'я, туристичні, освітні, соціальні мережі та месенджери, квіз, блоги та подкасти, форуми, агрегатори
Мобільні програми електронної комерції
Інтернет-магазини, B2B-додатки, маркетплейси, онлайн-обмінники, кешбек-сервіси, біржі, дропшиппінг-платформи, програми лояльності, доставка їжі та товарів, платіжні системи
Мобільні програми для управління бізнес-процесами
CRM-системи, ERP-системи, управління проектами, інструменти для команди продажів, облік фінансів, управління виробництвом, логістика та доставка, управління персоналом, системи моніторингу даних
Мобільні програми електронних послуг
Дошки оголошень, онлайн-школи, онлайн-кінотеатри, платформи надання електронних послуг, платформи кешбеку, відеохостинги, тематичні портали, платформи онлайн-бронювання та запису, платформи онлайн-торгівлі

Це лише деякі з типів мобільних додатків, з якими ми працюємо, і кожен із них може мати свої специфічні особливості та функціональність, а також бути адаптованим під конкретні потреби та цілі клієнта.

Послуги, які ми пропонуємо
Показано 1 з 1Усі 1734 послуг
PayPal у мобільному додатку: інтеграція SDK та Braintree
Середній
~2-3 дні

Наші компетенції:

Часті запитання

Останні роботи

  • image_mobile-applications_feedme_467_0.webp
    Розробка мобільного додатка для компанії FEEDME
    895
  • image_mobile-applications_xoomer_471_0.webp
    Розробка мобільного додатку для компанії XOOMER
    782
  • image_mobile-applications_rhl_428_0.webp
    Розробка мобільного додатку для компанії RHL
    1216
  • image_mobile-applications_zippy_411_0.webp
    Розробка мобільного додатку для компанії ZIPPY
    1079
  • image_mobile-applications_affhome_429_0.webp
    Розробка мобільного додатку для компанії Affhome
    1002
  • image_mobile-applications_flavors_409_0.webp
    Розробка мобільного додатку для компанії FLAVORS
    597

Вибір SDK для PayPal: Checkout чи Braintree?

Уявіть: ви додали платіжний SDK, протестували в sandbox, випустили реліз — а перші користувачі не можуть оплатити, тому що повернення в додаток ламається на деяких пристроях. Така ситуація — наслідок неправильного вибору SDK або налаштування returnUrl. Після 15 впроваджень ми виявили схему: 60% проєктів обирають PayPal Checkout через простоту, але потім стикаються з обмеженнями, коли потрібна підтримка карток. Або навпаки, команди обирають Braintree, але витрачають на інтеграцію в 2 рази більше часу. Розберемо критерії, конфігурацію та типові пастки.

Як вибрати між PayPal Checkout SDK та Braintree?

PayPal Checkout SDK — простий спосіб додати оплату через PayPal Wallet. Користувач авторизується в WebView, і після підтвердження додаток отримує orderId. Однак якщо потрібна підтримка карток VISA/Mastercard без переходу в PayPal, знадобиться Braintree. Він надає готовий UI для введення картки та повертає nonce — одноразовий токен для списання. Вибір залежить від географії та вимог до UX.

Чому серверний capture обов'язковий?

Найчастіша помилка — вважати платіж завершеним після onApprove на клієнті. Насправді гроші списуються лише після виклику capture на сервері. Це вимога безпеки PayPal: клієнт ініціює ордер, сервер фіксує списання. Ігнорування цього кроку призводить до втрати коштів або задвоєння замовлень.

Nonce як основа безпеки Braintree

nonce — одноразовий токен, який Braintree повертає після успішного введення картки або авторизації PayPal. Його не можна використати повторно, що виключає фрод. Для отримання nonce потрібно згенерувати client_token на сервері через Braintree API. Це додатковий крок, але він підвищує безпеку.

Проблеми, які ми вирішуємо

  • Неправильний returnUrl — платіж не повертається в додаток. Перевірте схему в Info.plist (iOS) або AndroidManifest.xml. Використовуйте Universal Links / App Links для надійності.
  • Sandbox-тести з неповними акаунтами — платежі падають з помилкою. Оновіть профіль тестового акаунта в PayPal Developer Dashboard, додайте підтверджену email.
  • Пропуск webhook-сповіщень — упущені зміни статусу платежу. Налаштуйте обробку подій CHECKOUT.ORDER.APPROVED та PAYMENT.CAPTURE.COMPLETED.

Як ми це робимо: стек і конфіги

Для iOS використовуємо Swift 5.9+ з async/await, для Android — Kotlin з Coroutines. Серверна частина на Node.js або Python (Flask). Приклад створення ордера (сервер):

POST https://api-m.paypal.com/v2/checkout/orders Authorization: Bearer access_token { "intent": "CAPTURE", "purchase_units": [{ "amount": { "currency_code": "USD", "value": "15.00" }, "description": "Order #1234" }] } 

Відповідь включає id — його передаємо в мобільний SDK. Android (PayPal Checkout SDK):

// build.gradle implementation("com.paypal.checkout:android-sdk:1.x.x") // Application.onCreate() PayPalCheckout.setConfig( CheckoutConfig( application = this, clientId = "your_client_id", environment = Environment.LIVE, returnUrl = "yourapp://x-callback-url/paypal-sdk/paypal-checkout", currencyCode = CurrencyCode.USD, userAction = UserAction.PAY_NOW ) ) // Запуск оплати PayPalCheckout.start( createOrder = CreateOrder { createOrderActions -> createOrderActions.set(orderId) }, onApprove = OnApprove { approval -> capturePaymentOnServer(approval.data.orderId) }, onCancel = OnCancel { }, onError = OnError { errorInfo -> Log.e("PayPal", errorInfo.reason) } ) 

iOS (PayPalCheckout SDK):

// SPM: PayPalCheckout import PayPalCheckout PayPalCheckout.set(config: CheckoutConfig( clientID: "your_client_id", createOrder: nil, onApprove: nil, onCancel: nil, onError: nil, environment: .live )) Checkout.start( createOrder: { action in action.set(orderId: "order_id_from_server") }, onApprove: { approval in self.capturePayment(orderId: approval.data.ecToken) }, onCancel: { }, onError: { error in print("PayPal error: \(error.reason)") } ) 

Порівняння SDK: PayPal Checkout vs Braintree

Критерій PayPal Checkout SDK Braintree
Підтримка карток Тільки через PayPal Wallet Нативний card input
Редирект WebView (браузер) Немає редиректу
Повернення токена orderId nonce (одноразовий)
Підтримка Venmo Ні Так
Складність інтеграції Середня Вища (потрібен client token)

Braintree підходить для мультивалютних проєктів з картковими платежами, але його інтеграція складніша. За нашими оцінками, налаштування Braintree займає в 2 рази більше часу, ніж PayPal Checkout SDK, зате дозволяє приймати картки без редиректу, що збільшує конверсію на 10–20%.

Типові помилки та рішення

Помилка Причина Рішення
Платіж не завершено Пропущено виклик capture Додати серверний endpoint для захоплення ордера
Deeplink не працює Невірний returnUrl Перевірити схему в Info.plist / AndroidManifest
Тестові платежі падають Акаунти sandbox не оновлено Оновити профіль в Developer Dashboard

Що входить в роботу

  • Архітектурна документація з обґрунтуванням вибору SDK
  • Налаштування sandbox-середовища та серверних endpoints
  • Інтеграція SDK на iOS (Swift) та Android (Kotlin)
  • Тестування всіх сценаріїв: успіх, скасування, помилка, відновлення після збою
  • Інструкція з деплою та моніторингу платежів
  • Навчання команди (2 години онлайн)

Процес роботи

  1. Аналітика — вивчаємо вимоги до платіжного шлюзу, готуємо архітектуру.
  2. Проєктування — обираємо SDK, проєктуємо серверні endpoints.
  3. Реалізація — налаштовуємо SDK, пишемо код створення та захоплення ордера.
  4. Тестування — sandbox-тести, перевірка deeplink, обробка помилок.
  5. Деплой — публікація в App Store / Google Play, моніторинг.

Строки орієнтовно

Інтеграція базового PayPal Checkout SDK займає від 2 до 3 днів для однієї платформи (iOS або Android). Якщо потрібен Braintree з картками — до 5 днів. Вартість розраховується індивідуально залежно від складності та кількості платформ. Отримайте консультацію з інтеграції — оцінимо проєкт за 1 день. Замовте консультацію для детального обговорення.

Наші інженери мають сертифікації та багаторічний досвід у мобільній розробці, що гарантує якість. Документація: PayPal Checkout SDK.