PHP code example of naffiq / yii2-kkb

1. Go to this page and download the library: Download naffiq/yii2-kkb 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/ */

    

naffiq / yii2-kkb example snippets



return [
    // your config goes here
    
    'components' => [
        
        // ...
        
        'kkbPayment' => [
            'class' => 'naffiq\kkb\KKBPayment',
            
            // Расположение публичного ключа
            'publicKeyPath' => '@vendor/naffiq/yii2-kkb/payment-keys/kkbca.pem',
            // Расположение приватного ключа
            'privateKeyPath' => '@vendor/naffiq/yii2-kkb/payment-keys/test_prv.pem',
            // Ключевая фраза к приватному ключу
            'privateKeyPassword' => 'nissan',
            
            // ID онлайн-магазина в системе kkb
            'merchantId' => '92061101',
            // ID сертификата онлайн-магазина в системе kkb
            'merchantCertificateId' => '00C182B189',
            // Название магазина
            'merchantName' => 'Test shop',
        ],
    ]
    
    // ...
];



/**
 * @var $kkbPayment \naffiq\kkb\KKBPayment 
 */
$kkbPayment = \Yii::$app->get('kkbPayment');

// В случае ошибки в этом методе могут выбрасываться исключения.
// В этом случае нужно курить доку и смотреть конфиги
try {
    $kkbPaymentBase64 = $kkbPayment->processRequest(ORDER_ID, ORDER_PRICE);
} catch (\yii\base\Exception $e) {
    $kkbPaymentBase64 = "";
    // TODO: Обработка ошибки
}

// Выставляем адрес сервера платежей в зависимости от окружения
if (YII_ENV_DEV) {
    $paymentUrl = 'https://testpay.kkb.kz/jsp/process/logon.jsp';   
} else {
    $paymentUrl = 'https://epay.kkb.kz/jsp/process/logon.jsp';
}



class PaymentController extends \yii\web\Controller {
    //Controller code

    /**
     *
     */
    public function actionProcessResult()
    {
        /**
         * @var $kkb \naffiq\kkb\KKBPayment
         */
        $kkb = \Yii::$app->get('kkbPayment');

        $response = \Yii::$app->request->post('response');
        $paymentResponse = $kkb->processResponse($response);

        // Обработка $paymentResponse
    }
    
}