Spree Paga Code Climate Build Status

Enable spree store to allow payment via PAGA an online payment solution for Africa.


Add spree_paga to your Gemfile:

gem 'spree_paga'

Bundle your dependencies and run the installation generator:

bundle exec rails g spree_paga:install
bundle exec rake db:migrate


This is an extension for paga payment method which used for Card payment using Paga.

It also supports partial payments(if needed)

Override Method remaining_total in order_decorator.rb to set how you would like to take amount

By default it takes order total(Full Amount).

On development mode test payment is done by default and paga notification is created(just for development Environment) else for other environments Order would only be completed on receiving success response plus success notification from Paga.


Setup the Payment Method
Log in as an admin and add a new Payment Method (under Configuration), using following details:

Name: Paga
Environment: Development (or what ever environment you prefer)
Provider: Spree::PaymentMethod::Paga
Active: Yes

Click *Create , and now add your credentials in the screen that follows:

Private Notification Key: add your private notification key
Merchant Key: Add merchant key
Paga Script: Add script link provided from paga

Click Update


Be sure to bundle your dependencies and then create a dummy test app for the specs to run against.

bundle exec rake test_app
bundle exec rspec spec

When testing your applications integration with this extension you may use it's factories.
Simply add this require statement to your spec_helper:

require 'spree_paga/factories'


  1. Fork the repo.
  2. Clone your repo.
  3. Run bundle install.
  4. Run bundle exec rake test_app to create the test application in spec/test_app.
  5. Make your changes.
  6. Ensure specs pass by running bundle exec rspec spec.
  7. Submit your pull request.


vinsol.com: Ruby on Rails, iOS and Android developers

Copyright (c) 2014 vinsol.com, released under the New MIT License


No comments yet

Please login to add comment.