【たった18行!!】RailsでWebpay経由でクレジットカード決済を構築する

yhoshino11が2015年1月1日1:57:26に投稿しました。

Ruby

7

お気に入り

準備中

Views

このレシピで作るもの

Ruby on Rails プロジェクトにWebpayを導入してクレジットカード決済を受け付けるようにします。
今回は必要最小限なものを作ります。


目次

準備するもの

  • Ruby on Rails(今回は4.1.8を使います)
  • Webpayのアカウント(まだ作っていない場合は作ってください)

スクリーンショット 2014-12-31 1.33.48.png

つくっていくもの

Ruby on Rails プロジェクトにWebpay決済を導入します

Ruby on Rails プロジェクトを作る

Ruby on Rails がインストールされていることを確認して下さい。

スクリーンショット 2014-12-31 1.36.25.png

Ruby on Rails のプロジェクトを作ります。

$ rails new webpay_test -T -B

スクリーンショット 2014-12-31 1.36.47.png

プロジェクトディレクトリに移動します。

$ cd webpay_test/

Gemfileを編集します。

$ vim Gemfile
# Gemfileの内容
source 'https://rubygems.org'
gem 'rails'
gem 'sqlite3'
gem 'sass-rails'
gem 'uglifier'
gem 'coffee-rails'
gem 'jquery-rails'

gem 'webpay' # この行を新しく追加してください

Gemをインストールします。

$ bundle install

スクリーンショット 2014-12-31 2.00.35.png

webpayがインストールされれば成功です。

Webpay側

Webpayにログインします。

スクリーンショット 2014-12-31 1.34.04.png

ダッシュボードを開きます。

テスト環境使用中であることを確認して下さい。

スクリーンショット 2014-12-31 1.35.44.png

Ruby を選択し、秘密鍵をメモしてください。

スクリーンショット 2014-12-31 2.07.34.png

Ruby on Rails側の実装

config/routes.rb を編集します。

$ vim config/routes.rb
# routes.rb
Rails.application.routes.draw do
  get 'pay' => 'api#pay' # この行を追加してください

app/controllers/api_controller.rbを編集します。

$ vim app/controllers/api_controller.rb
# api_controller.rb
class ApiController < ActionController::Base
  def pay
    webpay = WebPay.new('test_secret_d3H8WzfQp9ry4bY4Gj7pL4kK')
    webpay.charge.create(
      amount: 400,
      currency: "jpy",
      card:
        {number: "4242-4242-4242-4242",
         exp_month: 11,
         exp_year: 2015,
         cvc: "123",
         name: "KEI KUBO"}
    )
    render nothing: true
  end
end

実装は以上です。

ブラウザでアクセスしてみる

サーバーを立ち上げます。

$ rails s

ブラウザでアクセスします。

http://localhost:3000/pay

webpayのダッシュボードを確認します。

スクリーンショット 2014-12-31 1.45.57.png

おわりに

以上でWebpayからクレジットカード決済が可能になりました。
今回は最小限の実装です。
本格的に使うときはカード番号、名義人など入力画面が必要になります。
それについては次回。

おつかれさまでした。

このレシピを書いたシェフ


このシェフが書いたレシピ