Тестирование СБП
Для целей разработки и тестирования реализована возможность воспроизвести поддерживаемые ответы при работе с методами раздела "Функциональные ссылки СБП".
Для проведения тестирования необходимо:
- Использовать 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_ACCEPTED | QR-код успешно создан, далее имитируется успешный платёж: отправляется уведомление об успешной обработке платежа. |
OK_PAYMENT_REJECTED | QR-код успешно создан, далее имитируется отклонение платежа: отправляется уведомление об отказе. |
OK_SUBSCRIPTION_ACCEPTED | QR-код успешно создан, далее имитируется успешная активация токена и отправка уведомления о его статусе. (Используется для QRCodeToken для выпуска токена) |
OK_PAYMENT_AND_SUBSCRIPTION_ACCEPTED | QR-код успешно создан, далее имитируется успешный платёж и успешная активация токена (Используется для сценария "Оплата с привязкой счета"). |
OK_SUBSCRIPTION_REJECTED | QR-код успешно создан, далее имитируется отказ в активации токена. |
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\"}"
....