paveldanilin / php-tinkoff-payment
Tinkoff payment client for PHP 7.4+
Installs: 1 684
Dependents: 0
Suggesters: 0
Security: 0
Stars: 10
Watchers: 1
Forks: 5
Open Issues: 1
Requires
- php: >=8.1
- paveldanilin/rest-client: 2.0.*
Requires (Dev)
- monolog/monolog: 2.8.0
- phpstan/phpstan: 1.10.*
- phpunit/phpunit: 10.5.*
- dev-main
- 2.0.x-dev
- 2.0.0
- 1.3.x-dev
- v1.3.3
- 1.3.2
- 1.3.1
- 1.3.0
- 1.2.x-dev
- v1.2.1
- v1.2.0
- 1.1.x-dev
- v1.1.6
- v1.1.5
- v1.1.4
- v1.1.3
- v1.1.2
- v1.1.1
- v1.1.0
- 1.0.x-dev
- v1.0.0
- dev-feature/update-rest-client
- dev-bugfix/1.1/object-util-datetime
- dev-bugfix/logger-aware-remove
- dev-bugfix/normalizer
- dev-dep-update-rest-client
- dev-feature/receipt-builder-items
- dev-feature/receipt
This package is auto-updated.
Last update: 2025-03-27 06:01:13 UTC
README
Клиент для проведения платежей API Тинькофф Платежи.
Установка
composer require paveldanilin/php-tinkoff-payment
Реализованные API
Платежи
- Создание платежа
- Отмена платежа
- Получение статуса платежа
- Получения статуса заказа
- Повторить неуспешные нотификации
- Подтверждение платежа
Автоплатежи
Примеры
Создание клиента
/** @var PaymentClientInterface $paymentClient */ $paymentClient = PaymentClient::create('<terminal_key>', '<password>');
Создание платежа
$payment = newPayment() ->amount(1000) ->orderId('1234') ->oneStep() ->build(); /** @var NewPaymentResultInterface $result */ $result = $paymentClient->init($payment); if ($result->isSuccess()) { print 'PaymentId: ' . $result->getPaymentId() . "\n"; print 'PaymentURL: ' . $result->getPaymentURL() . "\n"; } else { print 'Error: ' . $result->getMessage() . "\n"; }
Создание платежа с чеком
$payment = newPayment() ->orderId('33101') ->oneStep() ->receipt(newReceipt() ->email('pavel.k.danilin@gmail.com') ->taxationOSN() ->addItem(newReceiptItem() ->name('Кружка') ->price(1000) ->quantity(1) ->taxNone() ->build()) ->build()) ->build(); /** @var NewPaymentResultInterface $result */ $result = $paymentClient->init($payment); if ($result->isSuccess()) { print 'PaymentId: ' . $result->getPaymentId() . "\n"; print 'PaymentURL: ' . $result->getPaymentURL() . "\n"; } else { print 'Error: ' . $result->getMessage() . "\n"; }
Отмена платежа
/** @var CancelResultInterface $result */ $result = $paymentClient->cancel(1645861116); if ($result->isSuccess()) { print 'PaymentId: ' . $result->getPaymentId() . ' [' . $result->getStatus() . "]\n"; } else { print 'Error: ' . $result->getMessage() . "\n"; }
Получение текущего статуса платежа
API получение текущего статуса платежа
/** @var GetStateResultInterface $result */ $result = $paymentClient->getState(1645861116); if ($result->isSuccess()) { print 'PaymentId: ' . $result->getPaymentId() . ' [' . $result->getStatus() . "]\n"; } else { print 'Error: ' . $result->getMessage() . "\n"; }
Получение статуса заказа
/** @var CheckOrderResultInterface $result */ $result = $paymentClient->checkOrder('333335556669'); if ($result->isSuccess()) { print 'OrderID: ' . $result->getOrderId() . "\n"; print '-----' . "\n"; foreach ($result->getPayments() as $payment) { print 'PaymentID: ' . $payment->getPaymentId() . "\n"; print 'Status: ' . $payment->getStatus() . "\n"; print 'Success: ' . $payment->getSuccess() . "\n"; print 'RRN: ' . $payment->getRRN() . "\n"; print '=====' . "\n"; } } else { print 'Error: ' . $result->getMessage() . "\n"; }
Повторить неуспешные нотификации
API повторной отправки неуспешных нотификаций
/** @var ResendResultInterface $result */ $result = $paymentClient->resendNotifications(); if ($result->isSuccess()) { print 'Count: ' . $result->getCount() . "\n"; } else { print 'Error: ' . $result->getMessage() . "\n"; }
Автоплатежи
Родительский платеж
Вызовите метод Init с параметрами Recurrent и CustomerKey Переадресуйте покупателя на страницу оплаты и дождитесь совершения платежа В нотификации AUTHORIZED или CONFIRMED получите и сохраните идентификатор RebillID
$charge = new Charge(); $charge->setPaymentId(10063); $charge->setRebillId(1234); $result = $paymentClient->charge($charge); if ($result->isSuccess()) { // Успех } else { // Ошибка }
Запуск тестов
composer test