Active Merchant で PayPal Sandbox を使うには

Ruby on Railsで作ったWebサービスからPayPalや海外の決済サービスを使う場合、そのサービス固有のAPIを使わなくても Active Merchant を使うと、簡単に信頼性の高い決済を組み込めます。

Active Merchant の使い方は 以下の3つのRailsCastを見るのが一番良いと思います。

RailsCastを見て、サンプルコードを動かすのは簡単です、またサンプルは Rails2.2.X用ですが Rails 3.0.X でも少しの修正で動かせました。
ところが、テスト用に PayPal を使おうとしたのですが、これがわかりにくい !!
たんに英語力が低いだけかもしれませんが、苦労した結果をまとめておきました。

PayPal sandbox にテスト用にアカウント作成方法

まず、PayPalの決済には利用者側でクレジットカード番号等を入力し決済を呼び出す PayPal Payments Standard と カード番号等は PayPalのページで入力する Express Checkout の2つがりあすが、今回は PayPal Payments Standard の話です。

1. PayPal sandbox に登録する

PayPal sandbox を使うための登録を行います、ここで登録する e-mail アドレスは受信出来るアドレスで、かつPayPalを使うために登録してあるアドレスとは別のアドレスで登録して下さい。
PayPal Sandbox - Log In


2. 決済のテストで使うアカウントを作成する

決済をテストするためには2種類のアカウントが必要です

  • お金を受け取る(ネットショップ など)側の Bussiness アカウント
  • お金を払う(お客様など)側の Personal アカウント

Test Accountページの New test account: Preconfigured をクリックしてアカウントを作って下さい。Create Manually を使うと日本語名のアカウントが作れますが、私が試した範囲では上手く決済できませんでした。

Preconfiguredをクリックすると下のような画面が表示されます、ここで重要な事は

  • Country: を United States にする
  • Account Typeは
    • ネットショップ 側は Seller
    • お客様側は Buyer
  • First name, Last name はお客様側では入力しておくと良いと思います
  • メールアドレスは適当なアドレスが設定されています。実際にメールを受信する必要はないのでデフォルトで良いと思います。
  • Passwordは適当な値が入っていますが、自分の覚えやすいものに替えた方が良いとおもいます

後はそのままで Create Account して下さい。


下の画像のように、Bussiness, Personal 2つのアカウントを作成します。View Details で表示される情報の中に テストで使える クレジットカード番号があるので Personalアカウントのカード番号をメモしておくと良いと思います。
また、左側の Test Emailメニューでこのアカウントのメールアドレスに送られてきたメールを読めます。


3. API用の情報を確認する

左側の API and Payment Card Credentials メニューをクリックすると APIに設定する Account,Password, Signature が表示されるので Active Metchant のgatewayに設定して下さい。

RailsCast#145のサンプルコードを動かし、Personalアカウントのカード番号を入力すると決済が出来ます。

4. 決済情報の確認

Businessアカウントを選択し、Enter Sandbox Test Site ボタンをクリックし、Businessアカウントのメールアドレス(入力済みです)、パスワードを入力すると下の画像のように、カード決済の情報が確認できます。



以上です、何度も失敗してやっと辿り着けました ^^);
今日の結論「英語力重要