ECCUBEにCloud Paymentの決済モジュールをインストールする

EC CUBE v.2.13.3に
cloud payment (旧 j-payment)の決済モジュールをインストールしました

モジュールを手に入れる

v.2.12の頃はEC CUBE オーナーズストアでモジュールがダウンロードできたのですが、いまは消されてます

cloud paymentに問い合わせたところ
なぜかアドレス教えてくれず、管理画面からのリンクを教えられる
(ログイン必要)

リンク貼ってもいいのかわからないので、リンクは貼らないでおきます
Cloud Payment管理画面からのリンクで、ファイルがてにはいりました

  • index.php
  • mdl_jpayment (ver2.13系).zip
  • EC-CUBEインストール・初期設定マニュアル.pdf

マニュアルは EC CUBE v.2.12用でした

zipを解凍してみる

$ unzip mdl_jpayment.zip

index.php
mdl_jpayment ディレクトリ

が解凍されます
index.phpは最初のダウンロードしたのと同じでした
(同じもの入れないでほしい..)

インストール

サーバーにログイン、適当なディレクトリを作り、そこをオーナーズストアとして認識させる
ECCUBEの公開ディレクトリに cloudpayment をつくりました
直下を公開ディレクトリにしてるので、

$ mkdir cloudpayment
(ふつうだとhtml/cloudpaymentでしょうか)

ここに解凍してできた index.php を入れます

$ mv (ダウンロードディレクトリ)/index.php cloudpayment

管理画面で設定を変える

OSTORE_URL
OSTORE_SSLURL

“http://www.ec-cube.net/”
“https://www.ec-cube.net/”
から
“cloudpayment/”

に変更、なんですがvagrantだったので

“http://localhost/cloudpayment/”

に変更

参照 vagrant上のECCUBEでオーナーズストアを自身にするとエラーが発生する

管理画面>オーナーズストア>モジュール管理、へアクセス
モジュール一覧の取得

あとは、店舗IDなどをいれて保存

OSTORE_URLなどは元に戻しておきます

spree 2.6 から 3.0へバージョンアップする

rails 4.1.8 + spree 2.6
でECサイトを作っていましたが、spree 3.0が出てました

https://guides.spreecommerce.com/release_notes/spree_3_0_0.html

  • Bootstrap Backend & Frontend
  • Rails 4.2 Support
  • Google Analytics Enhanced Ecommerce

が主な対応みたいで、上げてみました

https://guides.spreecommerce.com/release_notes/spree_3_0_0.html

を参考に上げてみました
rails 4.2 + spree 最新にします

$ vim Gemfiles

source 'https://rubygems.org'

gem 'rails', '~> 4.2.0'
gem 'mysql2'
gem 'uglifier', '>= 1.3.0'
gem 'jquery-rails'
gem 'turbolinks'
gem 'jbuilder', '~> 2.0'
gem 'sdoc', '~> 0.4.0',          group: :doc
gem 'spring',        group: :development

group :assets do
  gem 'sprockets-rails'
  gem 'sass-rails',   '~> 4.0.0'
  gem 'coffee-rails', '~> 4.0.0'
end

gem 'spree', github: 'spree/spree'
gem 'spree_auth_devise', github: 'spree/spree_auth_devise'
gem 'spree_gateway', github: 'spree/spree_gateway'

で最終的にはこんな形になりました

インストール
$ bundle update
$ bundle install
$ rake railties:install:migrations
$ rake db:migrate

で、あがったようです
bootstrapで見た目も変わりました

Spreeでundefined method `states’ for nil:NilClassのエラーが発生

Ruby on Rails 4.1.8
Spree 2.6-stable
でECサイトを作っていて、カートに商品をいれて次へ進むとエラーが発生

NoMethodError in Spree::Checkout#edit
Showing /home/vagrant/.rbenv/versions/2.2.0/lib/ruby/gems/2.2.0/bundler/gems/spree-dcd415d3ea99/frontend/app/views/spree/address/_form.html.erb where line #38 raised:
undefined method `states' for nil:NilClass

spree_error

インストールしたばかりなのになぜ..と思ったら

https://github.com/spree/spree/issues/1142
で議論されてましたので参考に

$ rake db:seed

loading ruby /home/vagrant/.rbenv/versions/2.2.0/lib/ruby/gems/2.2.0/bundler/gems/spree-984ecbce1d91/core/db/default/spree/countries.rb
loading ruby /home/vagrant/.rbenv/versions/2.2.0/lib/ruby/gems/2.2.0/bundler/gems/spree-984ecbce1d91/core/db/default/spree/roles.rb
loading ruby /home/vagrant/.rbenv/versions/2.2.0/lib/ruby/gems/2.2.0/bundler/gems/spree-984ecbce1d91/core/db/default/spree/states.rb
loading ruby /home/vagrant/.rbenv/versions/2.2.0/lib/ruby/gems/2.2.0/bundler/gems/spree-984ecbce1d91/core/db/default/spree/stores.rb
loading ruby /home/vagrant/.rbenv/versions/2.2.0/lib/ruby/gems/2.2.0/bundler/gems/spree-984ecbce1d91/core/db/default/spree/zones.rb
loading ruby /home/vagrant/.rbenv/versions/2.2.0/lib/ruby/gems/2.2.0/bundler/gems/spree_auth_devise-0172d0450bef/db/default/users.rb
Admin user has already been previously created.
・・・

などとできあがる初期値を作ってやったら直りました

https://github.com/spree/spree/commit/9820b66bb8d11fc8826dbeead2c46bc1424b8efb
で直ったのかと思ったらだめみたいです

参考) Ruby on RailsにSpreeを入れてみた | bgbgbg

Gemfileのバージョンの指定の仕方

RubyのGemfilesへのバージョンの書き方を忘れるのでメモ

バージョンを4.1.8に固定する

gem "rails", "4.1.8"

バージョンを4.1.8以上の最新にする
4.2とか入ります

gem "rails", ">=4.1.8"

バージョンを4.1.8以上、4.1.xの最新が入ります
4.2以上にはなりません

gem "rails", "~>4.1.8"