CampTix Event Ticketing に Stripe 決済をつける
この記事の所要時間: 451

WordPressの本家 Automatic さんが作った
CampTix Event Ticketing というプラグインがあります。
チケットの販売などを行うプラグインなんですが、実際に WordCamp などで使われている実績があるプラグインなんですね〜。
こんな興味深い記事もありますのでご参考まで・・・

CampTix プラグインと Gravatar 画像を使ったイベント名札
https://ja.naoko.cc/2013/09/05/gravatar-image-badge-camptix-plugin/

CampTix プラグインと Gravatar、InDesign を使ったイベント参加者用名札の作り方。


これに Stripe で決済つけよう〜っていうのが始まりです。
で、今回は私が作りました!!ってわけではなくGitHubで公開されているこのプラグインを別途用いて行いました。
https://github.com/dd32/CampTix-Stripe-Payment-Gateway
その顛末・・・というかやり方を。

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

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

API Libraries | Stripe
https://stripe.com/docs/libraries

Stripe は、インターネットビジネスのためのオンライン決済プラットフォームです。あらゆる規模の商取引をサポートする API を提供しています。


こちらの
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: Help & Support
https://support.stripe.com/questions/jp-which-zero-decimal-currencies-does-stripe-support

Find help and support for Stripe. Our support center provides answers on all types of situations, including account information, charges and refunds, and subscriptions information. Get your questions answered and find international support for Stripe.

プラグインインストール

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

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

Stripe 決済が追加されました

Stripe決済中
Stripeで支払い完了
チケット購入完了しました。

管理メニューの「チケット」→「設定」を開いて、タブの「決済」を押すとPayPalの下に
Stripe が確認出来ました!!

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

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

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

決済ボックスが表示されました!!!
で、ゴニョゴニョ入力して「¥3,000を支払う」ボタン押したら・・・

バッチリ購入できました!!
メールも来て確認OK!

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

決済情報を Stripeの管理画面で確認。
一番上がキチンと決済出来たやつ!
下2つは上記「非小数通貨」対応が出来てなかった恥ずかしいデータですw

Stripe おすすめです!!!

簡単に導入できて便利です!!!
弊社で運営している ジーティーアイショップ にて

Stripe 関連 プラグインを販売していますので併せてどうぞ!!

この記事が気に入ったら
いいね ! しよう

Twitter で