SilverStripe Payment Module
PHP Scheme JavaScript
Latest commit 9a0a040 Mar 26, 2016 @dhensby dhensby Merge pull request #41 from helpfulrobot/add-standard-scrutinizer-config
Added standard Scrutinizer config
Permalink
Failed to load latest commit information.
code
images
javascript
lang
templates/Includes
tests/DPSPayment Converted to PSR-2 Dec 17, 2015
.editorconfig
.gitattributes Added standard .gitattributes file Jan 16, 2016
.scrutinizer.yml
CHANGELOG.md
LICENSE
README.md
_config.php
code-of-conduct.md
composer.json

README.md

Payment Module

Important: The module is being restructured for SilverStripe 3 support, see "Roadmap" below

Overview

Generic API for various payment gateways. Records payments and their status in the database.

Supported Gateways and Payment Methods

Configuration

A project using this module needs to set its PDS account in project _config.php file,

  • If using DPS-hosted payment gateway (pxpost), set PXPost account: DPSAdapter::set_pxpost_account($your_pxpost_username, $your_pxpost_password);
  • If using Merchant-hosted payment geteway (pxpay), set PXPay account: DPSAdapter::set_pxpay_account($your_pxpay_userid, $your_pxpay_key);
  • If using both gateways, you need to set both above. This is very likely when using DPS-hosted to Auth a Credit Card and using Merchant-hosted to recursively pay.

This module is a stand-alone module, it is only dependent on SilverStripe core. We have re-factored DPSPayment and make DPSPayment and previous DPSHostedPayment into one payment object, the only difference between the two is they call different functions when making a transaction.

One of its common applications is to be used in E-commerce module. But in general, it should be hook-up with any data object as long as this data object is payable, such as a downloadable mp3, a E-book, booking a ticket on-line, donation, etc. DPSPayment has been re-implemented in this way, though we need to check all other payment methods in future releases.

Roadmap

The module was heavily worked on during GSOC 2012 (project page), which resulted in a number of forks, which we'll merge back once they're in a good state.

Troubleshooting

Curl and CA Certificates on Windows

Some gateways (like DPSPayment) use PHP's curl in order to submit data, usually through a secure SSL connection. In some cases, the CA certificates aren't accepted. On Windows, PHP's curl doesn't come with any root CAs installed. You'll need to add them manually. The easiest way is a global installation through changing php.ini: