Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with
or
.
Download ZIP
Ruby implementation of the SagePay payment gateway protocol.

This branch is even with mathie:master

Fetching latest commit…

Cannot retrieve the latest commit at this time

Failed to load latest commit information.
config/locales
lib
spec
.gitignore
.rspec
.ruby-version
.travis.yml
CHANGELOG.md
Gemfile
LICENSE
README.md
Rakefile
TODO
sage_pay.gemspec

README.md

SagePay

Build Status Code Climate Dependency Status Coverage Status

Description

This is a Ruby library for integrating with SagePay. SagePay is a payment gateway for accepting credit card payments through your web app. It offers three different integration modes:

  • Form, which is the simplest, and just involves crafting an HTML form that submits information to SagePay. This is not something you're going to need much help with, so this gem currently doesn't help you out there.

  • Server, which is the sweet spot: you can do most of the transaction types that you'd want to do, but you don't have to take/store credit card numbers, so you don't have to worry too much about PCI compliance.

  • Direct, the full-on integration where you take the credit card numbers directly on your app and the client need never know you're talking to SagePay to do the payment.

The current client app I'm writing is using SagePay Server, so that's where the current implementation will be focused. Direct will follow when I (or somebody else) has the impetus to do so.

Installation

You should be able to install the gem directly from Rubygems. Simply do:

(sudo) gem install sage_pay

and you're good to go. If you're adding it as a dependency to an existing project and you're using bundler, simply add:

gem 'sage_pay'

to your Gemfile and you're also good to go.

Assumptions

This gem currently implements SagePay protocol version 2.23. The client app I'm writing is in Rails, so there are probably some assumptions around that, too.

Test Configuration

For running the integration tests, you'll need a valid SagePay account on the simulator. If you want to run the integration tests, pass in your vendor name with the environment variable VENDOR_NAME. If you don't supply a vendor name, the integration tests will be skipped. For example:

VENDOR_NAME=rubaidh bundle exec rake spec

Please note that you need to include your current IP address in the Sage Pay Simulator portal. The Simulator only accepts calls from white listed IP addresses.

Something went wrong with that request. Please try again.