Skip to content

開発者API

連携して カスタマイズ

URLスキームで自社アプリやウェブサイトからPayment for Stripeを起動し、アプリに表示する商品をStripeダッシュボードから直接コントロールできます。

URLスキームで連携

仕組み

1

自社アプリが payment:// で始まるパラメータ付きURLを開く

2

Payment for Stripeが起動し、取引を処理

3

完了すると、アプリが結果を付けてコールバックURLにリダイレクト

エンドポイント

決済を作成する

payment://new?

金額、通貨、説明を入力して1回限りの支払いを処理します。

パラメータ

名前タイプ必須説明
amountintegerはいセント単位の金額(例:1000 = 10.00ドル)
currencystringいいえ3文字のISO通貨コード(デフォルト:USD)
descriptionstringいいえURLエンコードされた決済の説明
customerstringいいえ既存のStripe顧客ID
emailstringいいえ領収書用の顧客メールアドレス
namestringいいえURLエンコードされた顧客名
metadatastringいいえカスタムキーと値のペア(URLエンコードされたJSON)
callbackstringいいえ完了後に戻るURL
autoprocessbooleanいいえホーム画面をスキップしてすぐに決済を開始
auto_returnbooleanいいえ販売者が結果ダイアログを閉じるのを待つのではなく、結果が読み込まれた時点でコールバックを実行します。デフォルトはfalseです。

請求書を作成する

payment://cart?

商品カタログの明細項目を含むStripe請求書を作成します。

パラメータ

名前タイプ必須説明
pricesstringはいカンマで区切られた価格IDと数量(例:price_abc:2,price_xyz:1)
customerstringいいえ既存のStripe顧客ID
emailstringいいえ領収書用の顧客メールアドレス
namestringいいえURLエンコードされた顧客名
callbackstringいいえ完了後に戻るURL
auto_returnbooleanいいえ販売者が結果ダイアログを閉じるのを待つのではなく、結果が読み込まれた時点でコールバックを実行します。デフォルトはfalseです。

既存の請求書を支払う(iOSのみ)

payment://invoice?

既存のStripe請求書に対して、対面で支払いを受け付けます。金額、通貨、顧客、税金は請求書から取得され、いずれかを上書きしようとすると拒否されます。加盟店はカードリーダー、タッチ決済、または手動入力でカードを読み取ります。成功すると、請求書はアプリ外での支払い(paid out of band)として支払い済みになり、charge_idとpayment_intent_idのメタデータで紐付けられます。サブスクリプション付き、default_payment_methodあり、またはステータスがopen以外の請求書は、対処方法を示すエラーで拒否されます。

パラメータ

名前タイプ必須説明
idstringはいStripe請求書ID(in_で始まる必要があります)
callbackstringいいえ完了後に戻るURL。成功時にはinvoice_idとpayment_intent_idを受け取ります。
metadatastringいいえカスタムキーと値のペア(URLエンコードされたJSON)がPaymentIntentメタデータにマージされます
autoprocessbooleanいいえホーム画面をスキップしてすぐに決済を開始します
auto_returnbooleanいいえ販売者が結果ダイアログを閉じるのを待つのではなく、結果が読み込まれた時点でコールバックを実行します。デフォルトはfalseです。

コールバックの処理

取引が完了すると、Payment for Stripeは結果を示すクエリパラメータを付けてコールバックURLにリダイレクトします。デフォルトでは、加盟店が結果ダイアログを閉じた後にリダイレクトされるため、加盟店は決済後の操作(領収書のメール送信、返金など)を行えます。結果が判明した時点ですぐにリダイレクトするには、auto_return=trueを指定してください。iOSとAndroidに対応しています。

コールバックパラメータ

パラメータ値説明
statussuccess | error | cancelled取引の結果
charge_idstringStripe決済ID(成功時)
invoice_idstringStripe請求書ID(支払い成功時、payment://invoiceフローのみ)
payment_intent_idstringStripe PaymentIntent ID(成功時、payment://invoiceフローのみ)
errorstringエラーメッセージ(エラー時)

例

シンプルな決済

金額を入力するだけで10ドルを請求

payment://new?amount=1000

説明付きの決済

説明付きで25.00ユーロを請求

payment://new?amount=2500&currency=eur&description=Coffee%20and%20pastry

新規顧客への請求

50ドルを請求し、顧客レコードを作成します

payment://new?amount=5000&name=John%20Smith&[email protected]

既存顧客に請求

既存のStripe顧客に75.00ドルを請求する

payment://new?amount=7500&customer=cus_ABC123xyz

メタデータ付きの決済

記録用のカスタムメタデータを付けて100ドルを請求

payment://new?amount=10000&description=Invoice%20%231234&metadata=%7B%22order_id%22%3A%221234%22%2C%22location%22%3A%22Store%20A%22%7D

コールバックによる自動処理

ホーム画面をスキップして、完了したらアプリに戻ります

payment://new?amount=3500&autoprocess=true&callback=myapp://payment-complete

結果表示時に自動で戻る

販売者が結果ダイアログを閉じるのを待つのではなく、結果が判明したらすぐにコールバックを実行します。

payment://new?amount=3500&autoprocess=true&auto_return=true&callback=myapp://payment-complete

明細項目付き請求書

Stripeカタログの商品を使って請求書を作成する

payment://cart?prices=price_coffee:2,price_muffin:1&[email protected]

既存の請求書を支払う(iOS)

既存のStripe請求書に対する対面での支払いを受け付けます。成功した場合は、invoice_idとpayment_intent_idを返します。

payment://invoice?id=in_1ABC123xyz&autoprocess=true&callback=myapp://invoice-paid

完全な例

すべてのパラメータを組み合わせて完全に統合されたフローを実現

payment://new?amount=15000&currency=usd&description=Service%20Fee&customer=cus_ABC123xyz&metadata=%7B%22invoice%22%3A%22INV-2024-001%22%7D&autoprocess=true&callback=myapp://payment-result

URLエンコーディング

パラメータ値内の特殊文字は必ずURLエンコードしてください。スペースは%20、中括弧は%7Bと%7Dになります。

メタデータで商品を非表示

アプリで商品を非表示にする

アプリにはStripeアカウントの商品と価格が一覧表示されます。特定の商品をアプリに表示したくない場合(たとえばオンラインストア限定の商品)は、Stripeダッシュボードで商品または価格に次のメタデータキーを追加してください:

payment_hidden = true

商品に設定した場合:その商品とすべての価格が非表示になります。

価格に設定した場合:その価格のみ非表示になります。

キーを削除するかfalseに設定すると再び表示されます。変更は、アプリが次に商品リストを読み込んだときに反映されます。

カートリンクは引き続き利用可能

非表示になるのはアプリ内の商品リストのみです。非表示の価格を参照するpayment://cart URLは引き続き機能し、既存のサブスクリプションにも影響しません。

連携の準備はできましたか?

アプリをダウンロードして、今すぐ連携のテストを始めましょう。