Download the PHP package dansmaculotte/paypal-ipn-listener without Composer

On this page you can find all versions of the php package dansmaculotte/paypal-ipn-listener. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.

FAQ

After the download, you have to make one include require_once('vendor/autoload.php');. After that you have to import the classes with use statements.

Example:
If you use only one package a project is not needed. But if you use more then one package, without a project it is not possible to import the classes with use statements.

In general, it is recommended to use always a project to download your libraries. In an application normally there is more than one library needed.
Some PHP packages are not free to download and because of that hosted in private repositories. In this case some credentials are needed to access such packages. Please use the auth.json textarea to insert credentials, if a package is coming from a private repository. You can look here for more information.

  • Some hosting areas are not accessible by a terminal or SSH. Then it is not possible to use Composer.
  • To use Composer is sometimes complicated. Especially for beginners.
  • Composer needs much resources. Sometimes they are not available on a simple webspace.
  • If you are using private repositories you don't need to share your credentials. You can set up everything on our site and then you provide a simple download link to your team member.
  • Simplify your Composer build process. Use our own command line tool to download the vendor folder as binary. This makes your build process faster and you don't need to expose your credentials for private repositories.
Please rate this library. Is it a good library?

Informations about the package paypal-ipn-listener

PayPal IPN Listener

Packagist Status Total Downloads License

A PayPal IPN (Instant Payment Notification) listener for PHP

Index

Prerequisites

  1. PHP ^7.2
  2. A good understanding of how the PayPal Instant Payment Notification system works. See https://developer.paypal.com/webapps/developer/docs/classic/ipn/integration-guide/IPNIntro/

Installation

Architecture

This package is made up of several components that work together:

The listener creates a Message using a MessageFactory. The Message is passed to the Verifier which uses a Service to communicate with PayPal. The Listener uses the EventDispatcher to dispatch events relating to the outcome of the IPN message verification.

The MessageFactory and Service components are swappable components.

This package provides 2 message factories:

  1. DansMaCulotte\PayPal\Ipn\MessageFactory\InputStreamMessageFactory - Creates a message from the php://input stream
  2. DansMaCulotte\PayPal\Ipn\MessageFactory\ArrayMessageFactory - Creates a message from an array passed to the setData method

This package provides 1 service:

  1. DansMaCulotte\PayPal\Ipn\Service\GuzzleService - Uses Guzzle to communicate with PayPal

Usage

You can either build up the listener object manually or you can use a listener builder. This package provides 2 listener builders:

  1. DansMaCulotte\PayPal\Ipn\ListenerBuilder\Guzzle\InputStreamListenerBuilder - Builds a listener using the guzzle service and the input stream message factory
  2. DansMaCulotte\PayPal\Ipn\ListenerBuilder\Guzzle\ArrayListenerBuilder - Builds a listener using the guzzle service and the array message factory

Using a listener builder is the preferred way of building up a listener object.

Using a listener builder

Building up the listener manually

A lot of plumbing is needed to create the listener manually. The job of the listener builder is to abstract away this logic.

Subscribing to events

Once you have created the listener object you can subscribe to the events that it will dispatch:

You can use any callable when subscribing to an event:

Listening for IPN messages

The last thing you need to do to kick of the process is listen for an IPN message:

Full Example

Sandbox mode

When using one of the provided listener builders you can set your listener to use PayPal's sandbox for testing purposes:

You can find some full usage examples in the examples directory.

Extending

To create your own service you must implement DansMaCulotte\PayPal\Ipn\Service.

To create your own message factory you must implement DansMaCulotte\PayPal\Ipn\MessageFactory.

To create your own listener builder it is best to extend DansMaCulotte\PayPal\Ipn\ListenerBuilder as this provides most of the boilerplate code needed to create a listener builder.

You will notice that when using any of the provided guzzle listener builders that there is a useSandbox method exposed. You can add this functionality to your listener builder by using the DansMaCulotte\PayPal\Ipn\ListenerBuilder\ModeDependentServiceEndpoint trait (see DansMaCulotte\PayPal\Ipn\ListenerBuilder\GuzzleListenerBuilder for usage example).

Notes

Testing

PayPal provides an IPN simulator here: https://developer.paypal.com/webapps/developer/applications/ipn_simulator


All versions of paypal-ipn-listener with dependencies

PHP Build Version
Package Version
Requires php Version ^7.2.5||^8.0
guzzlehttp/guzzle Version ^7.4
symfony/event-dispatcher Version ^4.4.0|^5.0.7|^6.0
Composer command for our command line client (download client) This client runs in each environment. You don't need a specific PHP version etc. The first 20 API calls are free. Standard composer command

The package dansmaculotte/paypal-ipn-listener contains the following files

Loading the files please wait ....