Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
302 commits
Select commit Hold shift + click to select a range
4e5878e
Merge pull request #381 from delatbabel/alliedwallet
delatbabel Jul 27, 2016
e04d155
Update maintainers
barryvdh Jul 27, 2016
8426a42
Pick up Dummy, GoCardless, Payflow
delatbabel Jul 30, 2016
4174bc9
Merge pull request #384 from delatbabel/master
barryvdh Jul 30, 2016
bfb0b1d
Added GovPayNet
WanWizard Aug 7, 2016
ce394b1
Merge pull request #385 from FlexCoders/master
delatbabel Aug 10, 2016
ddc6479
Added academe/omnipay-payone
judgej Sep 3, 2016
fe42dbb
Remove suggest for PAYONE
judgej Sep 6, 2016
2107856
Added (unofficial) PAYONE to README
judgej Sep 6, 2016
f56ec1a
Added omnipay/braintree
rickmills Sep 7, 2016
36d52b1
Add CoinGate to payment gateways list
minvs1 Sep 13, 2016
15eacf2
Merge pull request #392 from TomasAchmedovas/patch-1
delatbabel Sep 14, 2016
adbb6e1
Merge pull request #391 from rickmills/patch-1
delatbabel Sep 14, 2016
f168d8e
Merge pull request #390 from judgej/master
delatbabel Sep 14, 2016
dbba219
Added EgopaymentRu package by pinguinjkeke
pinguinjkeke Sep 28, 2016
158bace
Merge pull request #395 from pinguinjkeke/master
delatbabel Sep 29, 2016
9a2a518
Added PaymentgateRu package by pinguinjkeke
pinguinjkeke Oct 4, 2016
d4254e2
Merge pull request #398 from pinguinjkeke/master
delatbabel Oct 11, 2016
295c5ba
add paysera to README.md
Pinciukas1991 Oct 17, 2016
a43e173
Add Vindicia gateway
nickyr Oct 17, 2016
327e143
Fix gateway name
nickyr Oct 18, 2016
62451c6
Merge pull request #400 from nickyr/patch-1
delatbabel Oct 18, 2016
fa3af65
Merge pull request #401 from povils/master
delatbabel Oct 19, 2016
a38c26d
Remove instructions to make a gateway official
nickyr Oct 19, 2016
f5e6f5c
Merge pull request #402 from nickyr/patch-2
barryvdh Oct 19, 2016
d1d32a9
Added quickpay omnipay gateway to list of gateways
sanderha Nov 16, 2016
e2a5261
Transfer ownership of coatesap's drivers
Nov 17, 2016
99cdde7
Transfer ownership of Barclays driver
Nov 17, 2016
ff63bf7
Merge pull request #411 from coatesap/patch-2
delatbabel Nov 18, 2016
a917a8e
Merge pull request #410 from coatesap/patch-1
delatbabel Nov 18, 2016
30600e7
Merge conflict
Nov 18, 2016
f305458
Merge branch 'sanderha-omnipay-quickpay-request'
Nov 18, 2016
05022f0
Update README.md
dercoder Dec 1, 2016
14d6db4
Merge pull request #413 from dercoder/patch-1
delatbabel Dec 10, 2016
3d5724b
add Ping++ payment gateway
Jan 3, 2017
aa01785
Merge pull request #415 from phoenixg/master
delatbabel Jan 4, 2017
38864cc
add datatrans omnipay implementation
Jan 9, 2017
467522d
Note on legacy use of complete* being replaced by acceptNotification
judgej Jan 10, 2017
e807257
Merge pull request #416 from dpfaffenbauer/master
delatbabel Jan 12, 2017
8e9fe15
Merge pull request #417 from judgej/master
judgej Jan 12, 2017
8754233
updated license year
wogsland Jan 18, 2017
e01aa58
Merge pull request #419 from wogsland/update-license
barryvdh Jan 18, 2017
15cd59a
Document how to implement test mode
eileenmcnaughton Mar 6, 2017
40eb452
Merge pull request #426 from eileenmcnaughton/patch-2
delatbabel Mar 18, 2017
d97b945
Update README.md
delatbabel Mar 18, 2017
669a82f
Merge pull request #428 from thephpleague/delatbabel-patch-1
delatbabel Mar 18, 2017
8648863
Update README.md
delatbabel Mar 21, 2017
cc04bd2
Merge pull request #430 from thephpleague/delatbabel-patch-2
delatbabel Mar 21, 2017
6c80b56
Update to 3.x
barryvdh Apr 21, 2017
7447b2c
Update travis
barryvdh Apr 21, 2017
865801b
Tweak composer/travis
barryvdh Apr 22, 2017
692f4d8
Added Omnipay Oppwa driver to supported gateways list
May 6, 2017
15bc847
Added POLi to the list of gateways
onlinesid May 10, 2017
0d16d93
Merge pull request #432 from onlinesid/patch-1
barryvdh May 10, 2017
2f24e8c
Merge pull request #431 from vdbelt/omnipay-oppwa-request
delatbabel May 12, 2017
a4aff17
Fix contracts URLs
a-komarev May 21, 2017
364339f
Merge pull request #435 from a-komarev/patch-1
delatbabel May 28, 2017
cec33ad
Added Payment Express / DPS (A2A)
onlinesid May 29, 2017
3081428
Merge pull request #437 from onlinesid/patch-2
delatbabel May 31, 2017
884a79d
Remove hhvm
barryvdh Jun 6, 2017
0809c99
Added new Judo Pay gateway
mnwalker Jun 8, 2017
81e0e90
Merge pull request #440 from mnwalker/master
judgej Jun 8, 2017
a669c6d
Add academe/omnipay-wirecard
judgej Jun 8, 2017
bb050a3
Merge pull request #441 from judgej/master
judgej Jun 8, 2017
ec6c77d
Add VivaPayments
delatbabel Jun 10, 2017
f7f82b3
Create README.md
yasinkuyu Jun 12, 2017
b5cca24
Added Paratika gateway
yasinkuyu Jun 13, 2017
f35fc58
Merge pull request #444 from yasinkuyu/patch-2
barryvdh Jun 14, 2017
1c3303d
Add Square module
mnwalker Jun 26, 2017
1ab094c
Merge pull request #445 from mnwalker/master
barryvdh Jun 26, 2017
4942b1d
Add support for PaySimple Gateway
dranes Aug 7, 2017
e8c2365
Add BlueSnap to list of supported gateways
nickyr Aug 10, 2017
ea997f6
Merge pull request #454 from nickyr/patch-3
delatbabel Aug 15, 2017
f98735a
Merge pull request #452 from dranes/paysimple
delatbabel Aug 15, 2017
94c59cc
Add support for cloudbanking
spsingh Aug 16, 2017
c3a7a9f
Merge pull request #455 from spsingh/master
delatbabel Aug 18, 2017
266d535
Update Yandex.Money repository and package name
aminin Aug 24, 2017
05bd0e8
Make example expiry date in the future
TheoKouzelis Sep 5, 2017
6d2e627
Merge pull request #459 from TheoKouzelis/patch-1
judgej Sep 6, 2017
110162a
Add missing code block markdown to README.md
TheoKouzelis Sep 7, 2017
544aaa9
Add Worldpay CG Hosted gateway and disambiguate Worldpay options
NoelLH Sep 15, 2017
cb1a682
Capitalise Worldpay in line with their use
NoelLH Sep 15, 2017
88d0d03
Merge pull request #457 from aminin/patch-1
delatbabel Sep 25, 2017
2b1b3eb
Merge pull request #461 from TheoKouzelis/patch-2
delatbabel Sep 25, 2017
4e42988
Merge branch 'master' into master
delatbabel Sep 25, 2017
0bd2db4
Merge pull request #462 from comicrelief/master
delatbabel Sep 25, 2017
5467ebb
Add link to payment gateway for free / zero-amount orders
colinodell Sep 25, 2017
e4a8307
Update README.md
colinodell Sep 25, 2017
72fd9f3
Merge pull request #463 from colinodell/omnipay-zero
colinodell Oct 13, 2017
6aaeb88
Test against PHP 7.2
carusogabriel Dec 3, 2017
9ce3b33
Add MyCard Gateway
Dec 4, 2017
0b5a9e9
Merge pull request #468 from carusogabriel/patch-1
barryvdh Dec 14, 2017
a2c079b
Add Sberbank implementation acquiring gateway
Dec 19, 2017
e16849a
Fix Common/CreditCard.php link
stupied4ever Jan 3, 2018
e72338a
Tpay gateway created
Jan 15, 2018
0706cab
Added Docdata Payments
busgurlu Jan 17, 2018
32acf17
Update README.md
JamesNuttall Jan 19, 2018
ff1897e
add Klarna Checkout package to readme
digibeuk Feb 1, 2018
6016fc3
Merge pull request #478 from busgurlu/patch-1
delatbabel Feb 21, 2018
1e164ff
Merge pull request #477 from tpay-com/master
delatbabel Feb 21, 2018
8db3b9d
Merge pull request #474 from stupied4ever/patch-1
delatbabel Feb 21, 2018
a9457ee
Merge pull request #471 from AndrewNovikof/master
delatbabel Feb 21, 2018
7453309
Merge pull request #469 from xxtime/master
delatbabel Feb 21, 2018
5e1c08a
Merge pull request #482 from MyOnlineStore/add-package
delatbabel Mar 9, 2018
9b077f3
Merge pull request #480 from JamesNuttall/master
delatbabel Mar 9, 2018
ef82b81
Show 2.x/3.x versions
barryvdh Mar 20, 2018
a91a169
Mark pinguinjkeke/omnipay-paymentgateru as 3.x
pinguinjkeke Mar 26, 2018
af631a3
Update README.md
barryvdh Mar 28, 2018
824d82e
Merge pull request #488 from pinguinjkeke/patch-1
barryvdh Mar 28, 2018
caef0e5
Add magnius
barryvdh Mar 28, 2018
e4d0681
Mark Stripe as 3.x ready
barryvdh Mar 28, 2018
4c710f3
Added eGHL
dilab Mar 29, 2018
4d855ff
Merge pull request #490 from dilab/patch-1
barryvdh Mar 29, 2018
0ffcab8
Check 3.x support for omnipay-alipay
lokielse Mar 30, 2018
b895294
Check v3.x support for omnipay-wechatpay
lokielse Mar 30, 2018
8dc3807
Check v3.x support for omnipay-unionpay
lokielse Mar 30, 2018
5663894
Check v3.x support for omnipay-global-alipay
lokielse Mar 30, 2018
31ea0b4
Update README.md
nocksapp Apr 10, 2018
9af0a0f
Added six more SEA payment gateways
dilab Apr 11, 2018
c42848c
Merge pull request #496 from dilab/patch-2
delatbabel Apr 11, 2018
f7fa487
Change supports common version of Sberbank
Apr 16, 2018
2a206c2
Merge pull request #497 from AndrewNovikof/master
barryvdh Apr 29, 2018
59b3b74
Merge pull request #491 from OmnipayPullRequest/master
barryvdh Apr 29, 2018
a67a406
Merge branch 'master' into patch-1
barryvdh Apr 29, 2018
3040f3f
Merge pull request #495 from nocksapp/patch-1
barryvdh Apr 29, 2018
9e8bd4e
Update README adding Spreedly Gateway
gregoriohc Apr 30, 2018
e13f5df
Merge pull request #498 from gregoriohc/patch-1
barryvdh Apr 30, 2018
1ba1892
Marked vdbelt/oppwa as 3.x compatible
vdbelt May 9, 2018
6e9bc6b
girocheckout supports Omnipay 3.0-beta.1
judgej May 9, 2018
95e36c1
Merge pull request #501 from thephpleague/judgej-patch-1
judgej May 9, 2018
b21d211
Merge pull request #500 from vdbelt/readme-update
judgej May 9, 2018
57b220a
Update README.md
barryvdh May 10, 2018
29868d0
Update README.md
barryvdh May 14, 2018
413793c
Update composer.json
barryvdh May 14, 2018
eaf9401
Update .travis.yml
barryvdh May 14, 2018
aca25e0
Update readme
barryvdh May 14, 2018
c803192
Use more versions
barryvdh May 14, 2018
d0bece4
Allow 5.6
barryvdh May 15, 2018
7d8faeb
Allow 7.0
barryvdh May 15, 2018
1514469
Merge pull request #502 from thephpleague/v3-5.6
barryvdh May 15, 2018
b504755
Update composer.json
barryvdh May 15, 2018
71bf733
Update namespace
barryvdh May 15, 2018
b6a97d3
use svg
barryvdh May 15, 2018
71366ae
Update description
barryvdh May 15, 2018
05162c6
Fixed typo
pborreli May 15, 2018
2204908
Merge pull request #503 from pborreli/patch-1
barryvdh May 15, 2018
031eaf0
Update README.md
barryvdh May 15, 2018
18371a3
Update README.md
sudiptpa May 26, 2018
f200c15
Merge pull request #504 from sudiptpa/patch-1
judgej May 26, 2018
31dd68a
Update README.md
sudiptpa May 26, 2018
be575ff
Merge pull request #505 from sudiptpa/patch-1
judgej May 26, 2018
e563940
Please add our driver with your system (#506)
tapos007 May 28, 2018
3f8ab65
add 99bill
laraveler May 30, 2018
a48f5b2
Merge pull request #507 from laraveler/patch-1
judgej May 30, 2018
578bcab
Update README.md (#508)
sudiptpa May 31, 2018
8522076
Update license year (#511)
StewPoll Jun 1, 2018
4e249c0
Added iDram Payment Gateway (#510)
ptuchik Jun 1, 2018
390bdea
Added Payssion Payment Gateway (#512)
futdev Jun 4, 2018
331a28f
uskur/omnipay-pelecard added
busgurlu Jun 18, 2018
0b2c880
Merge pull request #515 from busgurlu/patch-2
judgej Jun 18, 2018
681fd1d
Update README.md
barryvdh Jun 20, 2018
f6123c2
Update README.md (#517)
futdev Jul 22, 2018
4bfc664
Added payment systems supported by HiQDev (#520)
SilverFire Aug 9, 2018
cbf3fee
cashbaba driver omnipay version 3 updated (#521)
tapos007 Aug 16, 2018
5f5b327
Klarna checkout v3 has been released
Sep 21, 2018
7ff0662
Merge pull request #528 from MyOnlineStore/master
judgej Sep 21, 2018
15ab93b
Update README.md
Sep 26, 2018
c4bc1e4
Merge pull request #529 from vladles/authorizenetrecurring
judgej Oct 9, 2018
08d4ef5
Update .travis.yml (#535)
andreybolonin Nov 9, 2018
f3f7273
QQ Wallet supported (#533)
kuangjy2 Nov 9, 2018
d2d53a1
Update README.md (#539)
SilverFire Nov 15, 2018
daeaa8c
omnipay-robokassa supports v3 (#540)
SilverFire Nov 15, 2018
5b20763
Add Adyen API/CSE/HPP (#542)
judgej Nov 22, 2018
d924d19
Payment express does have a 3.x release (#543)
eileenmcnaughton Nov 27, 2018
15b7647
Cybersource now updated to v3 (#544)
eileenmcnaughton Nov 27, 2018
d7de320
New Elavon fork that supports version 3 (#538)
Korri Nov 27, 2018
2fb224a
Updated Readme.md (#546)
jhumayun Nov 30, 2018
77ff267
Added the Driver for MTN Cameroon Mobile money payment system to the …
larrytech7 Nov 30, 2018
a93ba0f
Add rabobank
barryvdh Nov 30, 2018
1f16bdd
Added acapture gateway link to readme (#547)
niels-qup Dec 14, 2018
04b191f
Removed space that messed up layout (#548)
niels-qup Dec 14, 2018
caeece5
Adding CG Hosted support for 3.0 (#549)
catharsisjelly Jan 15, 2019
9ecee68
Added Laybuy to list of gateways (#551)
mylesthedev Feb 9, 2019
0b48147
Updated README.md (#553)
sudiptpa Mar 13, 2019
df29c68
Update .travis.yml
barryvdh Mar 13, 2019
79c18bd
Add a Paysera gateway provider (#554)
semyonchetvertnyh Mar 15, 2019
8ce4f4c
Update README.md
sudiptpa Mar 16, 2019
7734093
Merge pull request #555 from sudiptpa/patch-1
judgej Mar 16, 2019
9e10d91
Allow guzzle6 v2 adapter (#556)
barryvdh Mar 20, 2019
50c060c
Update README.md
deniztezcan Apr 3, 2019
b977ef1
Merge pull request #557 from deniztezcan/patch-2
judgej Apr 3, 2019
b25d2fc
v3 support for nestpay and other libraries (#563)
busgurlu May 21, 2019
5382632
Add fibank to the list of integrations (#562)
sash May 21, 2019
d6a52eb
add MercadoPago Drive (#561)
lucassmacedo May 21, 2019
ed73170
Add PayZen library package (#558)
aschelch May 21, 2019
e171c27
Added PAY. to Payment Gateways (#560)
May 21, 2019
0ff7223
Added Yandex.Kassa implementation (#564)
SilverFire May 24, 2019
471e1e4
Add VR Payment to Readme (#575)
DemigodCode Aug 16, 2019
fed012c
add faspay payment (#577)
69dev69dev Aug 16, 2019
7b44048
Added Bileto-release gateways for CSOB, GoPay, PayU, TatraBank (#576)
jspetrak Aug 16, 2019
ed19048
Add omnipay-gvp for version 3.x (#572)
emr Aug 16, 2019
605201c
Added MoMo library (#570)
vuongxuongminh Aug 16, 2019
8ff0d01
Update version support of braintree (#569)
rskuipers Aug 16, 2019
99c9cd2
Mistake: Ticked wrong version (#579)
DemigodCode Aug 18, 2019
eb22dab
Added Ebanx Gatewat (#580)
gpassarelli Aug 26, 2019
8f057cb
Add ZarinPal driver for the Omnipay (#581)
nekofar Aug 31, 2019
e5ed1f9
add rocketgate and inoviopay (#585)
mvestil Sep 30, 2019
a0afb9e
Update README.md (#587)
stevenkamanu Oct 8, 2019
986f955
Update README.md (#589)
stevenkamanu Oct 10, 2019
afe4307
Test PHP 7.3/7.4 (#590)
barryvdh Oct 26, 2019
d10f04b
Updates the README.md (#591)
kiettran Nov 2, 2019
5de4ece
Add Yekpay driver for the Omnipay (#595)
nekofar Nov 8, 2019
b2aba29
Add Moneris driver for the Omnipay (#597)
unoapp-dev Dec 9, 2019
0a076ae
Added Ingenico ePayments (#584)
deniztezcan Jan 17, 2020
f03e3f7
Updated Nocks gateway 3.x support (#594)
nocksapp Jan 17, 2020
52cdc89
Add PayMongo driver. (#600)
oozman Mar 10, 2020
69e475f
Add paysafecard for omnipay v3 (#602)
roryy May 15, 2020
31ddac4
upd: Add bankart omnipay plugin to the list (#603)
sash May 22, 2020
d8a8347
Add paysafe payment hub for omnipay v3 (#605)
roryy Jul 17, 2020
048c42c
Add basic test to install and discover clients (#620)
barryvdh Sep 21, 2020
1ba7c8a
Use Guzzle7 as default implementation (#615)
barryvdh Sep 22, 2020
62ef09f
Update composer.json to be able to run with php8 (#625)
sietzekeuning Dec 13, 2020
e78c09d
Augment section on createCard indicating / recommending patterns
eileenmcnaughton Jan 10, 2021
84f5b5f
Merge pull request #629 from eileenmcnaughton/patch-6
judgej Jan 10, 2021
e9439db
Add Luminor Gateway driver (#639)
DeH4eG Mar 12, 2021
d090c00
DOCS: Add BlueOrange bank package (#646)
DeH4eG May 2, 2021
c4624ab
Create FUNDING.yml
barryvdh Jun 1, 2021
25ab940
Update composer.json
barryvdh Jun 1, 2021
0caded2
Update for php8 (#649)
barryvdh Jun 1, 2021
fae41fa
Update README.md
barryvdh Jun 1, 2021
3bbe6a1
Create CHANGELOG.md
barryvdh Jun 1, 2021
a74087b
Added Strakpay (Crypto payment) payment gateway (#634)
starkpay Jun 1, 2021
73262a3
Added Arca (Armenian Card) payment gateway (#631)
k3rnel Jun 1, 2021
62f6440
Docs update to go with PR on cardReference (#630)
eileenmcnaughton Jun 1, 2021
e4d8ae6
Update README.md (#628)
nmc9 Jun 1, 2021
4dd7f5e
Razorpay Added in the table (#621)
jahidanowar Jun 1, 2021
f76dfb7
Add Affirm driver for Omnipay v2 & v3 (#618)
eduardlleshi Jun 1, 2021
9b6ab6e
Add toyyibPay driver for the Omnipay (#599)
sitehandy Jun 1, 2021
49716e7
Update author name of PayMongo driver. (#601)
oozman Jun 1, 2021
5b5a5cd
Removed PayU adapter from efesaid from README (repository does not ex…
henrydekap Jun 1, 2021
d8b5037
Add createCard to the list on generally available actions (#522)
eileenmcnaughton Jun 1, 2021
38f66a0
Update composer.json
barryvdh Jun 5, 2021
9241318
Transportersio/omnipay-square 2.x uses omnipay v3 (#623)
Alofoxx Jun 5, 2021
bb4c1e3
HiQDev packages were upgraded to Omnipay 3.0 (#622)
SilverFire Jun 5, 2021
62b8be3
Sort gateways
barryvdh Jun 5, 2021
73b6a16
Update CHANGELOG.md
barryvdh Jun 5, 2021
c4ae9dc
MyFatoorah OmniPay (#655)
my-fatoorah Jun 20, 2021
945bebe
Add paynow to drivers list
michalskladanowski Sep 8, 2021
cc86847
Merge pull request #661 from michalskladanowski/add_paynow_driver
judgej Sep 8, 2021
3145f6f
Update run-tests.yml (#672)
sergiy-petrov May 3, 2022
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions .github/FUNDING.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
github: [barryvdh]
43 changes: 43 additions & 0 deletions .github/workflows/run-tests.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,43 @@
name: Unit Tests

on:
push:
branches:
- master
pull_request:
branches:
- "*"
schedule:
- cron: '0 0 * * *'

jobs:
php-tests:
runs-on: ubuntu-latest
timeout-minutes: 15
env:
COMPOSER_NO_INTERACTION: 1

strategy:
matrix:
php: [8.1, 8.0, 7.4, 7.3]
dependency-version: [prefer-lowest, prefer-stable]

name: P${{ matrix.php }} - ${{ matrix.dependency-version }}

steps:
- name: Checkout code
uses: actions/checkout@v2

- name: Setup PHP
uses: shivammathur/setup-php@v2
with:
php-version: ${{ matrix.php }}
coverage: none
tools: composer:v2

- name: Install dependencies
run: |
composer update --${{ matrix.dependency-version }} --prefer-dist --no-progress

- name: Execute Unit Tests
run: composer test
20 changes: 0 additions & 20 deletions .travis.yml

This file was deleted.

170 changes: 170 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,170 @@
Changelog
=========

## v3.2 - 2021-06-01

Omnipay 3.2 is compatible with PHP8. This is done by upgrading the test suite to PHPUnit 8/9, with the release of omnipay/tests v4 and omnipay/common v3.1. This change is primarily for gateway developers, to make it possible to actually test PHP8, but they will need to upgrade their tests to use PHPUnit 9 (the currently supported PHPUnit version).
## v3.1 - 2020-10-29

Omnipay 3.1 uses Guzzle 7 by default (using the Guzzle 7 adapter). This doesn't change omnipay-common because they will work with any compatible Http Client.
The minimum PHP versions is bumped to 7.2 because of this.

## v3.0 - 2018-05-14

Omnipay 3.0 focuses on separation of the HTTP Client, to be independent of Guzzle.
This release brings compatibility with the latest Symfony 3+4 and Laravel 5.
The breaking changes for applications using Omnipay are kept to a minimum.

The `omnipay/omnipay` package name has been changed to `league/omnipay`

### Upgrading applications from Omnipay 2.x to 3.x

#### Breaking changes
- The `redirect()` method no calls `exit()` after sending the content. This is up to the developer now.
- An HTTP Client is required. Guzzle will be installed when using `league/omnipay`,
but otherwise you need to required your own implementation (see [PHP HTTP Clients](http://docs.php-http.org/en/latest/clients.html))
- The `omnipay/omnipay` package name has been changed to `league/omnipay` and no longers installs all the gateways directly.

#### Added
- It is now possible to use `setAmountInteger(integer $value)` to set the amount in the base units of the currency.
- Support for [Money for PHP](http://moneyphp.org/) objects are added, by using `setMoney(Money $money)` the Amount and Currency are set.

### Upgrading Gateways from 2.x to 3.x

The primary difference is the HTTP Client. We are now using HTTPlug (http://httplug.io/) but rely on our own interface.

### Breaking changes
- Change typehint from Guzzle ClientInterface to `Omnipay\Common\Http\ClientInterface`
- `$client->get('..')`/`$client->post('..')` etc are removed, you can call `$client->request('GET', '')`.
- No need to call `$request->send()`, requests are sent directly.
- Instead of `$client->createRequest(..)` you can create+send the request directly with `$client->request(..)`.
- When sending a JSON body, convert the body to a string with `json_encode()` and set the correct Content-Type.
- The response is a PSR-7 Response object. You can call `$response->getBody()->getContents()` to get the body as string.
- `$response->json()` and `$response->xml()` are gone, but you can implement the logic directly.
- An HTTP Client is no longer added by default by `omnipay/common`, but `league/omnipay` will add Guzzle.
Gateways should not rely on Guzzle or other clients directly.
- `$body` should be a string (eg. `http_build_query($data)` or `json_encode($data)` instead of just `$data`).
- The `$headers` parameters should be an `array` (not `null`, but can be empty)

Examples:
```php
// V2 XML:
$response = $this->httpClient->post($this->endpoint, null, $data)->send();
$result = $httpResponse->xml();

// V3 XML:
$response = $this->httpClient->request('POST', $this->endpoint, [], http_build_query($data));
$result = simplexml_load_string($httpResponse->getBody()->getContents());
```

```php
// Example JSON request:

$response = $this->httpClient->request('POST', $this->endpoint, [
'Accept' => 'application/json',
'Content-Type' => 'application/json',
], json_encode($data));

$result = json_decode($response->getBody()->getContents(), true);
```

#### Testing changes

PHPUnit is upgraded to PHPUnit 6. Common issues:

- `setExpectedException()` is removed

```php
// PHPUnit 5:
$this->setExpectedException($class, $message);

// PHPUnit 6:
$this->expectException($class);
$this->expectExceptionMessage($message);
```

- Tests that do not perform any assertions, will be marked as risky. This can be avoided by annotating them with ` @doesNotPerformAssertions`

- You should remove the `Mockery\Adapter\Phpunit\TestListener` in phpunit.xml.dist


## v2.0.0 - 2013-11-17

### Package Separation

As of 2.0, Omnipay has been split into separate packages. Core functionality is contained within the [omnipay/common](https://github.com/omnipay/common) repository, and all gateways have their own repositories. This means that if your project only requires on a single gateway, you can load it without installing all of the other gateways. All officially supported gateways can be found under the [Omnipay GitHub organization](//github.com/omnipay).

If you want to install all gateways, you can still use the `omnipay/omnipay` metapackage in `composer.json`:

~~~ javascript
{
"require": {
"omnipay/omnipay": "~2.0"
}
}
~~~

Alternatively, if you want to migrate to an individual gateway, simply change your `composer.json` file to reference the specific gateway (`omnipay/common` will be included for you automatically):

~~~ javascript
{
"require": {
"omnipay/paypal": "~2.0"
}
}
~~~

### Breaking Changes

The `GatewayFactory` class can no longer be called in a static fashion. To help those who want to use dependency injection, you can now create an instance of GatewayFactory:

~~~ php
$factory = new GatewayFactory();
$gateway = $factory->create('PayPal_Express');
~~~

The following code is invalid and will no longer work:

~~~ php
$gateway = GatewayFactory::create('PayPal_Express'); // will cause PHP error!
~~~

If you want to continue to use static methods for simplicity, you can use the new Omnipay class:

~~~ php
// at the top of your PHP file
use Omnipay\Omnipay;

// further down when you need to create the gateway
$gateway = Omnipay::create('PayPal_Express');
~~~

Behind the scenes, this will create a GatewayFactory instance for you and call the appropriate method on it.

### Additions

**Omnipay now supports sending line-item data to gateways.** Currently this is only supported by the PayPal gateway. Line item details can be added to a request like so:

~~~ php
$request->setItems(array(
array('name' => 'Food', 'quantity' => 1, 'price' => '40.00'),
array('name' => 'Drinks', 'quantity' => 2, 'price' => '6.00'),
));
~~~

For more details, see the [pull request](https://github.com/omnipay/omnipay/pull/154).

**Omnipay now also supports modifying request data before it is sent to the gateway.**. This allows you to send arbitrary custom data with a request, even if Omnipay doesn't support a parameter directly. To modify the request data, instead of calling `send()` directly on the request, you may use the new `sendData()` method:

~~~ php
// standard method - send default data
$response = $request->send();

// new method - get and send custom data
$data = $request->getData();
$data['customParameter'] = true;

$response = $request->sendData($data);
~~~

For more details, see the [pull request](https://github.com/omnipay/omnipay/pull/162).
2 changes: 1 addition & 1 deletion LICENSE
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
Copyright (c) 2012-2013 Adrian Macneil
Copyright (c) 2012-2018 Adrian Macneil

Permission is hereby granted, free of charge, to any person obtaining
a copy of this software and associated documentation files (the
Expand Down
Loading