コンテンツにスキップ
アカウント作成/サインイン
Stripe ドキュメントのロゴ
/
AI に質問する
アカウントを作成サインイン
導入方法
決済管理
売上管理
プラットフォームとマーケットプレイス
資金管理
開発者向けリソース
API & SDKヘルプ
概要決済を受け付ける構築済みのシステムをアップグレード
オンライン決済
概要ユースケースを見つける
Payment Links を使用する
事前構築済みの決済ページを使用する
Elements を使用したカスタム統合の構築
アプリ内実装を構築
Managed Payments を使用する継続課金
対面決済
Terminal
決済手段
決済手段を追加
    概要
    支払い方法の導入オプション
    ダッシュボードで決済手段を管理
    決済手段のタイプ
    カード
    Stripe 残高で支払う
    ステーブルコインでの支払い
    銀行口座引き落とし
    銀行へのリダイレクト
    銀行振込
    クレジットトランスファー (Sources)
    後払い
    リアルタイム決済
    店舗支払い
    ウォレット
      Alipay
      Amazon Pay
      Apple Pay
      Cash App Pay
      Google Pay
      GrabPay
      Link
      MB WAY
      MobilePay
      PayPal
        PayPal ボタン
        PayPal 支払いを有効化
        決済を受け付ける
        将来の支払いを設定する
        売上処理の設定を選択
        不審請求が申請された支払い
        入金の照合
        保存した PayPal の決済手段をインポートする
      PayPay
      Revolut Pay
      Satispay
      Secure Remote Commerce
      Vipps
      WeChat Pay
    国ごとに現地の決済手段を有効化
    カスタムの決済手段
決済手段を管理
Link による購入の迅速化
Payment operations
アナリティクス
残高と売上処理にかかる期間
Compliance and security
通貨
支払い拒否
不審請求の申請
Fraud prevention
Radar の不正防止
入金
領収書Refunds and cancellations
Advanced integrations
カスタムの決済フロー
柔軟なアクワイアリング
Multiprocessor orchestration
決済以外の機能
会社を設立する
暗号資産
エージェント型コマース
Financial Connections
Climate
本人確認
アメリカ
日本語
ホーム決済管理Add payment methodsWalletsPayPal

メモ

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

将来の PayPal 支払いを設定する

PayPal 詳細を保存し、後で顧客に請求する方法を紹介します。

将来の PayPal 決済を設定して、サブスクリプション、支払いの遅延、効率的な購入に備えるための顧客の支払い情報を保存します。Stripe を介して PayPal による継続支払いを有効にし、使用する方法をご紹介します。

継続支払いの有効化

Stripe ではほとんどの場合、ユーザーが Stripe ダッシュボードで PayPal 決済を有効化すると、継続支払いが自動的に有効になります。ただし、PayPal のポリシーや地域別の制限により、一部のユーザーは継続支払いを手動で有効にしなければならない場合があります。この例外には、自動有効化が導入される前にアカウントを設定したユーザーも含まれます。継続支払いを手動で有効にするには、以下の手順に従います。

  1. 決済手段の設定に移動します。

  2. 継続支払いセクションでPayPal > 有効にするをクリックします。

継続支払いを有効にすると、ダッシュボードに保留中と表示されます。アクセスできるようになるまでには通常、最大 5 営業日かかります。

アクセス権を付与すると、PayPal 設定で継続支払いを利用できるようになります。テスト環境では、継続支払いはデフォルトで有効になっています。

Setup Intents を使用して事前に PayPal 支払い方法の詳細を収集し、後から最終的な金額や支払い日を決定します。この機能は、次の場合に使用します。

  • 支払い方法をウォレットに保存して、以降の購入を効率化する
  • サービスの提供後に追加料金を回収する
  • サブスクリプションの無料トライアルを開始する

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 を作成または取得する
サーバー側

以降の支払いに PayPal の支払い方法を再利用するには、Customer に関連付ける必要があります。

顧客がお客様のビジネスでアカウントを作成するときに、Customer オブジェクトを作成する必要があります。Customer オブジェクトの ID を、自社の内部的な顧客の表記に関連付けることにより、保存された支払い方法の詳細を後で取得して使用できます。顧客がアカウントを作成していない場合でも、すぐに 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
:"

SetupIntent を作成する
サーバー側

SetupIntent (支払い方法設定インテント) は、将来の支払いに備えて顧客の支払い方法を設定するという意図を示し、そのステップを追跡するオブジェクトです。

payment_method_types を paypal に設定してサーバーで SetupIntent (支払い方法設定インテント) を作成し、顧客の id を指定します。

Command Line
cURL
Stripe CLI
Ruby
Python
PHP
Java
Node.js
Go
.NET
No results
curl https://api.stripe.com/v1/setup_intents \ -u "
sk_test_BQokikJOvBiI2HlWgH4olfQ2
:"
\ -d customer=
"{{CUSTOMER_ID}}"
\ -d "payment_method_types[]"=paypal \ -d "payment_method_data[type]"=paypal

SetupIntent オブジェクトには、client_secret が含まれています。これは、買い手を PayPal にリダイレクトして同意書の承認を得る際に、クライアント側で Stripe に渡す必要がある一意のキーです。

顧客をリダイレクトする
クライアント側

顧客が将来の支払いに備えて PayPal アカウントを設定する際に、Stripe.js を使用して SetupIntent を確定することをお勧めします。Stripe.js は、決済フローを構築するための Stripe の基本的な JavaScript ライブラリです。これを使用することで、以下で説明するリダイレクトなどの複雑な処理を自動化でき、将来、お客様のシステムを他の支払い方法に簡単に拡張できます。

Stripe.js スクリプトを決済ページに含めるには、このスクリプトを HTML ファイルの head に追加します。

checkout.html
<head> <title>Checkout</title> <script src="https://js.stripe.com/clover/stripe.js"></script> </head>

決済ページで以下の JavaScript を使用して、Stripe.js のインスタンスを作成します。

// Set your publishable key. Remember to change this to your live publishable key in production! // See your keys here: https://dashboard.stripe.com/apikeys const stripe = Stripe(
'pk_test_TYooMQauvdEDq54NiTphI7jx'
, {} );

クライアント側で設定を確認するには、ステップ 3 で作成した SetupIntent オブジェクトの client secret を渡します。

client secret は、Stripe API リクエストを認証する API キーとは異なります。client secret は支払いを完了できるため、慎重に取り扱う必要があります。ログに記録したり、URL に埋め込んだり、当該の顧客以外に漏洩したりしないでください。

PayPal 設定を確認する

将来の支払いに PayPal アカウントを使用することを許可するため、顧客は PayPal 請求契約ページにリダイレクトされ、そのページで契約を承認してから、お客様のウェブサイトに戻る必要があります。stripe.confirmPayPalSetup を使用して、お客様のページからのリダイレクトを処理して設定を完了します。この機能に return_url を追加し、ユーザーが PayPal のウェブサイトで請求契約を承認した後にリダイレクトされる場所を指定します。

client.js
// Redirects away from the client const {error} = await stripe.confirmPayPalSetup( '{{SETUP_INTENT_CLIENT_SECRET}}', { return_url: 'https://example.com/setup/complete', mandate_data: { customer_acceptance: { type: 'online', online: { infer_from_client: true } } }, } ); if (error) { // Inform the customer that there was an error. }

決済手段の支払人 ID と請求契約 ID は、payment_method_details プロパティで生成される Mandate (同意書) にあります。買い手のメールアドレスと支払人 ID は、PaymentMethod (決済手段) の paypal プロパティでも確認できます。

フィールド値
payer_emailPayPal アカウントの支払人のメールアドレス。
payer_id支払人の PayPal アカウントの一意の ID。
billing_agreement_idPayPal 請求契約 ID (BAID)。これは、PayPal によって生成される ID で、ビジネスと顧客の間の同意書に相当します。

Webhook を監視する
サーバー側

顧客が請求契約を正常に承認したことを確認するには、顧客が支払いステータスページに戻るのを期待するのではなく、Webhook などの方法を使用します。利用者が請求契約を正常に承認すると、SetupIntent は setup_intent.succeeded Webhook イベントを送信します。請求契約の承認が正常に行われなかった場合、SetupIntent は setup_intent.setup_failed Webhook イベントを送信し、requires_payment_method ステータスに戻ります。利用者が PayPal アカウントから請求契約を取り消すと、mandate.updated が送信されます。

保存された PayPal 支払い方法でオフセッションの支払いに請求する
サーバー側

