Screen-shot-2012-12-05-at-8.41.40-PM

PayPalで課金を実装

PayPalで課金を実装最近サイトも新しくなった、PayPal(ペイパル)を使った決済サービスの導入とIPN(即時支払い通知)の設定を紹介します。
IPNとは、お客様が決済完了した時にPayPalから通知を受け取り、ウェブ上で決済を完結するための機能です。


手順1.ビジネスアカウントの登録

新規登録をクリックしビジネスアカウントを登録し本人確認手続きを行います。

PayPal ビジネス向けアカウントの登録方法

手順2.決済サービスの選択

メール決済やスマートフォン向けなどサービスなどあります、 今回はウェブペイメントスタンダードをベースにしてカスタマイズします。

PayPal サービス

決済サービス一覧

  • ウェブペイメントスタンダード 
  • 請求書ツール 
  • PayPal Here 
  • ウェブペイメントプラス 
  • エクスプレスチェックアウト 

手順3.Sandboxでテストアカウントを作成

PayPal Sandbox(サンドボックス)のアカウントを登録しBuyer(買い手)アカウントとSeller (売り手)アカウントを用意します。Sandboxは決済の動作確認ができるテスト環境です。

PayPal Sandbox(開発用テストツール)
PayPal Sandbox

手順4. チェックアウトページに送信するフォームを用意 

SellerのメールアドレスなどをHiddenに配置したフォームを用意し、POST送信することでチェックアウトページへ遷移します。

コードサンプル コードサンプルのHTML変数

  • action : SandboxのURLを設定「https://www.sandbox.paypal.com/cgi-bin/webscr
  • business : Sandboxで作成したSellerのメールアドレス
  • item_name : 商品名
  • amount : 商品単価
  • quantity : 商品数
  • currency_code : 通貨コード
  • lc : PayPalチェックアウトページのロケーションコード
  • charset : PayPalチェックアウトページの文字コード
  • cancel : チェックアウトキャンセル時のリダイレクト先URL
  • return : チェックアウト完了時のリダイレクト先URL
  • notify_url : チェックアウト完了時のIPNの通知先URL
  • cmd : 決済処理コマンド

決済処理コマンドの種類

  • _xclick : 今すぐ購入ボタン
  • _cart : カートに追加ボタン
  • _oe-gift-certificate : ギフト券の購入ボタン
  • _xclick-subscriptions : 購読ボタン
  • _xclick-auto-billing : 自動課金ボタン
  • _xclick-payment-plan : 分割払いボタン
  • _donations : 寄付ボタン
  • _s-xclick : セキュア購入ボタン

HTML変数の詳細
ライブラリや変数の説明など詳細な情報は、X.commerce(エックスコマース)にまとめられています。X.commerceとは、eBay(イーベイ)によるECサイトのためのエコシステムで、PayPalの他に、Milo(マイロ)の商品検索エンジン、Magento(マジェント)の受発注・商品管理機能、Facebookとの連携など用意されています。

関連URL

  • X.commerce PayPal Payments Standard Overview(ペイメントスタンダード概要)
  • X.commerce Single-Item Payments – Buy Now Buttons(今すぐ購入ボタン詳細)
  • X.commerce HTML Variables for PayPal Payments Standard(HTML変数の詳細)

手順5. PayPalチェックアウトのIPNを受信

チェックアウト完了後のIPNを受けとるコードをnotify_urlで設定したURLにデプロイします。X.commerceにコードサンプルが用意されています。

PayPal Developer Instant Payment Notification (コードサンプル 即時支払い通知)

IPN変数の例

  • item_name : 商品名
  • payment_status : 決済処理ステータス
  • mc_gross : 決済金額
  • txn_id : トランザクションID
  • txn_type : トランザクションタイプ
  • payer_email : 支払い者のメールアドレス

関連URL

手順6. PayPalビジネスアカウントで実装する 

フォームの送信先URLを「https://www.paypal.com/cgi-bin/webscr」に変更して、HTML変数「business」をSandboxのアカウントからビジネスアカウントに変更します。

おまけ. エラー

アカウント作成時に、環境設定で通信の暗号化をONにしていたことで実装時に下記のエラーを出してしまいました。

The seller accepts encrypted website payments only. You cannot pay the seller through un-encrypted buttons. Please contact your seller for more details.

参考URL:
Why is my PayPal account blocking payments from un-encrypted buttons?

以上、ご参考までで。
Posted : Round up

About the author

    コメントを残す