Skip to main content

Quick Start

モバイル決済の統合を4つの簡単なステップで開始しましょう

Platform Examples

Android、iOS、React Native、Flutter 向けの完全なコード例
Dodo Payments は、Android、iOS、React Native、 Flutter 向けの公式 checkout SDK を提供しています。それぞれ、以下で説明するパターン(checkout URL を開き、戻り値を取得し、結果を解析する処理)を、放棄されたセッションの復旧機能を組み込んだ単一の型付き start(...) 呼び出しとしてラップします。手動の WebView は、いずれもご利用の技術スタックに適合しない場合にのみ使用してください。

前提条件

Dodo Payments をモバイルアプリに統合する前に、以下を準備してください。
  • Dodo Payments アカウント: API access が有効なアクティブな merchant account
  • API Credentials: ダッシュボードから取得した API key と webhook secret key
  • Mobile App Project: Android、iOS、React Native、または Flutter application
  • Backend Server: checkout session の作成を安全に処理するためのサーバー

Integration Workflow

モバイル統合では、backend が API calls を処理し、mobile app が user experience を管理する、安全な 4 段階のプロセスに従います。
1

Backend: Create Checkout Session

Checkout Session API Docs

Node.js、Python などを使用して backend で checkout session を作成する方法を説明します。完全な例と parameter references については、専用の Checkout Sessions API documentation を参照してください。
Security: checkout sessions は必ず backend server で作成し、mobile app では作成しないでください。これにより API keys が保護され、適切な validation が確実に行われます。
2

Mobile: Get Checkout URL

mobile app は backend を呼び出して checkout URL を取得します。この request には、サインイン済みユーザー自身の session token を使用して authenticate してください。
Security: mobile apps は backend とのみ通信し、Dodo Payments API と直接通信することはありません。
3

Mobile: Open Checkout in Browser

決済処理のため、secure な in-app browser で checkout URL を開きます。 または、お使いの platform 向けの公式 checkout SDK を使って、手動設定を完全に省略できます。

Pick your mobile SDK

Android、iOS、React Native、Flutter 向けのインストール手順と設定方法。
4

Backend: Handle Payment Completion

webhooks と redirect URLs を使用して payment completion を処理し、payment status を確認します。

SDK を選択

すべての mobile SDK は同じ contract を公開します。1 回の start(...) 呼び出しで、platform の native browser surface にある Dodo の hosted checkout を開き、CheckoutResult を型付きで返します。その statussucceededfailedcancelledpending、または expired です。いずれも API key を保持したり Dodo Payments API を呼び出したりすることはなく、4 つすべてが abandoned-session recovery をサポートします。

Android

com.dodopayments.api:checkout-android は Chrome Custom Tab を開きます。minSdk 23 以降が必要です。

iOS

dodopayments-mobile-sdk-iosSFSafariViewController を開きます。iOS 16 以降が必要です。

React Native

@dodopayments/react-native-checkout は、両方の native core 上で動作する Turbo Module です。React Native 0.76 以降が必要です。

Flutter

dodopayments_checkout は、両方の native core 上で動作する Pigeon channel です。Flutter 3.44 以降が必要です。
返される status は UI hint であり、payment の証明ではありません。すべての payment は、backend から payment.succeeded / subscription.active webhook を通じて確認するか、secret key を使用して payment を取得し、確認してください。

Callback URL Scheme の登録

4 つの SDK はすべて、指定した custom URL scheme を通じて app に制御を戻します。例: myapp://checkout/return。各 platform で 1 回登録してください。
android/app/build.gradle
SDK 自体の manifest には redirect activity がすでに宣言されているため、追加する manifest XML はありません。
自分で構築したい場合は、checkout_url を WebView で開き、return_url への navigation を intercept してから、statuspayment_id query parameters を読み取ります。上記の SDK は platform の実際の browser surface でこれを処理するため、Apple Pay と Google Pay が引き続き機能します。

ベストプラクティス

  • Security: app に API key を決して含めないでください。backend で checkout sessions を作成し、結果として得られた checkout_url のみを client に渡してください。
  • Authority: CheckoutResult.status は UI hint として扱ってください。backend が payment を確認した後にのみ access を許可します。
  • User Experience: backend が session を作成している間は loading state を表示し、cancelled は error ではなく通常の結果として処理してください。
  • Testing: test mode と test cards を使用し、simulator だけでなく実際の device でも return-URL round trip を確認してください。

トラブルシューティング

よくある問題

  • Callback が届かない: returnUrl の scheme は、登録したものと一致している必要があります。Android では dodoCallbackScheme manifest placeholder、iOS と React Native では Info.plist URL type です。
  • Checkout が app ではなく browser に戻る(iOS): 受信した URL を転送していません。.onOpenURLscene(_:openURLContexts:)、または React Native の Linking listener から DodoCheckout.handleOpenURL(url) を呼び出してください。
  • Android で PLATFORM_ERROR: ほとんどの場合は scheme の不一致です。また、MainActivityandroid:taskAffinity=""(標準の flutter create default)を設定している場合にも発生することがあります。これにより、一部の OEM builds で進行中の checkout が失われる可能性があります。
  • ALREADY_IN_PROGRESS: checkout がまだ開いています。別の checkout を開始する前に、前の checkout が完了するか dismiss されるまで待ってください。
  • 未解決の placeholder により build が失敗する: Android SDK を追加したものの、manifestPlaceholders["dodoCallbackScheme"] を設定していません。
  • Payment は成功したが access が許可されない: mobile result を基準にしている場合に想定される動作です。payment.succeeded / subscription.active webhook から access を許可してください。

追加リソース

質問やサポートについては、support@dodopayments.com までお問い合わせください。
最終更新日 2026年7月31日