diff --git a/Gemfile b/Gemfile index 01bd5af1..e9ad0901 100644 --- a/Gemfile +++ b/Gemfile @@ -183,6 +183,9 @@ gem 'faker' # for seeds gem 'factory_girl_rails' +# for online payments +gem 'activemerchant' + # Use guard and spring for testing in development group :development do # to launch specs when files are modified diff --git a/Gemfile.lock b/Gemfile.lock index 4647f23c..43245d31 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -26,6 +26,11 @@ GEM activejob (4.2.5.2) activesupport (= 4.2.5.2) globalid (>= 0.3.0) + activemerchant (1.59.0) + activesupport (>= 3.2.14, < 5.1) + builder (>= 2.1.2, < 4.0.0) + i18n (>= 0.6.9) + nokogiri (~> 1.4) activemodel (4.2.5.2) activesupport (= 4.2.5.2) builder (~> 3.1) @@ -529,6 +534,7 @@ PLATFORMS DEPENDENCIES active_model_serializers + activemerchant activeuuid acts_as_commentable_with_threading acts_as_list diff --git a/db/migrate/20160606040848_create_payments.rb b/db/migrate/20160606040848_create_payments.rb new file mode 100644 index 00000000..a86fc303 --- /dev/null +++ b/db/migrate/20160606040848_create_payments.rb @@ -0,0 +1,18 @@ +class CreatePayments < ActiveRecord::Migration + def change + create_table :payments do |t| + t.string :first_name + t.string :last_name + t.string :last4 + t.decimal :amount, precision: 12, scale: 3 + t.string :authorization_code + t.integer :status, default: 0 + t.integer :user_id + t.integer :conference_id + t.datetime :created_at + t.datetime :updated_at + + t.timestamps null: false + end + end +end diff --git a/db/migrate/20160610073948_add_payment_id_to_ticket_purchases.rb b/db/migrate/20160610073948_add_payment_id_to_ticket_purchases.rb new file mode 100644 index 00000000..133a047b --- /dev/null +++ b/db/migrate/20160610073948_add_payment_id_to_ticket_purchases.rb @@ -0,0 +1,5 @@ +class AddPaymentIdToTicketPurchases < ActiveRecord::Migration + def change + add_column :ticket_purchases, :payment_id, :integer + end +end diff --git a/db/schema.rb b/db/schema.rb index aa8021c8..57b7a211 100644 --- a/db/schema.rb +++ b/db/schema.rb @@ -250,6 +250,17 @@ ActiveRecord::Schema.define(version: 20160624151257) do t.datetime "updated_at" end + create_table "payments", force: :cascade do |t| + t.string "first_name" + t.string "last_name" + t.string "last4" + t.decimal "amount", precision: 12, scale: 3 + t.string "authorization_code" + t.integer "status", default: 0 + t.datetime "created_at", null: false + t.datetime "updated_at", null: false + end + create_table "programs", force: :cascade do |t| t.integer "conference_id" t.integer "rating", default: 0 @@ -396,6 +407,7 @@ ActiveRecord::Schema.define(version: 20160624151257) do t.datetime "created_at" t.integer "quantity", default: 1 t.integer "user_id" + t.integer "payment_id" end create_table "tickets", force: :cascade do |t|