コンテンツにスキップ
アカウントを作成
または
サインイン
Stripe ドキュメントのロゴ
/
AI に質問する
アカウントを作成
サインイン
始める
支払い
財務の自動化
プラットフォームおよびマーケットプレイス
資金管理
開発者向けのツール
始める
支払い
財務の自動化
始める
支払い
財務の自動化
プラットフォームおよびマーケットプレイス
資金管理
概要
Stripe Payments について
構築済みのシステムをアップグレード
支払いの分析
オンライン決済
概要ユースケースを見つけるManaged Payments
Payment Links を使用する
決済ページを構築
高度なシステムを構築
アプリ内実装を構築
決済手段
決済手段を追加
    概要
    支払い方法の導入オプション
    ダッシュボードで支払い方法を管理
    決済手段のタイプ
    カード
    銀行口座引き落とし
    銀行へのリダイレクト
    銀行振込
    クレジットトランスファー (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 Links
Checkout
Web Elements
アプリ内 Elements
決済シナリオ
カスタムの決済フロー
柔軟なアクワイアリング
オーケストレーション
店頭支払い
端末
他の Stripe プロダクト
Financial Connections
仮想通貨
Climate
ホーム支払いAdd payment methodsWalletsPayPal

注

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

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

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

ページをコピー

Set up future PayPal payments to save customer payment details for subscriptions, delayed charges, and streamlined future purchases. Learn how to enable and use recurring payments with PayPal through Stripe.

Enable recurring payments

Stripe automatically enables recurring payments for most users when they activate PayPal payments in the Stripe Dashboard. However, due to PayPal’s policies and regional restrictions, some users might need to enable recurring payments manually. This includes users that set up their accounts before we introduced automatic enablement. To manually enable recurring payments:

  1. Go to your Payment methods settings.

  2. Click PayPal > Enable in the Recurring payments section.

After you enable recurring payments, it appears as pending in the Dashboard. It usually takes up to five business days to get access.

When you’re granted access, recurring payments are available in your PayPal settings. In testing environments, recurring payments are enabled by default.

Stripe Checkout を使用して、事前に PayPal 支払いの詳細を収集し、後から最終的な金額や支払い日を決定します。この機能の用途を紹介します。

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

Stripe を設定する
サーバー側

まず、Stripe アカウントが必要です。今すぐご登録ください。

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

Command Line
Ruby
# Available as a gem sudo gem install stripe
Gemfile
Ruby
# If you use bundler, you can add this line to your Gemfile gem 'stripe'

設定前に Customer を作成または取得する
サーバー側

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

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

Command Line
cURL
curl -X POST https://api.stripe.com/v1/customers \ -u "
sk_test_BQokikJOvBiI2HlWgH4olfQ2
:"

Checkout セッションを作成する
クライアント側
サーバー側

PayPal 支払いを受け付ける前に、顧客は、お客様が Stripe Checkout を通じて今後の支払いに PayPal アカウントを使用することを承認する必要があります。

サーバー側のエンドポイントを呼び出す決済ボタンをウェブサイトに追加して Checkout Session (セッション) を作成します。

index.html
<html> <head> <title>Checkout</title> </head> <body> <form action="/create-checkout-session" method="POST"> <button type="submit">Checkout</button> </form> </body> </html>

setup モードで Checkout セッションを作成して、必要な情報を収集します。Checkout セッションを作成したら、レスポンスで返された URL に顧客をリダイレクトします。

Command Line
curl
curl https://api.stripe.com/v1/checkout/sessions \ -u
sk_test_BQokikJOvBiI2HlWgH4olfQ2
:
\ -d "payment_method_types[]"="paypal" \ -d mode=setup \ -d customer=
{{CUSTOMER_ID}}
\ -d success_url="https://example.com/success?session_id={CHECKOUT_SESSION_ID}" \ -d cancel_url="https://example.com/cancel"

顧客は支払い方法の詳細を指定すると、success_url にリダイレクトされます。これはお客様のウェブサイト上にあり、支払い方法が正常に保存されたことを顧客に知らせるページです。上記の例のように、success_url に {CHECKOUT_SESSION_ID} テンプレート変数を含めて、成功ページでセッション ID を使用できるようにします。

顧客が支払い方法の詳細を提供せずに Checkout セッションでお客様のロゴをクリックすると、Checkout は、cancel_url に移動して、顧客をお客様の Web サイトにリダイレクトします。このページは通常、顧客が Stripe Checkout にリダイレクトされる前に表示していた Web サイトのページです。

注意

次に挙げる理由により、支払い開始の検出時には、success_url へのリダイレクトのみに依存しないでください。

  • 悪意を持つユーザが、支払いをせずに success_url に直接アクセスし、商品やサービスにアクセスできるようになる可能性があります。
  • 顧客が支払いの成功後に success_url に到達するとは限りません。リダイレクトが発生する前に、顧客がブラウザタブを閉じることがあります。

支払い方法を取得する
サーバー側

顧客が支払いの詳細を送信した後に、PaymentMethod (決済手段) オブジェクトを取得します。PaymentMethod は、顧客のPayPal account情報を保存して今後の支払いに利用できるようにします。PaymentMethod は、success_url を使用して同期的に取得することも、Webhook を使用して非同期的に取得することもできます。

顧客が支払いの成功後に必ず success_url に到達するとは限らないため (たとえば、リダイレクトが行われる前に顧客がブラウザータブを閉じることもあります)、PaymentMethod を同期的に取得するか非同期的に取得するかは、ドロップオフの許容度によって異なります。Webhook を使用すると、組み込みでこの種のドロップオフを防止できます。

Session オブジェクトを含む checkout.session.completed Webhook を処理します。詳細については、Webhook を設定するをご覧ください。以下は、checkout.session.completed レスポンスの例です。

{ "id": "evt_1Ep24XHssDVaQm2PpwS19Yt0", "object": "event", "api_version": "2019-03-14", "created": 1561420781, "data": { "object": { "id": "cs_test_MlZAaTXUMHjWZ7DcXjusJnDU4MxPalbtL5eYrmS2GKxqscDtpJq8QM0k", "object": "checkout.session", "billing_address_collection": null, "cancel_url": "https://example.com/cancel", "client_reference_id": null, "customer": null, "customer_email": null, "display_items": [], "mode": "setup", "setup_intent": "seti_1EzVO3HssDVaQm2PJjXHmLlM", "submit_type": null, "subscription": null, "success_url": "https://example.com/success" } }, "livemode": false, "pending_webhooks": 1, "request": { "id": null, "idempotency_key": null }, "type": "checkout.session.completed" }

Checkout セッションで作成された SetupIntent の ID である setup_intent キーの値を書き留めます。SetupIntent は、今後の支払いに利用できるように顧客のPayPal account情報を設定するために使用されるオブジェクトです。この ID を使用して SetupIntent オブジェクトを取得します。

Command Line
cURL
curl https://api.stripe.com/v1/setup_intents/seti_1EzVO3HssDVaQm2PJjXHmLlM \ -u "
sk_test_BQokikJOvBiI2HlWgH4olfQ2
:"

設定後のイベントを処理する
サーバー側

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

構築したシステムをテストする

テスト API キー を使用して PayPal の実装をテストするには、リダイレクトページを表示します。リダイレクトページで支払いを認証することにより、支払い成功のケースをテストできます。PaymentIntent は requires_action から succeeded に移行します。

ユーザが認証に失敗するケースをテストするには、テスト API キーを使用してリダイレクトページを表示します。リダイレクトページで テスト支払い失敗 をクリックします。PaymentIntent は、requires_action から requires_payment_method に移行します。

支払い方法を将来の支払いに使用する
サーバー側

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

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

Command Line
cURL
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
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 アカウントからサブスクリプション (請求契約) をキャンセルできます。その場合、Stripe は mandate.updated Webhook を送信します。保存された支払い方法を使用する以降の Payment Intents はすべて、有効な同意書を持つ支払い方法に変更されるまで失敗します。サブスクリプションの支払いが失敗すると、ステータスが自動請求設定で設定されたサブスクリプションステータスに変わります。この場合、顧客に失敗を通知して、別の支払い方法で請求する必要があります。

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

このページはお役に立ちましたか。
はいいいえ
お困りのことがございましたら 、サポートにお問い合わせください。
早期アクセスプログラムにご参加ください。
変更ログをご覧ください。
ご不明な点がございましたら、お問い合わせください。
LLM ですか?llms.txt を読んでください。
Powered by Markdoc