Table Of Contents


You can obtain free community support for example through stackoverflow, or also through the Symfony2 mailing list.

If you think you found a bug, please create a ticket in the bug tracker.

Continuous Inspections

If you take code quality seriously, try out the new continuous inspection service.




This plugin depends on the JMSPaymentCoreBundle, so you’ll need to add this to your kernel as well even if you don’t want to use its persistence capabilities.


    username: your api username (not your account username)
    password: your api password (not your account password)
    signature: your api signature
    debug: true/false # when true, connect to PayPal sandbox; uses kernel debug value when not specified


Without the Payment Plugin Controller

The Payment Plugin Controller is made available by the CoreBundle and basically is the interface to a persistence backend like the Doctrine ORM. It also performs additional integrity checks to validate transactions. If you don’t need these checks, and only want an easy way to communicate with the Paypal API, then you can use the plugin directly:

$plugin = $container->get('payment.plugin.paypal_express_checkout');