PHP code example of merigold / yii2-p24

1. Go to this page and download the library: Download merigold/yii2-p24 library. Choose the download type require.

2. Extract the ZIP file and open the index.php.

3. Add this code to the index.php.
    
        
<?php
require_once('vendor/autoload.php');

/* Start to develop here. Best regards https://php-download.com/ */

    

merigold / yii2-p24 example snippets


'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',
        ],
]



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]);

    }

<?= Html::beginForm($p24Connector->FormActionUrl) 


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");

    }
}