SlideShare ist ein Scribd-Unternehmen logo
1 von 35
JP_Stripes (Stripe ユーザーグループ)福岡 Vol.4
baserCMSのStripeプラグインをつくった話
株式会社キャッチアップ/baserCMSユーザー会 内場 龍彦
自己紹介
内 場 龍 彦 (ハイパークマさん)
株式会社キャッチアップ マネージャー/ディレクター/プログラマー
baserCMSユーザー会
■仕事内容:
・開発チームのマネジメント(本業)
・システムプランニング
・みんながしにそうな時にだけ動くプログラマー
・baserCMSを盛り上げる活動
■使う言語:
php / javascript / htmlとかsassなどなど...
Twitter: @ichi280
「baserCMSのStripeプラグインをつくった話」
なのですが
さっそく
baserCMSって聞いたことあるけど・・・
何ができるの?
?
?
?
?
?
?
?
?
baserCMSってなにができるの?
CakePHP製のCMSなので、ラーニングコストが低い
CMS用のプラグイン/ライブラリが豊富
ログイン/ファイルアップロード等のコンポーネントや
管理画面用Viewファイルが豊富に揃っているため、
アプリケーションのスピード開発が可能
baserCMSってなにができるの?
かんたんインストールもできる
baserCMSのStripeプラグインをつくった話
1:APIを使って決済画面を表示させた
2:簡単に完成したと思ったらハマった
3:処理の流れを書いてみる
4:こんな感じで実装してみました
今日のアジェンダ
今回使ったAPI
今回使ったAPI
Checkout
JavaScript を 1 行追加するだけで、
洗練された決済フォームを Web サイトに
表示できます。
実際使ってみた
実際使ってみた
ユーザー登録 APIキー取得
実際使ってみた
ボタン表示された!
決済画面でた!!
決済フォームできた!!!
超簡単!!!
実際使ってみた
決済が完了した!
(ᵔᴥᵔ) 安心 (ᵔᴥᵔ)
実際使ってみた
「うん、楽勝だったね。」
「決済画面見てみよっかな〜〜フフフーん」
実際使ってみた
実際使ってみた
おや・・・
原因を考察
Checkout
JavaScript を 1 行追加するだけで、
洗練された決済フォームを Web サイトに
表示できます。
原因を考察
決済できるとは謳ってない
原因を考察
原因を考察
原因を考察
Once you’ve securely collected and tokenized your customer’s credit card using Checkout
or Elements, you can charge the card immediately or save it for later. Unlike tokenization,
which occurs in the browser, charge attempts are made from your server, normally using
one of our client libraries. If you haven’t already, install the library for your favorite language
now.
CheckoutまたはElementsを使用して顧客のクレジットカードを安全に収集してトークン
化したら、カードをすぐに請求するか、後で保存することができます。 ブラウザで行わ
れるトークン化とは異なり、通常はクライアントライブラリの1つを使用してサーバーか
ら料金請求が試行されます。 まだインストールしていない場合は、好きな言語のライブ
ラリをインストールしてください。
原因を考察
Once you’ve securely collected and tokenized your customer’s credit card using Checkout
or Elements, you can charge the card immediately or save it for later. Unlike tokenization,
which occurs in the browser, charge attempts are made from your server, normally using
one of our client libraries. If you haven’t already, install the library for your favorite language
now.
CheckoutまたはElementsを使用して顧客のクレジットカードを安全に収集してトークン
化したら、カードをすぐに請求するか、後で保存することができます。 ブラウザで行わ
れるトークン化とは異なり、通常はクライアントライブラリの1つを使用してサーバーか
ら料金請求が試行されます。 まだインストールしていない場合は、好きな言語のライブ
ラリをインストールしてください。
フォームから送信した内容はstripeで預かり、トークンを返却する。
そのトークンを使用してアプリケーション側から決済を確定させる。
決済データを一時的にstripeに預けることにより、
セキュアな取引が可能
処理の流れ
1:フォームから決済情報送付
4:トークンを完了URLにPOST
5:トークンをバインドして
ChargeAPIコール
処理の流れ
こんな感じで実装してみました
stripe_configs
実装の流れ
stripe_orders
stripe_payments
APIキー/Secretキー/決済時の入力項目等、
全体的な設定を格納
stripe決済情報=注文情報を格納
各ページ単位での価格情報や、
決済オンオフフラグを格納
DB設計
stripe設定画面
実装の流れ
画面設計:管理画面
ページ編集画面
cakePHPのイベント処理で
フォーム項目を追加
ページ
実装の流れ
画面設計:フロント画面
決済完了画面
cakePHPのイベント処理で
ボタンのスクリプトを埋込
完了時にstripeから受け取った
決済データをDBに保存
注文情報一覧画面
実装の流れ
画面設計:管理画面
stripe
クリックでstripeの決済詳細に
ジャンプ
まとめ
1:stripeを使うとカート画面・会員登録画面
等のデザインデータが不要
2:トークンにより、安全に決済ができる
3:baserCMSのプラグインは簡単に作れる
まとめ
ご静聴ありがとうございました

