Skip to content


Subversion checkout URL

You can clone with
Download ZIP
SilverStripe Payment Module
PHP Scheme JavaScript

Merge pull request #33 from patbolo/ssl3-deprecated

BUGFIX SSLv3 will be deprecated by DPS from 24/11/14
latest commit a218a9c049
@ss23 ss23 authored

Payment Module

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


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

Supported Gateways and Payment Methods


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.


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.


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:

Something went wrong with that request. Please try again.