コンテンツにスキップ
アカウントを作成
または
サインイン
Stripe ドキュメントのロゴ
/
AI に質問する
アカウントを作成
サインイン
始める
支払い
売上
プラットフォームおよびマーケットプレイス
資金管理
開発者向けリソース
概要
Stripe Payments について
構築済みのシステムをアップグレード
支払いの分析
オンライン決済
概要ユースケースを見つけるManaged Payments
Payment Links を使用する
決済ページを構築
高度なシステムを構築
アプリ内実装を構築
決済手段
決済手段を追加
    概要
    支払い方法の導入オプション
    ダッシュボードで支払い方法を管理
    決済手段のタイプ
    カード
    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 Links
Checkout
Web Elements
アプリ内 Elements
決済シナリオ
複数の通貨を扱う
カスタムの決済フロー
柔軟なアクワイアリング
オーケストレーション
店頭支払い
端末
決済にとどまらない機能
会社を設立する
仮想通貨
Financial Connections
Climate
ホーム支払いAdd payment methodsWalletsPayPal

注

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

PayPal による支払いを受け付ける

ヨーロッパの企業に広く普及しているデジタルウォレットである 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'

PaymentIntent を作成する
サーバー側

Stripe では、PaymentIntent (支払いインテント) と呼ばれる支払いオブジェクトを使用して、支払いの完了まですべてのステータスを追跡および処理します。サーバーで PaymentIntent を作成し、回収する金額と通貨を指定します。すでに Payment Intents API を使用したシステムがある場合は、paypal を PaymentIntent の決済手段タイプリストに追加します。

Command Line
cURL
curl https://api.stripe.com/v1/payment_intents \ -u "
sk_test_BQokikJOvBiI2HlWgH4olfQ2
:"
\ -d amount=1099 \ -d currency=eur \ -d "payment_method_types[]"=paypal

返される PaymentIntent には client secret が含まれます。これを使用することで PaymentIntent オブジェクト全体を渡すことなく安全に支払いプロセスを完了できます。以降のステップで使用できるように、クライアントに client secret を送り返します。

カスタムの説明を含める

デフォルトでは、PayPal ユーザの購入アクティビティページの注文詳細には、注文金額が表示されます。description プロパティでカスタムの説明を指定することで、これを変更することができます。

Command Line
cURL
curl https://api.stripe.com/v1/payment_intents \ -u "
sk_test_BQokikJOvBiI2HlWgH4olfQ2
:"
\ -d amount=1099 \ -d currency=eur \ -d description="A sample description" \ -d "payment_method_types[]"=paypal

利用するロケールをカスタマイズする

デフォルトで PayPal のオーソリページは、加盟店の国などの変化する要素に基づいて現地化されますが、preferred_locale プロパティを使用することで、これを顧客の利用するロケールに設定できます。この値は、小文字 2 文字の言語コード、ハイフン (-)、大文字 2 文字の国コードの順で構成されている必要があります。たとえば、ベルギー在住のフランス語ユーザーの値は、fr-BE になります。詳細については、サポート対象のロケールをご覧ください。

Command Line
cURL
curl https://api.stripe.com/v1/payment_intents \ -u "
sk_test_BQokikJOvBiI2HlWgH4olfQ2
:"
\ -d amount=1099 \ -d currency=eur \ -d "payment_method_types[]"=paypal \ -d "payment_method_options[paypal][preferred_locale]"=fr-BE

PayPal での明細書表記

買い手の銀行明細書に表示される表記は PayPal によって設定され、デフォルトでは PAYPAL *YOUR_BUSINESS_NAME になります。PaymentIntent の作成時に statement_descriptor を設定した場合、合計 22 文字を上限として、その値が PayPal によって設定された値に付加されます。

たとえば、PayPal のビジネス名が BUSINESS であり、statement_descriptor に order_id_1234 を設定する場合、買い手の銀行口座明細書には PAYPAL *BUSINESS order と表示されます。

Stripe に支払いを送信する
クライアント側

