결제 승인 API 연동 가이드
사용자가 결제창에서 인증을 마치면, 이제는 결제를 완료할 차례예요.
이 때 호출하는 API가 결제 승인 API에요.
결제 승인 흐름은 아래와 같아요.
결제 서버 인증은 어떻게 하나요?
API 연동에 반드시 필요한 결제서버 인증 방식에 대해 궁금하다면,
결제서버 인증 가이드를 먼저 참고해주세요.
결제 승인 API란?
결제 승인 API는 결제 요청을 확정(승인)하기 위해 가맹점 서버가 호출하는 API예요.
다날 결제 승인까지의 연동 흐름을 정리하면, 아래와 같아요.
1.사용자가 결제창에서 인증을 완료
2.가맹점 successUrl로 인증 결과 전달
3.전달받은 정보로 승인 API 호출 → 결제 승인 완료
즉, 인증은 사용자 확인 단계, 결제 승인은 최종적으로 결제를 완료하는 단계예요.
API 정보
항목 | 값 |
---|---|
HTTP Method | POST |
Endpoint | https://one-api.danalpay.com/payments/confirm |
인증 방식 | Basic Auth |
요청 Format | application/json |
응답 Format | application/json |
요청 파라미터
휴대폰, 카드, 계좌이체, 가상계좌는는 공통 요청 파라미터만 전송해요.
컬쳐랜드 상품권, 도서문화 상품권의 경우, 추가 파라미터가 요구돼요.
파라미터 | 타입 | 필수 | 길이 | 설명 |
---|---|---|---|---|
method | String | O | 사용자가 인증을 완료한 결제수단입니다. 결제창에서 사용자 인증이 완료되면 가맹점 성공 URL로 결제수단이 전달됩니다.
거래번호와 결제수단이 일치하지 않으면 취소에 실패합니다. | |
transactionId | String | O | 32자 |
|
merchantId | String | O | 10자 | 상점 아이디(계약 시 발급 받은 CPID를 입력해주세요.) |
amount | String | O | 9자 |
|
orderId | String | 50byte |
|
* method와 transactionId는 반드시 1:1로 매칭되어야 하며, 일치하지 않으면 결제가 실패해요.
응답 파라미터
파라미터 | 타입 | 설명 |
---|---|---|
code | String | 결제 요청 결과 응답 코드입니다. (예: SUCCESS — 결제 성공, 실패 시 에러 코드 제공) |
message | String | 결제 요청 결과 응답 메시지입니다. 실패 시 가맹점 창에서 메시지를 노출 할 수 있습니다. |
transactionId | String | Danal 고유 거래 ID 입니다. 거래ID로 거래를 구분합니다. |
* 응답 code가 SUCCESS가 아닌 경우, message 값을 사용자 또는 관리자 화면에 출력할 수 있어요.
요청 예시
curl -X POST \
<https://one-api.danalpay.com/payments/confirm> \
-H "Authorization: Basic dGVzdF9jbGllbnRfa2V5Og==" \
-H "Content-Type: application/json" \
-d '{
"method": "CARD",
"transactionId": "202404290001234567890",
"merchantId": "M123456",
"amount": "10000",
"orderId": "ORDER-20240429-0001"
}'
응답 예시
{
"code": "SUCCESS",
"message": "결제가 정상적으로 완료되었습니다.",
"transactionId": "202404290001234567890",
"orderId": "ORDER-20240429-0001"
}
주의사항
- 테스트 환경과 실제 환경의 클라이언트 키는 다릅니다.
- transactionId는 고유해야 합니다.
- successUrl, failUrl 설정에 유의하세요.
- 가상계좌 입금 통보를 위한 notiUrl이 필요합니다.