iES 이용등록

  1. 사용자의 가입 상태를 확인 합니다.
  2. 사용자의 이용 등록을 요청 합니다.
  3. 비밀 번호를 입력 받습니다.
  4. 이용등록을 완료 합니다.

이용등록 사전 작업

Passiapd 서비스 이용등록 전 사용자의 앱에 따라 본인인증을 사전에 수행해 주세요. 본인 인증 및 사전 수행 절차를 마쳤다면 회원연동 API를 호출 합니다.

회원연동에 대한 가이드는 회원연동 연동 가이드: 를 참조 부탁 드립니다.

사용자 상태 체크

iES 가입전 사용자의 가입 상태를 체크합니다.
api의 결과에 따라 가입 여부를 판단 합니다.
샘플 앱에 포함된 MainActivity.java의 reqProcJoin 메소드를 참고해 주세요

  private void reqCheckJoin() {
        String cus_id = mEtCusId.getText().toString();

        SPinManager.getInstance().reqCheckJoin(this, cus_id);
    }

이용등록

샘플 앱에 포함된 MainActivity.java의 reqProcJoin 메소드를 참고해 주세요

    private void reqProcJoin() {
        String cus_no = mEtCusNo.getText().toString();
        String cus_id = mEtCusId.getText().toString();
        SPinManager.getInstance().reqJoin(this, mAuthToken,  mPushToken, cus_no, cus_id,  mSpEncKey);
    }

reqProcJoin 에선 회원 연동에서 응답밥은 mAuthToken, push 수신용 mPushToken 푸시토큰, 고객번호 cus_no, 고객아이디 cus_id 회원연동에서 응답받은 SpEncKey 값을 SPinManager를 통해 라이브러리로 전달 합니다.
이제 SPinManager의 reqJoin 메소드를 살펴 봅시다.

public void reqJoin(final Context ctx, final String auth_token,  final String push_token, final String cus_no, final String cus_id,  final String sp_enc_key) {
        // 라이브러리 결과 값 리스너
        final OneShotPadListener<SimpleResponse> l = new OneShotPadListener<SimpleResponse>() {
            @Override
            public void onResult(SimpleResponse res) {
                BaseResponse.printLog(res);
                showToast(ctx, res);
                // 결과 값 반환
            }
        };
        // 핀패드 리스너
        OnInputListener pinpadListener = new OnInputListener() {
            @Override
            public void onStep1Finished(PinpadDialog dlg) {
                dlg.setLabel1("비밀번호 입력 확인");
                dlg.setLabel2("비밀번호를 한번 더 입력하세요.");
            }

            @Override
            public void onInvalidInput(PinpadDialog dlg, int code) {
                String msg = "";
                switch (code) {
                    case InterfaceCodes.ERR_TOO_SHORT:
                        msg = "비밀번호는 4자리여야 합니다.";
                        break;
                    case InterfaceCodes.ERR_NOT_MATCH:
                        msg = "비밀번호가 일치하지 않습니다.";
                        break;
                }
                Toast.makeText(ctx, msg, Toast.LENGTH_SHORT).show();
            }

            @Override
            public void onInputPw(PinpadDialog dlg, String pw) {
                dlg.dismiss();
                // 라이브러리 호출
                // RSA키 생성및 전자서명 전달
                OneShotPadManager.getInstance().reqProcJoinEx(ctx, auth_token,  push_token, cus_no, cus_id, pw,  sp_enc_key, l);
            }

            @Override
            public void onCanceled(PinpadDialog dlg) {
                dlg.dismiss();
            }
        };
        PinpadDialog dlg = PinpadDialog.getSetDialog(ctx, pinpadListener);
        dlg.setSubTitle("OneShotPad 가입");
        dlg.setLabel1("비밀번호 입력");
        dlg.setLabel2("비밀번호를 입력하세요.");
        dlg.show();
    }

SPinManager의 reqJoin메소드 에서는 서비스 등록시 사용할 핀패드를 화면에 노출 시키고 사용자의 패스워드를 입력 받은후, 전달 받은 값들과 함께 라이브러리에 전송합니다.

다음