Table Of Contents

Support

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.
scrutinizer-ci.com

GitHub

Setup

Installation

Install with composer:

composer require jms/payment-core-bundle

Configuration

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
jms_payment_core:
    encryption:
        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
doctrine:
    orm:
        auto_mapping: true

Or explicitly register the configuration from this bundle:

# config/packages/doctrine.yaml
doctrine:
    orm:
        mappings:
            JMSPaymentCoreBundle: ~
Note:

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

jms_payment_paypal:
    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.