Руководство по тестированию среды платежной песочницы Бангладеш
Руководство по тестированию среды платежной песочницы Бангладеш
1. Обзор
В этом руководстве разработчики и тестировщики найдут подробные инструкции по интеграции и тестированию в среде "песочницы" Бангладешской платежной системы. Среда "песочницы" имитирует поведение реальной платежной системы, но не предполагает реальных денежных потоков.
2. Получение доступа
2.1 Процесс регистрации
- Шаг 1: ДоступПортал разработчиков Центрального банка Бангладеш (NBP)
- Шаг 2: Заполните регистрационную форму разработчика и предоставьте необходимые документы (свидетельство о регистрации компании, ИНН и т.д.).
- Шаг 3: Ожидание рассмотрения (обычно занимает 3-5 рабочих дней)
2.2 Приобретение ключей API
Пройдя проверку, вы получите:
- Ключ API песочницы
- Идентификатор торговца/тестовый счет
- Доступ к документации API
3. URL-адреса конечных точек песочницы
Тип услуги | URL-адрес песочницы |
---|---|
Аутентификация OAuth | https://api-sandbox.nbp.gov.bd/oauth/token |
QR-платежи | https://api-sandbox.nbp.gov.bd/qr/v1/payments |
P2P-переводы | https://api-sandbox.nbp.gov.bd/payment/v1/transfers |
Оплата счетов | https://api-sandbox.nbp.gov.bd/billpay/v1/payments |
4. Тестовые учетные данные (только для целей тестирования)
Торговый счет.
ID продавца: TESTMERCH001
Ключ API: sb_test_1234567890abcdefghijklmnopqrstuvwxyz
Счет клиента.
Мобильный кошелек: +88017XXXXXXXXXX (используйте любой номер, начинающийся с +88017)
PIN:1234 (общий для всех тестовых аккаунтов)
5 . Примеры кода для распространенных торговых сценариев (Python)
запросы на импорт
Аутентификация # OAuth для получения токена
auth_url = "https://api-sandbox.nbp.gov.bd/oauth/token"
заголовки = {
"Content-Type": "application/x-www-form-urlencoded",
"Авторизация": "Basic [base64 encoded client_id:client_secret]".
}
данные = {
"grant_type": "client_credentials"
}
response = requests.post(auth_url, headers=headers, data=data)
access_token = response.json()["access_token"].
Пример запроса на выплату # QR
qr_payload = {
"merchantId": "[YOUR_MERCHANT_ID]",
"количество":100,
# ... Другие обязательные поля см. в документации API...
}
qr_headers={
'Authorization': f'Bearer {access_token}',
'Content-Type':'application/json'
}
qr_response=requests.post(
'https://api-sandbox.nbp.gov.bd/qr/v1/payments',
json=qr_payload.
заголовки=qr_headers
)
print(qr_response.json())
6 . Советы по обработке ошибок и отладке
Общие коды состояния HTTP.
-400 Bad Request → Проверьте правильность формата запроса.
-401 Unauthorized → Убедитесь, что ваш ключ API/OAuth-токен действителен и не просрочен.
-403 Запрещено→Подтвердите, что ваш торговый счет имеет разрешение на выполнение этой операции.
Рекомендации по ведению журнала.
curl-v-X POST\ https:/... \
- "Authorisation:Bearer $TOKEN"\
-d@request_body.json>response.log
7 . Ограничения и квоты
Среда SandBox имеет следующие ограничения:
-Сумма одной операции не превышает 100 000 така (BDT)
-Суммарные ежедневные операции, не превышающие 500 000 така в день
-До 30 вызовов API в минуту
8 . Каналы поддержки
Ниже перечислены способы получить помощь, если у вас возникли проблемы:
-Электронная почта.[email protected]
-Черный.Сообщество разработчиков NBP
-Тел: +880XXXXXXX (пн-вс 9AM-5PM GMT+6)
Руководство по тестированию среды платежной песочницы в Бангладеш (продолжение)
9. Рекомендации по разработке тестовых примеров
9.1 Основные сценарии платежей
- Успешный процесс оплаты: Малая сумма (10 BDT), стандартная сумма (500 BDT), пограничная стоимость (99 999 BDT)
- сцена провала::
- Непрерывный ввод с ошибкой PIN-кода (Проверяется 3 раза для блокировки механизма)
- Операции с недостаточным балансом
- Транзакция с истекшим сроком действия QR-кода (по умолчанию срок действия 15 минут)
9.2 Матрица валидации API
Метод API | Код состояния HTTP | Поля ответа JSON |
---|---|---|
POST /payments | 201 Создано |
transactionId , статус: "PENDING" |
GET /transactions/{id} | 200 OK |
settlementAmount , feeDetails |
DELETE /payments/{id} (возврат) | 202 Принято |
реверсСсылка |
10 . Инструменты локального моделирования
Быстрое развертывание образов Docker:
docker run -p8080:8080 nbp/sandbox-simulator:v2.4 \
-e MOCK_RESPONSE_DELAY=200ms \
-e FAILURE_RATE=5%
Описание параметров конфигурации:
- DELAY_MS: аналоговая задержка сети (по умолчанию 150 мс)
- FAILURE_RATE: процент автоматических неудачных запросов (для стресс-тестирования)
11 . Требования к соответствию требованиям безопасности
Защитные меры, которые должны быть реализованы:
-
зашифрованная передача: Обязательное использование TLS 1.2+ для всех запросов
Пример конфигурации # Nginx
ssl_protocols TLSv1.2 TLSv1.3.
ssl_ciphers HIGH:!aNULL:!MD5;
-
Десенсибилизация чувствительных данных::
Пример фильтрации журналов # на языке Python
импорт протоколирования
класс SensitiveDataFilter(logging.Filter).
def filter(self, record).
если 'pin' в record.getMessage().lower():
вернуть False
вернуть True
3.Рекомендации по улучшению аккредитации
POST /auth/token HTTP/1.
HOST : api-sandbox.nbp.gov.bd
Авторизация : Basic base64(client_id:SHA256(client_secret+timestamp))
x-timestamp :20240605t143812z
12 . Эталонный показатель производительности
Измерено на экземпляре AWS t3.xlarge.
-Среднее время отклика: 120±25 мс (P95)
-Пропускная способность: 220TPS (при длительной нагрузке)
-Задержка при холодном старте: 300-500 мс дополнительно для первого вызова
13 . Контрольный список по переключению производства
После завершения теста в "песочнице", пожалуйста, подтвердите:
✅ [ ] Белые списки IP-адресов были переданы команде NBP Ops
✅ [ ] Сертификат SSL выпущен доверенным центром сертификации и срок его действия не истек
✅ [ ] Охват обработки кодов ошибок до 100%
✅ [ ] Переключение на макетные данные и реальные счета завершено
Чтобы получить полную версию "Спецификации для интеграции электронных платежных систем в Бангладеш" в формате PDF, отправьте официальный запрос по электронной почте на адрес[email protected] , формат темы письма: "[API DOC REQUEST] {название компании}".