オフセッションで顧客に請求する準備ができたら、Customer ID と PaymentMethod ID を使用して、PaymentIntent (支払いインテント) を作成します。

請求する paypal の手段を見つけるには、Customer に関連付けられた PaymentMethod をリスト表示します。

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

Customer ID と PaymentMethod ID を取得したら、支払いの金額と通貨を使用して PaymentIntent を作成します。その他のいくつかのパラメーターを設定して、オフセッション支払いを行います。

  • off_session を true に設定して、支払いの実行時に顧客が決済フローに存在しないことを示します。これにより、認証が必要な場合は PaymentIntent からエラーが返されます。
  • PaymentIntent の confirm プロパティの値を true に設定します。これにより、PaymentIntent が作成されると直ちに確定されます。
  • payment_method を PaymentMethod の ID に設定し、customer を Customer の ID に設定します。
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=eur \ -d customer={{CUSTOMER_ID}} \ -d "payment_method_types[]"=paypal \ -d payment_method={{PAYMENT_METHOD_ID}} \ -d off_session=true \ -d confirm=true

保存された PayPal 支払い方法でオンセッションの支払いに請求する
クライアント側

オンセッションで顧客に請求する準備ができたら、Customer ID と PaymentMethod ID を使用して、PaymentIntent (支払いインテント) を作成します。

請求する paypal 手段を見つけるには、Customer に関連付けられた PaymentMethod を一覧表示します。

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

Customer ID と PaymentMethod ID を取得したら、支払いの金額と通貨を指定して 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=eur \ -d customer={{CUSTOMER_ID}} \ -d "payment_method_types[]"=paypal \ -d payment_method={{PAYMENT_METHOD_ID}}

Stripe.js SDK を使用し、次のように confirmPayPalPayment 関数を呼び出して、作成した PaymentIntent を実行します。

client.js
// Confirms the on-session payment const {error} = await stripe.confirmPayPalPayment( '{{PAYMENT_INTENT_CLIENT_SECRET}}', {payment_method: '{{PAYMENT_METHOD_ID}}'} // Note: return_url is not required here because the PayPal payment method was // previously set up using either a SetupIntent or a PaymentIntent with setup_future_usage ); if (error) { // Inform the customer that there was an error. }

注意:confirmPayPalPayment には、return_url パラメーターが条件付きで必要です。

  • SetupIntent、または setup_future_usage を含む PaymentIntent で以前に設定された PayPal の決済手段を使用する場合は、必須ではありません。
  • オンセッションで新しい PayPal の決済手段を作成する場合など、それ以外のケースでは必須です。

ユーザー主導の支払い方法のキャンセル
サーバー側

顧客は、PayPal アカウントを通じてサブスクリプション(請求契約)をキャンセルできます。その際、Stripeはmandate.updated Webhook を発行します。保存された支払い方法を使用する以降のすべての PaymentIntent は、有効な同意書を持つ支払い方法に変更するまで失敗します。サブスクリプションの支払いが失敗すると、ステータスは自動回収設定 で設定したサブスクリプションのステータスに変更されます。顧客に失敗を通知し、別の支払い方法で支払う。

オプションPayPal 支払いを事前設定し、支払いをキャプチャする
サーバー側

PaymentIntent (支払い方法設定インテント) を作成する際は、将来の使用に備えて PayPal 支払い方法をセットアップすることも、請求を同時に行うこともできます。

setup_future_usage を off_session に設定し、将来使用するための支払い方法を事前設定する意思を示します。

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=eur \ -d "payment_method_types[]"=paypal \ -d setup_future_usage=off_session

オプションPayPal リダイレクトを手動で処理する
サーバー側

クライアント側で confirmPayPalSetup を使用して PayPal のリダイレクトおよび請求のオーソリを処理するには、Stripe.js を使用することをお勧めします。Stripe.js を使用すると、組み込みを他の支払い方法に容易に拡張できるようになります。ただし、以下のステップを使用して、お客様のサーバで顧客を手動でリダイレクトすることもできます。

confirm: true を設定し、mandate_data パラメーターで同意書に関するデータを提供することにより、作成時に SetupIntent を確定できます。 ユーザーが PayPal のウェブサイトやモバイルアプリケーションで設定を完了した後に、どこにリダイレクトするかを指定するため、SetupIntent を確定する際に return_url を指定する必要があります。

