sudiptpa/paypal-ipn
最新稳定版本:v2.0.1
Composer 安装命令:
composer require sudiptpa/paypal-ipn
包简介
PayPal IPN (Instant Payment Notification) handling driver for PHP.
README 文档
README
PayPal Instant Payment Notification Listener driver for PHP
Requirements
This package requires PHP >=5.5
Installation
This package is installed via Composer. To install, simply add it
to your composer.json file:
composer require sudiptpa/paypal-ipn
If you really need to work on guzzle 5.* pull version below.
composer require sudiptpa/paypal-ipn:1.0.x-dev
And run composer to update your dependencies:
$ curl -s http://getcomposer.org/installer | php
$ php composer.phar update
Basic Usage
The following are 2 different methods provided by the package to handle PayPal IPN.
Using ArrayListener by passing array of Data
require __DIR__.'/vendor/autoload.php'; use PayPal\IPN\Event\IPNInvalid; use PayPal\IPN\Event\IPNVerificationFailure; use PayPal\IPN\Event\IPNVerified; use PayPal\IPN\Listener\Http\ArrayListener; $listener = new ArrayListener; /* * Payload received from PayPal end. */ $data = array( 'foo' => 'bar', 'bar' => 'baz', ); $listener->setData($data); $listener = $listener->run(); $listener->onInvalid(function (IPNInvalid $event) { $ipnMessage = $event->getMessage(); // IPN message was was invalid, something is not right! Do your logging here... }); $listener->onVerified(function (IPNVerified $event) { $ipnMessage = $event->getMessage(); // IPN message was verified, everything is ok! Do your processing logic here... }); $listener->onVerificationFailure(function (IPNVerificationFailure $event) { $error = $event->getError(); // Something bad happend when trying to communicate with PayPal! Do your logging here... }); $listener->listen();
Using InputStreamListener
use PayPal\IPN\Event\IPNInvalid; use PayPal\IPN\Event\IPNVerificationFailure; use PayPal\IPN\Event\IPNVerified; use PayPal\IPN\Listener\Http\InputStreamListener; $listener = new InputStreamListener; $listener = $listener->run(); $listener->onInvalid(function (IPNInvalid $event) { $ipnMessage = $event->getMessage(); // IPN message was was invalid, something is not right! Do your logging here... }); $listener->onVerified(function (IPNVerified $event) { $ipnMessage = $event->getMessage(); // IPN message was verified, everything is ok! Do your processing logic here... }); $listener->onVerificationFailure(function (IPNVerificationFailure $event) { $error = $event->getError(); // Something bad happend when trying to communicate with PayPal! Do your logging here... }); $listener->listen();
Contributing
Contributions are welcome and will be fully credited.
Contributions can be made via a Pull Request on Github.
Testing
PayPal provide an Instant Payment Notification (IPN) simulator here: https://developer.paypal.com/docs/classic/ipn/integration-guide/IPNSimulator/
Support
If you are having general issues with the package, feel free to drop me and email sudiptpa@gmail.com
If you believe you have found a bug, please report it using the GitHub issue tracker, or better yet, fork the library and submit a pull request.
License
This package is open-sourced software licensed under the MIT license.
统计信息
- 总下载量: 20.72k
- 月度下载量: 0
- 日度下载量: 0
- 收藏数: 10
- 点击次数: 0
- 依赖项目数: 0
- 推荐数: 0
其他信息
- 授权协议: MIT
- 更新时间: 2016-12-31