M-Pesa Express API, STK/NI Push API로도 알려진 이 API는 고객 대신 온라인 지불을 시작할 수 있도록 기업들에게 제공하는 원활한 지불 경험을 제공합니다. 이 API와 통합하면, 기업들은 고객의 전화에 지불 프롬프트를 보내어 고객이 M-PESA PIN을 입력하여 지불을 승인할 수 있습니다. 이렇게 하면 고객이 기업의 지불 번호나 계좌 번호를 기억할 필요가 없습니다.
이 API는 POST 방법을 사용하고 Authorization API를 통해 생성된 액세스 토큰이 필요합니다. 워크플로는 상인이 필요한 매개변수를 설정하고 API 요청을 보내는 것으로 시작됩니다. 그러면 이 요청은 검증되어 고객의 전화에 STK Push 프롬프트를 트리거합니다. 고객은 M-PESA PIN을 입력하여 지불을 승인하고, M-PESA는 PIN을 확인하고 고객의 계좌에서 차감하고 상인의 계좌에 입금합니다.
API 요청 본문에는 BusinessShortCode, Password, Timestamp, TransactionType, Amount, PartyA, PartyB, PhoneNumber, CallBackURL, AccountReference, TransactionDesc와 같은 매개변수가 필요합니다. API는 MerchantRequestID, CheckoutRequestID, ResponseCode, ResponseDescription, CustomerMessage와 같은 매개변수를 포함하는 응답을 반환합니다.
거래가 처리되면 M-PESA는 지정된 CallBackURL에 결과를 전송합니다. 콜백 결과에는 MerchantRequestID, CheckoutRequestID, ResultCode, ResultDesc, CallbackMetadata와 같은 매개변수가 포함됩니다. CallbackMetadata에는 Amount, MpesaReceiptNumber, TransactionDate, PhoneNumber와 같은 추가 거래 세부 정보가 포함됩니다.
구현 중 발생하는 문제를 진단하고 해결하는 데 도움이 되는 오류 코드도 제공됩니다. 이러한 오류 코드에는 DS timeout, push 요청 문제, 일반적인 push 요청 오류, 사용자가 요청을 취소한 경우, 부족한 잔액, 잘못된 개시자 정보, 거래 만료, 구독자 잠금 오류 등이 포함됩니다.
dev.to
M-Pesa Express (STK Push) API Guide
