payum/core
One million downloads of Payum already! Payum offers everything you need to work with payments. Friendly for all PHP frameworks (Symfony, Laravel, Laminas, Yii, Silex). Check more visiting site.
1.7.7
5.5M downloads/mo
#2099 most downloaded on Packagist
Payum/Core
What this package is like to depend on
Last release 10 months ago
27 Oct 2025
Ships fairly regularly
a new release about every 9 months
Most releases are documented
notes for 56 of 64 stable releases
Nothing withdrawn
no release was ever pulled
13 years old
66 releases · first in 2013
1 release in the last 12 months
see the full history below
Release timeline
65 releases · Dec 2013 to Oct 2025Releases
latest 60 of 66-
1.7.727 Oct 2025Nothing published for this version
-
1.7.603 Jun 2025 -
1.7.510 Sep 2024 -
1.7.406 Nov 2023Release notes
Open source →- Run rector with base configuration
- Remove deprecated PHPUnit method
- Check that apiClass is a string before passing it to class_exists
- Add proper apiCLass info to exception
- Run rector with basic PHPUnit rules
- Run rector with PHPUnit::CODE_QUALITY
- Run Rector with ReplaceTestAnnotationWithPrefixedFunctionRector rule
Full Changelog: 1.7.3...1.7.4
-
1.7.304 Jul 2022Nothing published for this version
-
1.7.204 Jul 2022Nothing published for this version
-
1.7.003 Dec 2021Nothing published for this version
-
1.6.310 Apr 2021Nothing published for this version
-
1.6.2no dateRelease notes
Open source →-
Use the CSPRNG provided by PHP 7
For PHP 5 support, see: https://github.com/paragonie/random_compat
-
Update alcohol/iso4217 which supports PHP8
-
Replace basename for target url
-
Fixed assertNull call
-
Fixed assertContains deprecation
-
Fixed assertInternalType deprecation
-
Revert some usage og assertStringContainsString
-
-
1.6.106 Jan 2021Nothing published for this version
-
1.6.011 Feb 2020Nothing published for this version
-
1.5.106 Nov 2018Nothing published for this version
-
1.5.004 Jan 2018Release notes
Open source →- add tests for encoded requests
- add RequestTokenVerifier, use league uri to check urls
- require league/uri 5 in core too
- add support of omnipay v3
- Upgrade phpunit
- removed PHP 5.5/5.6 support
- Change community gateway for Braintree
- Some docs improvements
- Removed unused use referencing Sonata Admin Bundle
- [stripe] add create subscription action.
- [be2bill] add support of 3dSecure.
- [payex] remove doctrine from deps
- [payex] upd test wsdl link
- [offline] added refund and payout actions to offline gateway
-
1.4.301 Sep 2017 -
1.4.109 Jun 2017Release notes
Open source →- [core] Do not use base api classes where it is appropriate
- [core] Do not use GatewayAwareAction class. Use interface + trait
- [sofort] add an exception if invalid config key given
- [sofort] Add ability to disable notifications.
- [doc] Minor gramatical changes
- [doc] Add new Uniteller gateway for ^1.4 version
- [doc] Update instant-payment-notification.md
- [doc] Upgrade 3rd party libs requirments
- [doc] Update examples.md
- [doc] Add docs on how to encrypt and store gateway configs in database
-
1.4.027 Mar 2017Release notes
Open source →- [security] Add ability to crypt data stored to database
- [doc] Fix broken repo url
-
1.3.1003 Feb 2017Release notes
Open source →- [bridge][symfony] Allow choices to be defined as callbacks.
- [docs] Fix code examples. Add namespace imports to code examples
- [docs] Put all docs in one place.
- [travis] Fix library version conflict
- [travis] Prevent build fails when commit often.
-
1.3.931 Jan 2017Release notes
Open source →- [paypal][rest] Fix testsFix comments starting with # are deprecated
- [core] Twig 2.x - compatibility
- [paypal][ec] Mark reversed payments failed
- [doc] various typo fixes and improvements
-
1.3.804 Oct 2016Release notes
Open source →- [gateway] Remove
guzzle.clientfrom the gateway factory config - [doc][paypal-rest] Init payment class variable with correct model class name.
- [skeleton] Update AuthorizeAction.php
- fix tests, failed after some changes in league/uri lib.
- [doc] Fix typo
- [gateway] Remove
-
1.3.716 Sep 2016Release notes
Open source →- [paypal] Add support of Paypal Pro Hosted payments.
- [stripe] error not detected in some cases.
- [stripe] add an action to get a credit card token from payment details.
- [paypal-ec] add support of cancel request.
- [security] Add createCancelToken method
- [skeleton] Remove deprecated features from skeleton.
- [be2bill] fix composer.json
- Require payum/core 1.3 as minimum version.
- Reuse splitsh-lite tool to split main repo.
- [doc] fix various typos.
-
1.3.625 Jul 2016Release notes
Open source →- [gateway] Better handing for exception thrown on onPostExecute while processing an exception (EntityManager is closed issue).
-
1.3.512 Jul 2016 -
1.3.331 May 2016Release notes
Open source →- [twig] Postpone twig configuration and paths injection.
- [registry] fix exception message in getStorage method when object is given.
- add better messages on errors in api aware trait
- Fix stripe auto open
- [registry] Return dynamically stored gateways.
- [registry] First check factory option from config. Deprecate getFactoryName method
- [registry] Do not fallback to static registry in dynamic one. Use fallback for that.
-
1.3.229 Apr 2016Release notes
Open source →- [doc] Add how to contribute from sub repository doc
- [paypal][rest] Return the api context in the config closure
- [symfony] Do not fail on empty request stack
- [registry] Keep already created gateway instances
-
1.3.115 Apr 2016Release notes
Open source →- [paypal] Add support of Paypal Masspay.
- [paypal][ec] Fix usage of PENDINGREASON (paymentinfo instead of paymentrequest).
- [paypal][rest] Fixes and cleanups
- [core] Introduce ApiAwareTrait, GatewayAwareTrait, GenericTokenFactoryAwareTrait.
- [core] Add AuthorizePaymentAction.
- [doc] Add docs for EventDispatcherExtension.
-
1.3.029 Mar 2016Release notes
Open source →- Foundation for payouts. Payout model, generic actions.
- Foundation for direct bank debit. BankAccount model.
- Decouple from Guzzle6. Use Httplug instead.
- Replace league/url (abandoned) with league/uri.
-
1.2.824 Mar 2016Release notes
Open source →- [stripe] Allow use of explicitly passed credit card.
- [bridge][symfony] Add Symfony's template engine aware
RenderTemplateActionaction.
-
1.2.618 Mar 2016Release notes
Open source →- [bridge][symfony] add obtain credit card action builder.
- [builder] Revert "[builder] Allow create a gateway without explicit factory set. The core one is used."
-
1.2.516 Mar 2016Release notes
Open source →- [stripe] add ability to store credit card and charge it later.
- [bridge] Allow Symfony 3 request stack
- [doc] small doc fixes
-
1.2.407 Mar 2016Release notes
Open source →- [credit-card] Fixes regression in the bundle. Symfony's validator marks all fields as invalid on credit card form submission.
- [skeleton] fix some typos.
-
1.2.304 Mar 2016 -
1.2.201 Mar 2016Release notes
Open source →- [security] add ensure var is sensitive value method.
- [security] add __debugInfo to SensitiveValue object.
- [doc] various doc fixes
-
1.2.119 Feb 2016Release notes
Open source →- [doc] Update list of supported gateways
- Add subtree split bin
- Update deps of symfony phpunit bridge.
- [sofort] Add sofort gateway
- Add Gitter badge
- [doc] Remove links to payum.org.
- [doc] Create a main documentation landing page. prepare for payum.org shut down.
-
1.2.012 Feb 2016Release notes
Open source →- Supports Symfony 3.x
- [symfony] Add GatewayFactoryBuilder
- [symfony] Add CoreGatewayFactoryBuilder
- [symfony] Add TokenFactoryBuilder
- [symfony] Add HttpRequestVerifierBuilder
- [symfony] Add ContainerAwareRegistry
- [symfony] Add ContainerAwareCoreGatewayFactory
- [twig] Improve twig loader injection. Inject it to custom twig instance. Do not inject the loader several times.
- [builder] Allow to add configs several times and merge them, including core gateway, gateway, factory configs.
- [builder] Allow create a gateway without explicitly setting a factory. The core one is used.
- [http] Remove encription curl options, use default ones.
- [paypal-ec] Fixed paypal status does not detect cancelled payments
- [stripe] Updates stripe api to 2.0 - 3.x version.
-
1.1.323 Dec 2015Release notes
Open source →- [builder] Add abiliry to pass gateway factory factory, as callable
- [action][creditcard] pass token with the request so that actionUrl is set.
-
1.1.011 Dec 2015Release notes
Open source →- Supports PHP7
- [builder] Add ability to customize concrete gateway factory config.
- [action] Set action url to obtain credit card form
- [security] Implement JsonSerializable interface of SensitiveValue.
- [paypal-ec] Implemented DoCapture PayPal method
- [paypal-ec] Add support of authorize request
- [paypal-ec] Fixing an issue with marking paypal payment as canceled
- [bridge][symfony] Fix response status code in obtain credit card action.
- [offline] Add authorize action
- [klarna] Add support of payment model. add converter for it.
- [klarna] Add timeout tolerant fetch\create\update order.
-
1.0.009 Nov 2015Release notes
Open source →- [payumBuilder] add
addCoreGatewayFactoryConfigmethod - [payum] add
getTokenStoragemethod to payum object - [paypal][ec] better handling of cancelled payments.
- [paypal][ec] add support of order confirmation step.
- [stripe] pass payum token to obtain stripe token action.
- [security] set token hash to token model if not set
- [symfony] add gateways choice form type.
- [payumBuilder][omnipay] skip broken gateways.
- [payumBuilder][builder] auto register omnipay's factories.
- [be2bill] Improve capture and notify actions, do not rely on session. Fully working solution.
- [exception] add suggestion on how to troubleshoot request not supported issues.
- [gateway] Allow use of injected api and gateway in
supportsmethod. - [doc] add Payum vs Omnipay doc.
- [authorize.net] Use official sdk authorizenet/authorizenet-php deprecation.
- [payumBuilder] add
-
1.0.0-BETA328 Sep 2015 pre-releaseRelease notes
Open source →- [facade] add ability to pass builders (closures) to Payum facade builder, various bug fixes.
-
1.0.0-BETA114 Aug 2015 pre-releaseRelease notes
Open source →- Drop support of php5.3 and php5.4
- [vendors] Make some libraries non required. They are still required but "softly".
- [http-client] Reuse PSR-7 as http client.
- [twig] Move javascript vendors to separate twig block
- [factory] Introduce core gateway factory.
- [request] Add setter\getter for parameters property in RenderTemplate request. Remove context.
- [request] Add ability to pass first\current models with obtain credit card request.
- [symfony] Fix compatibility with Symfony 2.7
- [symfony] Add EventDispatcherExtension.
- [payex] Change exception message
- [paypal][rest] require stable version of sdk.
- [paypal][api] Replace $request by $fields
- [klarna] Klarna Invoice Update
- [klarna] Use sandbox recurring base uri if sandbox mode.
- [stripe] Add currency to checkout token template
- [stripe] Set stripe form payment action if variable exists
- [stripe] Use stripe javascript object only after the script is loaded
- [tests] use ::class whenever its possible
- [travis] Run tests on php7
-
0.15.303 Aug 2015 -
0.15.128 Apr 2015 -
0.14.729 Sep 2015Release notes
Open source →- [reply] remove "continue", clicking on it user can do double payment
- [factory] Add
UpdateRecurringPaymentProfileActionconfig on PaymentFactory.
-
0.14.515 Apr 2015Release notes
Open source →- [bridge][symfony] allow unset checkbox field (sandbox for example) on payment config form.
- [composer] add symfony\validator package to dev dependencies.
-
0.14.408 Apr 2015Release notes
Open source →- [symfony] Add
CreditCardDateconstraint. Checks that expiration date is greater than today.
- [symfony] Add
-
0.14.302 Apr 2015Release notes
Open source →- Introduce Payment model. Deprecate Order model.
- Introduce Gateway interfaces and classes. Deprecate Payment ones.
- [doc] add basic examples.
-
0.14.020 Feb 2015Release notes
Open source →- [payment-factory] pass config to core payment factory too.
- [payment-factory] allow set default config to payment factory.
- [payment-factory] add factory name and title to the payment config.
- [payment-factory] return default options when call createConfig.
- [doc] add EloquentStorage to list of support storages.
- [doc] add Propel2Storage to list of supported storages.
- [doc] add Propel1Storage to supported storages.
- [security] add token factory extension.
- [security] use composition of token factories. move some code to plain php bridge.
- [offline] if order details are set don't set it again.
- [storage] Add storage method findBy code improve tests include base models and example schema.
- [registry] Add DynamicRegistry registry.
- [symfony][form] Add payment config form, and payment factories choice.
- [registry] Introduce payment factories registry interface.
- [payex] add missed action to factory.
- [paypal-express-checkout] Paypal request parameters should be lowercased.
- [paypal-pro] fix api in factory.
- [payment-factory] options lower case
- [payment-factory] allow set which actions\apis\extensions must be prepend.
-
0.13.026 Dec 2014Release notes
Open source →- [ssl] Added cURL Options for the PayPal Sandbox SSL 3.0 Vulnerability (POODLE)
- [payment] remove all addXXX methods from PaymentInterface.
- [payment] Introduce
PaymentFactoryInterface. Simplify exist factories. - [request] Add missed markSuspended method to GetStatusInterface.
- [request] Allow get raw content of the request.
- [reply] Add ability to set Http StatusCode and headers.
- [action] Remove generic order action. Improve execute same request with details action.
- [action] Execute same request with details has to be the last action.
- [storage] Rename methods. Improve usage of Identity.
- [doctrine] fix mapping of
detailsfield in the order model. It has to be object. - [buzz] Create default curl client, if no client is passed
- [security] Reuse league/url while manipulation with tokens urls.
- [security] Making
afterPathoptional onTokenFactoryInterface. - [paypal-pro] Add support of refunds.
- [paypal-pro] Refactor Paypal Pro, remove not used stuff, simplify logic.
- [omnipay] Allow install Omnipay bridge ONLY as a standalone package. Not shipped with payum/payum any more.
- [symfony] Allow configure min max expiration years.
- [docs] Add chapter about refund.
-
0.12.812 Dec 2014Release notes
Open source →- [action] Back port from master a
GenericOrderAction. Fixes "Attempted to call method "getClientId" in done script but got array instead of order"
- [action] Back port from master a
-
0.12.520 Nov 2014Release notes
Open source →- [doc] add sagepay and redsys to list of supported payments.
- [security] token factory should accept Identificator instance as model.
- [paypal-ec] use capture\authorize details as details for notify token.
-
0.12.410 Nov 2014Release notes
Open source →- [request] add cancel request.
- [stripe] description in template must have default val.
-
0.12.207 Nov 2014Release notes
Open source →- [security] Added cURL Options for the PayPal Sandbox SSL 3.0 Vulnerability (POODLE)
- [omnipay-bridge] catch invalid credit card exception.
-
0.12.029 Oct 2014Release notes
Open source →- [action] add basic get http request action.
- [action]
ExecuteSameRequestWithModelDetailsActionnow do sub request for empty details too. - [request] move
ModelAwareInterfaceto model namespace andTokenAwareInterfaceto Security one. - [request] add
Refundrequest - [request] remove usages of STATUS_SUCCESS and all related methods.
- [request]
BaseModelAwarerequest was renamed toGenericone. - [request] move logic from
SecuredXXXrequests toGeneric, remove allSecuredXXXrequests. - [tests] reduce code duplications in tests, introduce
GenericActionTest. - [stripe] add
GetHttpRequestActionto checkout factory. - [stripe] add
GetHttpRequestActionto js factory. - [bridge][symfony] add
ObtainCreditCardActionand credit card form to bridge from bundle. - [bridge][symfony] add symfony response to reply converter.
- [orders] unified interface for all possible payments.
- [order][paypal] set automatically notify url if not defined.
- [order][doctrine] add mongo and orm mappings for order model.
- [order][payex] add fill order details action.
- [order][paypal-pro] add fill order details action.
- [offline] add fill order details action.
- [omnipay-bridge] add fill order details action.
- [omnipay-bridge] refactor tests, add auto fill of returnUrl, cancelUrl and clientIp.
- [omnipay-bridge] fix undefined offset 1 error. set holder name as first name always.
- [klarna-checkout] fix bad request. merchant.id invalid.
- [klarna-checkout] Remove GlobalXXXConnector. Replace CaptureAction with Authorize one.
- [klarna-invoice] add refund support.
- [paypal] correctly recognize authorize status.
- [paypal] add make status action aware of refunded payment status.
-
0.11.729 Sep 2014Release notes
Open source →- [payment] Critcal bug fix. It was possible to mix credentials of different payments if you use them in single process.
-
0.11.317 Sep 2014Release notes
Open source →- [storage] fix bug "Interface Doctrine\Common\Persistence\Proxy does not exist".
-
0.11.115 Sep 2014Release notes
Open source →- [omnipay] Fix undefined offset 1 error. No more splits, the holder name is set as a first name.
- [doctrine][registry] fix ability to get a storage by passing doctrine proxy object.
-
0.11.010 Sep 2014Release notes
Open source →- [klarna] add klarna invoice support.
- [request] add authorize request.
- [tests] upgrade phpunit up to 4.x
- [request] Rename interactive requests to replies.
RedirectUrlInteractiveRequestbecomeHttpRedirectreply. - [request] Remove
Requestpostfix. CaptureRequest become just Capture. - [request] Rename
SimpleStatusRequesttoGetHumanStatusrequest. - [request] Rename
BinaryMaskStatusRequesttoGetBinaryStatusrequest.
-
0.10.031 Jul 2014Release notes
Open source →- [doc] fix typos, improve examples, get-it-started page.
- [paypal ec][api] simplify Api class constructor. The client is optional now.
- [paypal ec][api] Api methods now takes array as argument and return array as well. Do not expose buzz outside Api.
- [tests] remove fragile functional tests.
- [composer] fix typos in composer.json
- [http] add client ip and user agent to the get http request.
- [doctrine] rename
arrayproperty todetails. - [stripe] add stripe.js, checkout support.
- [template] use twig as a templating engine.
- [template] add twig factory, simplify first setup.
- [template] allow configure a layout.
- [request] remove deprecated requests.
- [registry] decouple
StorageRegistryfrom payments removing name argument.
-
0.9.321 Jul 2014Release notes
Open source →- [doctrine] Quote a column
arrayin metadata forArrayObjectclass. Array is a reserved word in some databases.
- [doctrine] Quote a column
-
0.9.208 Jul 2014Release notes
Open source →- [request] fix post redirect interactive request, it has to extend response interactive request.
-
0.9.017 Jun 2014Release notes
Open source →- [registry] decouple
StorageRegistryfrom payments. Thenameargument was removed. - [security] allow create notify token without model set.
- [creditcard] allow set null as expire at date.
- [creditcard] allow secure credit card sensitive values.
- [creditcard]
CreditCardInterfacegetters does not returnSensitiveValueanymore. - [creditcard] rename credit card method
setCardholderandgetCardholderto justsetHodlerandgetHolder. - [creditcard] use
DateTimeto represent expire date. - [spl] the method
ArrayObject::validatedNotEmptywas renamed tovalidateNotEmpty. - [request] remove
UserInputRequeredRequestrequest. - [omnipay] support Omnipay version >=2.
- [omnipay] add
OnsiteCaptureAction. - [omnipay] allow obtain credit card in
CaptureAction. - [omnipay] fix not imported namespace, onsite capture, prepare for obtain cc.
- [omnipay] add support of POST redirect.
- [paypal-pro] allow obtain credit card.
- [be2bill] allow obtain credit card.
- [authorize.net] allow obtain credit card.
- [paypal] Add DoReferenceTransactionActionAction and DoReferenceTransactionActionRequest
- [security][symfony] Pass bollean true to url generator. Fixes fatal error on an old symfony's versions.
- [registry] decouple