tigr / yandex-kassa
Helper for yandex kassa, helps handling callbacks and requests.
Installs: 3 616
Dependents: 0
Suggesters: 0
Security: 0
Stars: 6
Watchers: 3
Forks: 0
Open Issues: 0
Requires
- php: >=5.3
Requires (Dev)
- phpunit/phpunit: ~4.8.18
- satooshi/php-coveralls: ~0.6
This package is auto-updated.
Last update: 2024-12-14 04:51:09 UTC
README
Helper for yandex kassa, helps handling callbacks and requests.
Installation
composer require tigr/yandex-kassa
Usage
- Create controllers that would handle yandex kassa requests and do something like this in it:
<?php use TiGR\YandexKassa\YandexKassaHelper; use TiGR\YandexKassa\Exception\AuthorizationErrorException; use TiGR\YandexKassa\Exception\BadRequestException; $helper = new YandexKassaHelper(KASSA_SHOP_ID, KASSA_SHOP_PASSWORD); $errorStatus = YandexKassaHelper::STATUS_BAD_REQUEST; if ($helper->isCheckOrderAction()) { $errorStatus = YandexKassaHelper::STATUS_PAYMENT_REJECTED; } try { $helper->parseRequest($_POST); } catch (AuthorizationErrorException $e) { // ... handle this exception ... return $this->xmlResponse($helper->buildResponse(null, $e->getMessage())); } catch (BadRequestException $e) { // ... handle this exception ... return $this->xmlResponse($helper->buildResponse(null, $e->getMessage())); } catch (\Exception $e) { // ... handle this exception ... return $this->xmlResponse($helper->buildResponse($errorStatus)); } try { $payment = $helper->getPayment(); // ... do some validation using $payment data ... if ($helper->isPaymentAvisoAction()) { // ... Mark this payment as settled in your system ... // ... log successful transaction, if needed ... // ... notify user of successful transaction. if needed ... } return $this->xmlResponse($helper->buildResponse(/* successful by default */)); } catch (\Exception $e) { // ... handle this exception ... return $this->xmlResponse( $helper->buildResponse(YandexKassaHelper::STATUS_PAYMENT_REJECTED, $e->getMessage()) ); }