paypal と 電子書籍のダウンロード販売(その2)
その0.
購入ボタンはこんな感じ
item_number以外は必須。item_numberも、商品IDとして使うので、わたしの場合は必須。ユーザーがPaypalから戻ってきたとき・Paypalから即時通知があったときに、この商品IDでデータベースに照合する。
あらかじめ、Paypalで個人設定を仕込む。(以下とは別に、文字コードを日本語、UTF8に設定しておいた)
その1.
「ウェブペイメントの設定」
→自動復帰 オン
→復帰URL ユーザーが帰ってくるURLを設定
→支払いデータ転送(PDT) オン
→暗号化されていないウェブペイメントの受領拒否 オフ
購入ボタン自動生成で暗号化してないので、最後の設定はオフにしておく。
購入ボタンをクリックしてPaypalにいったユーザーが支払いを完了して「マーチャントに戻る」リンクをクリックしたら、復帰URLにパラメータを持って戻ってくる。それをスクリプトで解析する。以下はほぼほぼPaypalにあるサンプルコード(perl版)まんま。
戻ってきたら、GET でパラメータ=トランザクションIDを取得して、Paypalの管理ページ、個人設定にある、auth tokenと、定型のコマンドとともに、PaypalのサーバーにPOSTでアクセス。
そこで取得できるcontentを改行でばらして一行ずつ、って先頭の行がSUCCESSであればOK。それ以外だと決済が完了していないので、どうなってるのか調べる必要がある。
というのが「PDT」というヤツ。
ところが、これはユーザーが「マーチャントに戻る」というリンクで戻ってくれないと、情報が何も取得できない。もちろん、Paypalの方からメールがくるし、Paypalの管理画面を見れば、取引状況はわかるので、調べてユーザーに返事を出すこともできる。
でも、今回やりたいのはダウンロード販売。
支払いが終わったらすぐにダウンロードページに行きたいよね…といいつつ、Paypalの「マーチャントに戻る」リンクがまるで目立たない。これじゃ、ユーザーはここでブラウザを閉じて終了、だろう。現に戻ってくる率は20%もない、という記事もどこかで見かけた。なので、こちらは、もしユーザーが戻ってきたら、ありがとうございましたとか、確認にしばらくお時間くださいとか、表示を選択するためのモノとして使う程度。
そこで、以下のIPN(支払い即時通知)の出番。
その2.
「即時支払い通知(IPN)」
→通知URLを設定
支払いが生じたらPaypalから、通知URLあてに、パラメータを抱えてアクセスがある。それをスクリプトで解析。以下はサンプルコード(以下同文)
POSTされたパラメータをそのままに、コマンドを付加して、Papalに返すと、パラメータが正しいか間違ってるかだけ教えてくれる。パラメータが正しければ、料金を確認したり、トランザクションIDをチェックしたり。エラーがあったら、ログを吐き出し、正しければデータベースに登録してユーザーにダウンロードURL案内のメールを出す。
わたしはperlが少しわかる程度。それでもサンプルコードどおりに書けばほぼOK。ダウンロード販売ということで、データを受けてデータベースを使って商品を特定したり、ダウンロードURLを作ったり、というところがちょっと面倒だけど、難しいもんじゃない。
最悪、うまくいかないケースが生じても、Paypalからメールが来るし、Paypalの管理ページに行けば履歴を確認したりキャンセル処理ができるので致命的なことにはならない、はず。
それに、ダウンロード販売なので、面倒な在庫管理は不要。
ちなみに、無責任なことに、これを書いてる時点ではまだ本番でのテストはやってないので、あしからずご了承いただきたく。忘れないうちに自分メモ。
原稿があるなら、Paypalを使って、ダウンロード販売ですよ。たぶん、儲けるのは無理だけど、原稿を塩漬けにしてるぐらいなら、ネットに並べておいてもいいんじゃね、と。個人書店があちこちにできて相互にリンクできれば宣伝にもなって面白いんだろうから、お手伝いしますよー。
» ローカル環境で電子書籍を作る、Macアプリ・Windows版ツール 「かんたんEPUB3作成easy_epub」
paypal と 電子書籍のダウンロード販売(その1)
小説や漫画など、電子書籍を作るのは簡単。問題はどうやってそれを売るのか。
「ホームページに並べて・購入してもらって・ダウンロードしてもらう」
というのをどうすんだよ、てことで調べてみたメモ。
(ちなみに、作った電子書籍はDRMなしのPDFファイル)
結論から言うと。
Paypal のプレミア(以上の)アカウントを作れば、個人でも簡単にクレジットカードを使った小額決済ができて、ちょっと仕組みを作ればダウンロード販売までできる。
Paypalのアカウントは固定費不要。クレジットカード決済に審査も不要。一度の決済手数料は40円+3.8%~。驚く手軽さ気軽さだ。
ショップとユーザーの流れ
ショップを訪れたユーザーがページにつけられたPaypalの購入ボタンをクリックすると、Paypalの支払いページに飛ばされて、そこで支払い手続きとなる。クレジットカード番号やメールアドレスなどをPaypalに対して入力することとなる。Paypalの支払い完了ページに、「マーチャントに戻る」というわけのわからないリンクが目立たないようあるけど、これをクリックすると、ユーザーはショップに戻される。戻ってきたユーザーは、ショップが用意した「ご購入ありがとうございました」ページなどを見る。
こちらでユーザーを誘導する。
ショップの裏方(たとえばデータベース)とPaypalの流れ
それとはまた別に、Paypalは支払いが生じたら、ショップにお知らせしてくるので、それを元に、ショップはデータベースに登録したり、ユーザーにお知らせメールを発送したりする。
こちらでショップとして売買の確定をする。
上記のやりとりで、なにか不明点があっても、Paypalの管理ページを開いてみれば全部わかるので、後でチェックして対応することも簡単にできる。
Paypalとのデータのやりとりでは
「誰が何を買ったのか」
だけがわかればOK。というかPaypalの役割はここまで。
ダウンロードURLを作って、そこでダウンロードできるようにするのは、ショップ側で作ることになる。
PDTとかIPNのサンプルコードなどの具体例は、以下次号、かな。
# ページは、あとは、本番でのチェックと原稿の校正だけ、となった。
# 七月にはオープン予定で。
» ローカル環境で電子書籍を作る、Macアプリ・Windows版ツール 「かんたんEPUB3作成easy_epub」
dvipdfmx の フォント埋め込み
paypalを利用してのダウンロード販売ページは、ほぼ完成。デバッグとテストを繰り返しているところ。後は本番環境でひと通りやって、解説ページを作って、肝心の電子書籍=PDFの校正をやれば正式オープン。
て、ことで、PDFを作り直してみたら。
dvipdfmxでフォントの埋め込みに失敗していた。
Could not locate a virtual/physical font for TFM ”rmlv”
Please check if kpathsea library can find this font
あーだこーだやって、ぐぐりまくり…拡張子を .otf から .ttc にリネームすればいいだけの話だった。がっくし。
paypalとダウンロード販売について、そのうちココに、メモを残しておこう。
[06/20 10:31:04]
って、一夜明けたら、また dvipdfmx のエラーが。なんでやねん。
[06/20 14:38:50]
うそっ!カレントディレクトリにフォントがないとダメ、てアンタなんじゃそりゃ。
» ローカル環境で電子書籍を作る、Macアプリ・Windows版ツール 「かんたんEPUB3作成easy_epub」
PayPalで購入ボタン
購入ボタンまでは不要かな、と思ってたんだけど、宗旨替え。
ブツの通信販売と違って、電子書籍はその場でスグに欲しい。それにはやはりPayPalの「今すぐ購入」ボタンとクレジット決済だよなあ、と。
PayPalの開発環境というかテストサイトのアカウントを取得して、ごそごそテスト&仕様確認中。テストサイト、sandbox、砂場の使い方なんかが書いてあるところを見ると、ダミーのクレジットカード番号が用意されている、とのことだったけど、わたしが確認した限り、それはなくて、自分の本当のカード番号を使わないとテストできない、のがちょっとアレな感じで嫌んだけど、モタモタしたくないんで、目をつぶる。
で、ほぼほぼサンプルコードをそのまんま使ってやってみたところ、あっさり購入ボタンの利用からクレジット決済まで実装できた…て、まだテスト環境だけ。簡単すぎて驚いた。(使ってるレンタルサーバーはlolipop。使用言語はperl)
WEBのページと同期したPDTをページ表示に使って(サンキューページみたいなもの)、非同期に送られてくる IPN のデータを lolipop の MySQL に登録。お金のやりとりは基本的に PayPal の管理ページで確認するので、DBに登録するのは最低限、誰がどのファイルを買ったのか、だけ。後はそれを元にダウンロードしてもらえるようにページを作る。
電子書籍がどーたら。
PDFなら簡単に誰でも作れる(クオリティはまた別の話として)し、おそらくEPUBという形式・規格もすぐにソフトが出揃うだろう。
なんでも同じ。問題はどうやって個人がネットで売るのか。
ほんと、なにを今さら、だろうけど、PayPalを使えば、個人がネットでクレジット決済でお金のやりとりができる、というのがスゲーんだ。何度も繰り返してくどくてすまん。眠っている原稿、塩漬けにされてる原稿があるなら、自分でネットに並べてみませんかー。業者に依頼するまでもないです。ちょっと調べるだけで自分でできます、マジで簡単ですよ。
個人レベルが勝負できる環境を作っていけるんじゃないかと思うですよ。
» ローカル環境で電子書籍を作る、Macアプリ・Windows版ツール 「かんたんEPUB3作成easy_epub」
水元公園菖蒲祭り
ここんとこ毎年楽しみ。とくに陶器市の側に出現する飲み屋街が素敵。空が広くて開放感たっぷりの水元公園に赤提灯の図がたまりません。
今日は陶器市でタジン鍋を買ってみたり、足りない食器を買ってみたり。その後赤提灯で、澤乃井の蒼天なんかをいただく。シアワセ感溢れる水元公園だった。
帰宅後、昼すぎから、知人の小説をPDFにする作業。…おのれの頭の悪さを呪う感じ。TeXでpdfにするんだけど、いちいちよくわからんくて、困る。コマンドややりたいことをグーグルさまで検索しまくりながら、だ。もともとがいわゆる理系なひとたちのツールなので、小説の・縦書きで・扉ページどーしよとか・奥付どーなのとか、がなかなかヒットしてくれない。
↓いろいろ検索してようやくたどり着いたのが
https://homepage3.nifty.com/tearoller/keisen_doc.html
hbox vbox の考え方、みたいなのがすっきり解説されていて助かった。こいつの応用でどうにかなりそうな、感じかな。
表組み(テーブル)のコマンドなんかを見ると、wikiの記法に似ているし、TeXがいろんなマークアップ言語のおおもとになってんの?、とも。
ヒラギノ明朝2はバランスもいいし美しいフォントだけど、kindleで見ると細い。解像度の問題なのか。もう少し太い方が読みやすい。
ダウンロード販売となると、DRMなし、としても、いろいろシステムを作らなきゃいけないんで、ちょっと面倒。とうぶん先の話かなあ。
» ローカル環境で電子書籍を作る、Macアプリ・Windows版ツール 「かんたんEPUB3作成easy_epub」
個人でできるネットの小額決済はPayPalだな
二日酔いでゲロりまくりの今日。…あれ?先週の土曜も同じ。で、そんなに飲んだ記憶もないのも同じ。ちょっと体調が悪いのかもしれない。
同人誌紹介ページを作ったのはいいけど
https://hino-yutaro.doncha.net/
通販の支払いをどうすんの?と。
ちょっと聞いてみると、同人誌の通販は、定額小為替の郵送とか、郵便振替が昔からよく使われているらしい。郵便局が意外にも便利だというのにちょっと感心。とはいえ、郵便局まで出かけなきゃいけないし、ネットで通販だし「購入ボタン」がほしいぜ、と調べてみた。
([2016/03/03 09:20:59]追記。今どきは、小為替は手数料が高くなったんで使われていない、とのこと)
PayPalがびっくりの便利さで驚いた。PayPalそのものは知ってたけど、どーせ英語だし使い勝手がわからんちんだろ、と。
https://www.paypal.com/myaccount/home
いつのまにやら、日本語の丁寧なサイトまでできていた。
メールでの決済
購入ボタン
ショッピングカート
の3種類が、固定費なし、無料で使える。決済手数料は40円+3.8%~。
とりあえず、一番簡単そうなメール決済を試してみた。いや同じ単語連発で申し訳ない。本当に簡単で驚いた。
手順としては、
・お客さんからメールなりで、注文を受け取る
・PayPalの管理ページで請求書を作る
・PayPalから支払いページへのリンクのついたメールがお客さんのところに届く
・お客さんはPayPalのページに行って、PayPalのアカウントで支払うかクレジットカード情報を入力して支払いを済ませる
すべてのやりとりの段階でいちいちPayPalから確認のメールが飛んでくるので見落としもない、だろう。
これだけでも十分、だ。
購入ボタンをつけるほうがいいんだろうけど、同人誌紹介ページが、まるでECサイトみたいに見えるのもどうなんだろう、と思うので保留。
同人誌に限らず、個人がネットで展開するのに、PayPalはほんとに便利ですよ。眠っている原稿、塩漬けにされてる原稿があるなら、自分でネットに並べてみませんかー。
paypalと絡めるかどうかは扱うモノ次第だろうけど、ネットショップで本格的に始めるのも、ありですな。
» ローカル環境で電子書籍を作る、Macアプリ・Windows版ツール 「かんたんEPUB3作成easy_epub」