서버 연동
결제 승인
가맹점 화면이 point3 결제창으로부터 결제 승인 준비 신호를 받으면, 가맹점 서버가 결제 승인 API를 호출해 결제를 확정합니다.
| 연동 방식 | 승인 준비 신호 |
|---|---|
| 웹, 하이브리드 앱 | successUrl로 이동하며 orderId, payerId 전달 |
| 앱 | successUrl로 이동하려는 것을 앱이 받아 orderId, payerId 전달 |
승인 준비 신호는 결제 성공이 아닙니다
성공 URL 이동만으로 상품을 지급하거나 성공 화면을 표시하지 마세요.
승인 요청
코드
{sessionId}에는 주문에 저장한sessionId를 사용합니다. 화면에서 받은 값은 주문에 저장한 값과 같은지 확인한 뒤에만 사용합니다.- 요청 본문은 없습니다.
payerId는 승인 API에 전달하지 않습니다.
payerId는 승인 응답에 포함되지 않습니다. 결제 세션 조회 응답의 payerId를 회원 정보에 저장하세요. 자세한 내용은 구매자 아이디를 참고하세요.
승인 기한
결제 승인 API는 구매자가 결제 의사를 확정한 당일 자정(KST)까지 호출해야 합니다. 기한이 지나면 승인 API가 422 paymentCaptureExpired를 반환하며, 새 결제 세션으로 처음부터 다시 시작해야 합니다.
매일 23:30부터 다음 날 00:30까지(KST)는 EOB 점검 시간으로 결제 진행이 제한됩니다. 자세한 내용은 EOB 점검 시간을 참고하세요.
승인 응답
| 응답 | status | 처리 |
|---|---|---|
200 | captured | 결제 성공. 주문 완료 처리 |
200 | failed | 결제 실패. outcome.code를 기록하고 실패 안내 |
202 | processing | 처리 중. 잠시 기다렸다가 결제 세션 조회 |
5xx, 네트워크 오류, 타임아웃 | - | 결과 미확정. 같은 sessionId로 다시 승인 요청하거나 결제 세션 조회 |
422 | - | 승인 기한 만료. 새 결제 세션으로 다시 시작 |
400, 401, 404 | - | 연동 오류. 요청값과 인증 정보 확인 |
outcome.code별 의미는 에러 코드에서 확인하세요.
최종 결과 확인
승인 응답이 processing이거나 응답을 받지 못했다면 결제 세션을 조회합니다. 정상 조회는 HTTP 200으로 반환되며, 응답 본문의 status로 최종 결과를 판단합니다.
코드
| 응답 | 처리 |
|---|---|
200 + status: captured | 결제 성공 |
200 + status: failed | 결제 실패 |
200 + status: processing | 잠시 기다렸다가 같은 세션을 다시 조회 |
200 + status: created, identified, initiated, committed | 결제가 끝난 상태가 아니므로 상품을 지급하지 않음 |
5xx, 네트워크 오류, 타임아웃 | 잠시 기다렸다가 같은 세션을 다시 조회 |
400 | 요청 형식을 수정한 뒤 요청 |
401 | API 키 확인 |
404 | 존재하지 않는 결제 세션 |
처리 중이거나 응답을 받지 못했다면
결제 승인 API는 멱등합니다. 같은 sessionId로 다시 호출해도 결제가 중복되지 않습니다. captured를 확인하기 전에는 상품을 지급하지 마세요.
captured 확인 후 취소가 필요하면 결제 취소를 확인하세요. 요청·응답 전체 스키마는 결제 API 레퍼런스에 있습니다.
마지막 수정: