Payments (iOS)

Payments (iOS)

The Lucra iOS SDK supports secure, compliant user payments, including:

  • Add Funds

  • Withdraw Funds

  • Apple Pay

  • PayPal / Venmo (when enabled)

  • Convert to Credit (see separate documentation)

Lucra manages all PCI-compliant payment screens within its UI flows. Your app never handles raw payment data.


💳 Where Payments Occur

Payments occur inside Lucra full‑screen flows, triggered by:

  • LucraFlow.addFunds

  • LucraFlow.withdrawFunds

  • LucraFlow.profile

  • Automatically when a user takes an action requiring funds (e.g., accepting a matchup)

You should not build custom funding UIs unless instructed by Lucra.


🍎 Apple Pay Support

If you want Apple Pay available inside Lucra flows:

1. Enable Apple Pay in your app

  • Add Apple Pay capability in Xcode

  • Create or assign a Merchant ID

2. Provide Lucra with:

  • Merchant ID

  • Team ID

  • Apple Pay configuration metadata

Lucra uses this information to enable Apple Pay inside its funding screens.

3. No additional app-side work required

Users will see Apple Pay as an option automatically when eligible.


🟦 PayPal & Venmo Support

PayPal/Venmo integrations are coordinated by Lucra.

  • Lucra’s UI will show PayPal/Venmo in Add Funds / Withdraw flows

  • Your app may briefly open Safari or the relevant payment app

  • Users return to your app via universal link callbacks

PayPal integration is automatically enabled for all users, however, Venmo has additional requirements:

  • The Venmo App Must Be Installed

  • A custom URL Type matching your App's bundle identifier ending in .venmo 'must be implemented (e.g. com.lucrasports.mobile-sample.venmo)

  • Two custom query URL scheme (LSApplicationQueriesSchemes) must be registered in your App's Info.plist. • venmocom.venmo.touch.v2

  • The follow callback method must be implemented.


💰 Funding & Withdrawing via Lucra Flows

Trigger an add-funds flow:

Trigger withdrawal:

Lucra handles:

  • KYC (Know Your Customer)

  • Banking provider flows

  • Minimum/maximum constraints

  • Error handling

  • Success confirmation UI

NOTE

Please keep in mind that in order to withdrawal via Venmo and/or PayPal, the user must have made a deposit via Venmo/PayPal beforehand for the respective withdrawal type.


⚠️ Error Handling

Payment issues may include:

  • Payment declined

  • Insufficient balance

  • Bank account disconnected

  • Regulatory restrictions

  • Verification required

See Headless Interactionsarrow-up-right for more details on Error Handling.


🧪 Testing Payments (Sandbox)

  1. Request sandbox payment configuration from Lucra

  2. Test flows:

    • Add Funds

    • Withdraw

    • Apple Pay (sandbox card)

    • PayPal/Venmo (sandbox credentials)

  3. Validate:

    • Successful and failed transactions

    • Correct flow transitions

    • Proper return into the app for external payment flows


✔️ Integration Checklist

Your payment integration is now complete.

Last updated