『OpenCart』にPAYPALの支払い設定をする

支払いオプションとしては、今後日本国内でも増えていくと思われるPAYPALの支払い設定をします。
簡単にメリットを言うと、、、早く決済できて、顧客・ショップともに負担が少ない、ということでしょうか。

PAYPALを利用するメリット

PAYPALは、クレジットカードなどの支払いが可能なグローバル決済サービスで、決済は暗号化されたPAYPALのWEB処理バックグラウンドで行われますので、ショップ側では、クレジットカードなどの個人情報を扱う必要がなく、顧客・ショップともに安心。

また、国際取引の場合でも、国際間の銀行振込や他のクレジット決済サービスに比べ、処理手数料が安く小規模のショップや個人でも利用しやすい。(クレジット決済を利用しても、月次のアカウント維持費やトランザクション手数料、初期設定費などが不要。売上の有ったときのみ、決済手数料として、3.5~5%程度の費用が掛かるのみ)

決済から口座への入金まで最大2ヶ月、3ヶ月と掛かってしまう国内の他サービスに比べても、決済された代金への口座入金速度が早い。

では、PAYPAL側の設定から始めます。

PAYPAL決済を利用するための前準備

前提として、PAYPALのWEBサイトでアカウントを開設し、認証しておいてください。
認証は、利用者が正しいユーザである事を確認するために、登録したクレジットカードへPAYPALから一旦200円の課金をすることで承認をします。支払った200円は、後日返金されますので、画面の案内に従って、返金手続きをしてください。(多分メールでも案内来たと思う・・・)
新規で登録するなら、メールアドレスは、ショップで利用するものにしておくといいと思います。

さて、では。
今回設定する範囲は、ショップ(OPENCART)で、顧客がPAYPAL支払いを選んだ場合に、PAYPAL経由で支払いを済ませ、完了後、ショップのWEBサイトに自動的に戻ってくる、というところまでです。
では、設定します。