顧客が PayPal での支払いをクリックしたときに、Stripe.js を使用してその支払いを Stripe に送信します。Stripe.js は、決済フローを構築するための基本的な JavaScript ライブラリです。このライブラリにより、以下で説明するリダイレクトなどの複雑な処理が自動的に行われ、他の決済手段にも対応できるように実装を拡張できます。Stripe.js スクリプトを決済ページに含めるには、HTML ファイルの head にこのスクリプトを追加します。

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

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

client.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'
);

クライアント側で支払いを作成するには、ステップ 2 で作成した PaymentIntent オブジェクトの client secret を渡します。client secret は、 Stripe API リクエストを認証する API キーとは異なります。client secret は支払いを完了できるため、慎重に取り扱う必要があります。記録したり、URL に埋め込んだり、当該の顧客以外に漏洩することがないようにしてください。

PayPal 支払いを確定する

stripe.confirmPayPalPayment を呼び出し、顧客を PayPal にリダイレクトして支払いを完了します。return_url を追加して、支払い完了後に Stripe が顧客をリダイレクトする場所を指定する必要があります。新しい PayPal の決済手段に return_url を追加することもできますが、SetupIntent で以前に設定された PayPal の決済手段、または setup_future_usage を含む PaymentIntent を使用する場合、追加は必須ではありません。

client.js
// Redirects away from the client const {error} = await stripe.confirmPayPalPayment( '{{PAYMENT_INTENT_CLIENT_SECRET}}', { return_url: 'https://example.com/checkout/complete', } ); if (error) { // Inform the customer that there was an error. }

PayPal の売上を PayPal で処理する場合、支払いに関連付けられた取引残高の金額は、支払い額に関係なくゼロになります。取引は Stripe 残高における入出金を表すものですが、PayPal では、売上が PayPal 残高で処理され、Stripe 残高に資金が移動しません。この場合の取引残高には、取引に伴う手数料も含まれます。売上処理の設定に関するその他の重要事項については、こちらで詳細をご覧ください。

リダイレクトを処理する

Stripe が顧客を return_url にリダイレクトする際に、以下の URL クエリパラメータが提供されます。

パラメータ説明
payment_intentPaymentIntent の一意の識別子。
payment_intent_client_secretPaymentIntent オブジェクトの client secret。

return_url を指定する際に、独自のクエリパラメータを追加することもできます。このクエリパラメータは、リダイレクトプロセスの始めから終わりまで存続します。return_url は、支払いのステータスを提供する Web サイトのページと一致している必要があります。戻りページをレンダリングするときに、PaymentIntent のステータスを確認してください。確認するには、Stripe.js の retrievePaymentIntent 関数を使用し、payment_intent_client_secret を渡します。

(async () => { const url = new URL(window.location); const clientSecret = url.searchParams.get('payment_intent_client_secret'); const {paymentIntent, error} = await stripe.retrievePaymentIntent(clientSecret); if (error) { // Handle error } else if (paymentIntent && paymentIntent.status === 'succeeded') { // Handle successful payment } })();

payment_method_details プロパティには、支払い者の氏名、メールアドレス、支払人 ID、取引 ID が含まれています。

フィールド値
payer_emailPayPal アカウントの支払人のメールアドレス。
payer_namePayPal アカウントの支払人の名前。
payer_id支払人の PayPal アカウントの一意の ID。
transaction_idPayPal によって生成された一意の取引 ID。
{ "charges": { "data": [ { "payment_method_details": { "paypal": { "payer_id": "H54KFE9XXVVYJ", "payer_email": "jenny@example.com", "payer_name": "Jenny Rosen", "transaction_id": "89W40396MK104212M" }, "type": "paypal" }, "id": "src_16xhynE8WzK49JbAs9M21jaR", "object": "source", "amount": 1099, "client_secret": "src_client_secret_UfwvW2WHpZ0s3QEn9g5x7waU", "created": 1445277809, "currency": "eur", "flow": "redirect",

オプション支払い後のイベントを処理する

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

オプション支払いをオーソリし、後でキャプチャ

オプションPayPal で非同期の支払い方法の使用を有効にする

オプションエラーコード

オプションPayPal の組み込みをテストする

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