Weitere ähnliche Inhalte

Was ist angesagt?

カスタムフィールドで親切な管理画面を作ろう ~初級編~
カスタムフィールドで親切な管理画面を作ろう ~初級編~カスタムフィールドで親切な管理画面を作ろう ~初級編~
カスタムフィールドで親切な管理画面を作ろう ~初級編~
Yuki Kokubo
 

Was ist angesagt? (20)

20110224 flamixer
20110224 flamixer20110224 flamixer
20110224 flamixer
 
ガチリアルな修羅チーム開発
ガチリアルな修羅チーム開発ガチリアルな修羅チーム開発
ガチリアルな修羅チーム開発
 
知っているようで知らないPAMのお話
知っているようで知らないPAMのお話知っているようで知らないPAMのお話
知っているようで知らないPAMのお話
 
激熱プラグインCustom Field SuiteとWordPress Front-end Editorをさわってみよう!
激熱プラグインCustom Field SuiteとWordPress Front-end Editorをさわってみよう!激熱プラグインCustom Field SuiteとWordPress Front-end Editorをさわってみよう!
激熱プラグインCustom Field SuiteとWordPress Front-end Editorをさわってみよう!
 
a-blog cms Training Camp 2017 Spring「a-blog cms用テーマ echo_zeroについて」
a-blog cms Training Camp 2017 Spring「a-blog cms用テーマ echo_zeroについて」a-blog cms Training Camp 2017 Spring「a-blog cms用テーマ echo_zeroについて」
a-blog cms Training Camp 2017 Spring「a-blog cms用テーマ echo_zeroについて」
 
日本のCMSの今。特徴とプロジェクトから考える、次のCMS選び:本編
日本のCMSの今。特徴とプロジェクトから考える、次のCMS選び:本編日本のCMSの今。特徴とプロジェクトから考える、次のCMS選び:本編
日本のCMSの今。特徴とプロジェクトから考える、次のCMS選び:本編
 
インフラエンジニアのスキルパターンを作ってみた話
インフラエンジニアのスキルパターンを作ってみた話インフラエンジニアのスキルパターンを作ってみた話
インフラエンジニアのスキルパターンを作ってみた話
 
フロント作業の効率化
フロント作業の効率化フロント作業の効率化
フロント作業の効率化
 
インフラエンジニアとして普段心がけていること
インフラエンジニアとして普段心がけていることインフラエンジニアとして普段心がけていること
インフラエンジニアとして普段心がけていること
 
Aiming のクラウド採用基準
Aiming のクラウド採用基準Aiming のクラウド採用基準
Aiming のクラウド採用基準
 
2015年に向けたWordPress動向
2015年に向けたWordPress動向2015年に向けたWordPress動向
2015年に向けたWordPress動向
 
Wordbench fukuoka
Wordbench fukuokaWordbench fukuoka
Wordbench fukuoka
 
株式会社インフィニットループ紹介資料
株式会社インフィニットループ紹介資料株式会社インフィニットループ紹介資料
株式会社インフィニットループ紹介資料
 
