Перейти к основному содержимому

Тестирование СБП

Для целей разработки и тестирования реализована возможность воспроизвести поддерживаемые ответы при работе с методами раздела "Функциональные ссылки СБП".

Для проведения тестирования необходимо:

  • Использовать siteUid, выданный при онбординге;
  • Задать тестовый сценарий в запросе на создание функциональной ссылки СБП.

Конфигурация тестовых сценариев

Сценарий передаётся в одном из полей метода на создание функциональной ссылки СБП в зависимости от типа QR-кода:

  • paymentPurpose — для создания статичных и динамических QR-кодов (QRCodeDynamic, QRCodeStatic) и сценария "Оплата с привязкой счета" (QRCodeDynamic + заполненное поле paymentToken);

  • subscriptionPurpose — для создания токена (QRCodeToken) и последующей работой с платежом.

В методе Создание платежа при оплате СБП-токеном (SBPTokenPaymentMethod):

  • comment - в запросе при оплате по СБП-токену, принимает поле сценария payWithToken

Поле должно содержать JSON-строку (экранированный JSON), определяющую сценарии обработки. Если поле не заполнено или содержит некорректный JSON — используется сценарий по умолчанию.

Поля сценария

1. createQrc — определяет сценарий поведения при создании QR-кода и дальнейшей обработки платежа и выпуска токена.

ЗначениеОписание
OK_WITHOUT_CALLBACKSЗначение по умолчанию. QR-код успешно создан, уведомления не отправляются. Используется, если требуется протестировать только генерацию QR-кода без имитации оплаты.
OK_PAYMENT_ACCEPTEDQR-код успешно создан, далее имитируется успешный платёж: отправляется уведомление об успешной обработке платежа.
OK_PAYMENT_REJECTEDQR-код успешно создан, далее имитируется отклонение платежа: отправляется уведомление об отказе.
OK_SUBSCRIPTION_ACCEPTEDQR-код успешно создан, далее имитируется успешная активация токена и отправка уведомления о его статусе. (Используется для QRCodeToken для выпуска токена)
OK_PAYMENT_AND_SUBSCRIPTION_ACCEPTEDQR-код успешно создан, далее имитируется успешный платёж и успешная активация токена (Используется для сценария "Оплата с привязкой счета").
OK_SUBSCRIPTION_REJECTEDQR-код успешно создан, далее имитируется отказ в активации токена.
ERRORОшибка при создании QR-кода (например, неверные параметры запроса или сбой на стороне СБП).

2. payWithToken — Определяет дальнейший сценарий поведения при оплате по токену.

ЗначениеОписание
OKЗначение по умолчанию. Оплата по токену успешно выполнена. Возвращается успешный ответ, отправляется уведомление об успешном платеже.
OK_WITHOUT_CALLBACKSОплата по токену успешно выполнена. Уведомления не отправляются.
OK_REJECTEDОплата по токену отклонена. Отправляется уведомление об отказе.
ERRORОшибка при оплате по токену (например, сбой сервиса, некорректный запрос). Возвращается ошибка.

3. refund — Определяет сценарий поведения при возврате платежа.

ЗначениеОписание
OK_WITHOUT_CALLBACKSЗначение по умолчанию. Возврат считается успешным, но уведомления не отправляются.
OK_ACCEPTEDВозврат успешно выполнен, отправляется уведомление о подтверждении возврата.
OK_REJECTEDВозврат отклонён, отправляется уведомление о неуспехе операции.
ERRORОшибка при возврате

Примеры сценариев

  • Успешное создание динамического QR-кода без последующей оплаты
....
"qrcType": "DYNAMIC",
"paymentPurpose": "{\"createQrc\":\"OK_WITHOUT_CALLBACKS\"}"
....
  • Успешное создание статического QR-кода с последующей имитацией успешной оплаты.
....
"qrcType": "STATIC",
"paymentPurpose": "{\"createQrc\":\"OK_PAYMENT_ACCEPTED\"}"
....
  • Успешное создание динамического QR-кода с последующей имитацией успешной оплаты и имитацией успешного возврата при отправке запроса Создание операции возврата
...
"qrcType": "DYNAMIC",
"paymentPurpose": "{\"createQrc\":\"OK_PAYMENT_ACCEPTED\",\"refund\":\"OK_ACCEPTED\"}"
...
  • Сценарий "Оплата с привязкой счета". Генерация динамического QR-кода с успешной оплатой и привязкой счета.
....
"qrcType": "DYNAMIC",
"paymentToken": {
"tokenizationPurpose": "Тестирование сценария оплаты с привязкой счета"
},
"paymentPurpose": "{\"createQrc\":\"OK_PAYMENT_AND_SUBSCRIPTION_ACCEPTED\"}",
....
  • Сценарий "Привязка счета без оплаты". Отказ от активации подписки.
....
"qrcType": "TOKEN",
"paymentToken": {
"tokenizationPurpose": "{\"createQrc\":\"OK_SUBSCRIPTION_REJECTED\"}"
},
....
  • Сценарий "Оплата по привязке". Имитирует отказ оплаты по токену при отправке запроса Создание платежа с методом оплаты "SBP_TOKEN".
....
"paymentMethod": {
"type":"SBP_TOKEN",
"token": "AS1000670LSS7DN18SJQDNP4B05KLJL2",
},
"comment": "{\"payWithToken\":\"OK_REJECTED\"}"
....