장바구니/주문결제 에러코드 안내

업데이트 일자: 2023. 1.17

[FAQ] 샵바이프리미엄 1:1문의를 통해 문의가 자주 들어오는 공통질문을 모아서 답변하는 콘텐츠입니다.  

❓질문

장바구니 및 주문결제 API 요청 시, 응답될 수 있는 에러코드 및 메시지가 궁금합니다.

❗답변

아래 장바구니/결제 관련 에러 코드 참고 부탁드립니다. 상황에 따라 아래 에러 코드 외에 다른 에러도 발생할 수 있으며, 모든 에러에 대한 코드 정보를 다 취합할 수 없는 부분 참고 부탁드립니다.

(1/17 업데이트) 더불어, 결제 시 발생하는 에러메시지를 커스터마이징 할 수 있도록 아래 안내드립니다.

  1. 장바구니 1-1. 에러코드

INVALID_OPTION("PPVE0001", "payProduct.payProductValidationErrorCode.invalidOption"),
UNUSABLE_CART_PRODUCT("PPVE0002", "payProduct.payProductValidationErrorCode.unusableCartProduct"),
MINOR_PURCHASE_IS_NOT_POSSIBLE(
    "PPVE0003",
    "payProduct.payProductValidationErrorCode.minorPurchaseIsNotPossible"
),
NONMEMBER_PURCHASE_IS_NOT_POSSIBLE(
    "PPVE0004",
    "payProduct.payProductValidationErrorCode.nonmemberPurchaseIsNotPossible"
),
CANNOT_BE_SOLD("PPVE0005", "payProduct.payProductValidationErrorCode.cannotBeSold"),
INVALID_PAYMENT_TYPE("PPVE0006", "payProduct.payProductValidationErrorCode.invalidPaymentType"),
MEMBER_GRADE_NOT_AVAILABLE_FOR_PURCHASE(
    "PPVE0007",
    "payProduct.payProductValidationErrorCode.memberGradeNotAvailableForPurchase"
),
MEMBER_GROUP_NOT_AVAILABLE_FOR_PURCHASE(
    "PPVE0008",
    "payProduct.payProductValidationErrorCode.memberGroupNotAvailableForPurchase"
),
PURCHASE_QUANTITY_LIMIT("PPVE0009", "payProduct.payProductValidationErrorCode.purchaseQuantityLimit"),
ERROR_ONLY_MEMBER_PURCHASE_ALLOWED_FOR_ADULT(
    "PPVE0010",
    "payProduct.payProductValidationErrorCode.onlyMemberPurchaseAllowedForAdult"
),
OUT_OF_STOCK("PPVE0011", "payProduct.payProductValidationErrorCode.outOfStock"),
OUT_OF_STOCK_NO_OPTION("PPVE0020", "payProduct.payProductValidationErrorCode.cannotBeSold"),

PRODUCT_IS_DELETED("PPVE0012", "payProduct.payProductValidationErrorCode.productIsDeleted"),
PRODUCT_SALE_STATUS_STOP("PPVE0013", "payProduct.payProductValidationErrorCode.productSaleStatusStop"),
PRODUCT_SALE_STATUS_READY("PPVE0014", "payProduct.payProductValidationErrorCode.productSaleStatusReady"),
PRODUCT_SALE_STATUS_FINISHED("PPVE0015", "payProduct.payProductValidationErrorCode.productSaleStatusFinished"),
PRODUCT_SALE_STATUS_PROHIBITION(
    "PPVE0016",
    "payProduct.payProductValidationErrorCode.productSaleStatusProhibition"
),
PRODUCT_SALE_STATUS_RESERVATION_READY(
    "PPVE0017",
    "payProduct.payProductValidationErrorCode.productSaleStatusReservationReady"
),
PRODUCT_SALE_STATUS_RESERVATION_FINISHED(
    "PPVE0018",
    "payProduct.payProductValidationErrorCode.productSaleStatusReservationFinished"
),
FRONT_DISPLAY_NONE("PPVE0019", "payProduct.payProductValidationErrorCode.frontDisplayNone"),
UNABLE_TO_DELIVER("PPVE0020", "payProduct.payProductValidationErrorCode.unableToDeliver")

