こんにちは、fujinyoです。
今回はPayPalのお話です。
ECサイトの決済システムとしてPayPalを採用している方は多いと思います。
ソフトバンクと小売店向け決済サービスをやったり、少しずつですがPayPalの認知も上がる事を期待したいのですが、PayPalアカウントを持っていない人ってまだまだ多いんじゃないでしょうか。
PayPalアカウントを持っていなくても決済は可能です。
PayPalゲストとして支払う方法ですね。決済画面で赤い部分をクリックします。
クリックすると、カード番号、名前、住所、電話番号と入力するフォームが出てきます。
ECサイトのような、ユーザーの住所や名前をDB等に保存しているのであればその情報をあらかじめフォームへ入力しておきたい所です。
ユーザーさんの手間を少しでも減らせば、コンバージョンも上がります。
PayPalのAPIを使いましょう。
ここでは、APIを使う前準備な話は割愛します。
ちなみに、その辺りから知りたければここのサイトが詳しいです。
PayPal APIの使い方 – SandboxのアカウントでCheckout Expressを試してみた
PayPalのAPIを使った基本的な課金の方法について調べたので、基本的なサンプルを動かすところまでメモしました。
PayPal Integration Wizardにて作ったファイルの中の paypalfunctions.php を少し編集します。
ファイル内の71行目に CallShortcutExpressCheckout という関数があります。
この関数内に下のようなコードがあります。(76行目~80行目)
$nvpstr="&PAYMENTREQUEST_0_AMT=". $paymentAmount; $nvpstr = $nvpstr . "&PAYMENTREQUEST_0_PAYMENTACTION=" . $paymentType; $nvpstr = $nvpstr . "&RETURNURL=" . $returnURL; $nvpstr = $nvpstr . "&CANCELURL=" . $cancelURL; $nvpstr = $nvpstr . "&PAYMENTREQUEST_0_CURRENCYCODE=" . $currencyCodeType;
これは、RETURNURLやCANCELURLというパラメータを指定しているんですが
これと同じやり方で、フォームにデフォルトで入力させておきたいパラメータを追加していきます。
以下は、サンプルです。(81行目から追加していく形です)
$nvpstr = $nvpstr . "&SHIPTOCOUNTRYCODE=JP"; //国コード $nvpstr = $nvpstr . "&SHIPTONAME=".$name; //名前 $nvpstr = $nvpstr . "&SHIPTOZIP=".$zip; //郵便番号 $nvpstr = $nvpstr . "&SHIPTOSTATE".$state; //都道府県 $nvpstr = $nvpstr . "&SHIPTOCITY=".$city; //市区町村 $nvpstr = $nvpstr . "&SHIPTOSTREET=".$street; //番地 $nvpstr = $nvpstr . "&SHIPTOSTREET2=".$street2; //建物名,階,部屋番号 $nvpstr = $nvpstr . "&SHIPTOPHONENUM=".$phone; //電話番号 $nvpstr = $nvpstr . "&EMAIL=".$mail; //Eメール
国コードは日本人相手なら基本的に JP で固定でいいです。
名前は、半角スペースで姓と名を分けるようにして下さい。
普通に”山田 太郎”にしてしまうと、姓名が逆になると思うので”太郎 山田”で渡してやる必要があります。
郵便番号は必ずハイフンをつけて渡します。
PayPalのシステム側でハイフンを判別して分割してくれます。
各パラメータとフォームとの対応を画像にしてみました。
以上です。
これで、ユーザーさんの手間を大きく省く事ができますね。
では、また。
[08/11 追記]
PayPalゲストとして支払う方法を支払ページが表示された際のデフォルトに設定したい場合は
$nvpstr = $nvpstr . "&LANDINGPAGE=Billing"; //ゲスト支払いをデフォルトにする
と、指定してやればPayPalへのログイン画面ではなくゲスト支払いのページがデフォルトで表示されます。
関連記事
- PayPal取引検索では定期購読取引は請求書番号(ID)で検索できない
- [Mac] アドビが無料公開したフォント「Source Code Pro」をNetBeansで使ってみたよ
- [IE対策も] UTF-8フォームから別の文字コードへPOSTする際の文字化け解消法
- あなたのブログの「問い合わせフォーム」は大丈夫ですか?
- シムシティが復活、2013年3月に新作が発売!