Command Line
cURL
Stripe CLI
Ruby
Python
PHP
Java
Node.js
Go
.NET
No results
curl https://api.stripe.com/v1/setup_intents \ -u "
sk_test_BQokikJOvBiI2HlWgH4olfQ2
:"
\ -d customer=
"{{CUSTOMER_ID}}"
\ -d "payment_method_types[]"=paypal \ -d "payment_method_data[type]"=paypal \ -d usage=off_session \ -d "mandate_data[customer_acceptance][type]"=online \ -d "mandate_data[customer_acceptance][online][ip_address]"={{IP_ADDRESS}} \ -d "mandate_data[customer_acceptance][online][user_agent]"={{USER_AGENT}} \ -d confirm=true \ --data-urlencode return_url="https://example.com/setup/complete"

SetupIntent のステータスが requires_action であることと、next_action のタイプが redirect_to_url であることを確認します。

{ "id": "seti_1IQ9hjJJahOk1vSNevPWnhEN", "object": "setup_intent", "status": "requires_action", "next_action": { "type": "redirect_to_url", "redirect_to_url": { "url": "https://hooks.stripe.com/...", "return_url": "https://example.com/setup/complete" } }, "application": null,

next_action.redirect_to_url.url プロパティで指定した URL に顧客をリダイレクトします。ここに示すコード例はおおまかなものであり、リダイレクト方法は、ご使用の Web フレームワークによって異なることがあります。

server.rb
Ruby
Python
PHP
Java
Node.js
Go
.NET
No results
if setup_intent.status == 'requires_action' && setup_intent.next_action.type == 'redirect_to_url' url = setup_intent.next_action.redirect_to_url.url redirect(url) end

顧客がオーソリプロセスを完了すると、ステップ 1. で設定した return_url に送られます。URL には setup_intent とsetup_intent_client_secret のクエリパラメーターが含まれており、上記のように独自のクエリパラメーターを渡すこともできます。

オプションオンセッションの支払いに対するリスクライブラリの実装を手動で処理する
サーバー側

保存された PayPal 支払い方法でオンセッションの支払いを処理するには、Stripe.js を使用することをお勧めします。構築済みの Fraudnet 実装が付属しているためです。ただし、次の手順に従って、お客様のサーバーで PayPal の PaymentIntent を手動で確定することもできます。

PayPal のリスクライブラリ (ウェブ用は Fraudnet、モバイル用は Magnes) を実装して、買い手が支払いセッションを実施しているときに PayPal がリスクデータを収集できるようにします。これにより、不正が減少し、オンセッションの支払いのコンバージョン率が向上します。Stripe に対する API コールを実行するときは、ライブラリの初期化に使用するクライアントメタデータ ID (リスク相関 ID とも呼ばれます) が必要です。

ライブラリが読み込まれたら、次のように支払いのクライアントメタデータ ID、金額、通貨を指定して 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=eur \ -d customer={{CUSTOMER_ID}} \ -d "payment_method_types[]"=paypal \ -d "payment_method_options[paypal][risk_correlation_id]"={{RISK_CORRELATION_ID}} \ -d confirm=true \ -d payment_method={{PAYMENT_METHOD_ID}}

オンセッションの支払いの確定時に risk_correlation_id パラメーターを渡さないと、paypal_risk_correlation_id_missing メッセージコードが返されます。

オプション保存された PayPal アカウントを削除する
サーバー側

detach API を使用して、顧客が決済手段として保存した PayPal アカウントを削除できます。PayPal の決済手段の関連付けを解除すると、同意書が取り消され、さらに関連付けられた PayPal 請求契約をキャンセルするための PayPal API の呼び出しも行われます。

Command Line
cURL
Stripe CLI
Ruby
Python
PHP
Java
Node.js
Go
.NET
No results
curl -X POST https://api.stripe.com/v1/payment_methods/{{PAYMENT_METHOD_ID}}/detach \ -u "
sk_test_BQokikJOvBiI2HlWgH4olfQ2
:"
このページはお役に立ちましたか。
はいいいえ
  • お困りのことがございましたら 、サポートにお問い合わせください。
  • 変更ログをご覧ください。
  • ご不明な点がございましたら、お問い合わせください。
  • LLM ですか?llms.txt を読んでください。
  • Powered by Markdoc