앱에 bKash 통합(Android/iOS)
앱에 bKash 통합
결제 플랫폼 전문가로서 bKash 결제 시스템을 모바일 앱에 통합하는 방법을 안내해드릴 수 있습니다. 아래는 자세한 단계별 가이드입니다:
1. 사전 준비
- 판매자 계정 등록에 새 파일을 추가해야 합니다.비캐시 판매자 포털등록하고 필요한 API 자격 증명 받기
- 통합 유형 선택결제 API(간편)가 필요한지 결제 API(보다 유연한)가 필요한지 결정합니다.
- API 문서 가져오기비캐시 개발자 포털에서 최신 API 문서와 SDK를 다운로드하세요.
2. Android 애플리케이션 통합 단계
a. 종속성 추가
구현 'com.bkash:paymentgateway:3.0.0'
b. SDK 초기화하기
BkashPayment bkashPayment = 새로운 BkashPayment();
bkashPayment.init(this, "YOUR_MERCHANT_API_KEY", "YOUR_MERCHANT_USERNAME");
c. 결제 요청 생성
JSONObject paymentRequest = 새 JSONObject();
시도 {
paymentRequest.put("amount", "100");
paymentRequest.put("intent", "sale");
// ... 기타 필요한 매개변수...
} catch (JSONException e) {
e.printStackTrace();
}
3. iOS 애플리케이션 통합 단계
a. CocoaPods 설치
포드 'bKashiOS프레임워크'
b. 스위프트 초기화 코드 예시
let bkashiOS = BkashiOS.sharedInstance()
bkashiOS?.initialise(withMerchantID: "YOUR_MERCHANT_ID",
판매자 사용자 이름: "YOUR_USERNAME",
apiKey: "YOUR_API_KEY")
4. 웹/백엔드 통합 요소
- 콜백 URL 유효성 검사: 올바른 성공/실패 콜백 URL 엔드포인트가 구성되었는지 확인합니다.
- IPN 처리비동기 알림을 처리하기 위해 즉시 결제 알림 리스너 구현하기
- 보안 조치::
- SSL 인증서는 유효하고 최신 상태여야 합니다.
- OAuth2 인증 프로세스가 올바르게 구현됨
5. 테스트 및 출시 고려 사항
✅ 모든 시나리오(성공, 실패, 취소 등)를 테스트하는 샌드박스 환경
✅ UI 적응 점검(특히 어두운 색상 모드에서의 디스플레이 문제)
✅ PCI DSS 규정 준수 검토(민감한 데이터가 저장되어 있는 경우)
구현의 특정 부분에 대해 더 구체적인 세부 정보가 필요하신가요? 언어별 코드 예제나 오류 처리 모범 사례와 같은 세부 정보가 필요하신가요?
bKash 결제 통합에 대한 자세한 정보
bKash 통합의 주요 측면에 대한 자세한 개요를 계속해서 제공해드리게 되어 기쁩니다. 아래는 보다 자세한 구현 가이드입니다:
1. 안드로이드 심층 통합
a. 결제 프로세스 처리 완료
// 샘플 전체 결제 요청 생성
BkashPaymentRequest 요청 = 새로운 BkashPaymentRequest.빌더()
.setAmount("500.50")
.setMerchantInvoiceNumber("ORD"+System.currentTimeMillis())
.setCallbackURL("https://yourdomain.com/bkash/callback")
.build();
bkashPayment.createPayment(요청, 새로운 결제 리스너() {
오버라이드
public void onSuccess(JSONObject data) {
// 서버 측 트랜잭션 ID의 유효성을 검사해야 합니다.
문자열 paymentID = data.optString("paymentID");
verifyWithBackend(paymentID).
}
오버라이드
public void onFailure(String errorMessage) {
쇼에러다이얼로그(오류메시지);
}
});
b. WebView 사용자 지정 구성(필요한 경우)
<액티비티 안드로이드:이름="com.bka.sh.pgw.ui.PaymentActivity"
안드로이드:테마="@스타일/사용자 지정 테마" />
2. iOS 고급 기능 구현
a. SwiftUI 적응 프로그램
구조체 BkashButton: UIViewRepresentable {
var amount: 문자열
func makeUIView(context: Context) -> UIButton { ... }
func updateUIView(_ uiView: UIButton, context: Context) { ... }
}
b. Objective-C 호환 코드 예제(필요한 경우)
[[BkashiOS sharedInstance] createPayment:@{
@"금액": @"1200".
@"통화": @"BDT".
} completionHandler^(NSDictionary *응답, NSError *오류){
if(!error){ /* 성공적인 응답 처리 */ }
}];
3. 웹훅 보안 인증 모범 사례
백엔드 PHP 유효성 검사 예제:
$received_signature = $_SERVER['HTTP_X_BKASH_SIGNature'];
$payload = file_get_contents('php://input');
$expected_signature = hash_hmac('sha256', $payload, API_SECRET);
if(hash_equals($expected_signature, $received_signature)){
// 안전 처리 로직...
$transaction_id = json_decode($payload)->paymentID;
업데이트주문상태($트랜잭션_id).
}
Java Spring Boot Edition 서명 확인:
@PostMapping("/웹훅")
public ResponseEntity 핸들 웹훅(
요청 본문 문자열 페이로드, @요청 본문 문자열 페이로드, @요청 본문
요청헤더("X-BKASH-서명") 문자열 서명){
Mac sha256_HMAC = Mac.getInstance("HmacSHA256");
sha256_HMAC.init(new SecretKeySpec(apiSecret.getBytes(), "HmacSHA256"));
byte[] result = sha256_HMAC.doFinal(payload.getBytes());
문자열 computedSignature = Hex.encodeHexString(결과);
if(computedSignature.equals(signature)){...}
}
4. 일반적인 문제 해결 방법
문제가 있는 현상 | 가능한 원인 | 처방전 |
---|---|---|
오류 코드: 5015 | SSL 인증서 불일치 | CA 루트 인증서 업데이트 |
앱이 선반에 대한 액세스를 거부했습니다. | 너무 많은 SDK 권한 | 프로가드 규칙 최적화 + 필요한 권한만 적용 |
다음 중 어떤 것을 강조해야 하나요? :
1️⃣ 환불 프로세스를 위한 API 인터페이스 세부 정보
2️⃣ 다중 통화 결제를 위한 특별 대우
3️⃣ 리액트 네이티브/플러터와의 하이브리드 개발 통합 접근 방식