panda-madness/kkb-epay

A PHP client for the Qazkom Epay payment gateway

1.0.2 2018-04-19 04:29 UTC

This package is auto-updated.

Last update: 2024-04-14 01:41:30 UTC


README

Эта библиотека предоставляет функционал для генерирования запросов для и обработки ответов от системы Epay Казкоммерцбанка.

В папке test-certs лежат тестовые сертификаты, которые используются в тестах.

Установка

Необходимо расширение php_xml.

composer require panda-madness/kkb-epay

Использование

$epay = new \KkbEpay\Epay([
    'MERCHANT_CERTIFICATE_ID' => '12345678',
    'MERCHANT_NAME' => 'Test Shop',
    'PRIVATE_KEY_FN' => './epay/cert.prv',
    'PRIVATE_KEY_PASS' => '1q2w3e4r',
    'PUBLIC_KEY_FN' => './epay/cert.cer',
    'BANK_PUBLIC_KEY_FN' => './epay/kkbca.pub',
    'MERCHANT_ID' => '12345678',
]);

// Основной запрос оплаты (Signed_Order_B64)
$request = $epay->buildRequest('payment', [
    'order_id' => 1234,
    'amount' => 1000,
    'currency' => 398,
    'fields' => [
        'RL' => 1234567,
        'abonent_id' => 1234567,
        ...
    ],
    'links' => [
        'BackLink' => '...',
        'FailureBackLink' => '...',
        'PostLink' => '...',
        'FailurePostLink' => '...',
    ]
]);

// Статус платежа
$request = $epay->buildRequest('status', ['order_id' => 1234]);
//Обработка ответов Epay

// PostLink
$response = $epay->parseResponse('payment', $_POST['response']);

// Ответ на запрос о статусе платежа
$curl = curl_init('https://testpay.kkb.kz/jsp/remote/checkOrdern.jsp?' . urlencode($request));

curl_setopt_array($curl, array(
    CURLOPT_RETURNTRANSFER => 1,
));

$result = curl_exec($curl);
curl_close($curl);

$response = $epay->parseResponse('status', $result);

//verify() проверяет подпись ответа.
if($response->verify()) {
    print_r($response->get());
    // get возвращает массив с параметрами ответа
} else {
    echo 'Response not valid';
}

Todo