本文へスキップ

知恵のカケラを結ぶ

PayPalを使った自動販売(ダウンロード)システムSERVICE&PRODUCTS

プログラムの詳細

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にアクセスしても、商品はダウンロードできません。
操作マニュアル
価格:100円
このシステムの操作マニュアルです。
このシステムを使っていますので、購入者が、どのように操作することになるのか、ご体験ください。
「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
);


バナースペース

PostTips