コンテンツにスキップ
アカウントを作成
または
サインイン
Stripe ドキュメントのロゴ
/
AI に質問する
アカウントを作成
サインイン
始める
支払い
売上
プラットフォームおよびマーケットプレイス
資金管理
開発者向けリソース
概要
Stripe Payments について
構築済みのシステムをアップグレード
支払いの分析
オンライン決済
概要ユースケースを見つけるManaged Payments を使用する
Payment Links を使用する
事前構築済みの決済ページを使用する
Elements を使用したカスタム統合の構築
    概要
    Checkout Sessions と PaymentIntent の比較
    Quickstart ガイド
    高度なシステムを設計
    デザインをカスタマイズする
    決済手段を管理
    追加情報を収集する
    サブスクリプションの実装
    動的な更新
    割引を追加する
    支払いで税金を徴収
    クレジットを使って引き換える
    顧客が現地通貨で支払いできるようにする
    顧客の支払い方法を保存および取得する
      支払いに使用された決済手段を保存する
      支払いを行わずに顧客の決済手段を保存する
    領収書と支払い済みの請求書を送信する
    サーバーで支払いを手動で承認する
    支払いのオーソリとキャプチャーを分離する
    Elements with Checkout Sessions API ベータ版の変更ログ
アプリ内実装を構築
決済手段
決済手段を追加
決済手段を管理
Link による購入の迅速化
支払いインターフェイス
Payment Links
Checkout
Web Elements
アプリ内決済
決済シナリオ
複数の通貨を扱う
カスタムの決済フロー
柔軟なアクワイアリング
オーケストレーション
店頭支払い
端末
決済にとどまらない機能
会社を設立する
仮想通貨
エージェント型ワークフロー
Financial Connections
Climate
不正利用について
Radar の不正防止
不審請求の申請の管理
本人確認
ホーム支払いBuild a custom integration with ElementsSave and retrieve customer payment methods

注

このページはまだ日本語ではご利用いただけません。より多くの言語で文書が閲覧できるように現在取り組んでいます。準備が整い次第、翻訳版を提供いたしますので、もう少しお待ちください。

支払いを行わずに顧客の決済手段を保存する

決済手段を保存して後で請求を行う方法をご紹介します。

Checkout Sessions API in setup mode を使用すると、初回の決済なしで顧客の決済の詳細を保存することができます。これは、今すぐ顧客をユーザー登録して決済を設定し、将来顧客がオフラインのときに Payment Intents API を使用して請求する場合に役立ちます。

この導入を使用して、継続課金を設定したり、最終金額が後で (顧客がサービスを受け取った後などに) 決定される 1 回限りの決済を作成します。

カード提示取引

カード提示取引 (Stripe Terminal による カード詳細の収集 など) では、決済手段の保存に別のプロセスが使用されます。

法令遵守

顧客の決済の詳細を保存する際、適用されるすべての法律、規制、ネットワークの規則に準拠する責任があります。これらの要件は通常、以降の購入時の決済フローでの顧客の決済手段を提示する、顧客がウェブサイトやアプリを使用していないときに請求するなど、将来に備えて顧客の決済手段を保存する場合に適用されます。決済手段の保存をどのように計画しているかを示す規約をウェブサイトやアプリに追加し、顧客がオプトインできるようにします。

決済手段を保存する場合、規約に記載された特定の用途にのみ使用できます。顧客がオフラインであるときに決済手段に請求して、以降の購入に備えたオプションとして保存する場合は、この特定の用途について顧客から明示的に同意を収集する必要があります。たとえば、同意を収集するために「今後の使用に備えて決済手段を保存する」チェックボックスを使用します。

顧客がオフラインのときに請求を行うには、規約に以下の内容を含める必要があります。

  • 指定された取引で顧客の代理として単独の決済または一連の決済を開始することを許可するという、顧客の同意。
  • 予期される決済時期と決済頻度 (たとえば、請求が予定されている分割払いなのか、サブスクリプションの決済なのか、あるいは予定されていないトップアップなのか)。
  • 決済金額の決定方法。
  • 決済手段をサブスクリプションサービスに使用する場合は、キャンセルに関するポリシー。

これらの規約に関する顧客の書面による同意の記録を必ず保管してください。

注

手動でのサーバー側の確定を使用する必要がある場合、または導入で決済手段を別途提示する必要がある場合は、代替方法のガイド を参照してください。

Stripe を設定する
サーバ側

まず、Stripe アカウントを作成するかサインインします。

アプリケーションから Stripe API にアクセスするには、Stripe の公式ライブラリを使用します。

Command Line
Ruby
Python
PHP
Java
Node.js
Go
.NET
No results
# Available as a gem sudo gem install stripe
Gemfile
Ruby
Python
PHP
Java
Node.js
Go
.NET
No results
# If you use bundler, you can add this line to your Gemfile gem 'stripe'

