コンテンツにスキップ
アカウントを作成またはサインイン
Stripe ドキュメントのロゴ
/
AI に質問する
アカウントを作成サインイン
導入方法
決済管理
売上管理
プラットフォームとマーケットプレイス
資金管理
開発者向けリソース
API & SDKヘルプ
概要
Stripe Payments について
構築済みのシステムをアップグレード
決済分析
オンライン決済
概要ユースケースを見つけるManaged Payments を使用する
Payment Links を使用する
事前構築済みの決済ページを使用する
Elements を使用したカスタム統合の構築
アプリ内実装を構築
    概要
    Payment Sheet
    Payment Element
    アプリ内購入のリンク
      構築済みの決済ページを使用する
      Payment Links を使用する (ローコード)
      カスタムフローを構築する
      カスタマーポータルを使用
    住所を収集
    設定で決済手段を管理する
    アメリカとカナダのカード
決済手段
決済手段を追加
決済手段を管理
Link による購入の迅速化
決済インターフェイス
Payment Links
Checkout
Web Elements
アプリ内決済
決済シナリオ
複数の通貨を扱う
カスタムの決済フロー
柔軟なアクワイアリング
オーケストレーション
対面決済
Terminal
決済以外の機能
会社を設立する
暗号資産
エージェント型コマース
Financial Connections
Climate
不正利用について
Radar の不正防止
不審請求の申請の管理
本人確認
アメリカ
日本語
ホーム決済管理Build an in-app integrationLink out for in-app purchases

Payment Links を使用して iOS でデジタル商品の支払いを受け付ける

アプリから Stripe 上のオンライン決済ページにリンクして、デジタル商品やサブスクリプションを販売します。

アメリカまたは欧州経済領域 (EEA) で販売されるデジタル製品、コンテンツ、サブスクリプションの場合、iOS アプリでは Payment Links を使用して Apple Pay を受け付けることができます。

その他の地域では、デジタル製品、コンテンツ、またはサブスクリプションに対して App で Apple Pay を使用することはできません。

このガイドでは、Payment Links を使用してアプリ内でデジタル商品やサービスを販売し、顧客を Stripe がホストする決済ページにリダイレクトする方法について説明します。

Payment Links は、商品と価格が限定されており、サーバーを実行したくない場合に使用します。Stripe Checkout または Elements を使用して、より動的なカートを作成したり、Customer を Checkout Session に関連付けたりします。

このガイドでは、アプリ内デジタル商品を販売するプロセスのみを説明します。次のいずれかを販売する場合は、代わりに ネイティブ iOS 支払いガイド を使用してください。

  • 物理的品目
  • アプリ外での使用を目的とする商品やサービス
  • リアルタイムの個人間サービス

作成する内容

このガイドでは以下の方法を説明します。

  • 商品 と 価格を使用して、デジタル商品またはサブスクリプションをモデル化します。
  • ダッシュボードから決済用リンクを作成します。
  • ユニバーサルリンクを使用して 決済用リンクからアプリへと直接リダイレクトします。
  • Webhook を監視して顧客のアプリ内サブスクリプションを更新します。

対象範囲外の内容

このガイドでは、既存のアプリ内購入システムと並行して決済用リンクを追加する方法を説明します。以下は対象範囲に含まれません。

  • ユーザー認証。既存の認証プロバイダーがない場合には、Sign in with Apple (Apple でサインイン) や Firebase Authentication などのサードパーティプロバイダーを使用できます。
  • ネイティブのアプリ内購入。StoreKit を使用してアプリ内購入を実装するには、Apple のアプリ内課金 ガイドをご覧ください。

ユニバーサルリンクを設定する
クライアント側
サーバー側

ユニバーサルリンクを使用すると、決済成功後に、決済用リンクをお使いのアプリにディープリンクできます。ユニバーサルリンクを設定するには、次の手順を行います。

  1. ドメインに apple-app-site-association ファイルを追加します。
  2. アプリに Associated Domains エンタイトルメントを追加します。
  3. Checkout リダイレクト URL のフォールバックページを追加します。

関連ドメインを定義する

.well-known/apple-app-site-association でドメインにファイルを追加し、アプリで処理する URL を定義します。アプリ ID の前にチーム ID を付加します。チーム IDは、Apple Developer Portal のメンバーシップページにあります。

.well-known/apple-app-site-association
{ "applinks": { "apps": [], "details": [ { "appIDs": [ "A28BC3DEF9.com.example.MyApp1", "A28BC3DEF9.com.example.MyApp1-Debug" ], "components": [ { "/": "/checkout_redirect*", "comment": "Matches any URL whose path starts with /checkout_redirect" } ] } ] } }

警告

このファイルは、MIME タイプ application/json で提供する必要があります。curl -I を使用してコンテンツタイプを確認します。

Command Line
curl -I https://example.com/.well-known/apple-app-site-association

詳細については、関連ドメインのサポートに関する Apple のページを参照してください。

アプリに Associated Domains エンタイトルメントを追加する

  1. アプリのターゲットの、Signing & Capabilities (署名とケイパビリティ) ウィンドウを開きます。
  2. + ケイパビリティ をクリックし、関連ドメイン を選択します。
  3. applinks:example.com のエントリーを Associated Domains リストに追加します。

ユニバーサルリンクの詳細については、Apple のユニバーサルリンクのドキュメントを参照してください。

