환불 API

결제 완료된 거래 전체 또는 부분 환불 처리를 하는 서비스 입니다.
환불 서비스의 경우 지결환불과 즉시환불 두가지 서비스가 제공되고 있으니, 서비스 신청 시 영업담당자와 협의하여 주시기 바랍니다.
HTTP POST 방식으로 호출하시기 바랍니다.

주의사항

에스크로, 다중정산은 관련 첨부파일을 참고해주시기 바랍니다.

지결환불

지결환불 흐름

지결환불의 경우 환불요청 D+1에 고객 환불요청 계좌로 환불 처리 됩니다.
환불이 완료되면 노티로 환불완료 처리결과를 전송하오니 반드시 노티URL을 설정하시기 바랍니다.

  • 가맹점 관리자를 통해 확인하는 방법과 입금노티 서비스를 통해 확인하는 방법이 있습니다. 노티를 받기 위한 URL을 가맹점 관리자 > XXX 메뉴에서 등록을 하면 됩니다.
    개발(테스트) 환경에서는 실제 결제가 이루어 지지 않고, 임의로 가 승인 형태로 제공됩니다.
  • 즉시환불

    즉시환불 흐름

    즉시환불의 경우 환불요청일 당일 고객 환불요청 계좌로 실시간으로 환불처리 됩니다.

  • 이체불능으로 처리되는 경우로 즉시환불 처리 당시에는 정상으로 응답을 받고 당일 이체불능에 대한 노티를 통해 결과를 알려드립니다.
    이체불능 노티를 수신 후 환불계좌 확인 후 입금 가능한 환불계좌로 환불요청 바랍니다.
    이체불능 노티 서비스는 개발지원사이트 내 노티페이지를 참고 바랍니다.
    이체불능이란? 기관(은행/증권사)에서는 계좌해지, 연계계좌(증권)로만 입금 가능한 계좌, 입금한도 초과로 인하여 이체가 불가능한 상태
  • 환불결과 응답코드 "VTIM", "VT00"일 경우 대외기관 타임아웃으로 환불결과를 확인할 수 없는 상태입니다.
    이럴 경우 반드시 취소요청 정보 필드에 있는 환불결과 조회플래그(refundQueryFlag)값을 'Y'로 설정해서 환불을 재요청 해야 합니다.
  • 요청

    URL 정보

    테스트 https://testpgapi.easypay.co.kr/api/trades/revise
    운영 https://pgapi.easypay.co.kr/api/trades/revise

    파라미터

    취소요청 API의 요청 파라미터에 아래 환불요청 정보(refundInfo)를 추가해서 처리하시면 됩니다.
    변경구분 및 변경세부 구분 코드는 변경구분 코드표 참조 하시기 바랍니다.

    필드명 타입 최대크기 필수여부 설명
    refundInfo Object 필수 환불요청 정보
    {refundInfo} 참조

    refundInfo(환불요청 정보)

    필드명 타입 최대크기 필수여부 설명
    refundBankCode String 3 Byte 필수 환불계좌 은행코드(은행코드표 참조)
    refundAccountNo Number 14 Byte 필수 환불계좌 계좌번호
    refundDepositName Number 50 Byte 필수 환불계좌 예금주명
    depositPgCno String 20 Byte 입금거래번호(다회입금계좌 환불시 필수)

    요청 예

    {

       "mallId ": "T5102001",

       "shopTransactionId": "qwer1234202201231516",

       "pgCno": "21032609005610816914",

       "reviseTypeCode": "60",

       "reviseSubTypeCode": "RF01",

       "clientIp": "10.123.1.12",

       "clientId": "x-man",

       "cancelReqDate": "20231225",

       "msgAuthValue": "e06540df5ac28ac877fb4f063d06d5f9c3ee2a3a8820a888bfc8db1577a7fe",

       "reviseMessage": "고객변심",

       "refundInfo”: {

          "refundBankCode": "016",

          "refundAccountNo": "10001100001",

          "refundDepositName": "홍길동"

       }

    }

    응답

    Body

    취소요청 API 응답 파라미터에서 취소(환불) 상세정보에 아래 환불정보가 추가응답으로 수신됩니다.

    reviseInfo(취소 상세정보)

    필드명 타입 최대크기 필수여부 설명
    payMethodTypeCode String 2 Byte 필수 결제수단 코드(결제수단 코드표 참조)
    approvalNo String 50 Byte 필수 취소 승인번호
    approvalDate String 14 Byte 필수 취소일시(yyyyMMddHHmmss)
    refundInfo Object 필수 환불정보
    {RefundInfo} 참조

    refundInfo(환불정보)

    필드명 타입 최대크기 필수여부 설명
    refundDate String 14 Byte 필수 환불예정일시(yyMMddHHmmss)
    depositPgCno String 20 Byte 가상계좌 입금거래번호

    응답 예

    {

       "resCd": "0000",

       "resMsg": "정상처리",

       "mallId": "T5102001",

       "shopTransactionId": "qwer1234202201231516",

       "shopOrderNo": "123123123123",

       "oriPgCno": "21032609005610816914",

       "cancelPgCno": "21032609005610816916",

       "transactionDate": "20210326090706",

       "cancelAmount": 51000,

       "remainAmount": 0,

       "statusCode": "RF02",

       "statusMessage": "환불완료",

       "reviseInfo": {

          "payMethodTypeCode": "22",

          "refundInfo": {

             "refundDate": "20210326090706",

             "depositPgCno": "21032604005610844954"

          }

       }

    }