mobile-checkout

Implement Dodo Payments hosted checkout in React Native, Flutter, iOS, and Android apps.

6|1|Updated Apr 21, 2026
One-click install
npx skills add https://github.com/dodopayments/dodo-agent-plugin --skill mobile-checkout-dodopayments
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: mobile-checkout
Source: https://github.com/dodopayments/dodo-agent-plugin/tree/main/plugins/dodopayments/skills/mobile-checkout
Command: npx skills add https://github.com/dodopayments/dodo-agent-plugin --skill mobile-checkout-dodopayments

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve? Integrating payments into mobile apps requires coordinating backend checkout session creation, secure browser contexts, deep-link return handling, and server-side payment verification, and mistakes in any step cause lost payments or security holes. ## Core Features & Use Cases - Cross-platform checkout integration: Covers React Native (Turbo Module), Flutter, native iOS with SFSafariViewController, and native Android with Chrome Custom Tabs. - Deep-link and session recovery: Guides custom URL scheme registration, return URL handling, and abandoned checkout session recovery after app crashes. - Server-side verification: Enforces backend checkout session creation and payment confirmation via webhooks or API before granting access. - Use Case: You are adding a Pro subscription purchase to a React Native app. Use this Skill to wire up the Expo plugin, open the checkout URL, handle all five result statuses, and verify the payment on your backend before unlocking features. ## Quick Start Use the mobile-checkout skill to add Dodo Payments checkout to my React Native app with a return URL scheme and server-side payment verification.

Frequently Asked Questions about mobile-checkout

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I add Dodo Payments checkout to a React Native app?

Install @dodopayments/react-native-checkout, register a custom URL scheme via the Expo plugin or native manifests, then call DodoCheckout.start with a checkout URL created by your backend. Handle all five result statuses and verify the payment server-side.

How do I handle checkout return URLs in Flutter?

Register your scheme in Info.plist and set dodoCallbackScheme in build.gradle.kts, then forward incoming links from app_links to DodoCheckout.instance.handleOpenURL. The native dependency supplies the Android intent filter, so do not add one manually.

Can I embed my Dodo Payments API key in the mobile app?

No, the API key must never be embedded in the app binary. Your backend creates the checkout session with client.checkoutSessions.create and returns only the checkout_url to the app.

Why does checkout appear to hang after payment on mobile?

This usually means the custom URL scheme is not registered, so the return callback never reaches the app. Register the scheme in Info.plist for iOS and via an intent filter or manifest placeholder for Android.

Can I trust the mobile SDK result to grant access?

No, the SDK result is informational only. Always confirm the payment via a payment.succeeded webhook or by retrieving the checkout session through the API before unlocking features.

What Android minSdk does React Native checkout require?

React Native checkout requires Android minSdk 24 or higher, while Flutter and general mobile integration support minSdk 23.