1-2. 에러메시지

payProduct.payProductValidationErrorCode.invalidOption=구매불가한 옵션이 포함되어 있습니다.
payProduct.payProductValidationErrorCode.unusableCartProduct=장바구니 담기 불가능한 상품입니다.
payProduct.payProductValidationErrorCode.minorPurchaseIsNotPossible=미성년자 구매불가 상품입니다.
payProduct.payProductValidationErrorCode.nonmemberPurchaseIsNotPossible=비회원 구매불가 상품입니다.
payProduct.payProductValidationErrorCode.cannotBeSold=구매불가한 상품입니다.
payProduct.payProductValidationErrorCode.invalidPaymentType=해당 결제수단으로 결제가 불가능한 상품이 포함되어 있습니다.
payProduct.payProductValidationErrorCode.memberGradeNotAvailableForPurchase=구매가능한 회원등급이 아닙니다.
payProduct.payProductValidationErrorCode.memberGroupNotAvailableForPurchase=구매가능한 회원그룹이 아닙니다.
payProduct.payProductValidationErrorCode.purchaseQuantityLimit=구매수량이 제한되었습니다.
payProduct.payProductValidationErrorCode.onlyMemberPurchaseAllowedForAdult=본인인증된 회원만 구매 가능한 상품입니다. 로그인해 주세요.
payProduct.payProductValidationErrorCode.outOfStock=구매불가한 옵션이 포함되어 있습니다.
payProduct.payProductValidationErrorCode.productIsDeleted=삭제된 상품입니다.
payProduct.payProductValidationErrorCode.productSaleStatusStop=판매중지된 상품입니다.
payProduct.payProductValidationErrorCode.productSaleStatusReady=판매대기중인 상품입니다.
payProduct.payProductValidationErrorCode.productSaleStatusFinished=판매종료된 상품입니다.
payProduct.payProductValidationErrorCode.productSaleStatusProhibition=판매금지된 상품입니다.
payProduct.payProductValidationErrorCode.productSaleStatusReservationReady=예약판매대기중인 상품입니다.
payProduct.payProductValidationErrorCode.productSaleStatusReservationFinished=예약판매종료된 상품입니다.
payProduct.payProductValidationErrorCode.frontDisplayNone=구매불가한 상품입니다.
payProduct.payProductValidationErrorCode.unableToDeliver=요청일에 배송이 불가능합니다.
payProduct.payProductValidationErrorCode.unknownError=구매불가한 옵션이 포함되어 있습니다.

  1. 결제 2-1. 에러코드

