開発者API
連携して カスタマイズ
URLスキームで自社アプリやウェブサイトからPayment for Stripeを起動し、アプリに表示する商品をStripeダッシュボードから直接コントロールできます。
URLスキームで連携
仕組み
自社アプリが payment:// で始まるパラメータ付きURLを開く
Payment for Stripeが起動し、取引を処理
完了すると、アプリが結果を付けてコールバックURLにリダイレクト
エンドポイント
決済を作成する
payment://new?金額、通貨、説明を入力して1回限りの支払いを処理します。
パラメータ
| 名前 | タイプ | 必須 | 説明 |
|---|---|---|---|
amount | integer | はい | セント単位の金額(例:1000 = 10.00ドル) |
currency | string | いいえ | 3文字のISO通貨コード(デフォルト:アプリの現在の通貨) |
description | string | いいえ | URLエンコードされた決済の説明 |
customerエイリアス: customer_id | string | いいえ | 既存のStripe顧客ID |
email | string | いいえ | 領収書用の顧客メールアドレス |
name | string | いいえ | URLエンコードされた顧客名 |
metadata | string | いいえ | カスタムキーと値のペア(URLエンコードされたJSON) |
callback | string | いいえ | 完了後に戻るURL |
autoprocessエイリアス: auto | boolean | いいえ | ホーム画面をスキップしてすぐに決済を開始 |
auto_return | boolean | いいえ | 販売者が結果ダイアログを閉じるのを待つのではなく、結果が読み込まれた時点でコールバックを実行します。デフォルトはfalseです。 |
カタログ掲載商品を販売する
payment://cart?Stripeカタログからカートに商品を追加して、対面決済で支払いを完了させてください。売上はStripe請求書として保存されます。お客様には何も送付されません。
パラメータ
| 名前 | タイプ | 必須 | 説明 |
|---|---|---|---|
pricesエイリアス: line_items | string | はい | カンマで区切られた価格IDと数量(例:price_abc:2,price_xyz:1) |
coupon | string | いいえ | カートに適用するStripeクーポンID |
customerエイリアス: customer_id | string | いいえ | 既存のStripe顧客ID |
email | string | いいえ | 領収書用の顧客メールアドレス |
name | string | いいえ | URLエンコードされた顧客名 |
metadata | string | いいえ | カスタムキーと値のペア(URLエンコードされたJSON) |
callback | string | いいえ | 完了後に戻るURL |
autoprocessエイリアス: auto | boolean | いいえ | ホーム画面をスキップしてすぐに決済を開始 |
auto_return | boolean | いいえ | 販売者が結果ダイアログを閉じるのを待つのではなく、結果が読み込まれた時点でコールバックを実行します。デフォルトはfalseです。 |
既存の請求書を支払う
payment://invoice?既存のStripe請求書に対して対面で支払いを受け取ります。金額、通貨、顧客、税金は請求書から取得されます。これらのいずれかを上書きすると拒否されます。加盟店はリーダー / タップして支払い / 手動入力でカードをタップします。成功すると、請求書は帯域外で支払い済みとしてマークされ、charge_id および payment_intent_id メタデータを介してリンクされます。サブスクリプション、default_payment_method、または支払い済み、無効、回収不能ステータスの請求書は、実行可能なエラーとともに拒否されます。下書き請求書: iOS は最初に確定し、Android は invoice_state_changed で拒否します。
パラメータ
| 名前 | タイプ | 必須 | 説明 |
|---|---|---|---|
id | string | はい | Stripe請求書ID(in_で始まる必要があります) |
callback | string | いいえ | 完了後に戻るURL。成功時にはinvoice_idとpayment_intent_idを受け取ります。 |
metadata | string | いいえ | カスタムキーと値のペア(URLエンコードされたJSON)がPaymentIntentメタデータにマージされます |
autoprocessエイリアス: auto | boolean | いいえ | ホーム画面をスキップしてすぐに決済を開始します |
auto_return | boolean | いいえ | 販売者が結果ダイアログを閉じるのを待つのではなく、結果が読み込まれた時点でコールバックを実行します。デフォルトはfalseです。 |
コールバックの処理
取引が完了すると、Payment for Stripeは結果を示すクエリパラメータを付けてコールバックURLにリダイレクトします。デフォルトでは、加盟店が結果ダイアログを閉じた後にリダイレクトされるため、加盟店は決済後の操作(領収書のメール送信、返金など)を行えます。結果が判明した時点ですぐにリダイレクトするには、auto_return=trueを指定してください。iOSとAndroidに対応しています。
コールバックパラメータ
| パラメータ | 値 | 説明 |
|---|---|---|
status | success | error | cancelled | 取引の結果 |
charge_id | string | Stripe決済ID(決済成功時)。iOSは決済ID(ch_)を送信します。AndroidはPaymentIntent ID(pi_)を送信し、決済IDをstripe_charge_idに格納します。 |
stripe_charge_id | string | Stripe決済ID(ch_)は決済成功時に表示されます。Androidのみ対応。 |
invoice_id | string | Stripe請求書ID(支払い成功時、payment://invoiceフローのみ) |
payment_intent_id | string | Stripe PaymentIntent ID(成功時)。iOS:payment://invoiceフローのみ。Android:すべてのカード決済。 |
error | string | エラーメッセージ(エラー時) |
請求は記録されましたが、請求書を支払い済みとしてマークできませんでした。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¤cy=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¤cy=usd&description=Service%20Fee&customer=cus_ABC123xyz&metadata=%7B%22invoice%22%3A%22INV-2024-001%22%7D&autoprocess=true&callback=myapp://payment-resultURLエンコーディング
パラメータ値内の特殊文字は必ずURLエンコードしてください。スペースは%20、中括弧は%7Bと%7Dになります。