STAFF BLOG スタッフブログ

PayPal APIについて調べてみた

paypal-logo

PayPal(ペイパル)って聞いたことありますか?

ペイパルは、世界中で利用されている決済サービスです。ショッピングをする人、ビジネスをする人など、さまざまな方に、より便利で、より安心して決済できるサービスを提供しています。ペイパルに登録されたアクティブアカウント数は1億以上、ペイパルを利用できるオンラインショップは900万店以上です。また、203の国と地域で利用でき、26通貨に対応しています。

※PayPalサイトより抜粋

PayPalは世界最多の利用者をほこるオークションサイトeBayでも利用されています。今回はPayPalのAPIを利用した決済について紹介したいと思います。

PayPalの決済サービス

PayPalの決済サービスには以下の種類があります。

決済サービス説明
ウェブペイメントスタンダード 自動生成されるHTMLソースをコピー&ペーストするだけで決済が可能
ウェブペイメントプラス iframeを使ってシームレスな決済が可能。月額3,000円の有料サービス
エクスプレスチェックアウト APIを利用した決済が可能。プログラミングの知識必須
請求書ツール メールで支払を請求し、メール内に含まれるリンクから簡単に決済が可能
PayPal Here 専用のアプリとカードリーダを使うことでスマホでクレジット決済が可能

PayPal APIを利用して決済を行う場合は、エクスプレスチェックアウトを使うことが分かりました。

PayPal API

エクスプレスチェックアウトではPayPalのAPIを利用して(プログラミングすることで)決済を行います。APIはこれまでに何度かリニューアルが行なわれているようですが、現時点では以下の3種類に分類されています。

API説明
Mobile SDK スマホアプリ用のAPIを提供する。ガラケーには対応していない
REST API REST形式のAPI。日本では対応していない機能がある
Classic API 従来からのAPIのリニューアル版。NVP形式とSOAP形式で利用可

法律が国によって異なるせいか(PayPalはアメリカの企業なので)アメリカでは利用できる機能が、他国では使えないこともあります。残念ながら日本では、REST APIは一部の機能しか利用することができません。エクスプレスチェックアウトを実装するには「Classic API」を使いましょう。

paypal3PayPal Classic API

PayPal Classic APIには機能別に以下に分類されます。APIはRuby、JAVA、PHP、ASP.NETなどの言語でSDKやサンプルが用意されているので開発者としては助かります。敵は英語だけですね…

Classic API説明
Adaptive Accounts PayPalアカウントの作成に関する機能
Adaptive Payments お金の支払に関する機能
Button Manager 決済のボタンを動的に作成、管理する機能
Invoicing 請求書の作成、送信、追跡などに関する機能
Merchant APIs 商品の購入に関する機能。これが基本
Permissions 別のユーザから承認を受けて処理を代行する機能

エクスプレスチェックアウトは「Merchant APIs」に含まれています。

開発の準備

1. PayPalアカウントの作成

まずはPayPalのアカウントを作成しましょう。アカウントには「パーソナル(プレミア)」「ビジネス」の2種類がありますが、APIはどのアカウントでも利用できるので、より簡単なパーソナルアカウントを作成します。

  1. PayPalサイトに接続
  2. ページ右上の「新規登録」ボタンをクリック
  3. 「パーソナル」と「ビジネス」があるのでパーソナルの「今すぐ登録」ボタンをクリック
  4. 住所、電話番号等の情報を入力してアカウントを作成する
  5. Eメールアドレスに確認メールが届くので、ログインして登録を完了させる

paypal1※Eメールアドレスは、PayPalのログインアカウントとしても利用されます。
※取引を行わないのであればクレジットカードの登録は必要ありません。

2. Sandboxアカウントの作成

PayPal決済のテスト環境としてSandboxが提供されています。Sandbox環境ではリアルマネーを使用しないで取引を行うことができます。

  1. PayPalのデベロッパーサイトに接続
  2. PayPalパーソナルアカウントでログインする
  3. トップページ上部の「Applications」リンクをクリック
  4. 画面遷移後、左側に表示されている「Sandbox accounts」リンクをクリック
  5. 画面右上の「Create Account」ボタンよりテスト用のアカウントを作成する

paypal2ビジネスアカウント(売り手)とパーソナルアカウント(買い手)を一つずつ作成しておけばよいかと思います。

3. PayPal クレデンシャル情報(Sandbox用)の入手

APIを利用するには、PayPalアカウントのCredentials(資格情報)が必要になります。

  1. Sandboxサイトに接続
  2. Sandboxのビジネスアカウントでログインする
  3. 「マイアカウント」 - 「個人設定」をクリック
  4. 画面遷移後、「アカウント情報」 - 「APIアクセス」をクリック
  5. 画面遷移後、「API署名の表示」をクリック

ここに表示されている、「APIユーザ名」「APIパスワード」「署名」が開発(APIの接続)に必要になるので控えておきましょう。ここまで準備が整えば、後はちくちく開発していくだけです。

paypal4

※本アカウントの場合は、若干手順が異なります。
※Merchant APIs以外の機能(Adaptive Paymentsなど)を利用する場合は、PayPalクレデンシャル情報以外に、アプリケーションIDが必要になります。

PayPal Developer Tools

PayPalの開発ツールを公開しているサイトを利用すると、エクスプレスチェックアウトのサンプルコードをダウンロードすることができます。

API Explorer(Beta版)

API Explorerでは、Classic APIの動作を疑似的に確認することができるので結構便利です。使い方がよくわからないAPIはまずここで使ってみましょう。

Integration Wizard

ウィザードに沿って情報を入力すると、エクスプレスチェックアウトのサンプルコードをダウンロードすることができます。いきなりコードを書くのは難しいので、まずはここでサンプルコードを入手してから修正していくのが無難かと思います。

まとめ

  • PayPal APIで決済を行うにはエクスプレスチェックアウトを使用する
  • エクスプレスチェックアウトを使用するには、Classic APIに含まれるMerchant APIs群を使用する
  • PayPal APIを使用するにはPayPal クレデンシャル情報が必要
  • PayPal APIのテストはSandboxで行う

ちょっと長くなってきたので、次回以降にエクスプレスチェックアウトの流れや、エクスプレスチェックアウトで使用しているAPIの説明をしていきたいと思います。

PayPal APIについて調べてみた その2へ

ではでは

INDEXブログ一覧へ
CONTACTお問い合わせはこちら