# Промсвязьбанк

Промсвязьбанк (ПСБ) — российский банк. Для его клиентов есть отдельный сценарий —
**перевод на счёт внутри ПСБ**: плательщик переводит деньги на счёт получателя в том же банке.
Кроме того, ПСБ можно указать банком плательщика у любого другого метода.

В `bank_code` передавайте название из [справочника банков](banks.md) — **`Промсвязьбанк`**
(регистр не важен). `geo_code` — `RU` (по умолчанию), `currency` — `RUB`.

## Что можно { #options }

| Сценарий | `payment_method` | `bank_code` | `is_intrabank` | Что получает плательщик |
| --- | --- | --- | --- | --- |
| [Перевод на счёт внутри ПСБ](#account-intrabank) | `account_transfer` | `Промсвязьбанк` | `true` | номер счёта в ПСБ, иногда ссылку в приложение ПСБ |
| Перевод на счёт из ПСБ в любой банк | `account_transfer` | `Промсвязьбанк` | `false` | номер счёта, см. [Перевод на счёт](account.md) |
| Перевод на карту внутри ПСБ | `card_transfer` | `Промсвязьбанк` | `true` | номер карты ПСБ, см. [Приём по карте](card.md) |
| СБП или карта из ПСБ | `sbp`, `card_transfer` | `Промсвязьбанк` | `false` | телефон или карта любого банка |
| Трансграничный перевод из ПСБ | `cross_border_sbp`, `cross_border_card` | `Промсвязьбанк` | `false` | реквизит в другой стране, см. [Трансграничный перевод](cross-border.md) |

Какие из этих сценариев подключены вашему проекту, видно в
[`GET /api/v1/project/limits`](sbp.md#contract-limits): нужна запись с тем же
`payment_method`, `is_intrabank` и `bank_code: "Промсвязьбанк"` — или `bank_code: null`, она
действует для любого банка. Нет записи — `422 payment_not_covered`, подключить сценарий можно
через менеджера.

## Перевод на счёт внутри ПСБ { #account-intrabank }

Плательщик — клиент ПСБ. Он получает номер счёта получателя в ПСБ и переводит деньги внутри
банка из своего приложения.

### Создать заявку { #create }

`POST /api/v1/payments`, запрос [подписывается](signing.md) так же, как для СБП.

```json
{
  "merchant_payment_id": "order-psb-1001",
  "amount": "30000.00",
  "payment_method": "account_transfer",
  "bank_code": "Промсвязьбанк",
  "is_intrabank": true
}
```

`bank_code` и `is_intrabank: true` нужны вместе: без `bank_code` банк не определён, и перевод
внутри банка не подобрать. Остальные поля — [Приём по СБП → Поля запроса](sbp.md#request-fields).

### Ответ { #response }

```json
{
  "id": "9c4e2f1a-6b7d-4c8e-a1f2-3b4c5d6e7f80",
  "merchant_payment_id": "order-psb-1001",
  "status": "processing",
  "amount": 30000,
  "initial_amount": 30000,
  "currency": "RUB",
  "geo_code": "RU",
  "payment_method": "account_transfer",
  "bank_code": "Промсвязьбанк",
  "is_intrabank": true,
  "requisite": "40817810000000000001",
  "requisite_bank": "Промсвязьбанк",
  "holder_name": "Иван С.",
  "deeplink_url": "intent://...#Intent;scheme=...;end",
  "created_at": "2026-10-14T09:30:00Z",
  "updated_at": "2026-10-14T09:30:01Z"
}
```

- `requisite` — номер счёта получателя в ПСБ (20 цифр);
- `holder_name` и `requisite_bank` — получатель и банк, по ним плательщик сверяет перевод;
- `deeplink_url` — ссылка, которая открывает приложение ПСБ с переводом. Есть не всегда:
  сейчас её выдают в основном для Android. Полей может стать больше — игнорируйте незнакомые.

Остальные поля ответа и расчёт `merchant_information` — как у СБП:
[Ответ](sbp.md#response) и [Расчёт `merchant_information`](sbp.md#merchant-information).

### Что показать плательщику { #payer-screen }

- **Номер счёта** — `requisite` целиком, с кнопкой «Скопировать».
- **Получатель и банк** — `holder_name` и `requisite_bank`.
- **Кнопка «Открыть в приложении ПСБ»** — только если пришёл `deeplink_url`. Откройте ссылку
  как есть, не меняйте и не собирайте её сами. Номер счёта показывайте и при наличии ссылки:
  если приложение не откроется, плательщик переведёт вручную.
- **Сумма** — ровно `amount`, одним переводом.
- **Срок** — обратный отсчёт от `created_at` на срок заявки вашего проекта (по умолчанию
  15 минут).

!!! tip "Только для клиентов ПСБ"
    Предлагайте этот сценарий, когда плательщик выбрал ПСБ. Для клиента другого банка
    создавайте заявку с его банком или без `is_intrabank`.

### Статусы и результат { #result }

Как у перевода на счёт: [Статусы](sbp.md#statuses) и [Как узнать результат](sbp.md#result).

## Частые ошибки { #edge-cases }

- **`422 bank_not_found`** — название банка не из справочника. Передавайте `Промсвязьбанк`.
- **`422 payment_not_covered`** — сценария нет в договоре (см. [Что можно](#options)).
- **`422 payment_not_routable`** — сейчас нет подходящего счёта в ПСБ. Повторите позже новой
  заявкой или создайте заявку без `is_intrabank`.
- **Нет `deeplink_url`** — это нормально: покажите номер счёта.

## Смотрите также { #see-also }

- [Перевод на счёт](account.md) — метод `account_transfer` целиком.
- [Методы оплаты](methods.md) — все методы и страны.
- [Банки](banks.md) — справочник названий для `bank_code`.