【0.事前準備編】Ruby on Rails + Payjpで運営費、手数料機能付きフリマアプリを作る
PayjpのAPIを使って、運営手数料を自動で振り分けてくれる機能を持ったフリマアプリの作り方を紹介していきます。
この記事では、フリマアプリを作るための事前準備について紹介していきます。
アプリ利用者(購入者側)、アプリ利用者(販売者側)、アプリ制作・運営者、Payjpのお金の動きが以下の図のようになるWebアプリです。
現在、β版機能になっているようなので、趣味程度に触っていますが、正式リリースされるであろう機能だし、正式リリースされなかったら別のライブラリを選定すれば実装できると思うので、ロジックを学ぶ感覚で参考にしていいただければと思います。
ミニマリストになり、捻出できた時間を有効活用して、リリースまでしていきたいと思っていますので、ぜひご覧ください。
不明点がある方は以下より是非ご質問ください。
全体像の紹介
本アプリでは、以下のような手数料を運営者が取得できるようなアプリを作成していきます。
手数料機能を実装するために必要な機能
まずは、手数料機能を実装するために最低限必要な機能の全体像を紹介していきます。
- ユーザ登録機能
- メルカリのように、サービス、物を売る側と購入する側のユーザを判別できるように登録機能が必要です
- カード登録機能
- PAY.JPにて決済するために、カード情報をユーザに紐づける必要があります
- 口座登録機能
- アプリ利用者(販売側)が売上金をPAY.JPから受け取れるように、口座を登録する必要があります
- テナント登録機能
- 売上金をもらえるユーザ(≒PAY.JPではテナントと呼びます)として、認識できる必要があります
- 口座登録したユーザを販売者側と認識するようにします
- 販売者をテナント登録することによって、プラットフォームに売り上げの一部(定めたパーセンテージの)が分配されます
この記事では、アプリ開発を進めるにあたっての事前準備について紹介していきます。
PAY.JPの準備
APIを利用するために、アカウントが無い方は作成していきます。
PAY.JPの公式ページに飛び、登録をします。
フリマアプリやEコマースのようなサイトを作る際は、PAY.JPのPlatform機能を利用します。
中でも、フリマアプリ(C to C)のようなアプリを作る場合は、Payouts型を利用していきます。
Platform機能を利用する場合は、PAY.JPの登録とは別に利用申請を出す必要があります。
※個人でテストに利用する場合も利用申請の許可は出ましたので、ご安心ください。
僕の場合は、3日程度で申請が許可されましたので、開発やってみたいな〜と思ったら、真っ先に申請をしておくことをおすすめします。
Railsアプリの立ち上げ
今回はRailsでアプリを実装していきますので、ターミナル等で、アプリの作成を実行します。
rails new payjp_test
アプリ名は今回payjp_testにしていますが、特に名前の制限はありませんので、わかりやすい名前にしてください。
必要なGemをインストール
機能一覧でも紹介しております通り、ユーザ登録機能とPayjpのプラットフォーム機能を利用して、フリマアプリを作成していきますので、必要なGemはDeviseとPayjpになります。
Deviseは必須では無いですが、作成効率においてなんだかんだ楽だと思いますので、一緒にインストールしておくことをおすすめします。
Gemfileに以下を追記します。
1gem 'hamlit-rails'
2gem 'html2haml'
3gem 'devise'
4gem 'payjp'
追記できたらgemをインストールします。
bundle install
html.erbをhamlに変換
先ほどインストールしたhamlit-railsを利用して、開発効率を上げるためにhtml.erbをhamlに変換します。
rails hamlit:erb2haml
途中でhamlに置き換えたerbを削除するか聞かれるので、「y」を選択します。
これで開発の準備は完了です。
まとめ
今回フリマアプリを作成していくにあたり、必要な登録、申請や必要なライブラリの紹介までしました。
PAY.JPのPlatform機能を利用するために、審査が通る必要がありますが、それまでにやれることもいくつかありますので、待っている間に進めていきましょう。
(待っているとモチベーション落ちたり、忘れてしまうことありますからね)