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
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.
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>'
],
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;
}
$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 = []);
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
],
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
]); ?>
You will need to create controller that will handle result requests from PerfectMoney service. Sample controller code:
// TODO: Finish gateway controller example
MIT