<commit_before># 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

 * [Payment Express](http://paymentexpress.com) (Merchant hosted) - Supports Auth, Complete, Purchase, Refund, Validate
 * [Payment Express]((http://paymentexpress.com)) (DPS hosted) - Supports Auth, Purchase
 * [Eway](http://www.eway.com.au/)
 * [PayPal](http://www.paypal.com)
 * [PayStation](http://www.paystation.com)
 * [Worldpay](http://www.worldpay.com)
 * Cheque Payment (manual processing)

## 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 <commit_msg>Remove extra parens<commit_after># 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

 * [Payment Express](http://paymentexpress.com) (Merchant hosted) - Supports Auth, Complete, Purchase, Refund, Validate
 * [Payment Express](http://paymentexpress.com) (DPS hosted) - Supports Auth, Purchase
 * [Eway](http://www.eway.com.au/)
 * [PayPal](http://www.paypal.com)
 * [PayStation](http://www.paystation.com)
 * [Worldpay](http://www.worldpay.com)
 * Cheque Payment (manual processing)

## 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 
{'fraction_non_alphanumeric': 0.08862433862433862, 'fraction_numerical': 0.0006613756613756613, 'mean_word_length': 5.186094069529652, 'pattern_counts': {'":': 0, '<': 3, '<?xml version=': 0, '>': 3, 'https://': 0, 'lorem ipsum': 0, 'www.': 8, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '33624', 'n_tokens_mistral': 910, 'n_tokens_neox': 877, 'n_words': 334}