プログラムの詳細
PayPalを使った自動販売(ダウンロード)システム
~ 写真やプログラムなどのデータを、手間いらずで、ダウンロード販売 ~
作成日:2013/7/22 改訂日:2014/7/28
PayPalを使った自動販売(ダウンロード)システムです。
商品(写真、プログラムなどのデータファイル)の販売と、発送(ダウンロードURLを記載したメールの送信)を自動的に行うことができます。
(詳細)
お客様が、「購入ボタン」をクリックして、PayPalで支払いを終えると、システムは、自動的に、ダウンロードURLを記載したメールを、お客様に送信します。
お客様は、受け取ったメールに記載されたダウンロードURLにアクセスすることで、商品(画像、プログラムなどのデータファイル)をダウンロードすることができます。
システムは、ダウンロードファイルの管理と、「購入ボタン」のタグの作成を行います。「購入ボタン」は、任意のHPに貼り付けて利用します。
実際の取引が、どのようになるかは、下記の「操作マニュアル」(100円)を購入してみてください。
動作確認用のサンプルを用意しておりますので、お使いのサーバーで動作するか、操作性の評価をしてください。サンプルのダウンロードと、お試しは無料です。
動作環境:PHP5、MySQL
<- ご購入は、「PayPal」をクリックしてください。
2017/11/11現在、販売停止中です。
価格:
32,000円 16,000円
購入された方で、新しいバージョンを希望される方は、上記の「お問い合わせ」から、ご連絡ください。
無料で最新版をお届けします。
サンプル(動作確認用プログラム)
お使いのサーバーで動作するか、操作性に問題がないか、評価するためのプログラムです。
こちらのサンプルのご利用は無料です。
(注)一連の操作をお試しいただけますが、お試し用のため、ダウンロードURLにアクセスしても、商品はダウンロードできません。
操作マニュアル
このシステムの操作マニュアルです。
このシステムを使っていますので、購入者が、どのように操作することになるのか、ご体験ください。
「PayPal」ボタンをクリックし、PayPalでお支払いを済ませると、ダウンロードURLが記載されたメールが送られます。
補足
改訂履歴
- 2013/8/15
- HTTP1.0プロトコルから、HTTP1.1に変更
- 2014/1/29
- 2014/1のIPNトラブルへの対応
- 2014/7/25
- データベースの文字化け対策の追加
- 2014/7/28
- 証明書の更新時に、購入ボタンタグの更新を不要にした
- 2016/4/8
- PayPalの仕様変更に対応(署名をSHA1からSHA256)
購入ボタンアイコンの変更
購入ボタンのアイコンは変更することができます。
PayPalの購入ボタン作成に準じますので、PayPalのサイトで、ご確認ください。
このページでは、タグの中を次のように変更しています。
INPUT TYPE="image" SRC="https://www.paypal.com/ja_JP/JP/i/bnr/horizontal_solution_4_jcb.gif"
具体的には、init.phpファイルを次のように変更しています。
define("BUTTON_IMAGE", "https://www.paypal.com/ja_JP/JP/i/bnr/horizontal_solution_4_jcb.gif");
ipn.phpの訂正 (2014/1/29)
2014/1にIPNが動作しないトラブルが発生しました。下記の修正により解決できます。
ipn.phpの下記を
...
if (strcmp ($res, "VERIFIED") == 0) {
...
else if (strcmp ($res, "INVALID") == 0) {
...
次のように修正してください。
...
if (strcmp (trim($res), "VERIFIED") == 0) {
...
else if (strcmp (trim($res), "INVALID") == 0) {
...
データベースの文字化け対策の追加 (2014/7/25)
新しいサンプルのinit.phpファイルに、いくつかの文字化け対策用の設定を追加しました。
- define("_PHP_PDO_MY_CNF_", "/etc/mysql/my.cnf");のコメントを外して有効にし、"/etc/mysql/my.cnf"の部分を書き換えると、上記と同じ設定ができます。
- my.cnfが指定できない場合、define("_PHP_PDO_COMMAND_", "SET NAMES utf8");のコメントを外して有効にすると、常に、utf8でのアクセスに設定できます。
- レンタルサーバーで、クライアント用の文字コードがlatin1の場合、define("_PHP_PDO_CHARSET_", "latin1");のコメントを外して有効にすると、文字化けを回避できます。
PayPalの仕様変更に対応する (2016/4/8)
PayPalの署名が、SHA1からSHA256に変更されました。これに対応するには、Action.phpの916行目付近を修正します。
$config = array(
"digest_alg" => "sha1",
"private_key_bits" => 1024,
"private_key_type" => OPENSSL_KEYTYPE_RSA
);
次のように修正してください。
$config = array(
"digest_alg" => "sha256",
"private_key_bits" => 2048,
"private_key_type" => OPENSSL_KEYTYPE_RSA
);