PHPackages                             sahanh/ezcash - 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. sahanh/ezcash

ActiveLibrary[Payment Processing](/categories/payments)

sahanh/ezcash
=============

Wrapper for dialog EZCash

1.0.5(11y ago)3203MITPHP

Since Jun 21Pushed 11y ago1 watchersCompare

[ Source](https://github.com/sahanh/EZCash)[ Packagist](https://packagist.org/packages/sahanh/ezcash)[ RSS](/packages/sahanh-ezcash/feed)WikiDiscussions master Synced 3w ago

READMEChangelogDependencies (1)Versions (7)Used By (0)

EZCash
======

[](#ezcash)

Easy to use PHP Client for Dialog EZCash implementation. Compatible with PHP 5.3+. Unit tests are available under `tests/`, run `phpunit`

More info -

### Installing

[](#installing)

Package can be installed via composer.

\###Install Composer

```
curl -sS https://getcomposer.org/installer | php
```

Next, update your project's composer.json file to include EZCash:

```
{
    "require": {
        "sahanh/ezcash": "~1.0"
    }
}
```

After installing, you need to require Composer's autoloader:

```
require 'vendor/autoload.php';
```

### Prerequisites

[](#prerequisites)

Once signed up with EZCash, Dialog will provide 2 keys for data encryption and decryption. You'll need these 2 keys to process transactions through the gateway.

PHP Client requires openssl extesion.

### Transaction Flow

[](#transaction-flow)

Generate a Form (Submit) -&gt; Process Transaction at Dialog -&gt; Redirected to our site

### Create Transaction Request

[](#create-transaction-request)

Transaction request is done by using a HTML form, an encrypted data about the transaction is stored as `invoice` and submmited to `https://ipg.dialog.lk/ezCashIPGExtranet/servlet_sentinal`. Dialog will process the transaction and redirect user back to our site with some details.

```
use SZ\EZCash\EZCash;

//create a new EZCash instace by prvoding the key files.
$ez = new EZCash(__DIR__.'/keys/publicKey.key', __DIR__.'/keys/myprivateKey.key');

$params = array(
    'merchant'       => 'TESTMERCHANT', //id of the merchant
    'transaction_id' => 'TX_6729', //id for the transaction, typically an invoice id
    'amount'         => '100.00', //amount
    'url'            => 'http://mysite.com/process.php' //url to redirect after processing
);

//form (simple form with a submit button)
echo $ez->getInvoiceForm($params);
```

To use with a custom form use `getInvoice` to generate encrypted invoice and use it with a hidden field called `"invoice"`

```
//get the encrypted transaction data to use in form field
$invoice = $ez->getInvoice($params);
```

```