Customer を作成する
サーバ側

将来の支払いに備えて支払い方法を設定するには、その手段を Customer (顧客) に関連付ける必要があります。顧客がビジネスでアカウントを作成する際に、Customer オブジェクトを作成します。Customer オブジェクトを使用すると、支払い方法を再利用したり、複数の支払いを追跡したりできます。

Command Line
cURL
Stripe CLI
Ruby
Python
PHP
Java
Node.js
Go
.NET
No results
curl -X POST https://api.stripe.com/v1/customers \ -u "
sk_test_BQokikJOvBiI2HlWgH4olfQ2
:"

セットアップモードを使用
サーバ側

mode=setup を指定して Checkout Session を作成します。

Command Line
cURL
Stripe CLI
Ruby
Python
PHP
Java
Node.js
Go
.NET
No results
curl https://api.stripe.com/v1/checkout/sessions \ -u "
sk_test_BQokikJOvBiI2HlWgH4olfQ2
:"
\ -d mode=setup \ -d ui_mode=custom \ -d currency=usd

決済手段を Customer に関連付ける
サーバ側

既存の顧客と Checkout Session を作成していない場合は、PaymentMethod の ID を使用して顧客に決済手段を 関連付け ます。

それ以外の場合は、Checkout Session の作成時に指定した顧客に決済手段が自動的に関連付けられます。

Command Line
cURL
Stripe CLI
Ruby
Python
PHP
Java
Node.js
Go
.NET
No results
curl https://api.stripe.com/v1/payment_methods/
{{PAYMENT_METHOD_ID}}
/attach
\ -u "
sk_test_BQokikJOvBiI2HlWgH4olfQ2
:"
\ -d customer=
{{CUSTOMER_ID}}

決済手段を取得する
サーバ側

顧客が Checkout Session を正常に完了したら、checkout.session.completed webhook を処理します。webhook で Session オブジェクトを取得し、以下を実行します。

  • Checkout Session 中に作成された SetupIntent ID である setup_intent キーの値を取得します。
  • SetupIntent ID を使用して、SetupIntent オブジェクトを 取得 します。返されるオブジェクトには payment_method ID が含まれ、これを次のステップで顧客に関連付けることができます。

Webhook の設定 についてもっと知る。

後で決済手段に請求する
サーバ側

PaymentMethod を顧客に関連付けると、PaymentIntent を使用して off-session の決済を実行できます。

  • customer を顧客 ID、payment_method を決済手段 ID に設定します。
  • 決済試行時に顧客が決済フローにいないと、カード発行会社、銀行、その他の決済機関などのパートナーによる認証リクエストを実行できないことを off_session を true に設定して示します。決済フロー中にパートナーが認証をリクエストした場合、Stripe は前回の on-session 取引の顧客情報を使用して免除をリクエストします。免除の条件が満たされていない場合、PaymentIntent はエラーを返すことがあります。
  • PaymentIntent の confirm プロパティの値を true に設定します。これにより、PaymentIntent の作成時にすぐに確定が行われます。
Command Line
cURL
Stripe CLI
Ruby
Python
PHP
Java
Node.js
Go
.NET
No results
curl https://api.stripe.com/v1/payment_intents \ -u "
sk_test_BQokikJOvBiI2HlWgH4olfQ2
:"
\ -d amount=1099 \ -d currency=usd \ -d customer=
{{CUSTOMER_ID}}
\ -d payment_method=
{{PAYMENT_METHOD_ID}}
\ -d off_session=true \ -d confirm=true

決済が失敗すると、リクエストも 402 HTTP ステータスコードで失敗し、PaymentIntent のステータスが requires_payment_method になります。アプリケーションに戻って (メールやアプリ内通知などで) 新しい Checkout Session に移動して別の決済手段を選択するよう顧客に通知する必要があります。

Command Line
cURL
Stripe CLI
Ruby
Python
PHP
Java
Node.js
Go
.NET
No results
curl https://api.stripe.com/v1/checkout/sessions \ -u "
sk_test_BQokikJOvBiI2HlWgH4olfQ2
:"
\ -d customer=
{{CUSTOMER_ID}}
\ -d "line_items[0][price_data][currency]"=usd \ -d "line_items[0][price_data][product_data][name]"=T-shirt \ -d "line_items[0][price_data][unit_amount]"=1099 \ -d "line_items[0][quantity]"=1 \ -d mode=payment \ -d ui_mode=custom \ --data-urlencode return_url="https://example.com/return"
このページはお役に立ちましたか。
はいいいえ
  • お困りのことがございましたら 、サポートにお問い合わせください。
  • 早期アクセスプログラムにご参加ください。
  • 変更ログをご覧ください。
  • ご不明な点がございましたら、お問い合わせください。
  • LLM ですか?llms.txt を読んでください。
  • Powered by Markdoc