「実験してみている」という曖昧な表現ですみませんが、先日株式会社破滅派の名義でプラグイン販売を開始してみました。プラグインはWooCommerceでWebPayによる決済を可能にするもの。一応、定期購入にも対応しています。
さて、WordPressでプラグインを販売する場合、公式のマーケットプレイスが存在しないため、自分で売ることになります。WordPressのライセンスGPLを順守するためにはプラグインもGPLでなければならないのですが、GPLは配布も自由なので、「9800円で購入したプラグインをタダで配る」とか、「15000円で買ったプラグインをそのまま30000円で販売する」などが可能です。
西川さんのブログで色々議論されているので興味のある方は読んでみてほしいのですが、WordPressのプラグインでビジネスを行うパターンとしては……以下の3つがありますかね。
- ライセンスキーを入力すると機能が有効化する(Akismet, WP Booster)
- プラグイン本体をGPLとして無償配布し、アドオンを販売する(WooCommerce, ACF)
- サポートを有償とする
WordPressの公式リポジトリで配布するには「お金を払わないと機能が制限されるのはダメ」というルールがあるのですが、ここらへんはどうなんですかね。Akismetだってお金払わないと機能制限されるわけだし、「アドオンで分離したから機能の制限ではなく機能の追加になる」というのは僕には屁理屈にしか思えないのですが、まあ色々あってそうなっているので別にいいんですよ。
で、ですよ。これまでGumroadを完全スルーしていた私だったのですが、実はライセンスキーを発行する機能があることを知りました。ライセンスキーって自分で作るとめんどくさいですからね。このライセンスキー、「その人が購入者であることを証明する情報」なので、サポートとして使うのにうってつけなんですね。
僕が販売開始したプラグインもGPLなので、購入した人が配布したらそれを止める法的な正当性がないわけです。その場合、僕の二人の子供が飢えて死んでしまうので、オプション3の「サポートが有償」を実現するために、このライセンスキーを使ってみました。実物はこんな感じです。
試しに100円の商品を用意してみたので使ってみてください。購入者の方は実際に会ったときに100円返しますよ。
このサポートスレッドでは、コメントを他のユーザーが見ることはできないので、商用利用ではいいと思うんですよね。フォーラムとかコメントで下手に情報を隠されると「何言ってるかわかんねーコイツ」ってなりがちなので、お互いハッピーじゃないですか。
このライセンスキー確認用に用意されているAPIを利用するのは結構簡単で、こんな感じです。
function gumroad_verify_license( $license, $guid ) { $ch = curl_init( 'https://api.gumroad.com/v2/licenses/verify' ); curl_setopt_array( $ch, [ CURLOPT_CONNECTTIMEOUT => 10, CURLOPT_RETURNTRANSFER => true, CURLOPT_SSL_VERIFYPEER => false, CURLOPT_POST => true, CURLOPT_POSTFIELDS => "product_permalink={$guid}&license_key={$license}", ] ); $result = curl_exec( $ch ); curl_close( $ch ); if ( ! $result ) { return false; } if ( ( $json = json_decode( $result ) ) && $json->success ) { return $json; } else { return new WP_Error( 'invalid_license', '無効なライセンスです。', [ 'status' => 403 ] ); } }
これで確認は取れるので、あとはまあ、なんか頑張ってください……と、突き放したところで……
文樹サンタからのクリスマスプレゼント!
さて、プラグインやテーマを作っていて、この機能を使ってみたいという方! 僕が作ったこの機能をプラグインまたはテーマアドンとして作ろうと思っています。この記事へのコメントが30件を超えたらクリスマスまでに作りますので、ふるってコメントください。
余談なのですが、WooCommerceのWebPay対応プラグイン、すでに売ってる人がいました。なんかすんませんでした。終わり。