11
7

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

[Rails]Pay.jpを利用したクレジット決済機能実装 ① ~実装の準備・APIの導入~

Last updated at Posted at 2020-04-21

はじめに

例によって、某プログラミングスクールの最終課題である、フリマアプリのクローンサイト作成において、購入機能実装時にPay.jpを利用したので、健忘録としてここに記す。

バージョン情報

ruby '2.5.1'
Rails '5.2.4.2'

実装の流れ

  1. 実装の準備・APIの導入 ← 今回の実装内容
  2. モデルの作成・クレジットカード登録
  3. クレジットカード詳細表示・削除
  4. クレジットカード購入(決済)機能

前提条件として

いよいよ実装! PAY.JP登録・APIキーの取得

  1. こちらのサイトよりPAY.JPのアカウントを取得ください
    PAY.JP

  2. サインアップした時の様子(若干データは入ってますが、、、)
    08176e7c8385ca2abf50e38656bf182b.png

  3. サイドバーから「API」を選択、テスト秘密鍵テスト公開鍵を確認
    スクリーンショット 2020-04-21 21.29.14.png
    (後ほど使います、、、、)

PAY.JPのgemをインストール!

以下のコードを「gemfile」に記載

gemfile
gem 'payjp'

忘れずに「bundle install」もしよう(再起動もしましょう)。

ターミナル
$ bundle install
$ rails s

環境変数を使ってAPIキーをアプリに登録

いくつか方法(専用のgemを使うなど)があると思うのですが、今回はcredentials.yml.encに記載する方法で実装します。

注) rails 5.2以降ではEncrypted Credentialsという機能が導入され、シークレットキー等の外部に公開されたくない値などはconfig/credentials.yml.encに記載することになりました

参考にした記事はこちら

###テスト用シークレットキーをcredentials.yml.encに記載

ターミナルで実行
EDITOR="vi" bin/rails credentials:edit

(シークレットキーとは先ほどPAY.JPで確認したAPIキーのうちのsk_で始まる秘密鍵のことです。今回はテスト環境なの「sk_test_○○」から始まる物です。)

credentials.yml.enc
payjp:
 PAYJP_SECRET_KEY: sk_test_ご自身の秘密鍵の値

##application.html.hamlにスクリプトを記載

以下のスクリプト

 %script{src: "https://js.pay.jp/", type: "text/javascript"}

application.html.hamlに追記

(例)

application.html.haml
%html
  %head
    %meta{:content => "text/html; charset=UTF-8", "http-equiv" => "Content-Type"}/
    %title sampleApp
    %script{src: "https://js.pay.jp", type: "text/javascript"}
    = csrf_meta_tags
    ~-----------------------------

###以上で準備OK!!

##最後に
以上で準備完了です!
次回からいよいよ機能の実装に入っていこうと思います。

2. モデルの作成・クレジットカード登録

私自身初めての投稿なので、至らない部分などありましたら、ぜひご指摘お願いします!!

##参考リンク

11
7
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
11
7

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?