Commerce PayPal
Drupal Commerce向けにPayPal決済ゲートウェイ統合を提供し、Checkout API、Fastlane、Express Checkout、Payflowなど複数のPayPalサービスをサポートします。
commerce_paypal
インストール
composer require 'drupal/commerce_paypal:^2.0'
概要
Commerce PayPalは、Drupal Commerce向けの包括的な決済統合モジュールで、マーチャントがさまざまな形式でPayPal決済を受け入れることを可能にします。このモジュールは、Smart Payment Buttonsを備えた最新のPayPal Checkout API、スムーズなチェックアウト体験のための新しいFastlane by PayPal、そしてExpress Checkout、Payflow Pro、Payflow Linkなどのレガシーオプションをサポートしています。
このモジュールは、さまざまなビジネスニーズに対応する5つの異なる決済ゲートウェイを提供します:PayPal Checkout(推奨)はSmart Payment ButtonsまたはCustom Card Fieldsを提供、Fastlane by PayPalはリピート顧客向けの高速チェックアウトを実現、Express Checkoutは従来のPayPal統合を提供、Payflow Proは直接クレジットカード処理をサポート、Payflow Linkはホスト型決済ページを提供します。
機能には、決済ステータス同期のためのwebhookサポート、PayPal Creditメッセージング統合、カスタマイズ可能なボタンスタイル、PayPalからの配送先住所収集、オーソリゼーションとキャプチャ両方の決済ワークフローのサポートが含まれます。
Features
- PayPal、Pay Later、Venmo、代替決済手段を含むシームレスな決済選択のためのSmart Payment Buttonsを備えたPayPal Checkout API
- PayPalを通じてサイト上で直接クレジットカード決済を受け入れるためのCustom Card Fields統合
- 保存された決済方法と住所認識による高速チェックアウト体験のためのFastlane by PayPal
- NVP APIを使用した従来のPayPal決済フローのためのExpress Checkout(レガシー)
- マーチャントアカウントによる直接クレジットカード処理のためのPayflow Pro統合
- iframeまたはリダイレクトチェックアウトモードを備えたホスト型決済ページのためのPayflow Link
- 分割払いオプションを促進するための商品ページとカートページでのPayPal Creditメッセージング
- 自動決済ステータス同期(キャプチャ、返金、無効化)のためのwebhook統合
- 手動または自動キャプチャオプションを備えたオーソリゼーションとキャプチャ決済ワークフロー
- PayPal顧客データからの請求先・配送先プロファイル更新
- カスタマイズ可能なSmart Payment Buttonスタイル(レイアウト、色、形状、ラベル)
- 複数の資金源サポート(PayPal、クレジットカード、Pay Later、Venmo、Bancontact、iDEALなど)
- Payflow Linkのリファレンストランザクションサポート
- Express CheckoutのIPN(即時支払い通知)処理
- カート表示用のCredit Messagingエリアハンドラーを備えたViews統合
- PayPal CheckoutとFastlane決済方法向けに最適化されたカスタムチェックアウトフロー
Use Cases
シンプルなPayPal Checkout統合
最小限のセットアップでPayPalを決済オプションとして提供したいストア向けに、Smart Payment Buttonsを備えたPayPal Checkoutゲートウェイを設定します。顧客はPayPalアカウント、クレジット/デビットカード、Pay Later、Venmo、その他の地域別決済方法でチェックアウトページから直接支払いができます。
PayPal経由でクレジットカードを受け入れる
Custom Card Fieldsを備えたPayPal Checkoutを使用することで、マーチャントはPCIコンプライアンスの複雑さなしにサイト上で直接クレジットカード決済を受け入れることができます。決済フォームはサイトにネイティブに表示されながら、カードデータはPayPalのSDKによってトークン化されます。
カートページからのショートカットフロー
カートページでSmart Payment Buttonsを有効にすると、顧客はカートから直接PayPalチェックアウトを開始できます。承認後、顧客は購入を完了する前に簡素化されたレビューステップに戻ります。
Fastlaneによる高速チェックアウト
Fastlaneにオプトインしたリピート顧客向けにFastlane by PayPalを使用します。システムはメールで顧客を認識し、保存された決済情報と配送情報を事前入力することで、チェックアウト時間を大幅に短縮します。
Payflow Proによる直接クレジットカード処理
既存のPayflow Proアカウントを持つマーチャントは、サイト内カード入力フォームを使用して直接クレジットカードを受け入れることができます。保存された決済方法を必要とするB2Bやサブスクリプションシナリオに適しています。
Payflow Linkによるホスト型決済ページ
顧客がPayPalのセキュアなホストページで決済を完了するホスト型決済ソリューションとしてPayflow Linkを使用します。最小限のPCIスコープを求めるマーチャント向けに、iframe埋め込みまたは完全リダイレクトとして利用可能です。
Creditメッセージングによるプロモーション分割払い
「Pay Later」オプションを促進するために、商品ページとカートでPayPal Creditメッセージングを有効にします。「4回払い」などのプロモーションメッセージを表示し、高額購入のコンバージョン率を向上させます。
オーソリゼーションと後日キャプチャ
チェックアウト時に決済をオーソリゼーションし、注文出荷時に後からキャプチャするよう決済ゲートウェイを設定します。予約注文、入荷待ち商品、または請求前に在庫を確認するマーチャントに便利です。
Tips
- 新しい統合にはPayPal Checkout(paypal_checkout)またはFastlane(paypal_fastlane)を使用してください。Express CheckoutとPayflowはレガシーオプションです。
- webhookを設定して、特にオーソリゼーション、返金、紛争について、PayPalとストア間で決済ステータスが同期されるようにしてください。
- 「カートページにSmart Payment Buttonsを表示する」オプションを有効にして、顧客がカートから直接チェックアウトを開始できるスムーズな体験を提供してください。
- 本番稼働前に、PayPal Developerテストアカウントを使用してサンドボックスモードで決済フローを十分にテストしてください。
- PayPal Creditメッセージング機能は分割払いオプションを促進することでコンバージョン率を向上させることができます。専用の管理フォームで設定してください。
- Custom Card Fieldsを使用する場合、請求先情報の収集が必要です。PayPalがカードデータを安全に処理します。
- Fastlaneの場合、チェックアウトフロー設定でペインが正しい順序になっていることを確認してください:連絡先情報、次に配送(該当する場合)、次に決済情報。
- イベントサブスクライバーを通じてPayPalイベントをサブスクライブし、カスタムメタデータの追加や配送オプションの変更など、PayPalに送信される注文データをカスタマイズしてください。
Technical Details
Admin Pages 1
/admin/commerce/config/payment/paypal-credit
商品ページとカートページにプロモーション用の分割払いメッセージを表示し、顧客にPayPal Creditの利用を促すためのPayPal Creditメッセージングを設定します。
Hooks 2
hook_commerce_paypal_express_checkout_request_alter
イベントサブスクライバーを通じてExpress Checkout NVPリクエストデータを変更できます。
hook_commerce_paypal_checkout_order_request_alter
イベントサブスクライバーを通じてPayPal Checkout注文リクエストデータを変更できます。
Troubleshooting 6
Client IDが正しいこと、決済ゲートウェイが有効で注文のストアで利用可能であること、注文合計がプラスであることを確認してください。ブラウザコンソールでJavaScriptエラーを確認し、広告ブロッカーがPayPalスクリプトを妨害していないことを確認してください。
ゲートウェイ設定のWebhook IDがPayPal Developer Dashboardに表示されるwebhook IDと一致していることを確認してください。Webhook URLはパブリックにアクセス可能でHTTPSを使用している必要があります。
選択したモード(サンドボックス vs 本番)に正しい認証情報を使用していることを確認してください。Checkout/Fastlaneには、REST API Client IDとSecretを使用します。Express Checkoutには、NVP APIユーザー名、パスワード、署名を使用します。
webhook設定を確認し、必要なwebhookイベント(Payment capture completed、Payment capture deniedなど)がサブスクライブされていることを確認してください。着信通知をデバッグするためにwebhookリクエストログを有効にしてください。
モジュールはPayPal Checkout Smart Payment Buttonsオプションを自動的に重複排除します。重複が表示される場合は、ストアに1つのPayPal Checkoutゲートウェイのみが設定されていることを確認してください。
Payflow Linkホストページがお客様のPayPal Managerアカウントで正しく設定されていることを確認してください。モジュールには、エラー発生時にメッセージを表示しページを再読み込みするiframeエラー処理が含まれています。
Security Notes 6
- すべてのPayPal決済ゲートウェイはHTTPS経由のセキュアなAPI通信を使用します。機密認証情報(APIシークレット、パスワード)は、ログやクライアントサイドコードに公開されるべきではありません。
- Custom Card FieldsはPayPalのSDKを通じてクライアントサイドでカードデータをトークン化し、カードデータ送信のPCIスコープからサイトを除外します。
- Webhook署名はPayPalの検証APIを使用して検証され、処理前に通知が本物であることを確認します。
- モジュールはCheckoutおよびFastlane APIにOAuth 2.0認証を使用し、アクセストークンはDrupalのstateシステムに安全にキャッシュされます。
- webhookリクエストログはデバッグ目的でのみ有効にしてください。本番環境では、機密決済データのログ記録を避けるために無効にしてください。
- Payflow認証情報(パスワード)はDrupalの設定システムに暗号化されて保存されますが、サーバーレベルでも保護する必要があります。