인증 화면 호출
지원환경: React NativeReact Native SDKv1.2.2WebViewWebView SDKv1.2.2
실행환경: Toss App최소버전v5.233.0
본인확인 요청 API 응답에서 받은 txId를 포함해 appsInTossSignTossCert를 호출해요.
원터치 인증 및 앱 버전 안내
원터치 인증 방식(USER_NONE) 을 사용하는 경우,skipConfirmDoc을 true로 설정하면 인증서 확인 문서 단계를 건너뛸 수 있어요.
- 토스 인증(requestType: USER_PERSONAL): 토스앱 5.233.0 이상
- 토스 원터치 인증(requestType: USER_NONE): 토스앱 5.236.0 이상
getTossAppVersion 함수를 사용하여 토스앱 버전을 체크해보세요.
js
import { appsInTossSignTossCert } from '@apps-in-toss/web-framework';
/**
* Toss 인증서 화면을 txId 기반으로 호출합니다.
*
* 참고:
* response는 인증 완료 확정 용도가 아닙니다.
* 서버에서 txId 기준으로 결과조회 API를 호출해 최종 상태를 판별하세요.
*/
async function openTossCertWithTxId({ txId, skipConfirmDoc = false }) {
try {
const params: AppsInTossSignTossCertParams = { txId, skipConfirmDoc };
const response = await appsInTossSignTossCert(params);
return response;
} catch (error) {
// 호출 실패 처리 (사용자 취소/앱 미설치/스킴 실패 등)
console.error(error)
}
}tsx
import { appsInTossSignTossCert } from '@apps-in-toss/web-framework';
interface AppsInTossSignTossCertParams {
txId: string; // 본인확인 요청 시 발급받은 txId
skipConfirmDoc?: boolean; // 원터치 인증 시 true로 설정
}
/**
* Toss 인증서 화면을 txId 기반으로 호출합니다.
*
* 참고:
* response는 인증 완료 확정 용도가 아닙니다.
* 서버에서 txId 기준으로 결과조회 API를 호출해 최종 상태를 판별하세요.
*/
async function openTossCertWithTxId(
txId: string,
skipConfirmDoc = false
): Promise<unknown> {
try {
const params: AppsInTossSignTossCertParams = { txId, skipConfirmDoc };
const response = await appsInTossSignTossCert(params);
return response;
} catch (error: unknown) {
// 호출 실패 처리 (사용자 취소/앱 미설치/스킴 실패 등)
console.error(error)
}
}tsx
import { appsInTossSignTossCert } from '@apps-in-toss/framework';
interface AppsInTossSignTossCertParams {
txId: string; // 본인확인 요청 시 발급받은 txId
skipConfirmDoc?: boolean; // 원터치 인증 시 true로 설정
}
/**
* Toss 인증서 화면을 txId 기반으로 호출합니다.
*
* 참고:
* response는 인증 완료 확정 용도가 아닙니다.
* 서버에서 txId 기준으로 결과조회 API를 호출해 최종 상태를 판별하세요.
*/
async function openTossCertWithTxId(
txId: string,
skipConfirmDoc = false
): Promise<unknown> {
try {
const params: AppsInTossSignTossCertParams = { txId, skipConfirmDoc };
const response = await appsInTossSignTossCert(params);
return response;
} catch (error: unknown) {
// 호출 실패 처리 (사용자 취소/앱 미설치/스킴 실패 등)
console.error(error)
}
}응답
onSuccess- 파라미터 없음
onErrorError { code: string; message: string }(예: 사용자 취소, 앱 미설치, 스킴 실패 등)
ts
// 에러 타입 예시
type AppsInTossSignTossCertError = {
code: string;
message: string;
};
// try/catch로 onSuccess/onError 대응하기
try {
await appsInTossSignTossCert({
params: {
txId: "bb8bead6-0957-4be7-b937-f554911d7a87",
skipConfirmDoc: true, // 원터치 인증 시 설정
},
});
// onSuccess: 파라미터 없음
} catch (e: any) {
const err: AppsInTossSignTossCertError = {
code: e?.code ?? 'UNKNOWN',
message: e?.message ?? String(e),
};
// onError: 에러 처리
}