PAYPALのWEBサイトへログインして設定準備を済ませる

  1. 先にPAYPALの画面にログインして、上部のメインメニュータブから「マイアカウント」→「個人設定」をクリック。
  2. 左のサブメニューで「販売ツール」をクリック。「オンライン販売」の項目の中の「ウェブサイトの設定」で右側の「更新」リンクをクリックして設定画面に進みます。
  3. OpenCartのWEBサイトのドキュメンテーションに説明してあるように、下記の通り設定項目を編集していく。

    ・ウェブ ペイメントの自動復帰 →オン、復帰URLに自ショップのURL(http://www.○○○.com)を入力
    ・支払いデータ転送(オプション)→オン(※後でIDトークンが発行されます)
    ・暗号化ウェブ ペイメント →オフ
    ・PayPal アカウント オプション サービス →オン
    ・連絡先電話番号 →オン(オプションフィールド)
    ・エクスプレス チェックアウトの設定 →いいえ
    上記完了したら、「保存」ボタンをクリック。オプション項目を変えたい場合は、適宜ご自身の希望にあうものへどうぞ。
  4. 1つ前の画面から(=2.の画面:「マイアカウント」→「個人設定」左のサブメニューで「販売ツール」をクリック。)今度は2つ目のメニューグループ「支払いとリスク管理」の「即時支払い通知」の右の「更新」リンクをクリック。
    [即時支払い通知(IPN)]の画面になりますので、「設定を編集」ボタンをクリック。
    ・通知url →自ショップのURL(http://www.○○○.com)
    ・IPNメッセージ →IPNメッセージを受信する(有効)
    として、保存します。以上です。
  5. ※「ウェブサイトの設定」で発行されたIDトークンは確認できたら、どこかにメモするかテキストファイルなどにコピーして一時保存しておきます。後でOPENCART側の設定で使用します。
  6. 最後に一応言語設定をします。同じく1つ前の画面から(=2.の画面:「マイアカウント」→「個人設定」左のサブメニューで「販売ツール」をクリック。)一番下の方の「その他の販売ツール」から「PayPalボタンの言語コード化」リンクをクリック。「詳細オプション」ボタンをクリック。エンコードをUTF-8に変更して保存します。

OPENCARTの管理画面へログインしてPAYPAL支払いの設定をする

  1. 管理画面にログインして、上部のメインメニューから「拡張機能」→「支払い設定」画面へ。「Paypalスタンダード」(真ん中くらい)の「インストール」リンクをクリック。「変更」というリンクが追加されるので、クリックして編集画面へ。
    ※「PayPal Website Payment Pro」はアメリカのサービス、「PayPal Website Payment Pro (UK)」はイギリスのサービスなので、日本では、「Paypalスタンダード」を選びます。
  2. 各項目の設定をします。

    ・Eメール: →PAYPALに登録のメールを入力(支払いの認証に使われます)
    ・PDT Token: →PAYPALで発行されたトークンIDを入力
    ・Sandbox モード(テストモード): →いいえ
    ・トランザクション(承認と回収): →AuthorizationまたはSaleを任意に選択。
    ・ゲオゾーン: →PAYPAL支払いを使用する地域を選択。特に限定する場合は、ジオゾーンの編集(システムまニュー内)からPAYPAL支払い用地域を作成しておきます
    ・ステータス: →有効
    ・表示順位: →任意の支払い方法選択画面での表示順番
    ・Debug Mode: →テスト時にはエラー原因がわかるので有効にする。実運用時には無効でも構わない
    ・取引ステータス(Completed): →処理完了
    ・取引ステータス(Pending): →未処理
    ・取引ステータス(Denied): →処理を拒否
    ・取引ステータス(Failed): →処理失敗
    ・取引ステータス(Refunded): →返金処理中
    ・取引ステータス(Canceled Reversal): →キャンセル取り消し
    ・取引ステータス(Reversed): →逆処理
    ・取引ステータス(Unspecified Error): →処理失敗
    ※通常の処理を選択しています。自分が特に違う処理をさせたい場合は、任意で設定を変更してください。
    保存して終了。

※PAYPALのトランザクション処理のステータス項目の説明を見たい場合は、こちらのサイトで確認できます。(英語です)
https://www.paypalobjects.com/en_US/vhelp/paypalmanager_help/transaction_type_codes.htm

OPENCARTからPAYPAL支払いができるかテストする

PAYPALのサイトでサンドボックス(テスト環境)の準備をする

こちらのPAYPALサンドボックスの利用方法を見ながら、作業します。
https://www.paypal-japan.com/business/sandbox.html

  1. PAYPALのサンドボックスサイト(http://developer.paypal.com/)へアクセスし、テストアカウントの登録をします。
    ページ中央下の「Sign Up Now」ボタンをクリックし、表示されたフォームに順に入力していきます。
    普通に受信可能なメールアドレスでテスト用のアカウント登録してください。
    ただし、ここはテスト環境です。本番サイトほどしっかりとはセキュリティは守られていないと考えるほうがいいでしょう。
    ですので、セキュリティ上、PAYPALで実際の支払いやビジネスに使用するメアドは利用しないでください
    登録したメルアド宛にPAYPALからアカウント確認メールが届きますので、リンクをクリックしてアカウントの承認を行ってください。
  2. 注文テストを行うには、購入者(=BUYER)用の一般アカウントと販売者(=SELLER)用のビジネスアカウントが必要ですので、そのそれぞれのダミーアカウントを作成します。
    では2つのダミーアカウントを順に登録していきます。
    ページ真ん中より少し上の、「Create a preconfigured buyer or seller account」をクリックします。
  3. 1つめの、SELLERアカウントを作成します。

    ※ダミーですので設定内容は任意で構いません。クレジットカードのトランザクションテストを行うので、カードは何か選んでおきます。また、ここで登録するメールは、ダミーが作成されますので、先ほど登録したサンドボックス用のアカウントで使用したメアドでも構いません。下の「Create Account」ボタンをクリックして保存します。
    ※画像がBUYERになってますが、SELLERを選択してください。間違えても、もうひとつも後で作るので、気にしなくてOKです。
  4. 登録できたら、こんな画面になりますね。作成できたアカウントがリストになっています。(1こだけ)
    ビジネスアカウント(ダミー)が作成できました。
  5. 画面中央右上の「Preconfigured」リンクをクリックします。
    次に表示されるページで、先ほどと同じ要領で、次はパーソナルアカウントを作成します。次のページで表示されるダミーアカウントは、合計2つになりました。
  6. 一覧表の下のオレンジの「Enter Sandbox Test Site」ボタンをクリックして、サンドボックスのテストページを開きます。見慣れたPAYPALの本サイトと同じようなインターフェイスのページが表示されましたでしょうか。まずは、ビジネスダミーアカウントの方でログインしてみてください。

PAYPALのSANDBOXテストサイトでビジネスダミーアカウントの設定をする

  1. 先にPAYPALの本サイトで登録したように、「マイアカウント」→「個人設定」タブへ進み、「販売の設定」メニューグループの中から「ウェブ ペイメントの設定」リンクをクリックします。(本サイトの表示とは少し見栄えが違いますが、機能は同じです。)
  2. 先に本サイトで設定したのと同じように設定し、保存できたら、IDトークンが発行されますので、メモまたはテキスト保存しておきます。

OPENCARTの管理画面でPAYPAL支払いの設定をテスト用に変更する

PAYPALのテストが出来るように、ショップの管理画面で一時的にテスト用の設定に情報を変更しましょう。

  1. OPENCARTの管理画面から先ほど編集した、支払方法設定の「PayPalスタンダード」→「変更」へ進みます。
  2. E-メールアドレスを、PAYPALのテストアカウントで発行したダミーのビジネス用アカウントに、PDT TokenをテストサイトのIDトークンに、変更します。Sandbox モード(テストモード)を「はい」にして、念のため、Debug Modeも「有効」にしておきましょう。保存します。
  3. ※本番用のIDトークンなどは、どこかにテキストデータで保存しておいたほうがいいかもしれません。テストが完了したら、本番のデータに戻しますので。

OPENCARTのショップ画面から実際にテスト購入しPAYPAL決済ができるか試す

いよいよ自分が購入者になって、商品を、PAYPAL決済で買ってみます。

  1. OPENCARTのフロントショップ画面にアクセスし、何かの商品を購入手続きしてみてください。支払いの画面で、白灰方法にPAYPALを選択します。
  2. OPENCARTで入力するEメールは、実際に送受信できるメアドで登録します。
  3. PAYPALの支払画面につながりますので、そこで入力するPAYPALの(テスト)アカウントログインのメアドは、先ほど、テスト用に作成したBUYER用のパーソナルアカウント・メールを入力し、ログインします。
  4. 支払いが完了できたら、OPENCARTの、購入完了ページに表示ページが戻ってくるかまでを確認して下さい。

PAYPALの画面(サンドボックス)で売上が正しく受信処理できているか確認する

最後に、再び、PAYPALのテストサイト(サンドボックス)に戻り、

・SELLERアカウントでログインして、売上が計上されているか、処理は意図したとおりになっているか
・BUYERアカウントでログインし直して、自分が支払った情報が計上されているか

チェックしてください。
追加で利用したいサービス(例えば請求書の発行など)やオプションの設定、オーソライゼーションの処理なども試すことができます。

さらに、サンドボックスのテストアカウント設定画面(テストアカウントを作成した画面)からは、左メニューの「Test Email」メニューで、購買時に、顧客(BUYERアカウント)と店舗(SELLERアカウント)の両方にPAYPALから送信されるそれぞれのメールの内容を確認することもできます。

これで、OPENCARTでPAYPALの支払いが設定できました。
テストが完了したら、公開前に、OPENCART管理画面でテスト用に変更した設定を元の本番用に戻します。
※こういった設定のうちPAYPAL側での設定は、EC-CUBEなどもほぼ共通です。良かったら試してみてください。

PAYPALのサンドボックスでは、その他のAPIなどもテストできますが、今回はここで。