Как получить доступ к API платежей Бангладеш? Учебники для начинающих разработчиков

Как получить доступ к API платежей Бангладеш? Учебники для начинающих разработчиков

I. Обзор рынка платежей Бангладеш

Являясь одной из самых быстрорастущих экономик Южной Азии, рынок электронных платежей Бангладеш в последние годы переживает бум. С ростом проникновения смартфонов и улучшением интернет-инфраструктуры все больше компаний и разработчиков стремятся получить доступ к локализованным платежным решениям. В этой статье мы подробно расскажем, как получить доступ к основным платежным API в Бангладеш с технической точки зрения.

II. Предварительная подготовительная работа

1. Выбор правильного поставщика платежных услуг

Основные платежные шлюзы, работающие в Бангладеш, включают:

  • bKash (наибольшая доля рынка)
  • Nagad (цифровой кошелек, поддерживаемый правительством)
  • Рокет (часть голландского банка Bangla Bank)
  • Upay
  • SureCash

2. Зарегистрируйте торговый счет

Зайдите на официальный сайт выбранного провайдера и выполните следующие действия:

  1. Предоставление документов для регистрации бизнеса
  2. Заполните форму заявки
  3. Ожидание рассмотрения (обычно 3-7 рабочих дней)
  4. Получите идентификатор продавца и ключ 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. Получение тестовых ваучеров

Все основные платежные платформы предлагают среду "песочницы":

Требуется для применения:

- Номер тестового мобильного телефона (для получения кода проверки)
- Виртуальный идентификатор торговца
- Имитация ключа 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. Оперативный контрольный список производственной среды

Перед переходом в официальную среду выполните следующие действия:

  1. SSL-сертификаты проходят тестирование на соответствие требованиям PCI DSS
  2. В бэкенде платежной платформы настроен белый список IP-адресов
  3. Нагрузочное тестирование конечных точек Webhook (рекомендуется поддержка 200+ TPS)
  4. Завершена интеграция модуля выверки
  5. Локализация сообщения об ошибке на языке бангла

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 году.