0

#wcosaka2019 に参加してきたよ!!(3)

WordPressとkintoneを連携することで、毎年3,000件以上ある申込み業務を効率化した仕組みのお話
を聞いてきました。

内容は筆者がメモを取ったものなので、内容に一部間違いがある可能性があります。

チャリティーサンタ』というNPOのサイトを挙げていました。
『あなたも誰かのサンタクロース』をテーマに、ボランティアで集まったサンタクロースが、子供たちにプレゼントを届けるということをやっているNPOです。

チャリティーサンタ公式ページ
チャリティーサンタ公式ページ

このサイトの中で申し込みフォームを kintone と連動させています。
ContuctForm7にプラグインを導入することでkintoneと連携させています。

kintone を使用することで、データベースを構築しなくても、プログラミングしなくても、簡単に情報を蓄積して各支部ごとに管理することができます。

ContuctForm7をベースに、複数のプラグインを連携させています。
使用しているのは、すべて公式サイトに掲載されているプラグインです。
(今回のために作成したプラグインも公開しています)

ContuctForm7はプラグインが多いため、クライアントの要件を実現しやすくとても助かっているということです。

以下、使用されているプラグインの説明をざっとまとめます。

Contact Form 7 – Conditional Fields
ドロップダウンで選択した支部によって、説明テキストを切り替えることができます。

Publish Kintone data
Kintone で入力した内容を、WordPress側に連携するような形にできるプラグインです。
Kintone のフィールドの値をWordPress側のカスタムフィールドに反映することができるため、データをKintoteで一括で管理することが可能です。

Form data to Kintone
こちらのプラグインはその逆で、 WordPressのフォームで入力した内容を Kintote に取り込むことができます。
また、Kintone側のプラグインにより、メールでやりとりした内容も、 Kintone 内部で一括で管理できます。

これらの機能は、KintoneのREST APIを使用してデータのやり取りをしています。
APIキーは Kintone の画面上で簡単に発行することができます。

HT PAY.JP for kintone
PAY.JPによる決済連携を実現します。
このプラグインを導入すると、ContuctForm7のお問い合わせの中に設定画面が表示されるようになります。
フォームの中にクレジットカード連携のボタンを設置することできます。
決済画面でこのボタンをクリックすると、クレジットカード番号の入力画面が立ち上がります。
クレジットカードの番号を入力すると、フォームが送信可能な状態になります。
この状態で送信を行うと決済処理が行われ、決済のユニークキーが送信されます。
このユニークキーと照合することによって、決済を確認することができます。
決済が失敗した場合は、バリデーションチェックと同じロジックでエラー扱いとなるようです。
(メール送信側で失敗した場合、手動での取り消し処理となります)

テストについて
Puppeteerでフォームの自動テストを行っています。
jsが書ければテストコードを作成することもできます。
スクリーンショットを取ることができる。
(ビジュアルレグレッションテストもできるかも?)

KintoneはNPOが利用する場合料金が際安くなります。(9900円)
また、Pay.jpもNPOへの寄付の場合は決済手数料が安いために使用しています。

簡単にまとめたところは以上です。後日細かいところ修正します。