冒頭の画像はPayPalのPayPal.Meで実際に商品を販売したときの取引の詳細です。購入者の氏名・Email、商品の購買金額など取引に関する情報はPayPalが用意しているPayment APIで保存されています。
今回の記事では、curlコマンドを使って、Payment APIで保存されている実際の販売情報をJSON形式でmacOSのターミナル画面に表示させる方法を紹介します。
作業の流れ
Payment APIで販売情報を取得させるためには、大きく分けて4つの作業が必要となります。
1. アプリケーションの作成 ↓ 2. 本番環境で使うClient IDとSecretの取得 ↓ 3. curlコマンドでAccess-Tokenの取得 ↓ 4. curlコマンドで販売情報を取得
以下の文章で順を追って説明いたします。
1. アプリケーションの作成
あらかじめ取得したPayPalのビジネスアカウントでPayPal developerにログインしたところから説明します。
REST API appsの箇所までスクロールして、[Create App]をクリックします。
[App Name]に任意のアプリケーション名を入力します。[Sandbox developer account]に作成済みのSandBoxアカウントを選択して、[Create App]をクリックします。
完了すると「SANDBOX API CREDENTIALS」という画面が表示されます。
2. 本番環境で使うClient IDとSecretの取得
Payment APIに保存されている実際の販売情報を取得するためには、Access_Tokenが必要です。そのAccess_Tokenはアプリケーション作成時に表示されるClient IDとSecretに基づいて取得します。
Sandbox画面からLive画面に切り替え
まず「SANDBOX API CREDENTIALS」の画面を「Live」に切り替えます。[PayPal account]や[Client ID]の表示が変わります。ただしこのままでは[Client ID]や[Secret]は使うことはできません。これらの文字列を有効化する作業が必要です。
Client IDとSecretの有効化
下にスクロールすると「LIVE APP SETTINGS」という見出しが表示されます。
- PayPal Here - Log In with PayPal - Transaction Search
デフォルトでは上記の3つのチェックボックスにはチェックが入っていません。これらすべてにチェックを入れて[Save]を押します。[Save]ボタンを押すと、コールバックURLを入力するように促されます。コールバックURL(”localhost”以外なら何でもOK)を入力して再度、[Save]ボタンを押します。
「Application was saved successfully」が表示されて、アプリケーションのClient IDとSecretが有効化されました。
Client IDとSecretのコピペ
画像を上部にスクロールしてClient IDとSecretを表示させます。扱いやすいようにするために、エディタソフトなどにそれぞれコピペしておきましょう。
3. curlコマンドでAccess-Tokenの取得
curlコマンドに有効化されたClient IDとSecretのオプションをつけて実行してAccess-Tokenを取得します。コマンドの詳細は、Qiitaの記事に基づき以下の通りとなります。
curl -v https://api.paypal.com/v1/oauth2/token \ -H "Accept: application/json" \ -H "Accept-Language: ja_JP" \ -u "<Client ID>:<secret>" \ -d "grant_type=client_credentials"
上記のコマンドを実行すると、
{ "scope":"https://api.paypal.com/v1/payments/.* https://api.paypal.com/v1/vault/credit-card https://api.paypal.com/v1/vault/credit-card/.*", "access_token":"<Access-Token>", "token_type":"Bearer", "app_id":"APP-6XR95014SS315863X", "expires_in":28800 }
上記のレスポンスがターミナル画面上に表示されます。Access-Tokenは扱いやすいよう、エディタソフトなどにコピペしておきましょう。
コマンド入力時の注意点
実際にコマンド入力をするときは、<Client ID>と<secret>の不等号記号は外してください。
またQiitaの記事はSandBoxの販売情報を取得するためのコマンドです。実際の取引情報を取得するためには、vオプションの引数である、URLを”https://api.paypal.com/v1/oauth2/token“にします(”sandobox”という文字列を削除する)。URLに関する詳細はPayPal Developerの公式ドキュメントを参考にしてください。
4. curlコマンドで販売情報を取得
Access_Tokenの取得ができたら、PayPal developerの公式ドキュメントを参考にしてJSON形式で取引情報を参照します。
curl -v -X GET https://api.paypal.com/v1/payments/sale/sales_id \ -H "Content-Type: application/json" \ -H "Authorization: Bearer <Access-Token>"
上記のコマンドを実行すると、
このようなレスポンスがPayPal.Meによる取引情報としてターミナル画面上に表示されます。