はじめに
チーム開発にて Ruby on Rails を用いてWebアプリを作成中です。
まだまだ未熟なため、記述やコードがわかりにくいかもしれません。
記載しきれなかったものや変更点は、随時更新・ブラッシュアップしていきます。
私と同じ初学者の方は検索に検索を重ねると「いま自分が何を調べたいのか」
が分からなくなってしまいがちですので、専門用語やカタカナ用語は都度 解説します。
PAY.JPとは
cf. https://paymentnavi.com/paymentnews/51558.html
顧客のクレジットカード情報をアプリ側のデーターベースには保存せず、PAY.JPに保存します。顧客とクレジットカードを紐づけて処理することにより、安全にクレジットカードの決済が行えるAPIとなります。
フリーマーケットアプリの開発で商品購入機能については、このPAY.JPを利用しクレジットカードで決済を行う実装としました。
API
:
Application Programming Interface(アプリケーション・プログラミング・インターフェイス)」の略語であり、「ある1つの機能に特化したプログラムで共有可能なもの」や「ソフトウェアの機能を共有する仕組み」のこと。
バージョン情報
- Ruby 2.5.1
- Rails 5.2.4.3
1.PAY.JPのアカウント作成
PAY.JPのサイトでアカウントを作成します。(事前準備)
2.PAY.JPのgemを導入
下記をGemfileに記載しbundle installを実行。
gem 'payjp'
3.payjp.jsを読み込めるようにする
%html
%head
%meta{:content => "text/html; charset=UTF-8", "http-equiv" => "Content-Type"}/
%title payjptest
-# payjp.jsを読み込めるようscriptを記載
%script{src: "https://js.pay.jp/", type: "text/javascript"}
= csrf_meta_tags
= stylesheet_link_tag 'application', media: 'all', 'data-turbolinks-track': 'reload'
= javascript_include_tag 'application', 'data-turbolinks-track': 'reload'
%body
= yield
4.環境変数の設定
環境変数
:
OSが設定値などを永続的に保存し、利用者や実行されるプログラムから設定・参照できるようにしたもの。利用者の操作で明示的に作成・変更できるものもある。
よく分からない時はターミナルでprintenvコマンド(環境変数が設定できているか確認)を実行すれば、なんとなく理解できる。
秘密鍵や公開鍵をコードに直張りはセキュリティの都合上よろしくないので、
このようにコード書いて .bash_profile へ記述。
Payjp.api_key = ENV['PAYJP_PRIVATE_KEY']
.bash_profile
:
ログイン時に1回 実行される。 例えば、ターミナル.appを起動した際に読み込まれる。
このファイルには具体的に何を設定すれば良いのかは環境変数を設定すると良い。
.bashrc
:
シェル起動時に1回 実行される。 コマンドライン上でbashと叩くと再度.bashrcが読み込まれる。(.bash_profileは読まれない)
シェルを起動する度に毎回設定したい場合はこのファイルに設定を入れる。
まずは .bash_profile の存在を確認。
$ ls -a
自分の場合は無かった。
touchコマンドで空のファイルを作成。
$ touch ~/.bash_profile
$ touch ~/.bashrc
ファイルができたことを確認。(表示されない場合はそのまま次のコマンドを実行)
$ ls -a
//例
.bash_profile .gitignore Gemfile Rakefile config
.bashrc public .ruby-version Gemfile.lock app
$ vim ~/.bash_profile
.bash_profile へ記述。
//まず「i」押下して挿入モードにする
export PAYJP_ACCESS_KEY='sk_test_*************'
export PAYJP_PUBLIC_KEY='pk_test_*************'
//escキー => :wq の順で .bash_profile から抜ける
最後に環境変数を記述したら必ず下記のコマンドで設定を有効にする。
$ source ~/.bash_profile
おわりに
PAY.JP導入は以上となります。
クレジットカード登録機能の実装は色々と記事がありますので各自参照してください。
参考記事
[RailsでPayjpを使った購入機能を実装する]
(https://qiita.com/suzy1031/items/7964829086eb929471a6)
[Payjpでクレジットカード登録と削除機能を実装する(Rails)]
(https://qiita.com/takachan_coding/items/f7e70794b9ca03b559dd)
[【Rails】payjpを使用した決済機能を実装する①〜クレジットカードの登録編〜]
(https://qiita.com/dice9494/items/4aa04da1056d1f15919e)
[.bash_profileと.bashrcのまとめ]
(https://qiita.com/takutoki/items/021b804b9957fe65e093)