방글라데시 결제 API에 액세스하는 방법?초보자를 위한 개발자 튜토리얼

방글라데시 결제 API에 액세스하는 방법?초보자를 위한 개발자 튜토리얼

I. 방글라데시 결제 시장 개요

남아시아에서 가장 빠르게 성장하는 경제 국가 중 하나인 방글라데시의 전자결제 시장은 최근 몇 년 동안 급성장했습니다. 스마트폰 보급률이 증가하고 인터넷 인프라가 개선됨에 따라 점점 더 많은 기업과 개발자가 현지화된 결제 솔루션에 액세스하고자 합니다. 이 글에서는 방글라데시의 주요 결제 API에 액세스하는 방법을 기술적인 측면에서 자세히 소개합니다.

II. 사전 준비 작업

1. 올바른 결제 서비스 제공업체 선택

방글라데시에서 운영되는 주요 결제 게이트웨이는 다음과 같습니다:

  • 비캐시(시장 점유율 1위)
  • 나가드(정부 지원 디지털 지갑)
  • 로켓(네덜란드-방글라 은행의 일부)
  • Upay
  • SureCash

2. 판매자 계정 등록

선택한 제공업체의 공식 웹사이트를 방문하여 다음 단계를 완료하세요:

  1. 사업자 등록 서류 제출
  2. 신청서 작성
  3. 검토 대기 중(보통 영업일 기준 3~7일)
  4. 판매자 ID 및 API 키 가져오기

3. API 문서 액세스

등록에 성공하면 판매자 백오피스에 로그인하여 최신 버전의 API 설명서를 다운로드합니다. 대부분의 공급업체는 RESTful API 인터페이스를 지원합니다.

III. 개발 환경 구성

1. 기본 요구 사항

- HTTPS 프로토콜(SSL 인증서 필요) 
- IP 화이트리스트 설정(일부 플랫폼에 필요)
-서버 표준 시간대가 UTC+6(다카 시간)으로 설정됨

2. SDK 설치(예시: PHP)

// 컴포저를 통해 공식 SDK를 설치합니다. 
작곡가 요구 BKASH/API-클라이언트

// 또는 수동으로 도입
require_once '경로/to/bKashApi.php';

Python/Java/Node.js와 같은 다른 언어에서도 해당 SDK를 사용할 수 있습니다.

넷째, 핵심 API 도킹 프로세스

다음은 일반적인 통합 단계입니다:

1. 인증

//예시: 액세스 토큰 가져오기 
const authResponse = await fetch('https://api.bkash.com/token', {
메서드: 'POST',
헤더: {
'콘텐츠 유형': 'application/json',
'사용자이름': '[YOUR_MERCHANT_USERNAME]',
'password': '[YOUR_API_PASSWORD]'
},
body: JSON.stringify({ grant_type: 'client_credentials' })
});

2. 트랜잭션 요청 만들기

# 파이썬 예제 - 결제 요청 시작하기  
가져오기 요청

페이로드 = {
"mode": "0011", # 테스트 모드 코드
"payerReference": "INV12345".
"callbackURL": "https://yourdomain.com/callback",
"amount": "500",
"통화": "BDT".
"intent": "sale"
}
헤더 = {
"권한": "무기명 [ACCESS_TOKEN]",
"X-App-Key":"[APP_KEY]"
}
response=requests.post("https://api.bkash.com/create",json=payload,headers=headers)

3. 콜백 알림 처리하기

모든 거래 상태 변경 사항은 웹훅을 통해 알림을 받습니다:

// 자바 스프링 부트 수신 콜백 예제  
포스트매핑("/결제/콜백")
public ResponseEntity handleCallback(@RequestBody CallbackData data) {
if(data.getStatus().equals("Completed")){
// 주문 상태를 결제됨으로 업데이트
} else {
//실패 사유 문서화
}
새 응답 엔티티("OK", HttpStatus.OK)를 반환합니다;
}

4. 거래 결과 문의

콜백을 받더라도 확인을 위해 적극적으로 문의해야 합니다:

$transactionId="TRX789012".  
$queryUrl="https://api.nagad.com/query/".$transactionId;
$ch=curl_init($queryUrl);
curl_setopt($ch,CURLOPT_HTTPHEADER,[
'권한:무기명 '.$accessToken,
'X-Merchant-ID:'.$merchantId'.
]);
$result=curl_exec($ch);
/* JSON 형식을 반환합니다.
{
"statusCode": "0000",
"금액": "1000",
"trxTimestamp": "2023-05

V. 샌드박스 환경의 테스트 및 사용

1. 시험 바우처 받기

모든 주요 결제 플랫폼은 샌드박스 환경을 제공합니다:

신청 시 필수입니다:

- 테스트 휴대폰 번호(인증 코드 수신용)
- 가상 판매자 ID
- API 키 시뮬레이션

2. 일반적인 테스트 시나리오

사용 사례 테스트한 금액(BDT) 예상 결과
소액 금융 10-100 신속한 결제
대규모 거래 5000+ OTP 인증이 필요할 수 있습니다.
중복 주문 ID 금액 제한 없음 는 오류를 반환해야 합니다.
만료된 세션 타임아웃 결제ID |거래 만료 알림|거래 만료 알림
# cURL 테스트 예제(Nagad)
curl -X POST \
https://sandbox.mynagad.com/api/checkout \
-H '콘텐츠 유형: 애플리케이션/json' \
-d '{
"merchantId": "TEST001".
"invoiceNumber": "DEMO123".
"amount": "50.00"
}'

VI. 프로덕션 환경 온라인 체크리스트

공식 환경으로 전환하기 전에 다음 단계를 완료하세요:

  1. SSL 인증서, PCI DSS 준수 테스트 통과
  2. 결제 플랫폼 백엔드에서 IP 화이트리스트가 구성되었습니다.
  3. 웹훅 엔드포인트 스트레스 테스트(200+ TPS 지원 권장)
  4. 조정 모듈 통합 완료
  5. 방글라데시 언어 오류 메시지 현지화

VII. 특별 고려 사항

1.방글라데시 현지 규정 준수 요구 사항

-거래 기록을 최소 5년간 보관해야 합니다.  
-5,000 BDT 이상의 거래는 추가 인증 제출이 필요합니다.
-도박/성인 콘텐츠와 같은 고위험 업종에 대한 접근 금지

2.통화 및 수수료

주요 결제수단별 요금 비교:

결제 수수료 비교
(참고: 그림은 실제 데이터 차트로 대체해야 합니다.)

비캐시 → 1.85% + VAT    
나가드 → 고정 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 + 나가드)에 동시에 액세스해야 합니다.

✔️ 지능형 경로 최적화
실시간 성공률에 따른 자동 채널 전환:

if(bkash 실패 횟수 > 3){  
fallbackTo(nagadAPI).
}

✔️ 향상된 로컬라이제이션 경험

  • 라마단 기간 중 영업 시간 표시 조정
  • 오른쪽에서 왼쪽으로 읽는 습관에 맞춘 UI(벵골어 인터페이스)

더 자세한 코드 예제나 플랫폼별 도킹 매뉴얼은 개발자 커뮤니티[링크]에서 최신 리소스를 참조하시기 바랍니다. 이 문서는 2024년 방글라데시 중앙은행의 새로운 규정 변경 사항을 반영하여 계속 업데이트될 예정입니다.