7.3 KiB
Работа с кассовыми ссылками
Кассовая ссылка — ссылка для оплаты в офлайн-сценариях. Вы можете создать кассовую ссылку и распечатать платежную табличку с QR-кодом, по которому покупатель сможет оплатить заказ.
С помощью SDK вы можете создать кассовую ссылку, получить информацию о ней, активировать и деактивировать ее, а также привязать к ней торговую точку.
- Запрос на создание кассовой ссылки
- Получить информацию о кассовой ссылке
- Активировать кассовую ссылку
- Деактивировать кассовую ссылку
- Привязать торговую точку к кассовой ссылке
Запрос на создание кассовой ссылки
Создание кассовой ссылки в документации
Используйте этот запрос, чтобы создать в ЮKassa объект кассовой ссылки и активировать кассовую ссылку для последующего приема платежей по платежным табличкам.
В ответ на запрос придет объект кассовой ссылки — PosLinkInfo — в актуальном статусе.
require_once 'vendor/autoload.php';
$client = new \YooKassa\Client();
$client->setAuth('xxxxxx', 'test_XXXXXXX');
try {
$posLinkData = [
'recipient' => [
'gateway_id' => '123',
],
'pos_link_data' => [
'link' => 'https://shop.example.ru/pay/1234567890',
],
];
$idempotenceKey = uniqid('', true);
$response = $client->createPosLink($posLinkData, $idempotenceKey);
if ($response->getStatus() === \YooKassa\Model\PosLink\PosLinkStatus::ACTIVE) {
// Кассовая ссылка успешно создана
}
var_dump($response->toArray());
} catch (\Exception $e) {
var_dump($e);
}
Получить информацию о кассовой ссылке
Информация о кассовой ссылке в документации
Запрос позволяет получить информацию о текущем состоянии кассовой ссылки по ее уникальному идентификатору.
В ответ на запрос придет объект кассовой ссылки — PosLinkInfo — в актуальном статусе.
require_once 'vendor/autoload.php';
$client = new \YooKassa\Client();
$client->setAuth('xxxxxx', 'test_XXXXXXX');
try {
$posLinkId = 'pl-285d3ab7-0003-5000-9000-0e1166498fda';
$response = $client->getPosLinkInfo($posLinkId);
var_dump($response->toArray());
} catch (\Exception $e) {
var_dump($e);
}
Активировать кассовую ссылку
Активация кассовой ссылки в документации
Запрос позволяет активировать ранее деактивированную кассовую ссылку, чтобы она стала доступна для приема платежей.
В ответ на запрос придет объект кассовой ссылки — PosLinkInfo — в актуальном статусе.
require_once 'vendor/autoload.php';
$client = new \YooKassa\Client();
$client->setAuth('xxxxxx', 'test_XXXXXXX');
try {
$posLinkId = 'pl-285d3ab7-0003-5000-9000-0e1166498fda';
$response = $client->activatePosLink($posLinkId, uniqid('', true));
if ($response->getStatus() === \YooKassa\Model\PosLink\PosLinkStatus::ACTIVE) {
// Кассовая ссылка активирована
}
var_dump($response->toArray());
} catch (\Exception $e) {
var_dump($e);
}
Деактивировать кассовую ссылку
Деактивация кассовой ссылки в документации
Запрос позволяет деактивировать кассовую ссылку, прием платежей по ней будет недоступен.
В ответ на запрос придет объект кассовой ссылки — PosLinkInfo — в актуальном статусе.
require_once 'vendor/autoload.php';
$client = new \YooKassa\Client();
$client->setAuth('xxxxxx', 'test_XXXXXXX');
try {
$posLinkId = 'pl-285d3ab7-0003-5000-9000-0e1166498fda';
$response = $client->deactivatePosLink($posLinkId, uniqid('', true));
if ($response->getStatus() === \YooKassa\Model\PosLink\PosLinkStatus::INACTIVE) {
// Кассовая ссылка деактивирована
}
var_dump($response->toArray());
} catch (\Exception $e) {
var_dump($e);
}
Привязать торговую точку к кассовой ссылке
Изменение торговой точки, привязанной к кассовой ссылке, в документации
Запрос позволяет привязать к кассовой ссылке другую торговую точку. В параметре recipient.gateway_id передается идентификатор торговой точки, которую вы хотите привязать.
В ответ на запрос придет объект кассовой ссылки — PosLinkInfo — в актуальном статусе.
require_once 'vendor/autoload.php';
$client = new \YooKassa\Client();
$client->setAuth('xxxxxx', 'test_XXXXXXX');
try {
$posLinkId = 'pl-285d3ab7-0003-5000-9000-0e1166498fda';
$recipientData = [
'recipient' => [
'gateway_id' => '456',
],
];
$response = $client->recipientPosLink($posLinkId, $recipientData, uniqid('', true));
var_dump($response->toArray());
} catch (\Exception $e) {
var_dump($e);
}