NOT_FOUND("ODSH0001", "error.orderSheet.notFound"),
INVALID_PARAMETER_PRODUCT("ODSH0002", "error.orderSheet.invalidParameterProduct"),
INVALID_PARAMETER_PRODUCT_COUPON("ODSH0003", "error.orderSheet.invalidParameterProductCoupon"),
MEMBER_HAVE_TO_BE_CERTIFIED_WITH_PHONE("O3336", "error.orderSheet.memberHaveToBeCertified"),
MEMBER_HAVE_TO_BE_CERTIFIED_WITH_SMS("O3338", "error.orderSheet.memberHaveToBeCertified"),
MEMBER_HAVE_TO_BE_CERTIFIED("O3336", "error.orderSheet.memberHaveToBeCertified"),
EXPIRED_ORDER_SHEET("ODSH0005", "error.orderSheet.expiredOrderSheet"),
NOT_FOUND_BRAND("ODSH0006", "error.orderSheet.notFoundBrand"),
NOT_FOUND_DELIVERY_PRODUCT("ODSH0007", "error.orderSheet.notFoundDeliveryProduct"),
NOT_FOUND_STOCK("ODSH0008", "error.orderSheet.notFoundStock"),
INVALID_ORDER_SHEET_ID("ODSH0009", "error.orderSheet.invalidOrderSheetId"),
EXCEEDED_USABLE_ACCUMULATION_AMOUNT("ODSH0010", "error.orderSheet.exceededUsableAccumulationAmount"),
USED_MIN_ACCUMULATION_AMOUNT("ODSH0011", "error.orderSheet.usedMinAccumulationAmount"),
NOT_FOUND_ORDER_NO("ODSH0012", "error.orderSheet.notFoundOrderNo"),
NOT_ALLOW_USE_COUPON("ODSH0013", "error.orderSheet.notAllowUseCoupon"),
INVALID_PG_OR_PAY_TYPE("ODSH0014", "error.orderSheet.invalidPgOrPayType"),
RENTAL_PRODUCT_BUY_LIMITED_OVER("ODSH0015", "error.orderSheet.rentalProductLimited"),
INVALID_ORDER_SHEET_NO("O3003", "error.payment.invalidOrderSheetNo"),
COMMUNICATE_FAIL_RESERVE("O3004", "error.payment.communicateFailReserve"),
COMMUNICATE_FAIL_CONFIRM("O3005", "error.payment.communicateFailConfirm"),
CONFIRM_REDIRECT_FAIL("O3006", "error.payment.confirmRedirectFail"),
NOT_FOUND("O3010", "error.payment.notFound"),
RESERVE_ORDER_ERROR("O3015", "error.payment.reserveOrderError"),
NO_ACCOUNT_PAY_CONFIRM_ERROR("O3017", "error.payment.noAccountPayConfirmError"),
INVALID_PRODUCT_PARAM("O3019", "error.payment.invalidProductParam"), // 주문서정보 생성시에 상품정보가 올바르지 않음.
EMPTY_ORDER_TEMP_PASSWORD("O3026", "error.payment.emptyOrderTempPassword"),
REQUIRE_CUSTOMS_ID_NO("O3028", "error.payment.requireCustomsIdNo"),
NOT_PERMIT_MULTIPLE_DELIVERY_TEMPLATE("O3030", "error.payment.notPermitMultipleDeliveryTemplate"),
GUEST_USE_COUPON_ERROR("O3032", "error.payment.guestUseCouponError"),
INVALID_PRODUCT_COUPON_PARAM("O3035", "error.payment.invalidProductCouponParam"),
GUEST_USE_SUB_PAYMENT("O3036", "error.payment.guestUseSubPayamt"),
PAY_AMT_VERIFICATION_ERROR("O3038", "error.payment.payAmtVerificationError"),
DUPLICATED_REQUEST("O3039", "error.payment.duplicatedRequest"),
EMPTY_ORDERER_NAME("O3050", "error.payment.emptyOrdererName"),
EMPTY_ORDERER_CONTACT("O3051", "error.payment.emptyOrdererContact"),
EMPTY_ORDERER_EMAIL("O3052", "error.payment.emptyOrdererEmail"),
ADMIN_CONFIRM_ONLY_ACCOUNT("O3061", "error.payment.adminConfirmOnlyAccount"),
EXCESS_ACCUMULATION("03062", "error.payment.excessAccumulation"),
LOWER_ACCUMULATION_DETAIL("O3064", "error.payment.lowerAccumulationDetail"),
EMPTY_ORDER_NOS("O3065", "error.payment.emptyOrderNos"),
NOT_FOUND_ADDRESS("O3066", "error.payment.notFoundAddress"),
NO_ACCUMULATION("O3067", "error.payment.noAccumulation"),
FAIL_CONFIRM("O3068", "error.payment.failConfirm"),
REQUIRE_ACCOUNT_INFO("O8001", "error.payment.requireAccountInfo"),

NOT_FOUND_MEMBER("10001", "error.payment.notFoundMember"),
NEED_CERTIFIED("10002", "error.payment.needCertified"),
NEED_PAYMENT_KEY("10003", "error.payment.needPaymentKey"),
ESCROW_MUST_HAVE_ONE_DELIVERY("10004", "error.payment.escrowMustHaveOneDelivery"),
NOT_FOUND_CASH_RECEIPT_PG("10005", "error.payment.notFoundCashReceiptPg"),
NOT_FOUND_CASH_RECEIPT_REISSUE("10006", "error.payment.notFoundCashReceiptReissue"),
NOT_FOUND_CASH_RECEIPT_REISSUE_PURPOSE_TPYE("10007", "error.payment.notFoundCashReceiptReissuePurposeType"),
NOT_FOUND_CASH_RECEIPT_REISSUE_KEY("10008", "error.payment.notFoundCashReceiptReissueKey"),
INVALID_CASH_RECEIPT_CANCEL_AMOUNT("10009", "error.payment.invalidCashReceiptCancelAmt"),
NOT_ACTIVE_MEMBER("10010", "error.payment.notActiveMember"),
ESCROW_REQUIRE_DELIVERY("10011", "error.payment.escrowRequireDelivery"),

