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通貨コード(デフォルト:アプリの現在の通貨)
descriptionstringいいえURLエンコードされた決済の説明
customerエイリアス: customer_idstringいいえ既存のStripe顧客ID
emailstringいいえ領収書用の顧客メールアドレス
namestringいいえURLエンコードされた顧客名
metadatastringいいえカスタムキーと値のペア(URLエンコードされたJSON)
callbackstringいいえ完了後に戻るURL
autoprocessエイリアス: autobooleanいいえホーム画面をスキップしてすぐに決済を開始
auto_returnbooleanいいえ販売者が結果ダイアログを閉じるのを待つのではなく、結果が読み込まれた時点でコールバックを実行します。デフォルトはfalseです。

カタログ掲載商品を販売する

payment://cart?

Stripeカタログからカートに商品を追加して、対面決済で支払いを完了させてください。売上はStripe請求書として保存されます。お客様には何も送付されません。

パラメータ

名前タイプ必須説明
pricesエイリアス: line_itemsstringはいカンマで区切られた価格IDと数量(例:price_abc:2,price_xyz:1)
couponstringいいえカートに適用するStripeクーポンID
customerエイリアス: customer_idstringいいえ既存のStripe顧客ID
emailstringいいえ領収書用の顧客メールアドレス
namestringいいえURLエンコードされた顧客名
metadatastringいいえカスタムキーと値のペア(URLエンコードされたJSON)
callbackstringいいえ完了後に戻るURL
autoprocessエイリアス: autobooleanいいえホーム画面をスキップしてすぐに決済を開始
auto_returnbooleanいいえ販売者が結果ダイアログを閉じるのを待つのではなく、結果が読み込まれた時点でコールバックを実行します。デフォルトはfalseです。

既存の請求書を支払う

payment://invoice?

既存のStripe請求書に対して対面で支払いを受け取ります。金額、通貨、顧客、税金は請求書から取得されます。これらのいずれかを上書きすると拒否されます。加盟店はリーダー / タップして支払い / 手動入力でカードをタップします。成功すると、請求書は帯域外で支払い済みとしてマークされ、charge_id および payment_intent_id メタデータを介してリンクされます。サブスクリプション、default_payment_method、または支払い済み、無効、回収不能ステータスの請求書は、実行可能なエラーとともに拒否されます。下書き請求書: iOS は最初に確定し、Android は invoice_state_changed で拒否します。

パラメータ

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

コールバックの処理

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

コールバックパラメータ

パラメータ値説明
statussuccess | error | cancelled取引の結果
charge_idstringStripe決済ID(決済成功時)。iOSは決済ID(ch_)を送信します。AndroidはPaymentIntent ID(pi_)を送信し、決済IDをstripe_charge_idに格納します。
stripe_charge_idstringStripe決済ID(ch_)は決済成功時に表示されます。Androidのみ対応。
invoice_idstringStripe請求書ID(支払い成功時、payment://invoiceフローのみ)
payment_intent_idstringStripe PaymentIntent ID(成功時)。iOS:payment://invoiceフローのみ。Android:すべてのカード決済。
errorstringエラーメッセージ(エラー時)

請求は記録されましたが、請求書を支払い済みとしてマークできませんでした。iOS は status=error と charge_id、invoice_id、payment_intent_id を返します。Android は status=success と invoice_reconciliation_failed=true を返します。

旧バージョンの統合のために残されたレガシーフィールド:success, amount, currency, chargeId, cancelled, error[message]。新しい統合では、上記のフィールドを読み込む必要があります。

例

シンプルな決済

金額を入力するだけで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]

既存の請求書を支払う

既存の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は引き続き機能し、既存のサブスクリプションにも影響しません。

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

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