PHPackages                             hete/paypal - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Payment Processing](/categories/payments)
4. /
5. hete/paypal

ActiveKohana-module[Payment Processing](/categories/payments)

hete/paypal
===========

PayPal module for the Kohana framework

106[1 issues](https://github.com/Hete/kohana-paypal/issues)PHP

Since Jun 23Pushed 11y ago5 watchersCompare

[ Source](https://github.com/Hete/kohana-paypal)[ Packagist](https://packagist.org/packages/hete/paypal)[ RSS](/packages/hete-paypal/feed)WikiDiscussions 3.3/master Synced 3w ago

READMEChangelogDependenciesVersions (5)Used By (0)

PayPal module for the Kohana framework
======================================

[](#paypal-module-for-the-kohana-framework)

This module supports classic NVP PayPal api along with an IPN endpoint.

NVP api is being deprecated by the new [RESTful api](https://developer.paypal.com/docs/api/). You can use it with [PayPal-PHP-SDK](https://github.com/paypal/PayPal-PHP-SDK).

Basic usage
-----------

[](#basic-usage)

You need to obtain credentials from PayPal website in order to use this module. Once you have them, set them in the configuration file.

If you would like to use a certificate, do not set the signature and provide your certificate path to cURL. It is documented in the module configuration file.

You only need to factory an external `Request` object

```
$setexpresscheckout = PayPal::factory('SetExpressCheckout');
```

It returns a prepared `Request` object that you can parametrize and execute:

```
$response = $setexpresscheckout
    ->query('AMT', 33.23)
    ->query('RETURNURL', Route::url('default', array(
        'controller' => 'payment',
        'action' => 'complete'), 'https')) // use your own return url
    ->query('CANCELURL', Route::url('default', array(
        'controller' => 'payment',
        'action' => 'cancel'), 'https')) // use your own cancel url
    ->execute();
```

Do not pass an array to `Request::query`, it will erase the initial configuration which contains the credentials and method.

Redirection are handled for requests that requires user interaction.

```
$url = PayPal_SetExpressCheckout::redirect_url($response);
$query = PayPal_SetExpressCheckout::redirect_query($response);

HTTP::redirect($url . URL::query($query));
```

Or simply

```
PayPal_SetExpressCheckout::redirect($response);
```

PayPal class provides a method for parsing the Response into an associative array so that you can work with data efficiently.

```
$response = PayPal::parse_response($response);
```

If you need the raw PayPal array:

```
$arr = PayPal::parse_response($response, FALSE);
```

Then you can expand it

```
$expanded = PayPal::expand($arr);
```

Validation
----------

[](#validation)

Validation rules are given for some requests. One way to contribute is to provide more validations for the request and responses objects.

```
$request_validation = PayPal_SetExpressCheckout::get_request_validation($request);

$response_validation = PayPal_SetExpressCheckout::get_response_validation($response);
```

IPN
---

[](#ipn)

To enable IPN, set the `ipn_enabled` option in your configuration. It will create an endpoint for PayPal's request.

```
example.com/ipn

```

Requests are automatically verified against PayPal in the live environment. You only need to overload `Kohana_Controller_IPN` and set supported action. If not specified, a 404 error will be triggered.

In your application, you only need to override the IPN controller and implement the appropriate action. Action name will match the `txn_type` key in PayPal's query.

```
class Controller_PayPal_IPN extends Kohana_Controller_PayPal_IPN {

    public function action_express_checkout()
    {
        // Put your code here...
    }
}
```

###  Health Score

24

—

LowBetter than 31% of packages

Maintenance18

Infrequent updates — may be unmaintained

Popularity10

Limited adoption so far

Community15

Small or concentrated contributor base

Maturity46

Maturing project, gaining track record

 Bus Factor1

Top contributor holds 90% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

### Community

Maintainers

![](https://www.gravatar.com/avatar/82d9215a6f54e35a9f692e1af22614f195b5d49f38049eb0fe882818592b4604?d=identicon)[arteymix](/maintainers/arteymix)

---

Top Contributors

[![arteymix](https://avatars.githubusercontent.com/u/1318477?v=4)](https://github.com/arteymix "arteymix (206 commits)")[![kemo](https://avatars.githubusercontent.com/u/100160?v=4)](https://github.com/kemo "kemo (17 commits)")[![christianmartineztapia](https://avatars.githubusercontent.com/u/3521066?v=4)](https://github.com/christianmartineztapia "christianmartineztapia (2 commits)")[![paulwillyjean](https://avatars.githubusercontent.com/u/1850486?v=4)](https://github.com/paulwillyjean "paulwillyjean (2 commits)")[![dm](https://avatars.githubusercontent.com/u/150041?v=4)](https://github.com/dm "dm (1 commits)")[![Quentutt](https://avatars.githubusercontent.com/u/1253121?v=4)](https://github.com/Quentutt "Quentutt (1 commits)")

### Embed Badge

![Health badge](/badges/hete-paypal/health.svg)

```
[![Health](https://phpackages.com/badges/hete-paypal/health.svg)](https://phpackages.com/packages/hete-paypal)
```

###  Alternatives

[msilabs/bkash

bKash Payment Gateway API for Laravel Framework.

181.2k](/packages/msilabs-bkash)[binkode/laravel-paystack

A description for laravel-paystack.

112.1k](/packages/binkode-laravel-paystack)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