2-2. 에러 메시지

error.orderSheet.notFound=주문서 {0} 가 존재하지 않습니다.
error.orderSheet.invalidParameterProduct=주문서에 담긴 상품 정보가 올바르지 않습니다.
error.orderSheet.invalidParameterProductCoupon=쿠폰정보가 올바르지 않습니다.
error.orderSheet.memberHaveToBeCertified=인증이 먼저 진행되어야 합니다
error.orderSheet.expiredOrderSheet=주문서의 유효기간이 만료하여 결제를 진행할 수 없습니다. 다시 주문해 주세요.
error.orderSheet.notFoundBrand=브랜드{0} 정보를 찾을 수 없습니다.
error.orderSheet.notFoundDeliveryProduct=배송그룹 정보에서 상품{0}을 찾을 수 없습니다.
error.orderSheet.notFoundStock=상품{0} 재고 정보를 찾을 수 없습니다.
error.orderSheet.invalidOrderSheetId=잘못된 주문서 아이디 {0} 입니다.
error.orderSheet.exceededUsableAccumulationAmount=사용 가능한 적립금{0}을 초과 하였습니다.
error.orderSheet.usedMinAccumulationAmount=최소 사용 가능 적립금은 {0} 입니다.
error.orderSheet.notFoundOrderNo=주문서 {0} 의 주문번호를 찾을 수 없습니다.
error.orderSheet.notAllowUseCoupon=비회원 주문서 쿠폰을 사용할 수 없습니다.
error.orderSheet.invalidPgOrPayType=PG사 또는 결제수단이 올바르지 않습니다.
error.payment.invalidOrderSheetNo=주문서번호가 올바르지 않습니다.
error.payment.communicateFailReserve=PG사 결제 예약에 실패하였습니다.
error.payment.communicateFailConfirm=PG사 결제 완료에 실패하였습니다.
error.payment.confirmRedirectFail=[{0}] PG사 결제 실패하였습니다: {1}
error.payment.notFound=결제 데이터를 찾을 수 없습니다.
error.payment.reserveOrderError=결제예약에 실패하였습니다.
error.payment.noAccountPayConfirmError=주문예약 정보가 올바르지 않습니다.
error.payment.invalidProductParam=상품정보가 올바르지 않습니다.
error.payment.emptyOrderTempPassword=비회원 주문은 주문임시암호가 필수 입니다.
error.payment.requireCustomsIdNo=해외 직배송 상품 구매 시 개인통관고유부호는 필수로 입력해야 합니다.
error.payment.notPermitMultipleDeliveryTemplate=동일한 배송 설정이 세팅된 상품만 같이 배송될 수 있습니다.
error.payment.onlyAdditionalProductError=추가상품만 주문 할 수 없습니다.
error.payment.emptyOrdererContact=비회원 주문은 핸드폰 번호가 필수 입니다.
error.payment.emptyOrdererEmail=비회원 주문은 이메일 주소가 필수 입니다.
error.payment.adminConfirmOnlyAccount=가상계좌는 수동 입금확인이 불가합니다. PG를 통해 처리해 주세요. 
error.payment.excessAccumulation=사용 적립금이 사용가능한 적립금보다 큽니다.
error.payment.noAccumulation=적립금 사용이 가능한 상품이 없습니다.
error.payment.lowerAccumulationDetail={0} {1}{2} 이상 사용 가능합니다.
error.payment.emptyOrdererName=비회원 주문은 주문자 이름이 필수 입니다.
error.payment.guestUseCouponError=비회원은 쿠폰을 사용 할 수 없습니다.
error.payment.invalidProductCouponParam=쿠폰정보가 올바르지 않습니다.
error.payment.guestUseSubPayamt=비회원은 적립금을 사용 할 수 없습니다.
error.payment.payAmtVerificationError=상품 가격 또는 할인금액이 변경되었습니다. 다시 확인하시고 구매해 주세요.
error.payment.duplicatedRequest=중복된 결제 요청입니다.
error.payment.notFoundMember=회원이 존재하지 않습니다.
error.payment.needCertified=본인인증이 필요합니다.
error.payment.needPaymentKey={0} 결제키 정보가 필요합니다.
error.payment.escrowMustHaveOneDelivery=에스크로 결제는 배송 그룹이 여러 개일 경우 사용할 수 없습니다.
error.payment.escrowRequireDelivery=배송안함 주문은 에스크로 결제가 불가능 합니다.
error.payment.emptyOrderNos=orderNos가 한개 이상 포함되어야 합니다.
error.payment.notFoundAddress=주소지를 찾지 못했습니다.
error.payment.notFoundCashReceiptPg=현금영수증 발급이 가능한 PG사 설정이 없습니다.
error.payment.notFoundCashReceiptReissue=현금영수증 재발급에 필요한 기존 현금영수증 정보가 없습니다.
error.payment.notFoundCashReceiptReissuePurposeType=현금영수증 재발급에 필요한 기존 현금영수증 증빙타입이 없습니다.
error.payment.notFoundCashReceiptReissueKey=현금영수증 재발급에 필요한 기존 현금영수증 발급값이 없습니다.
error.payment.invalidCashReceiptCancelAmt=현금영수증 취소 금액이 유효하지 않습니다.
error.payment.requireAccountInfo=무통장 입금 시 거래할 계좌의 정보(은행코드, 계좌번호, 예금주명)가 필요합니다.
error.payment.tossPaymentsCallbackError=입금 완료 후 처리에 실패하였습니다.
error.payment.tossPaymentsEscrowCallbackError=에스크로 입금 완료 후 처리에 실패하였습니다.
error.payment.notActiveMember=이용불가 상태의 회원입니다.
error.payment.tossPaymentsRedirectCallbackError={0}
error.payment.failConfirm=결제 완료에 실패하였습니다.

  1. 결제 시 발생하는 에러메시지 커스터마이징 방법

