yarcode/yii2-payeer

Yii2 Payeer Component

Installs: 8 618

Dependents: 0

Suggesters: 0

Security: 0

Stars: 3

Watchers: 4

Forks: 8

Open Issues: 0

Type:yii2-extension

2.0.2 2017-04-03 10:18 UTC

This package is not auto-updated.

Last update: 2024-11-10 02:52:29 UTC


README

Payment gateway and api client for Payeer service.

Package consists of 2 main components:

  • Api to perform various API calls. For instance: get balance, send money, get account history, etc.
  • Merchant to connect Merchant API and receipt payments

Installation

The preferred way to install this extension is through composer.

Either run

php composer.phar require --prefer-dist yarcode/yii2-payeer "~1.0"

or add

"yarcode/yii2-payeer": "~1.0"

to the require section of your composer.json.

API

Configuration

Configure payeerApi component in the components section of your application.

'payeerApi' => [
    'class' => \yarcode\payeer\Api::class,
    'accountNumber' => '<account number>',
    'apiId' => '<api ID>',
    'apiSecret' => '<your secret>'
],

Usage

You shall wrap API calls using try {} catch() {} to handle any errors.

/** @var \yarcode\payeer\Api $api */
$api = Yii::$app->get('payeerApi');

try {
    $result = $api->balance();    
} catch(ApiException $e) {
    // handle API errors here, for instance:
     $error = $e->getMessage();
     $result = null;
}

Available Methods

$api->isAuth();
$api->balance();
$api->transfer($to, $sum, $curIn, $curOut = null, array $restParams = [])
$api->checkUser('P1234567')
$api->getExchangeRate();
$api->initOutput($psId, $sumIn, $accountNumber, $curIn = self::CURRENCY_USD, $curOut = null);
$api->output($psId, $sumIn, $accountNumber, $curIn = self::CURRENCY_USD, $curOut = null);
$api->getPaySystems();
$api->historyInfo($historyId);
$api->shopOrderInfo($shopId, $orderId);
$api->history(array $params = []);
$api->merchant($shop, $ps, $form, array $restParams = []);

Merchant

Configuration

Configure payeer component in the components section of your application.

'payeer' => [
    'class' => \yarcode\payeer\Merchant::class,
    'shopId' => '<shop ID>',
    'secret' => '<merchant secret>',
    'currency' => '<default shop currency>' // by default Merchant::CURRENCY_USD
],

Redirecting to the payment system

To redirect user to Payeer site you need to create the page with RedirectForm widget. User will redirected right after page load.

<?= \yarcode\payeer\RedirectForm::widget([
    'merchant' => Yii::$app->get('payeer'),
    'invoiceId' => $invoiceId,
    'amount' => $amount,
    'description' => $description,
    'currency' => \yarcode\payeer\Merchant::CURRENCY_USD // By default Merchant component currency
]); ?>

Gateway controller

You will need to create controller that will handle result requests from PerfectMoney service. Sample controller code:

// TODO: Finish gateway controller example

Licence

MIT

Links