[追記あり]PayPalの支払画面でアカウント未所持の場合に自動的にデフォルト値を入力させる方法

このエントリーをはてなブックマークに追加

こんにちは、fujinyoです。
今回はPayPalのお話です。

ECサイトの決済システムとしてPayPalを採用している方は多いと思います。
ソフトバンクと小売店向け決済サービスをやったり、少しずつですがPayPalの認知も上がる事を期待したいのですが、PayPalアカウントを持っていない人ってまだまだ多いんじゃないでしょうか。

PayPalアカウントを持っていなくても決済は可能です。
PayPalゲストとして支払う方法ですね。決済画面で赤い部分をクリックします。

クリックすると、カード番号、名前、住所、電話番号と入力するフォームが出てきます。
ECサイトのような、ユーザーの住所や名前をDB等に保存しているのであればその情報をあらかじめフォームへ入力しておきたい所です。
ユーザーさんの手間を少しでも減らせば、コンバージョンも上がります。

PayPalのAPIを使う

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へのログイン画面ではなくゲスト支払いのページがデフォルトで表示されます。

[PR] 「結さん」があなたに代わって開発案件の依頼主を探します

  • 「既存のクライアントにギャラアップは言いにくい」
  • 「営業活動する時間がないし、苦手」
  • 「仕事が途切れたらどうしよう」

ITエンジニアのこんな悩みを「結さん」が解決してくれます
結さんへの無料会員登録後は提案メールを待つだけです!

関連記事

このエントリーをはてなブックマークに追加