CampTix Event Ticketing に Stripe 決済をつける

Pocket

WordPressの本家 Automatic さんが作った
CampTix Event Ticketing というプラグインがあります。

チケットの販売などを行うプラグインなんですが、実際に WordCamp などで使われている実績があるプラグインなんですね〜。

こんな興味深い記事もありますのでご参考まで・・・

これに Stripe で決済つけよう〜っていうのが始まりです。

で、今回は私が作りました!!ってわけではなくGitHubで公開されているこのプラグインを別途用いて行いました。

その顛末・・・というかやり方を。

CampTix イベントチケットシステムに Stripe決済

まず、上記GitHubにあるプラグインをダウンロードします。
ダウンロードしたら解凍するんですが・・・ここで一つ注意事項があります。
stripe-php というディレクトリがあるのですが、ここにはなにも入ってません。

・・・なので、別途 stripe-php ライブラリをダウンロードして格納しておく必要があります。

こちらの
PHPのあたりにあります。

これでOK!

入れてみたら日本円が無い!

ま、これでOKとか言ってるわけですが
日本人としては日本円が使えないと困るわけで・・・。

ちょっと CampTix-Stripe-Payment-Gateway を調整します。
(調整という名の改造)

プラグインのファイルの
「class-camptix-payment-method-stripe.php」の
10行目前後
// See https://support.stripe.com/questions/which-currencies-does-stripe-support
// Only testing with AUD and USD though.
public $supported_currencies = array( 'AUD', 'USD' );

この部分をこうします。

// See https://support.stripe.com/questions/which-currencies-does-stripe-support
// Only testing with AUD and USD though.
public $supported_currencies = array( 'AUD', 'USD', 'JPY' );

‘JPY’ を $suppoerted_currencies 変数に追加しただけです。
コメントと相違が出て来るので変更したほうがよいかもw

これで大丈夫!と思ったんですが、なぜか100倍?の価格に・・・・

それではこまるのでそこも変更しました。

同じファイルの68行目あたり
'amount' => (int) $camptix->order['total'] * 100,
この部分をこうしました。

'amount' => ( $this->camptix_options['currency'] == 'JPY' ? (int)$camptix->order['total'] : (int)$camptix->order['total'] * 100 ),

同じく140行目あたりも同様に上記コードに変更してください。

これで日本円のときには100倍しない方向で・・・w

この対応は日本円が非小数通貨であることからそうする必要が出てきます。
逆に言うと USD が小数通貨なのでダラーではなくセント表示する必要があり100倍している・・・ということなんですね。
日本円が標準として考えると違和感ありますね〜

このあたり同様に非小数通貨では処理が必要です。詳しくは下記のリンク先をご覧ください。

プラグインインストール

修正後はプラグインディレクトリにフォルダごとアップロードして有効化

stripe-php の中身も忘れずアップロードしてください。

Stripe 決済が追加されました

管理メニューの「チケット」→「設定」を開いて、タブの「決済」を押すとPayPalの下に

Stripe が確認出来ました!!

チケットを作って遊んでみたら

名前・苗字の順番とかいろいろ修正点はありそうですが・・・

決済に「Stripe」と出ています。

決済ボックスが表示されました!!!

で、ゴニョゴニョ入力して「¥3,000を支払う」ボタン押したら・・・

バッチリ購入できました!!

メールも来て確認OK!

こんなに簡単に導入出来てしまった!!!

これは便利!!

決済情報を Stripeの管理画面で確認。

一番上がキチンと決済出来たやつ!

下2つは上記「非小数通貨」対応が出来てなかった恥ずかしいデータですw

Stripe おすすめです!!!

簡単に導入できて便利です!!!

Welcartをご利用の方には弊社で運営している ジーティーアイショップ にてStripe on Welcart プラグインを販売していますので併せてどうぞ!!

https://color.ful.jp/stripe-on-welcart/
※2018/10/1現在販売中止いたしました。ご了承ください。