・書いてあること
文系の大学生がrailsを勉強して調子乗ってwebpayを導入して(プログラマー1ヶ月目でもわかるwebpayの導入1(rails))から4ヶ月。
今度はBASE社のPAY.JPの導入にチャレンジしてみたって話。
基本的にはコードをそのままコピペすれば実際に動くように書いてます。。
webpay同様、簡単にできるなぁって感じでした。。
・PAY.JPとは
雑に書くとクレジットカード決済のアレ
pay.jpはvisa・masterの手数料がwebpayよりも低いですね。
webpayのスタータープランは
VISA・masterが3.25%
JCB・ダイナース・アメックスが3.40%
https://webpay.jp/pricing
payjpは
VISA・masterが3.0%
JCB・ダイナイース・アメックが3.6%
では実際に導入してみましょう!!
今回も怖いのでいきなり作ってあるappに導入する前に別appを作りました。
1.とりあえずpayjpってのを作ってみる
$ rails new payjp
$ cd payjp
2.pay.jpのgemをインストール
gem 'payjp'
$ bundle install
3.ルーティング
root 'products#index'
get 'products' => 'products#index'
post 'products/pay' => 'products#pay'
4.コントローラー
bundle exec rails g controller products
def index
end
def pay
Payjp.api_key = '秘密キー'
charge = Payjp::Charge.create(
:amount => 3500,
:card => params['payjp-token'],
:currency => 'jpy',
)
end
秘密キーとか公開キーはログインしてダッシュボードの右上の方の歯車のアイコンを押すと「ユーザー設定」ってのがあってその中の「API KEY」ってところに書いてあるよ。
webpayのときも書いた気がするけど「amount」ってのが金額だよ。
5.view
<%= form_tag(action: :pay, method: :post) do %>
<script type="text/javascript" src="https://checkout.pay.jp" class="payjp-button" data-key="公開キー"></script>
<% end %>
支払い完了
localhost:3000で確認してみると
こんな感じの画面になっているはずで
決済も試せて
テストカードで決済すると
ダッシュボードに3500円の売り上げがあったことになるはずなんですよ。
とても簡単ですね。
一回導入を試してみて成功してから
すぐには書いてるんですけどもしかしたら書き忘れてるところとかあるかもしれないので
もし試してみて
「おい、動かねーじゃねーか。ふざけんな。時間返せ。」
みたいな感じになったら、コメントに書いていただければ問題の箇所を探して訂正します。
(*神様ではないので時間は返せそうにないのでその辺は許してください。)