この記事のカテゴリー:

【第2回】PayPalのエクスプレスチェックアウトをインテグレーションするには?【全3回】

【第2回】PayPalのエクスプレスチェックアウトをインテグレーションするには?【全3回】

【第2回】PayPalのエクスプレスチェックアウトをインテグレーションするには?【全3回】

PayPalのエクスプレスチェックアウトをPHPを使って導入する方法を全3回にわたってお送りしております。

第2回目にお話する内容はこんな感じです。

  1. PayPalの言語エンコードを選択しよう。
  2. PayPal Integration WizardでサンプルプログラムをGetしよう。

たった2つの項目についてです。今回もサクッと目を通していただけるボリュームです。

1.PayPalの言語エンコードを選択しよう。

実は、本番環境とSandboxでは若干画面のレイアウトが違います。

まずは、本番環境の言語エンコードを確認・変更しましょう!

個人設定-販売ツールの「PayPalボタンの言語コード化」をクリックします。

続いて、言語のエンコードで「詳細オプション」を選択します。

私の環境ではウェブサイトのエンコードは「UTF-8」なのでエンコード方式「UTF-8」を選択します。
皆さんもご自身の環境に合わせてエンコード方式を選択してください。

「保存」ボタンをクリックして完了です。

では次に、Sandboxの言語エンコードも確認・変更しましょう!

Sandboxにログインして、個人設定の「言語のエンコード」を選択します。

続いて、言語のエンコードで「詳細オプション」を選択します。

私の環境ではウェブサイトのエンコードは「UTF-8」なのでエンコード方式「UTF-8」を選択します。
皆さんもご自身の環境に合わせてエンコード方式を選択してください。

「保存」ボタンをクリックして完了です。

2.PayPal Integration WizardでサンプルプログラムをGetしよう。

まず、PayPal Integration Wizardにアクセスしてください。

PayPal Integration Wizard

アクセスできたら、下図のように「Express Checkout PayPal」を選択し、「Get Started」をクリックします。

Get Startedページには「ウィザードを開始する前にチェックアウトのフローを理解し、SandboxのテストアカウントでAPI証明書の取得し、ショッピングカートをプログラミングして用意する必要があるよ。」って注意書きがありますが、「Skip Introduction」をクリックして次へ進みましょう。

「Skip Introduction」をクリックしてもIntroductionが表示されるので、「Start Wizard」をクリックして次へ進みます。

Step 1.ですが、下図を参考にして項目を入力してください。

「Return URL」と「Cancel URL」のドメインは皆さんの環境に合わせて入力してくださいねー。

Step 2.ですが、「2a.」の赤線で囲っているHTMLコードをコピーして、皆さんがお使いのテキストエディターに貼りつけてください。

次に、「2b.」に表示されているリンクから「expresscheckout.php」と「paypalfunctions.php」をダウンロードしてください!

「2a.」の赤線で囲っているHTMLコードは以下に記している内容だと思いますが、これではサンプルプログラムを動かすには不十分なので、手を加えます。

<form action='expresscheckout.php' METHOD='POST'>
<input type='image' name='submit' src='https://www.paypal.com/en_US/i/btn/btn_xpressCheckout.gif' border='0' align='top' alt='Check out with PayPal'/>
</form>

例として、こんな感じに変更しましょう。以下のコードを「index.php」という名前で保存してください。

<!DOCTYPE html>
<html lang="ja">
<head>
	<meta charset="UTF-8">
	<title>PayPal Sample</title>
</head>
<body>
	<form action='expresscheckout.php' METHOD='POST'>
		<input type='image' name='submit' src='https://www.paypal.com/ja_JP/i/btn/btn_xpressCheckout.gif' border='0' align='top' alt='Check out with PayPal'/>
		<select name="Payment_Amount">
		<option value="10000">10,000円</option>
		<option value="20000">20,000円</option>
		<option value="30000">30,000円</option>
		</select>
	</form>
</body>
</html>

では、「Next」をクリックして次へ進みましょう。

Step 3.は、オプションなのでスキップします。「Next」をクリックして次へ進みましょう。

Step 4.ですが、「4a.」の赤線で囲っているコードをコピーして、皆さんがお使いのテキストエディターに貼りつけてください。

そして、「review.php」という名前で保存してください。

このままではサンプルプログラムを動かすには不十分なので、手を加えます。

「4a.」でコピーしたコードの最終行に以下のコードをコピーして貼りつけてください。

<!DOCTYPE html>
<html lang="ja">
<head>
	<meta charset="UTF-8">
	<title>PayPal Sample</title>
</head>
<body>
	<p><?php echo $firstName . ' ' . $lastName; ?></p>
	<form action='order_complete.php' METHOD='POST'>
		<input type="hidden" name="Payment_Amount" value="<?php echo $_SESSION["Payment_Amount"]; ?>">
		<p>注文金額:<?php echo number_format($_SESSION["Payment_Amount"]); ?></p>
		<input type="submit" value="注文する">
	</form>
</body>
</html>

では、「Next」をクリックして次へ進みましょう。

Step 5.も「5a.」の赤線で囲っているコードをコピーして、皆さんがお使いのテキストエディターに貼りつけてください。

そして、「order_complete.php」という名前で保存してください。

こちらも、このままではサンプルプログラムを動かすには不十分なので、手を加えます。

「5a.」でコピーしたコードを以下ように変更してください。

<?php
	/*==================================================================
	 PayPal Express Checkout Call
	 ===================================================================
	*/
require_once ("paypalfunctions.php");
$PaymentOption = "PayPal"; //この行を追加
if ( $PaymentOption == "PayPal" )
{

さらに最終行に以下のコードをコピーして貼りつけてください。

<!DOCTYPE html>
<html lang="ja">
<head>
	<meta charset="UTF-8">
	<title>PayPal Sample</title>
</head>
<body>
	<p>ご注文ありがとうございます!</p>
	<?php
		//debug
		var_dump($resArray);
	?>
</body>
</html>

では、「Next」をクリックして次へ進みましょう。

Step 6.Doneということで、ウィザードはここまでです!お疲れ様です!

しかし!あと2ヵ所、変更する必要があります。しかもここ、大事です!!

まず1ヵ所は、Step 2.でダウンロードした「paypalfunctions.php」にSandboxの「Seller(売り手)」アカウントのAPI証明書の情報を記載する必要があります。(下図の値はサンプルですので、これを入力しても動作しないと思います!ご自身のSandboxの「Seller(売り手)」アカウントのAPI証明書の情報を記載してください!)

「paypalfunctions.php」の以下の3ヵ所を変更してください!。

$API_UserName="<API_USERNAME>";
$API_Password="<API_PASSWORD>";
$API_Signature="<API_SIGNATURE>";

そしてもう1ヵ所は、Step 2.でダウンロードした「expresscheckout.php」に以下のコードを追加してください。

//'------------------------------------
//' The paymentAmount is the total value of 
//' the shopping cart, that was set 
//' earlier in a session variable 
//' by the shopping cart page
//'------------------------------------
$paymentAmount = $_SESSION["Payment_Amount"]; //この行は削除してください。
$paymentAmount = $_POST["Payment_Amount"]; //この行を追加
$_SESSION["Payment_Amount"] = $paymentAmount; //この行を追加

これでサンプルプログラムを実行する準備が整いました!

皆さんがお使いのサーバーに一式をアップロードして実行してみてください!無事に動くことを祈ります!!

ここまで説明しといて、サンプルプログラムの動作を説明しないのも何なんで、次回ご説明させていただきたいと思います。

また、説明に使用したサンプルプログラムをダウンロードしていただけるようにご用意しておりますので、ご自身の責任のもとお使いいただけますと幸いです。

how_to_integrate_paypal_expresscheckout_2of3.zip

いかがでしたでしょうか?

第2回はPayPal Integration Wizardを元にサンプルプログラムを作成する手順をザックリと説明しました。

次回はいよいよサンプルプログラムを動かしてみますよ!また、即時支払い通知(IPN)を導入する手順を説明しちゃいますよー!

今回は、ほぼほぼPayPal Integration Wizardをご紹介しただけな感じになりましたが、これからPayPal使ってみようかな?!って方に役には立つかも!!って思ったんで、情報共有させていただきます。

以上、よろしくお願いいたします。

関連記事

この記事のカテゴリー: