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.




Install with composer:

composer require jms/payment-core-bundle


The configuration is as simple as setting an encryption key which will be used for encrypting data. You can generate a random key with the following command:

bin/console jms_payment_core:generate-key

And then use it in your configuration:

# config/packages/payment.yaml
        secret: output_of_above_command
Warning: If you change the secret or the crypto provider, all encrypted data will become unreadable.

Create database tables

This bundle requires a few database tables, which you can create as follows.

If you?re not using database migrations:

bin/console doctrine:schema:update

Or, if you?re using migrations:

bin/console doctrine:migrations:diff
bin/console doctrine:migrations:migrate

It?s assumed you have entity auto mapping enabled, which is usually the case. If you don?t, you need to either enable it:

# config/packages/doctrine.yaml
        auto_mapping: true

Or explicitly register the configuration from this bundle:

# config/packages/doctrine.yaml
            JMSPaymentCoreBundle: ~

Configure a payment backend

In addition to setting up this bundle, you will also need to install a plugin for each payment backend you intend to support. Plugins are simply bundles you add to your application, as you would with any other Symfony bundle.

Tip: See Available payment backends for the list of existing plugins.

Using the Paypal plugin as an example, you would install it with composer:

composer require jms/payment-paypal-bundle

And configure it:

# config/packages/payment.yaml

    username: your api username
    password: your api password
    signature: your api signature
Note: Other plugins will require different configuration. Take a look at their documentation for complete instructions.

Next steps

If you have no prior experience with this bundle or payment processing in general, you should follow the Accepting payments guide. Otherwise, proceed to the Payment form chapter.