必要なもの
| フィールド | 何をするか |
|---|---|
| Client ID | API 呼び出しであなたの PayPal アプリを識別します。シークレットと組になります。 |
| Client secret | API 認証の秘密の半分。Client ID と合わせて注文を作ります。秘密です。 |
| Webhook ID | PayPal が署名する webhook を識別し、各配信を検証できるようにします。 |
| 成功 URL / キャンセル URL | 支払い後、または引き返した後に購入者がたどり着く先。 |
各フィールドを尋ねる理由
Client ID
API 呼び出しであなたの PayPal アプリを識別します。Client secret と組になったときにのみ機能します。
Client secret
API 認証の秘密の半分。Client ID と合わせて注文を作れるようにし、支払いがあなたのアカウントを通るようにします。
Webhook ID
webhook が本当に PayPal からのものだと確認する方法です。PayPal は各 webhook を ID で識別し、当社はそれを使って、あるメッセージが本物かどうかを PayPal に直接尋ねます。これにより、誰も「支払い済み」イベントを偽造できません。
成功とキャンセルの URL
素の設定です。支払い後、または引き返した後に購入者がたどり着く先。秘密ではありません。
設定
- PayPal 開発者ダッシュボードを開く
developer.paypal.com にサインインします。PayPal は偽のビジネスアカウントと購入者アカウントを含む無料 Sandbox を提供しているので、実際のお金を動かさずにテストできます。このガイドでは Sandbox を使って説明しますが、Live の手順も同じで、Sandbox / Live トグル(左上)を切り替えて PayPal for Business アカウントを使うだけです。ダッシュボードから Apps & Credentials を開きます。
PayPal Developer → Apps & Credentials - アプリを作成する
API Credentials ページで Sandbox トグルが選択されていることを確認し、「Create App」(右上)をクリックします。
PayPal → Apps & Credentials → Create App - 名前を付けて Merchant を選ぶ
App Name を入力し(例:「Coin Moebius」)、Type を Merchant のままにして、サンドボックスのビジネスアカウントを選び、「Create App」をクリックします。
PayPal → Create App - Client ID と Client secret をコピーする
PayPal が新しいアプリを開きます。Client ID をコピーし、Secret key を表示してコピーします。(API Credentials 一覧の Default Application 行からも両方コピーできます。)控えておきます。
1. PayPal → API Credentials → 一覧のアプリ 2. PayPal → アプリ → Client ID と Secret Client secret は秘密です。パスワードと同様に扱ってください。サンドボックスアプリとライブアプリはそれぞれ独自のペアを持つので、混同しないでください。
- webhook を追加する
アプリページを下にスクロールして Sandbox Webhooks セクションに移動し、「Add Webhook」をクリックします。Webhook URL フィールドにプロジェクトの PayPal webhook アドレス(下記)を貼り付けます。次に Coin Moebius が使うイベントを選んで保存します。
- 一回払い:CHECKOUT.ORDER.APPROVED、PAYMENT.CAPTURE.COMPLETED、PAYMENT.CAPTURE.DENIED、PAYMENT.CAPTURE.DECLINED、PAYMENT.CAPTURE.REFUNDED、PAYMENT.CAPTURE.REVERSED、CUSTOMER.DISPUTE.CREATED。
- サブスクリプション(販売している場合のみ):BILLING.SUBSCRIPTION.ACTIVATED、BILLING.SUBSCRIPTION.UPDATED、BILLING.SUBSCRIPTION.CANCELLED、BILLING.SUBSCRIPTION.PAYMENT.FAILED、PAYMENT.SALE.COMPLETED。定期課金をしない場合は省略してください。
- 急いでいますか? All Events(上部のワイルドカード)を選んでも機能します。使用しないものは無視されます。
https://api.coinmoebius.com/webhook/paypal/<your project id>PayPal → アプリ → webhook を追加 プロジェクト ID は Coin Moebius ダッシュボードのプロジェクト名の下にあります。上記のアドレスに入れてください。接続済みプロバイダーカード(最後のステップ)にも同じ URL が参照用に表示されます。
- Webhook ID をコピーする
webhook が Sandbox Webhooks 一覧に表示されます。隣に表示されている Webhook ID をコピーします。これは Coin Moebius が PayPal に各 webhook の真偽を確認するために使います。サンドボックスとライブでそれぞれ別の webhook を登録してください。
PayPal → アプリ → Sandbox Webhooks → Webhook ID - Coin Moebius に戻る:プロバイダーを追加 → PayPal
プロジェクトで Providers タブを開き、「プロバイダーを追加」をクリックし、「サービスをつなぐ」を選んで PayPal を選びます。Success URL と Cancel URL を設定します。サンドボックスの認証情報でテストする場合は「Test (optional)」タブを使い、Client ID、Client secret、Webhook ID を貼り付けて「保存」をクリックします。すぐにライブで始める場合は Live タブを使います。Test グループは全か無か:3つのフィールドすべて、または何も入れません。
Coin Moebius → プロバイダーを追加 → PayPal - 接続しました
PayPal が Providers タブに接続日と共に表示されます(サンドボックスの認証情報を使用した場合は TEST とタグ付けされます)。カードには PayPal に貼り付けたのと同じ webhook URL、編集、接続解除が表示されます。
Coin Moebius → Providers → PayPal (接続済み) - サンドボックスの購入者でテストする
テストチェックアウトで支払いをするには、サンドボックスの購入者ログインが必要です。PayPal で Testing Tools → Sandbox Accounts を開くと、偽のビジネスアカウントと個人アカウントが確認できます。
PayPal → Testing Tools → Sandbox Accounts - 購入者のログイン情報を取得する
個人(購入者)アカウントを開いてログイン情報を確認します:サンドボックス URL、メール、パスワードが表示されます。テストチェックアウトで支払いを求められたら、sandbox.paypal.com にそれらでサインインします。実際のお金は動きません。
PayPal → サンドボックスアカウント → ログイン情報
接続した後
本番公開の前に、テスト支払いを一度実行します。
- 商品を作り、その Environment を Testing に設定します。これで商品がサンドボックスの認証情報で動き、お金を動かさずに注文を一通り出せます。(サンドボックスの組を省いた場合、Testing の商品はライブに戻るので、先に追加してください。)
- プロジェクトに向けた買うボタンをページ(ローカルの HTML ファイルでも可)に置きます。
- サンドボックスの購入者アカウントで支払って、チェックアウトを完了します。
- 取引タブを開きます。Testing と付いた新しい行が現れます。そのステータスが succeeded に達したら、認証情報と webhook が両方とも端から端まで機能しています。
実際の支払いの準備ができたら、商品の Environment を Live に切り替えます。
トラブルシューティング
まず「検証」から。ダッシュボードで「検証」(サンドボックスには「テスト認証情報を検証」)をクリックして、client の認証情報を確認します。
検証が失敗する。
Client ID と Client secret を改めてコピーしてください。サンドボックスのアプリとライブのアプリは別の組を持つので、混ぜないでください。
支払いは完了するのに、注文が保留のまま。
Webhook ID は、client の認証情報と同じアプリ・同じ環境のものでなければなりません。ライブの認証情報にはライブの webhook ID が必要です。webhook URL が一致することを確認してください。
端から端まで確認する。
PayPal Developer Dashboard → Webhooks Simulator:サンプルのイベントを webhook URL に送り、注文が更新されるのを見てください。
知っておくとよいこと
シークレットのローテーション. 新しい client secret をいつでも生成して、貼り付けます。秘密のフィールドは編集時に空欄のままです。
ご質問は? Join our Discord