カスタムフィールドで親切な管理画面を作ろう ~初級編~
カスタムフィールドで親切な管理画面を作ろう ~初級編~カスタムフィールドで親切な管理画面を作ろう ~初級編~
カスタムフィールドで親切な管理画面を作ろう ~初級編~
 
入門者の方向け Azure PlayFab の簡単な紹介
入門者の方向け Azure PlayFab の簡単な紹介入門者の方向け Azure PlayFab の簡単な紹介
入門者の方向け Azure PlayFab の簡単な紹介
 
SWFバージョン4においてのテキスト形式によるコンパイル結果の違い及びJavaScriptでのその描画方法に関する考察
SWFバージョン4においてのテキスト形式によるコンパイル結果の違い及びJavaScriptでのその描画方法に関する考察SWFバージョン4においてのテキスト形式によるコンパイル結果の違い及びJavaScriptでのその描画方法に関する考察
SWFバージョン4においてのテキスト形式によるコンパイル結果の違い及びJavaScriptでのその描画方法に関する考察
 
高速な広告配信サーバの作り方のコツ
高速な広告配信サーバの作り方のコツ高速な広告配信サーバの作り方のコツ
高速な広告配信サーバの作り方のコツ
 
a-blog cms の基本 福岡版
a-blog cms の基本 福岡版a-blog cms の基本 福岡版
a-blog cms の基本 福岡版
 
大ヒットソーシャルアプリの裏側
大ヒットソーシャルアプリの裏側大ヒットソーシャルアプリの裏側
大ヒットソーシャルアプリの裏側
 
WordPress.comを使って個人ブログを作ってみよう!
WordPress.comを使って個人ブログを作ってみよう!WordPress.comを使って個人ブログを作ってみよう!
WordPress.comを使って個人ブログを作ってみよう!
 

Ähnlich wie baserCMSのstripe連携プラグインを作った話

20150718 a-blog cms × baserCMSのご紹介
20150718 a-blog cms × baserCMSのご紹介20150718 a-blog cms × baserCMSのご紹介
20150718 a-blog cms × baserCMSのご紹介
Daisuke Abe
 
Cake php×国産!オープンソースcms「basercms」が熱い!
Cake php×国産!オープンソースcms「basercms」が熱い!Cake php×国産!オープンソースcms「basercms」が熱い!
Cake php×国産!オープンソースcms「basercms」が熱い!
Ryuji Egashira
 
OSC2015 Tokyo/Spring baserCMSの未来を先取り
OSC2015 Tokyo/Spring baserCMSの未来を先取りOSC2015 Tokyo/Spring baserCMSの未来を先取り
OSC2015 Tokyo/Spring baserCMSの未来を先取り
Masaharu Takishita
 
「コーポレートサイトにちょうどいい」CakePHPベースの国産CMS「baserCMS」 - ここがちょうどいい機能(OSC2015大分)
「コーポレートサイトにちょうどいい」CakePHPベースの国産CMS「baserCMS」 - ここがちょうどいい機能(OSC2015大分)「コーポレートサイトにちょうどいい」CakePHPベースの国産CMS「baserCMS」 - ここがちょうどいい機能(OSC2015大分)
「コーポレートサイトにちょうどいい」CakePHPベースの国産CMS「baserCMS」 - ここがちょうどいい機能(OSC2015大分)
Takayuki Gondoh
 

Ähnlich wie baserCMSのstripe連携プラグインを作った話 (20)

Cpi mega mix
Cpi mega mixCpi mega mix
Cpi mega mix
 
OSC2013@FUKUOKA
OSC2013@FUKUOKAOSC2013@FUKUOKA
OSC2013@FUKUOKA
 
コンテンツ管理機能が強化されたbaserCMS4の強みとは?
コンテンツ管理機能が強化されたbaserCMS4の強みとは?コンテンツ管理機能が強化されたbaserCMS4の強みとは?
コンテンツ管理機能が強化されたbaserCMS4の強みとは?
 
CakePHP × 国産! baserCMS3の深化と今後の拡がり
CakePHP × 国産! baserCMS3の深化と今後の拡がりCakePHP × 国産! baserCMS3の深化と今後の拡がり
CakePHP × 国産! baserCMS3の深化と今後の拡がり
 
