熊猫疯狂 / kkb-epay
Qazkom Epay支付网关的PHP客户端
1.0.2
2018-04-19 04:29 UTC
Requires
- php: ^7.1
Requires (Dev)
- phpunit/phpunit: ^7
README
这个库提供了生成对Epay Kazkommertsbank系统请求和处理响应的功能。
在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'; }
待办事项
- 支付系统监控请求(https://testpay.kkb.kz/doc/htm/remote.html)
- 单元测试
- 文档注释