sayren Docs

샌드박스에서 라이브로 전환하기

라이브 전환 조건 5개와 실결제를 열기까지의 절차

PG는 샌드박스 모드로 시작합니다. 결제·환불을 샌드박스에서 확인한 뒤 PG별로 라이브로 전환합니다. 샌드박스 결제는 돈이 오가지 않고 주문에 테스트 결제가 붙습니다.

준비

  • 소유자 권한
  • PG와 맺은 계약과 테스트 키·라이브 키
  • 결제 설정에서 연결한 PG

상점 플랫폼에서 설정 › 결제로 이동합니다(소유자만).

  1. 전환할 PG 카드의 **[상세]**를 누릅니다.
  2. 라이브 전환 카드에서 조건과 할 일을 봅니다.

전환 조건

PG마다 다섯 조건을 모두 채워야 합니다. 라이브 전환 카드에 라이브 전환 조건 n/5 충족과 조건별 할 일이 보입니다.

조건채우는 방법
테스트 키 연결 테스트지금 등록된 테스트 키로 연결 테스트 성공
샌드박스 결제지금 등록된 테스트 키로 결제해 주문까지 만든 결제 1건
샌드박스 환불그 결제의 환불 1건. 부분 취소도 인정
라이브 키 연결 테스트지금 등록된 라이브 키로 연결 테스트 성공
플랫폼 실결제 허용플랫폼이 허용해야 함. 셀러가 할 일 없음

키를 바꾸면 그 키의 연결 테스트 결과가 지워집니다. 테스트 키의 가맹점을 바꾸면 샌드박스 결제·환불도 다시 해야 합니다.

절차

  1. PG와 계약하고 테스트 키·라이브 키를 받습니다. 토스페이먼츠는 API 개별 연동 키를 받습니다.
  2. 테스트 키를 등록하고 연결 테스트한 뒤 결제에 사용을 켭니다. 결제 설정 참고.
  3. **[상점 열기]**로 내 상점에서 주문·결제를 1건 합니다. 결제 연동은 결제 연동 참고.
  4. **[테스트 결제 주문 보기]**로 그 주문을 열고 **[판매자 취소]**를 합니다. 구매자 취소 요청 승인도 인정됩니다.
  5. 라이브 키 카드에서 키를 등록하고 **[연결 테스트]**를 누릅니다.
  6. 다섯 조건이 채워지면 **[라이브로 전환]**을 누릅니다. 새 결제부터 실결제입니다.

샌드박스 모드 스위치를 꺼도 이 카드로 이동할 뿐 바로 전환되지 않습니다. 전환하면 PG 카드의 환경 배지가 라이브가 됩니다. 전환 전에 결제 도메인 등록을 권장합니다(조건은 아님).

전환한 뒤

상점 결제는 한 환경만 씁니다. 전환하면 샌드박스인 다른 PG는 결제 제외가 됩니다. 함께 쓰려면 그 PG도 전환하십시오.

  • 라이브 결제 중에 라이브 키를 수정하면 저장 전에 연결 테스트를 하고, 실패하면 저장하지 않습니다.
  • 샌드박스 모드는 언제든 다시 켤 수 있습니다. 다시 끌 때 조건을 다시 보고, 그사이 키를 바꾸지 않았으면 채운 조건이 유지됩니다.

테스트 결제 주문

샌드박스 주문도 재고 차감, 발송·구매확정·클레임, 웹훅이 실주문과 같습니다. 다른 점은 다음뿐입니다.

  • 상점 플랫폼 주문에 테스트 결제 배지가 붙고, API 주문 응답과 웹훅 data에 testPayment: true가 들어갑니다.
  • 구매자가 리뷰를 쓸 수 없습니다.
  • 매출 리포트 기본 조회에서 빠집니다. 결제 구분으로 포함할 수 있습니다.

테스트 결제 주문은 삭제할 수 없습니다. 발송하지 않을 주문은 판매자 취소로 정리하십시오.

API

전환 조건은 GET /store/payment-settings 응답의 PG마다 liveGate에 있습니다.

{
  "status": "LOCKED",
  "conditions": [
    { "code": "TEST_CONNECTION", "met": true, "message": "테스트 키 연결 테스트에 성공했습니다" },
    { "code": "SANDBOX_PAYMENT", "met": false, "message": "지금 등록된 테스트 키로 샌드박스 결제를 1건 해주십시오" },
    { "code": "SANDBOX_REFUND", "met": false, "message": "샌드박스 결제한 주문을 취소해 환불을 1건 확인해주십시오" },
    { "code": "LIVE_CONNECTION", "met": false, "message": "라이브 키를 먼저 등록해주십시오" },
    { "code": "PLATFORM_LIVE_ENABLED", "met": true, "message": "실결제를 열 수 있습니다" }
  ],
  "openedAt": null
}

status가 OPEN이면 전환할 수 있습니다. message는 바뀔 수 있으니 분기는 code·met로 하십시오. openedAt은 마지막 전환 시각입니다.

전환은 PATCH /store/payment-providers/{provider}에 { "sandboxMode": false }입니다. 조건이 모자라면 409 LIVE_GATE_NOT_MET, 플랫폼 허용만 모자라면 409 LIVE_PAYMENTS_DISABLED이고 error.details.conditions에 위 형태가 담깁니다. { "sandboxMode": true }는 조건 없이 적용됩니다. Store SDK는 paymentSettings.setSandboxMode(provider, false)이고, 거부 사유는 liveGateErrorDetailsSchema로 ApiError.details를 읽습니다.

다음 단계

이 페이지 목차