Yii2 free kassa extension. This packages provide to you forms, action filters, and component.
The package is available on packagist.
composer require churakovmike/yii2-free-kassa
or add to require section
"churakovmike/yii2-free-kassa": "~1.3"
You need to add component config in main-local.php
'freeKassaComponent' => [
'class' => \ChurakovMike\Freekassa\FreeKassaComponent::class,
'merchantId' => 'merchant-id',
'firstSecret' => 'your-first-secret',
'secondSecret' => 'your-second-secret',
],
If you want to check callback sender, you need to add CheckIpFilter to behaviours
public function behaviors()
{
return [
ChurakovMike\Freekassa\filters\CheckIpFilter::class,
]
}
This package provide to you form for fast load and validate free-kassa callback.
$form = new ChurakovMike\Freekassa\forms\SuccessPayForm();
$form->setAttributes(\Yii::$app->request->post());
$form->validate();
/** @var FreeKassaComponent $component */
$component = \Yii::$app->freeKassaComponent;
/** @var FreeKassaComponent $component */
$component = \Yii::$app->freeKassaComponent;
$component->validateSignature($amount, $orderId, $signature);
You can take signature from SuccessPayForm in property $form->sign
/** @var FreeKassaComponent $component */
$component = \Yii::$app->freeKassaComponent;
$component->generatePaymentLink($orderId, $sum, $description);
$orders = $component->exportOrders($limit, $offset, $status, $dateFrom, $dateTo);
$balance = $component->getBalance();
$balance = $component->getOrder($orderId, $intid);
$withdraw = $component->withdraw($amount, $currency);
$invoice = $component->invoice($email, $amount, $description);
$balance = $component->getWalletBalance();
$withdraw = $component->walletWithdraw($purse, $amount, $currency, $desc, $disableExchange);
$status = $component->getOperationStatus($paymentId);
$transfer = $component->transferMoney($purse, $amount);
$payment = $component->onlinePayment($serviceId, $account, $amount);
$list = $component->getOnlineServices();
$status = $component->getOnlinePaymentStatus($paymentId);
$btc = $component->createBTCAddress();
$ltc = $component->createLTCAddress();
$eth = $component->createETHAddress();
$btc = $component->getBTCAddress();
$ltc = $component->getLTCAddress();
$eth = $component->getETHAddress();
$btcTransaction = $component->getBTCTransaction();
$ltcTransaction = $component->getLTCTransaction();
$ethTransaction = $component->getETHTransaction();