Correct usage of GatewayFactory->create
Pass form data on to omnipay gateway

Let the gateway implementation decide what's relevant, rather than pre-filtering on gateway agnostic layers like PurchaseService
Organized classes into their own files

No functional changes
More secure uids in GatewayMessage->generateIdentifier()

uniqid() isn't secure (see php.net)
Merge pull request #32 from silverstripe-iterators/pulls/class-orga

Organized classes into their own files, better identifier generation
Merge pull request #34 from silverstripe-iterators/pulls/create-usage

Correct usage of GatewayFactory->create
Merge pull request #33 from silverstripe-iterators/pulls/form-data-gateway

Pass form data on to omnipay gateway
Coding conventions: One class per file

No functional changes
Explicit marking as offsite gateway through isOffsite()

Some offsite gateways don't separate between authorize and complete requests,
so we need a different way to determine they're off site in the first place
without kicking off a purchase request within omnipay.
Docs
Set omnipay response earlier in PurchaseService

It might be used in onCaptured callbacks
Merge pull request #40 from silverstripe-iterators/pulls/omnipay-response-earlier

Set omnipay response earlier in PurchaseService
Allow overriding of credit card implementation
Setting omnipay response earlier in PurchaseService
Adding initial refund() method on RefundService
Merge pull request #44 from halkyon/refundservice

Adding initial refund() method on RefundService
Merge pull request #43 from silverstripe-iterators/pulls/response-earlier

Setting omnipay response earlier in PurchaseService->purchase()
Added info about how to set test mode
Merge pull request #41 from silverstripe-iterators/pulls/creditcard

Allow overriding of credit card implementation
Merge pull request #36 from silverstripe-iterators/pulls/class-per-file

Coding conventions: One class per file