프로모션 테스트에 관한 질의

이 글의 성격은 무엇인가요?

질문 / 문제 해결

내용을 설명해주세요

프로모션 최초 1회 테스트는 정상적으로 작동하나
이후 테스트 실행 시 4109 에러가 발생합니다.

또한, 에러 메시지와 달리 프로모션이 실행 중인 경우에도 같은 테스트 프로모션 코드에서 같은 에러가 발생합니다.

{
  resultType: 'FAIL',
  success: null,
  error: {
    errorType: 0,
    errorCode: '4109',
    reason: '프로모션이 실행중이 아니에요',
    data: {},
    title: null
  }
}

이전에도 같은 내용으로 질의드린게 있는데 추가로 생성한 프로모션에서도 같은 에러가 발생하네요.

TEST_ prefix가 붙은 테스트 프로모션 코드에서만 4109 에러가 발생하고, 프로덕션 프로모션 코드는 정상 동작합니다.

    const path = "/api-partner/v1/apps-in-toss/promotion/execute-promotion";

    const json: any = await fetchWithMTLS(`${baseUrl}${path}`, {
      method: "POST",
      headers: {
        "Content-Type": "application/json",
        "x-toss-user-key": userKey,
      },
      body: JSON.stringify({
        promotionCode,
        key: promotionKey,
        amount,
      }),
    });

    if (json.resultType === "FAIL" || !json.success) {
      console.error("[TOSS] 프로모션 실행 실패:", json.error.reason);
      throw new Error("PROMOTION_FAILED");
    }

위 코드로 프로모션을 실행하는데 테스트 환경에서 문제되는 부분 있을까요?

appName (선택)

easy-agility

프로모션에 테스트를 누르시면 테스트용 프로모션 코드가(TEST_xxxxx) 나올거에요 그걸로 테스트를 1회 시작해야 시작하기가 활성화 될거에요

최초 테스트 실행 후 같은 테스트 프로모션 코드로 다시 테스트할 경우 저런 에러가 발생합니다 ㅜ

안녕하세요 :slight_smile:
현재 내부 구조상 남은 예산보다 테스트(TEST_xxxx) 프로모션으로 보냈던 총 금액이 더 클 경우 해당 에러를 반환하고 있습니다 :cry:

지금 예산이 1원만 남은 상태에서 테스트 코드를 여러 번 호출하셨다면,
프로모션이 일시 정지되면서 해당 에러가 발생했을 가능성이 있습니다.

TEST 코드로 호출해도 실제 예산이 차감되지는 않지만,
처음에 설정하신 예산을 기준으로 가상 금액이 차감되는 방식 이에요.

예산을 조금만 더 늘린 뒤 다시 한 번 테스트해주실 수 있을까요? :folded_hands:

현재 프로덕션에서 정상 사용되고 예산도 넉넉하지만 테스트 프로모션 코드만 실행되지 않는 다른 코드로 실행해봤는데 마찬가지로 4109 에러가 발생하네요.

테스트 중 가상 금액 차감으로 인해 프로모션이 일시 정지된 경우, 이후 예산을 증액해도 해당 테스트 코드가 계속 잠긴 상태로 유지될 가능성이 있을까요?

예산을 증액하고 다시 프로모션을 실행시키면 정상 동작할 것 같습니다.
TEST_xxxx 프로모션 코드를 계속해서 호출하시는 이유가 있으신가요 ?!

이전에 배포한 앱에서 프로모션 보상 수령 후 정보 갱신에 에러가 발생하는 경우가 있어

개발 중 다양한 에러케이스 테스트를 위해서 TEST_xxxx 프로모션 코드를 실행했습니다.

혹시 TEST_ 접두사가 붙은 코드는 최초 1회만 실행하고 이후엔 실제 코드로 테스트해야하는 건가요?

최초 1회만 실행해야하는 것은 아니고, 예산을 배경으로 가상 금액이 생성되고
가상 금액이 차감되는 구조라 TEST_xxxx 를 계속해서 호출하면 프로모션이 중지 처리될 수 도 있을 것 같습니다!

1개의 좋아요

아하 그럼 테스트 프로모션 코드를 계속 이용하려면 충분한 예산으로 새롭게 프로모션을 생성해야겠네요.

이해했습니다 감사합니다 :slight_smile:

1개의 좋아요