コンテンツ管理機能が強化されたbaserCMS4のポテンシャル
コンテンツ管理機能が強化されたbaserCMS4のポテンシャルコンテンツ管理機能が強化されたbaserCMS4のポテンシャル
コンテンツ管理機能が強化されたbaserCMS4のポテンシャル
 
Baser oscdo-20106
Baser oscdo-20106Baser oscdo-20106
Baser oscdo-20106
 
20150718 a-blog cms × baserCMSのご紹介
20150718 a-blog cms × baserCMSのご紹介20150718 a-blog cms × baserCMSのご紹介
20150718 a-blog cms × baserCMSのご紹介
 
Cake php×国産!オープンソースcms「basercms」が熱い!
Cake php×国産!オープンソースcms「basercms」が熱い!Cake php×国産!オープンソースcms「basercms」が熱い!
Cake php×国産!オープンソースcms「basercms」が熱い!
 
次期baserCMSの新機能と今後の展望
次期baserCMSの新機能と今後の展望次期baserCMSの新機能と今後の展望
次期baserCMSの新機能と今後の展望
 
The new LINE Ads Platform
The new LINE Ads PlatformThe new LINE Ads Platform
The new LINE Ads Platform
 
業務時間で書いたパッチは誰のもの?OSS活動にまつわる罠 (builderscon tokyo 2018)
業務時間で書いたパッチは誰のもの?OSS活動にまつわる罠 (builderscon tokyo 2018)業務時間で書いたパッチは誰のもの?OSS活動にまつわる罠 (builderscon tokyo 2018)
業務時間で書いたパッチは誰のもの?OSS活動にまつわる罠 (builderscon tokyo 2018)
 
初めてのSpark streaming 〜kafka+sparkstreamingの紹介〜
初めてのSpark streaming 〜kafka+sparkstreamingの紹介〜初めてのSpark streaming 〜kafka+sparkstreamingの紹介〜
初めてのSpark streaming 〜kafka+sparkstreamingの紹介〜
 
地方企業がソーシャルゲーム開発を成功させるための10のポイント
地方企業がソーシャルゲーム開発を成功させるための10のポイント地方企業がソーシャルゲーム開発を成功させるための10のポイント
地方企業がソーシャルゲーム開発を成功させるための10のポイント
 
baserCMSの今
baserCMSの今baserCMSの今
baserCMSの今
 
[CTO Night & Day 2019] ML services: MLOps #ctonight
[CTO Night & Day 2019] ML services: MLOps #ctonight[CTO Night & Day 2019] ML services: MLOps #ctonight
[CTO Night & Day 2019] ML services: MLOps #ctonight
 
もしSIerのエンジニアがSRE本を読んだら
もしSIerのエンジニアがSRE本を読んだらもしSIerのエンジニアがSRE本を読んだら
もしSIerのエンジニアがSRE本を読んだら
 
OSC2015 Tokyo/Spring baserCMSの未来を先取り
OSC2015 Tokyo/Spring baserCMSの未来を先取りOSC2015 Tokyo/Spring baserCMSの未来を先取り
OSC2015 Tokyo/Spring baserCMSの未来を先取り
 
「コーポレートサイトにちょうどいい」CakePHPベースの国産CMS「baserCMS」 - ここがちょうどいい機能(OSC2015大分)
「コーポレートサイトにちょうどいい」CakePHPベースの国産CMS「baserCMS」 - ここがちょうどいい機能(OSC2015大分)「コーポレートサイトにちょうどいい」CakePHPベースの国産CMS「baserCMS」 - ここがちょうどいい機能(OSC2015大分)
「コーポレートサイトにちょうどいい」CakePHPベースの国産CMS「baserCMS」 - ここがちょうどいい機能(OSC2015大分)
 
CMSを利用した次世代ワークフローを考える
CMSを利用した次世代ワークフローを考えるCMSを利用した次世代ワークフローを考える
CMSを利用した次世代ワークフローを考える
 
初めてのWebプログラミング講座
初めてのWebプログラミング講座初めてのWebプログラミング講座
初めてのWebプログラミング講座
 

baserCMSのstripe連携プラグインを作った話