iOS は、apple-app-site-association ファイルで定義された URL へのリンクをインターセプトしますが、リダイレクトでアプリを開くことができないケースが発生することがあります。

商品またはサブスクリプションの決済用リンクを作成する

  1. ダッシュボードで Payment Links ページを開き、 +新規 をクリックします (またはプラス記号 (+) をクリックして 決済用リンク を選択します)。
  2. (オプション) 顧客が支払う金額を選択する を選択して、顧客が希望する金額を支払うようにします (例えば、購入するクレジットの数を決定するため)。
  3. 既存の商品を選択するか、+新しい商品を追加 をクリックします。
  4. 新しく商品を追加する場合は、商品詳細を入力して 商品を追加 をクリックします。
  5. 支払い後 に移動し、確認ページを表示しない を選択します。
  6. 成功 URL としてユニバーサルリンクを設定し、支払い完了後に顧客をあなたのアプリに誘導します。
  7. リンクを作成 をクリックします

Payment Links は、カード支払いと Apple Pay にデフォルトで対応しています。ダッシュボードから追加の支払い方法を有効にできます。

URL パラメーターを使用して関連情報を添付する

URL パラメーターを使用すると、決済ページにその他の詳細情報を追加して、決済を効率化できます。URL パラメーターを使用して、決済ページの言語を変えたり、メールアドレスやプロモーションコードを事前入力したり、関連付けられたメタデータを添付して照合しやすくしたりできます。

決済を効率化し、消し込みに役立てるために、prefilled_email(または locked_prefilled_email) と client_reference_id を使用することをお勧めします。

パラメータ説明構文

prefilled_email

prefilled_email を使用して、決済ページにメールアドレスを自動的に入力します。顧客は引き続きこのフィールドを編集できるため、決済フローに渡すメールアドレスが、支払いを完了するために使用されるメールアドレスとは異なる場合があります。

prefilled_email は有効なメールアドレスである必要があります。無効な値は無視され、決済ページは引き続き正常に機能します。

URL パラメーターとして付与するメールアドレスは、決済ページに渡されないリスクを下げるために、エンコーディングすることをお勧めします。

locked_prefilled_email

locked_prefilled_emailを使用して、決済ページに編集不可能なメールアドレスを自動的に入力します。

locked_prefilled_emailは有効なメールアドレスである必要があります。無効な値は無視され、決済ページは引き続き正常に機能します。prefilled_email と locked_prefilled_email の両方が渡された場合は、locked_prefilled_email が優先されます。

URL パラメーターとして付与するメールアドレスは、決済ページに渡されないリスクを下げるために、エンコーディングすることをお勧めします。

client_reference_idclient_reference_id を使用して、Checkout セッションに選択した一意の文字列を関連付けます。アプリ ID やカート ID (または同様のもの) を指定でき、内部システムでセッションを照合するために使用できます。この値は決済時に顧客には表示されませんが、支払いの完了後に checkout.session.completed Webhook で送信されます。client_reference_id は英数字、ダッシュ、アンダースコアで構成され、最大 200 文字までの任意の値を指定できます。無効な値は無視され、決済ページは引き続き正常に機能します。

以下は、prefilled_email と client_reference_id が指定されたリンクの例です。

https://buy.stripe.com/test_eVa3do41l4Ye6KkcMN?prefilled_email=jenny%40example.com&client_reference_id=id_123

アプリにリンクを追加する

アプリに決済ボタンを追加します。このボタンは以下を行います。

  • 決済用リンクに prefilled_email と client_reference_id が事前入力されます。
  • Stripe 上のオンライン決済ページを Safari で開きます。

注文のフルフィルメントを処理する
サーバー側

購入が成功すると、Stripe は checkout.session.completed Webhook を送信します。Webhook イベントのペイロードでは、checkout.session object に client_reference_id があり、これをビジネスロジックに使用できます。たとえば、支払いをシステム内の特定の注文や顧客に関連付けるなどのビジネスロジックが記述可能です。

実装内容をテストするには、ダッシュボードまたは Stripe CLI を使用してイベントをモニタリングします。本番環境では、Webhook エンドポイントを設定して適切なイベントタイプに登録します。STRIPE_WEBHOOK_SECRET キーが不明な場合は、ダッシュボードで Webhook をクリックして表示します。

テスト

決済ボタンが機能することをテストするには、次の手順を実行します。

  1. 決済ボタンをクリックすると、Stripe Checkout 支払いフォームにリダイレクトされます。
  2. のテストカード番号、3 桁のセキュリティコード、将来の有効期限日、および任意の有効な郵便番号を入力します。
  3. 支払う をタップします。
  4. checkout.session.completed Webhook が起動し、Stripe が取引についてサーバーに通知します。リダイレクトによってアプリへと戻されます。

オプションLemon Squeezy を使用したアプリ内購入

Lemon Squeezy で支払いを受け付けます。Lemon Squeezy は、お客様に代わって多くの業務タスク (税金計算や不審請求の申し立てなど) を処理するプラットフォームです。アプリ内購入のマーチャントオブレコードに Lemon Squeezy を使用する方法については、こちらの記事をご覧ください。

参照情報

  • 割引を追加する
  • 税金を徴収する
このページはお役に立ちましたか。
はいいいえ
  • お困りのことがございましたら 、サポートにお問い合わせください。
  • 変更ログをご覧ください。
  • ご不明な点がございましたら、お問い合わせください。
  • LLM ですか?llms.txt を読んでください。
  • Powered by Markdoc