logicalgrape / paypal-ipn-laravel

A PayPal IPN client for Laravel.
MIT License
34 stars 25 forks source link

PayPal IPN for Laravel 4

This package allows for the painless creation of a PayPal IPN listener in the Laravel 4 framework.

Installation

PayPal IPN for Laravel can be found on Packagist. The recommended way is through composer.

Edit composer.json and add:

{
    "require": {
        "logicalgrape/paypal-ipn-laravel": "dev-master"
    }
}

And install dependencies:

$ curl -sS https://getcomposer.org/installer | php
$ php composer.phar install

Usage

Find the providers key in app/config/app.php and register the PayPal IPN Service Provider.

'providers' => array(
    // ...

    'LogicalGrape\PayPalIpnLaravel\PayPalIpnServiceProvider',
)

Find the aliases key in app/config/app.php and register the PayPal IPN Facade.

'aliases' => array(
    // ...

    'IPN' => 'LogicalGrape\PayPalIpnLaravel\Facades\IPN',
)

Migrations

Run the migrations to create the tables to hold IPN data

$ php artisan migrate --package logicalgrape/paypal-ipn-laravel

Configuration

Publish and edit the configuration file

$ php artisan config:publish logicalgrape/paypal-ipn-laravel

Example

Create the controller PayPal will POST to

$ php artisan controller:make IpnController --only=store

Open the newly created controller and add the following to the store action

$order = IPN::getOrder();

Edit app/routes.php and add:

Route::post('ipn', array('uses' => 'IpnController@store', 'as' => 'ipn'));

Resources

To help with IPN testing, PayPal provides the PayPal IPN Simulator.

Support

Please open an issue on GitHub

License

GeocoderLaravel is released under the MIT License. See the bundled LICENSE file for details.