Как получить доступ к API платежей Бангладеш? Учебники для начинающих разработчиков
Как получить доступ к API платежей Бангладеш? Учебники для начинающих разработчиков
I. Обзор рынка платежей Бангладеш
Являясь одной из самых быстрорастущих экономик Южной Азии, рынок электронных платежей Бангладеш в последние годы переживает бум. С ростом проникновения смартфонов и улучшением интернет-инфраструктуры все больше компаний и разработчиков стремятся получить доступ к локализованным платежным решениям. В этой статье мы подробно расскажем, как получить доступ к основным платежным API в Бангладеш с технической точки зрения.
II. Предварительная подготовительная работа
1. Выбор правильного поставщика платежных услуг
Основные платежные шлюзы, работающие в Бангладеш, включают:
- bKash (наибольшая доля рынка)
- Nagad (цифровой кошелек, поддерживаемый правительством)
- Рокет (часть голландского банка Bangla Bank)
- Upay
- SureCash
2. Зарегистрируйте торговый счет
Зайдите на официальный сайт выбранного провайдера и выполните следующие действия:
- Предоставление документов для регистрации бизнеса
- Заполните форму заявки
- Ожидание рассмотрения (обычно 3-7 рабочих дней)
- Получите идентификатор продавца и ключ API
3. доступ к документации API
После успешной регистрации войдите в бэк-офис продавца, чтобы загрузить последнюю версию документации по API. Большинство провайдеров поддерживают RESTful API-интерфейсы.
III. Конфигурация среды разработки
1. Основные требования
- Протокол HTTPS (требуется сертификат SSL)
- Настройка "белого списка" IP-адресов (требуется для некоторых платформ)
-Временная зона сервера установлена на UTC+6 (время Дакки)
2. установка SDK (на примере PHP)
// Установите официальный SDK через Composer.
composer require bkash/api-client
// или введен вручную
require_once 'path/to/bKashApi.php';
Для других языков, таких как Python/Java/Node.js, также доступны соответствующие SDK.
В-четвертых, процесс стыковки ядра API
Ниже перечислены типичные этапы интеграции:
1. аутентификация
//Пример: Получение маркера доступа
const authResponse = await fetch('https://api.bkash.com/token', {
метод: 'POST',
заголовки: {
'Content-Type': 'application/json',
'username': '[YOUR_MERCHANT_USERNAME]',
'password': '[YOUR_API_PASSWORD]'
},
body: JSON.stringify({ grant_type: 'client_credentials' })
});
2. Создание запроса на транзакцию
Пример # Python - инициирование запроса на оплату
запросы на импорт
полезная нагрузка = {
"mode": "0011", код режима тестирования #
"payerReference": "INV12345".
"callbackURL": "https://yourdomain.com/callback",
"сумма": "500",
"валюта": "BDT".
"намерение": "продажа"
}
заголовки = {
"Авторизация": "Носитель [ACCESS_TOKEN]",
"X-App-Key":"[APP_KEY]"
}
response=requests.post("https://api.bkash.com/create",json=payload,headers=headers)
3. Обработка уведомлений об обратном вызове
Все изменения статуса транзакции уведомляются через веб-хук:
// Пример обратного вызова получателя в Java Spring Boot
@PostMapping("/payment/callback")
public ResponseEntity handleCallback(@RequestBody CallbackData data) {
if(data.getStatus().equals("Completed")){
// Обновите статус заказа до оплаченного
} else {
//Документирование причин неудачи
}
return new ResponseEntity("OK", HttpStatus.OK);
}
4. Узнайте о результатах сделки
Даже если вам перезвонили, следует заранее запросить подтверждение:
$transactionId="TRX789012".
$queryUrl="https://api.nagad.com/query/".$transactionId;
$ch=curl_init($queryUrl);
curl_setopt($ch,CURLOPT_HTTPHEADER,[
'Authorization:Bearer '.$accessToken,
'X-Merchant-ID:'.$merchantId
]);
$result=curl_exec($ch);
/* Возвращает формат JSON.
{
"statusCode": "0000",
"сумма": "1000",
"trxTimestamp": "2023-05
V. Тестирование и использование сред "песочницы
1. Получение тестовых ваучеров
Все основные платежные платформы предлагают среду "песочницы":
- bKash Sandbox. https://developer.bkash.com
- Портал испытаний Нагад. https://sandbox.mynagad.com
- Rocket Dev Zone. https://developer.rocket.com.bd
Требуется для применения:
- Номер тестового мобильного телефона (для получения кода проверки)
- Виртуальный идентификатор торговца
- Имитация ключа API
2.Общие сценарии тестирования
пример использования | Сумма проверки (БДТ) | Ожидаемые результаты |
---|---|---|
микроплатежи | 10-100 | быстрое урегулирование |
Крупные сделки | 5000+ | Может потребоваться аутентификация с помощью OTP |
Дублирование идентификатора заказа | Любая сумма | должно вернуть ошибку |
истекшая сессия | Идентификатор платежа по времени |Оповещение об истечении срока действия сделки|Оповещение об истечении срока действия сделки |
Пример теста # cURL (Nagad)
curl -X POST \
https://sandbox.mynagad.com/api/checkout \
-H 'Content-Type: application/json' \
-d '{
"merchantId": "TEST001".
"Номер счета": "DEMO123".
"сумма": "50.00"
}'
VI. Оперативный контрольный список производственной среды
Перед переходом в официальную среду выполните следующие действия:
- SSL-сертификаты проходят тестирование на соответствие требованиям PCI DSS
- В бэкенде платежной платформы настроен белый список IP-адресов
- Нагрузочное тестирование конечных точек Webhook (рекомендуется поддержка 200+ TPS)
- Завершена интеграция модуля выверки
- Локализация сообщения об ошибке на языке бангла
VII. Особые соображения
1.Местные требования к соблюдению законодательства Бангладеш
-Обязательно хранить записи о сделках не менее 5 лет
-Сделки на сумму свыше 5 000 BDT требуют дополнительной аутентификации
-Запрет доступа к отраслям с высоким уровнем риска, таким как азартные игры/контент для взрослых
2.Валюта и сборы
Сравнение тарифов на основные способы оплаты:
(Примечание: рисунки необходимо заменить графиками с реальными данными)
bKash → 1.85% + НДС
Нагад → Фиксированный 15 BDT/ручка
Ракета → Корпоративные аккаунты Договорная до 1%
Доступ к кредитной карте → 3%-4% (не рекомендуется)
VIII. Руководство по устранению неполадок
Ссылка, когда API возвращает ошибку:
Анализ кода состояния HTTP
Таблица: Сравнение распространенных кодов ошибок
| кодирование | скрытый смысл | Рецепт |
|----|----- ----|----- ------|
401 Сбой аутентификации ⇒ проверьте, находится ли временная метка в часовом поясе UTC+6
403 IP не авторизован ⇒ обратитесь в службу поддержки для добавления IP сервера
429 Ограничение потока запросов ⇒ уменьшение частоты вызовов или увеличение квоты запросов
503 Сервисное обслуживание ⇒ просмотр официальной страницы состояния (status.nagad.com)
// Пример типичной логики обработки ошибок (bKash)
попробуйте {
const payment = await bkash.createPayment(params);
} catch (error) { // поймать специфическое для бизнеса исключение
if(error.code === 'INSUFFICIENT_BALANCE'){
alert("Баланс кошелька пользователя недостаточен");;
} else if(error.code === 'TX_TIMEOUT'){
console.log("Срок действия этого заказа истек, пожалуйста, создайте его заново");
}
}
ix. рекомендации по передовому опыту
Основываясь на нашем опыте подбора 50+ местных предприятий:
✔️ стратегия гибридной интеграции
Одновременный доступ как минимум к двум каналам оплаты (например, bKash + Nagad), чтобы избежать единой точки отказа, влияющей на выручку.
✔️ Интеллектуальная оптимизация маршрутов
Автоматическое переключение каналов на основе коэффициента успешности в реальном времени:
если (количество отказов bkash > 3){
fallbackTo(nagadAPI).
}
✔️ Улучшенный опыт локализации
- Корректировка отображения рабочих часов во время Рамадана
- Пользовательский интерфейс адаптирован к привычке чтения справа налево (интерфейс на бенгальском языке)
Для получения более подробных примеров кода или руководств по стыковке для конкретной платформы посетите наше сообщество разработчиков [ссылка], где вы найдете самые свежие ресурсы. Эта статья будет продолжать обновляться с учетом новых изменений в регулировании Центрального банка Бангладеш в 2024 году.