merigold / yii2-p24
www.przelewy24.pl Yii2 component
Installs: 38
Dependents: 0
Suggesters: 0
Security: 0
Stars: 0
Watchers: 1
Forks: 0
Open Issues: 0
Type:yii2-extension
Requires
- pear/http_request2: v2.3.0
- yiisoft/yii2: ^2.0
Requires (Dev)
This package is not auto-updated.
Last update: 2025-02-15 21:43:29 UTC
README
Yii2 component of online payment przelewy24
Install
require: {
"merigold/yii2-p24": "~1.0"
}
or
composer require "merigold/yii2-p24:~1.0"
Usage
config file:
'components' => [ ... 'p24'=>[ 'class'=>\merigold\przelewy24\src\Przelewy24Component::className(), 'merchant_id'=><MERCHANT ID>, 'pos_id'=><SHOP ID (default merchant id)>, 'testMode'=>true // true to connect to sandbox panel, 'eventHandlerClassName'=><ClassName of order accept event Handler>, 'CRC'=><CRC> //secret CRC from przelewy24 panel, ] ], 'modules' => [ ... 'przelewy24' => [ 'class' => '\merigold\przelewy24\src\Przelewy24Module', ], ]
create from controller:
public function actionIndex() { $p24Connector = Yii::$app->p24; $model = $p24Connector->Model; $model->p24_amount = <your params>; $model->p24_currency = <your params>; $model->p24_description = <your params>; $model->p24_email = <your params>; $model->p24_country = <your params>; $model->p24_url_return = <your params>; $model->p24_session_id = <your unique session id e.g. order_id+user_id+session_id ... other payment params return $this->render('index',['p24Connector'=>$p24Connector]); }
view file:
<?= Html::beginForm($p24Connector->FormActionUrl) ?> <?=$p24Connector->renderFormFields()?> <?= Html::submitButton('submit') ?> <?= Html::endForm() ?>
Create EventHandler Class
Success callback from przelewy24 call action: przelewy24/status/accept-payment
This acction after checksum validate triiger handleOrderConfirmation().
class AcceptOrderEvent implements \merigold\przelewy24\src\Przelewy24EventHandler { public function handleOrderConfirmation(\merigold\przelewy24\src\Przelewy24Event $event) { try { //save order to db //callback POST params in: $event->sender->ConfirmationModel //trnVerify call only when $event->isValid = true; } catch (\Exception $e) { \Yii::error(VarDumper::dumpAsString($e->getMessage())); $event->isValid = false; } } /** * event for trnVerify failed */ public function handleOrderVerificationFailed(\merigold\przelewy24\src\Przelewy24Event $event) { \Yii::trace("Order VerificationFailed"); } }