step 1) 아래 코드 참고하여 failCallback 함수 작성

step 2) 쇼핑몰에서 결제시 NCPPay.reservation() 함수의 3번째 인자에 failCallback, 4번째 인자(disableDefaultAlert)에 true 전달

const failCallback = function (response) {
  switch (response.status) {
    case 400:
      switch (response.code) {
        case 'PPVE0001':
          alert('구매불가한 옵션이 포함되어 있습니다.');
          throw new Error('구매불가한 옵션이 포함되어 있습니다.');
        case 'PPVE0002':
          alert('장바구니 담기 불가능한 상품입니다.');
          throw new Error('장바구니 담기 불가능한 상품입니다.');
        case 'PPVE0011':
          alert('선택하신 옵션의 재고가 부족합니다. 수량을 조절해주세요.');
          throw new Error('선택하신 옵션의 재고가 부족합니다. 수량을 조절해주세요.');
        default:
          alert(response.message);
          throw new Error(response.message);
      }
    case 401:
      alert('로그인이 필요합니다.');
      throw new Error('로그인이 필요합니다.');
    case 405:
      alert('METHOD_NOT_ALLOWED');
      throw new Error('METHOD_NOT_ALLOWED');
    case 403:
      console.log(`code: ${response.code}`);
      console.log(`data: ${response.data}`);
      console.log(`message: ${response.message}`);
      throw new Error(response.message);
    default:
      alert('서버접속이 원할하지 않습니다. 잠시 후 재시도 해주세요.');
      throw new Error('서버접속이 원할하지 않습니다. 잠시 후 재시도 해주세요.');
  }
};

window.NCPPay.reservation(requestBody, null, failCallback, true);

Last updated