iamport / iamport-react-native

React Native용 아임포트 일반.결제 및 휴대폰 본인인증 모듈입니다.
MIT License
165 stars 62 forks source link

다날 가상계좌 결제 시 오류 발생합니다. #163

Open mckim0408 opened 2 years ago

mckim0408 commented 2 years ago

오류항목

iamport-react-native 의 IMP.Payment 컴포넌트 호출 시 다날 계좌이체가 정상 작동하지 않습니다. 증상은 loading 컴포넌트가 잠시 보였다가 바로 꺼집니다. (결제모듈 자체가 나오지 않습니다.)

결과값은 다음과 같이 넘어옵니다. {"error_code": "1102", "error_msg": "다날 서버로부터 받은 응답이 올바르지 않습니다.전문 파싱 중 오류가 발생했습니다.", "imp_uid": "imp_************", "merchant_uid": "merchant_1643270972284", "success": false}

혹시몰라 다날에서 에러코드를 찾아보니 CPID 값이 올바르지 않다고 나오길래 아임포트에 문의해본 결과 관리자페이지에서의 설정은 제대로 되어있다는 답변을 받았습니다.

테스트 환경

Android

AndroidMenifest에 다음과 같이 intent-filter와 , Activity에 android:launchMode="singleTask" 추가해주었습니다.

<intent-filter>
  <action android:name="android.intent.action.VIEW"/>
  <category android:name="android.intent.category.DEFAULT"/>
  <category android:name="android.intent.category.BROWSABLE"/>
  <data android:scheme="iamport_callback_scheme" />
</intent-filter>

모듈 버전

"iamport-react-native": "^2.0.0-rc.1", "query-string": "^7.1.0", "react": "17.0.2", "react-native": "0.66.4",

Source

<IMP.Payment
  userCode="imp********"
  callback={callback}
  loading={<ActivityIndicator size="large" />}
  data={{
    pg: 'danal_tpay',
    escrow: false,
    pay_method: 'trans',
    app_scheme: 'iamport_callback_scheme',
    name: 'test',
    merchant_uid: 'merchant_'+Date.now(),
    buyer_name: '1234',
    buyer_email: '1234',
    buyer_tel: '1234',
    amount: 10000,
  }}
/>
anymate98 commented 2 years ago

확인을 해봤는데 이메일이 제대로 된 포맷이 아니라 문제가 되는 것 같습니다. buyer_email 값을 정상적인 이메일 형식으로 바꿔서 다시 시도해 보시겠어요?