GithubHelp home page GithubHelp logo

iamport / iamport-react-native Goto Github PK

View Code? Open in Web Editor NEW
164.0 26.0 62.0 257.04 MB

React Native용 아임포트 일반.결제 및 휴대폰 본인인증 모듈입니다.

License: MIT License

JavaScript 30.44% Java 15.52% Objective-C 1.50% Ruby 2.59% Starlark 1.52% Kotlin 0.47% Swift 0.42% C 0.04% TypeScript 35.39% Objective-C++ 6.14% CMake 0.22% C++ 5.75%
react react-native iamport payment webview native

iamport-react-native's Introduction

iamport-react-native

alt text

아임포트 리액트 네이티브 모듈입니다.

버전 정보

최신버전은 v2.0.12입니다. 버전 히스토리는 버전 정보를 참고하세요.

지원 정보

아임포트 리액트 네이티브 모듈은 결제 및 휴대폰 본인인증 기능을 제공합니다. 결제시 지원하는 PG사와 결제수단에 따른 자세한 정보는 지원 정보를 참고하세요.

설치하기

아래 명령어를 통해 아임포트 모듈을 귀하의 리액트 네이티브 프로젝트에 추가할 수 있습니다. react-native-webview 모듈은 아임포트 모듈에 dependent하기 때문에 반드시 함께 설치해야 하며 10.8.3 이상의 버전이 요구됩니다. 보다 자세한 안내는 설치하기를 참고하세요.

설정하기

iOS 설정하기

iOS에서 아임포트 모듈을 사용하기 위해서는 추가적인 설정이 필요합니다. 보다 자세한 설명은 iOS 설정하기를 참고하세요.

Expo 설정하기

Expo 프로젝트에서 아임포트 모듈을 사용하기 위해서는 추가적인 설정이 필요합니다. 보다 자세한 설명은 Expo에서 아임포트 연동하기를 참고하세요.

실시간 계좌이체 설정하기

웹 표준 이니시스와 나이스 정보통신은 뱅크페이 앱을 통해 실시간 계좌이체를 진행합니다. 뱅크페이에서 결제 인증 후 본래의 앱으로 복귀 해 다음단계로 진행을 하려면 별도 설정이 요구됩니다. 자세한 내용은 실시간 계좌이체 설정하기를 참고하세요.

예제

아임포트 결제연동 모듈을 사용해 아래와 같이 일반/정기결제 및 휴대폰 본인인증 기능을 구현할 수 있습니다. 현재 구현된 예제들에 대한 설명 및 라이브러리 사용에 필요한 파라미터는 예제를 참고하세요.

콜백 함수 설정하기

콜백 함수는 필수입력 필드로, 결제/본인인증 완료 후 routing을 통한 이동을 위해 아래와 같이 로직을 작성할 수 있습니다. 콜백 함수에 대한 자세한 설명은 콜백 설정하기를 참고하세요.

function callback(response) {
  navigation.replace('Result', response);
}

iamport-react-native's People

Contributors

anymate98 avatar dependabot[bot] avatar devxoul avatar floydkim avatar gijuno avatar hyp3rflow avatar hyukkwonepic avatar jangbora avatar kwonsunhyun avatar smc0210 avatar soleechoi avatar sunjae-kim avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

iamport-react-native's Issues

안드로이드 7.0 미만에서 결제화면이 나오지 않습니다.

문제의 os버전: 4.4 ~ 6.0 (킷캣 미만은 테스트해보지 않았습니다.)
디바이스: 안드로이드 에뮬레이터(픽셀1, 픽셀2), 실기기(갤럭시노트2 4.4 kitkat)
재현방법: 예제프로젝트 실행 => pg사 선택 후 결제하기 => 빈화면

안드로이드 7.0부터는 결제화면이 잘 나오는데 6.0이하에서 현상이 발생하고 있습니다.

[안드로이드 / react-native-webview 10.8.3 이상] 외부 앱 첫 이동시 Error Loading Page

안녕하세요 아임포트 기술지원팀입니다.

iamport-react-native 모듈이 dependent한 react-native-webview 모듈이 10.8.3 이상 버전 사용시 버그가 있다는 보고가 있었습니다.
버그의 내용은 아래와 같습니다.

  • 기기: 안드로이드
  • PG사의 결제창에서 외부 앱(카드사 앱, 간편결제 앱 등)으로 첫 이동시 원활하게 이동은 하지만, PG사의 결제창 화면은 Error Loading Page로 남아있음
  • 이후 두번째 시도부터는 PG사의 결제창 화면이 정상적으로 남아있음
  • 하지만 다시 앱을 껐다가 켠 후, 외부 앱으로 이동시 PG사의 결제창 화면이 다시 Error Loading Page로 남아있음

디버깅 결과 해당 현상은 react-native-webview 모듈의 10.8.3 버전부터 안드로이드 웹뷰의 ShouldOverrideUrlLoading 로직을 변경하였는데
해당 로직으로 인해 웹뷰가 첫 렌더링 됐을때에는, 모든 URL(외부 앱 이동을 위한 URL(intent://로 시작)포함) 로딩을 허용하기 때문인 것으로 파악됐습니다.

일단 이를 우회하기 위해 RN단에서 웹뷰 첫 렌더링시, 마치 두번째 렌더링인것처럼 되어 위 로직을 타지 않도록 코드를 추가하였습니다.
일종의 땜빵인 만큼 기존 사용자와의 레거시를 고려해 위 코드는 feature/react-native-webview라는 브랜치를 따서 반영해두었고,
향후 코드의 안정성이 확보되었을때 또는 더 나은 방법이 고려되면 iamport-react-native 새 버전에 반영하도록 할 예정입니다.

따라서 react-native-webview 10.8.3 이상 버전을 사용하신다면
아래와 같이 feature/react-native-webview 브랜치를 설치하시길 바랍니다.

$ npm install --save npm install --save https://github.com/iamport/iamport-react-native\#feature/react-native-webview

이용에 참고 부탁드립니다.
감사합니다.

react-native-webview 참조 이슈

  • version info
    react-native : 0.61.5
    react-native-webview : 7.4.2
    iamport-react-native : 1.4.0

위와 같이 현재 version을 사용하고 있습니다.
현재 저희가 내부 프로젝트에서 사용하고 있는 react-native-webview 와 iamport-react-native 에서 사용하고 있는 library는 같은 버전을 사용하고 있는것으로 확인하였습니다.

하지만 현재 저희가 내부에서 사용하고 있는 WebView를 먼저 import 한 뒤 종료를 하고, IMP.Certificate 를 호출하게 되면 아래와 같은 화면이 나오게 됩니다.
-- Debug Mode 상태
image

-- Debug Mode 해제 상태
image

위와 같은 화면이 나오는 것은 react-native-webview 를 참조할때 생기는 이슈로 보이는데 해결방법이 있을까요 ?

타입 정의 공유드립니다.

안녕하세요.
사내에서 해당 라이브러리를 사용 중인데 타입이 정의 안되어있다고 나와서
혹시나 도움 도움되실까봐 내부적으로 정의한 타입 공유드립니다.

사내에서는 @types/iamport-react-native 안에 index.d.ts파일에 타입 정의하였습니다.

declare module 'iamport-react-native' {
  import * as React from 'react';
  export type IMP_CARRIERS = 'SKT' | 'KTF' | 'LGT' | 'MVNO';
  export type IMP_PG =
    | 'html5_inicis'
    | 'inicis'
    | 'uplus'
    | 'kcp'
    | 'kcp_billing'
    | 'nice'
    | 'jtnet'
    | 'kakao'
    | 'kakaopay'
    | 'danal'
    | 'danal_tpay'
    | 'kicc'
    | 'settle'
    | 'mobilians'
    | 'payco'
    | 'eximbay'
    | 'paypal'
    | 'naverco'
    | 'naverpay'
    | 'smilepay'
    | 'chai'
    | 'payple'
    | 'alipay';

  export type IMP_PAY_METHOD =
    | 'card'
    | 'trans'
    | 'vbank'
    | 'phone'
    | 'samsung'
    | 'kpay'
    | 'cultureland'
    | 'smartculture'
    | 'happymoney'
    | 'booknlife'
    | 'kakaopay'
    | 'lpay'
    | 'payco'
    | 'ssgpay'
    | 'tosspay';

  export type IMP_CURRENCY = 'KRW' | 'USD' | 'EUR' | 'JPY';

  // 속성 참고 https://docs.iamport.kr/tech/imp?lang=ko#callback
  export interface IIMPCallbackRsp {
    success: boolean;
    error_code: string;
    error_msg: string;
    imp_uid: string;
    merchant_uid: string;
    pay_method: string;
    paid_amount: string;
    status: string;
    name: string;
    pg_provider: string;
    pg_tid: string;
    buyer_name: string;
    buyer_email: string;
    buyer_tel: string;
    buyer_addr: string;
    buyer_postcode: string;
    custom_data: object;
    paid_at: number;
    receipt_url: string;
    apply_num?: string;
    vbank_num?: string;
    vbank_name?: string;
    vbank_holder?: string;
    vbank_date?: number;
  }
  export class Certification extends React.PureComponent<{
    userCode: string;
    tierCode?: string;
    data: {
      merchant_uid?: string;
      company?: string;
      carrier?: IMP_CARRIERS;
      name?: string;
      phone?: string;
      min_age?: string;
      app_scheme?: string;
    };
    callback: (rsp: IIMPCallbackRsp) => void;
    loading?: object;
  }> {}
  // 속성 참고 https://docs.iamport.kr/tech/imp?lang=ko#param
  export class Payment extends React.PureComponent<{
    userCode: string;
    tierCode?: string;
    data: {
      pg?: IMP_PG;
      pay_method?: IMP_PAY_METHOD;
      currency?: IMP_CURRENCY;
      notice_url?: string | string[];
      display?: {card_quota?: number};
      merchant_uid: string;
      amount: string[] | number[];
      buyer_tel: string;
      app_scheme: string;
      escrow?: boolean;
      name?: string;
      tax_free?: number;
      buyer_name?: string;
      buyer_email?: string;
      buyer_addr?: string;
      buyer_postcode?: string;
      custom_data?: object;
      vbank_due?: string;
      popup?: boolean;
      digital?: boolean;
      m_redirect_url?: string;
      biz_num?: string;
    };
    callback: (rsp: IIMPCallbackRsp) => void;
    loading?: object;
    handleInicisTrans?: (event: any) => void;
    open3rdPartyApp?: (iamportUrl: any) => void;
  }> {}
}

prop type로 정의한 부분을 거의 참조하였고 없는 타입은 홈페이지를 참고하였습니다.

RN 버전?

가이드에
$ npm install react-native-webview --save // RN v0.60 이상 필수
이렇게 써있는데요..

RN v0.60 이상인 경우 필수로 webview를 설치하라는 얘기인가요?
아니면 webview 방식을 쓰기위해 RN을 v0.60 이상으로 필수로 설치하라는 얘기인가요?
위 주석이 무슨 의미인지 설명 부탁드립니다.

feature/android-n-ios 에서 ios-simulator에서 빌드가 안됩니다!

React Native : 57.0.0

image

안드로이드는 문제가 없는데, ios에서 위와 같은 문제가 발생합니다.
build phases에 libiamportreatnative.a 을 삭제하면 빌드에는 문제가 없습니다. 그러나 다시 추가할 경우 에러가 발생합니다. rm -rf node_modules && npm install 도 이미 실행해보고 link도 해봤습니다!

image

Xcode에서 Products/libiamportreatnative.a 파일이 빨간색인 것과 관련이 있을까요?

Example 빌드에러가 계속 발생합니다.

kakaotalk_photo_2018-09-13-12-41-21

'components/Home' does not exist in the Haste module map 과 같은 에러들이 계속해서 뜹니다.
해당 소스파일을 보니 경로 설정을 ../components/Home 이런식으로 바꾸면 또 다른 경로에러가 나는듯 합니다. 어떻게 처리하면 될까요? 안드로이드, ios 모두 동일합니다.

WebView 중복 사용시 "Invariant Violation: Tried to register two views with the same name RNCWebView" 에러

안녕하세요.

웹뷰 중복 사용시 같은 이름의 웹뷰가 두개 사용 되고 있다는 에러가 납니다.

에러 발생 예시:
하나의 웹뷰는 iamport-react-native
다른 웹뷰는 react-native-webview 사용
두개의 웹뷰는 서로 다른 View 에 랜더함.

스크린샷 2020-03-17 오후 9 38 01

iamport-react-native 의 node_modules 에 포함되어 있는 react-native-webview를 제거하니 정상 동작 합니다.
해결 이슈 참고: react-native-webview/react-native-webview#373 (comment)

1.2.0버전 오류 / 안드로이드 m_redirect_url 오류 / 모빌리언스 오류

  1. 1.2.0 버전에서 안드로이드 및 iOS 동일하게 아래와 같은 오류가 뜹니다. (1.2.0 만 발생)
    MicrosoftTeams-image (10)

  2. 1.1.4-rc.1 버전 이하 및 1.1.2 이상 버전에서 m_redirect_url 이 없다고 뜹니다. (1.2.0버전은 위의 오류 때문에 확인 불가) (안드로이드만 발생하는 문제, iOS에서는 정상 작동함)
    MicrosoftTeams-image (9)

  3. 확인한 모든 버전에서 모빌리언스 카드 결제 모듈이 작동하지 않습니다. (바로 휴대폰 결제 첫 화면으로 들어감)
    MicrosoftTeams-image (8)

const data = {
	pg: "mobilians",
	digital: false,
	pay_method: "card",
	name: "아임포트 결제데이터 분석",
	merchant_uid: "*******",
	amount: "39000",
	buyer_name: "홍길동",
	buyer_tel: "0102345678",
	buyer_email: "[email protected]",
	buyer_addr: "서울시 강남구 신사동 661-16",
	buyer_postcode: "06018",
	app_scheme: "airstore",
	// [Deprecated v1.0.3]: m_redirect_url
};
<IMP.Payment
 userCode={"*******"} // 가맹점 식별코드
data={data} // 결제 데이터
callback={this.callback} // 결제 종료 후 콜백
loading={{
		message: "잠시만 기다려주세요...", // 로딩화면 메시지
	}}
/>

example 실행 실패

example을 xcode에서 컴파일해서 실행하는데, 다음과 같은 에러가 발생합니다.

실행 환경 : iPhone 11, iOS 13.0

  • npm install 후에 example.xcodeproj를 xcode에서 실행했습니다.
2019-09-30 23:31:57.831 [info][tid:main][RCTCxxBridge.mm:213] Initializing <RCTCxxBridge: 0x7fec086034a0> (parent: <RCTBridge: 0x600003b22290>, executor: (null))
2019-09-30 23:31:57.832298+0900 example[76573:5970225] Initializing <RCTCxxBridge: 0x7fec086034a0> (parent: <RCTBridge: 0x600003b22290>, executor: (null))
2019-09-30 23:31:57.877 [info][tid:main][RCTRootView.m:293] Running application example ({
    initialProps =     {
    };
    rootTag = 1;
})
2019-09-30 23:31:57.877341+0900 example[76573:5970225] Running application example ({
    initialProps =     {
    };
    rootTag = 1;
})
2019-09-30 23:31:57.972362+0900 example[76573:5970279] [] nw_socket_handle_socket_event [C4.1:1] Socket SO_ERROR [61: Connection refused]
2019-09-30 23:31:57.976947+0900 example[76573:5970279] [] nw_socket_handle_socket_event [C4.2:1] Socket SO_ERROR [61: Connection refused]
2019-09-30 23:31:57.979220+0900 example[76573:5970283] [] nw_connection_get_connected_socket [C4] Client called nw_connection_get_connected_socket on unconnected nw_connection
2019-09-30 23:32:19.218 [error][tid:main][RCTModuleMethod.mm:375] Unknown argument type '__attribute__' in method -[RCTAppState getCurrentAppState:error:]. Extend RCTConvert to support this type.
2019-09-30 23:32:19.217973+0900 example[76573:5970225] Unknown argument type '__attribute__' in method -[RCTAppState getCurrentAppState:error:]. Extend RCTConvert to support this type.
2019-09-30 23:32:19.225 [fatal][tid:main] Exception '*** -[__NSArrayM objectAtIndexedSubscript:]: index 1 beyond bounds [0 .. 0]' was thrown while invoking getCurrentAppState on target AppState with params (
    2,
    3
)
callstack: (
	0   CoreFoundation                      0x00007fff23b98bde __exceptionPreprocess + 350
	1   libobjc.A.dylib                     0x00007fff503b5b20 objc_exception_throw + 48
	2   CoreFoundation                      0x00007fff23c2af71 _CFThrowFormattedException + 194
	3   CoreFoundation                      0x00007fff23aacdd9 -[__NSArrayM objectAtIndexedSubscript:] + 169
	4   example                             0x000000010e949fff -[RCTModuleMethod processMethodSignature] + 13327
	5   example                             0x000000010e94edbd -[RCTModuleMethod invokeWithBridge:module:arguments:] + 189
	6   example                             0x000000010e9e9b87 _ZN8facebook5reactL11invokeInnerEP9RCTBridgeP13RCTModuleDatajRKN5folly7dynamicE + 791
	7   example                             0x000000010e9e9693 _ZZN8facebook5react15RCTNativeModule6invokeEjON5folly7dynamicEiENK3$_0clEv + 131
	8   example                             0x000000010e9e9609 ___ZN8facebook5react15RCTNativeModule6invokeEjON5folly7dynamicEi_block_invoke + 25
	9   libdispatch.dylib                   0x000000010f803df0 _dispatch_call_block_and_release + 12
	10  libdispatch.dylib                   0x000000010f804d64 _dispatch_client_callout + 8
	11  libdispatch.dylib                   0x000000010f812e1c _dispatch_main_queue_callback_4CF + 1500
	12  CoreFoundation                      0x00007fff23afb699 __CFRUNLOOP_IS_SERVICING_THE_MAIN_DISPATCH_QUEUE__ + 9
	13  CoreFoundation                      0x00007fff23af62f9 __CFRunLoopRun + 2329
	14  CoreFoundation                      0x00007fff23af56b6 CFRunLoopRunSpecific + 438
	15  GraphicsServices                    0x00007fff3815cbb0 GSEventRunModal + 65
	16  UIKitCore                           0x00007fff47162a67 UIApplicationMain + 1621
	17  example                             0x000000010e877a10 main + 112
	18  libdyld.dylib                       0x00007fff5123bcf5 start + 1
)

image

ios 릴리즈 모드 white screen에서 머무는 문제

안녕하세요! 만들어주신 모듈 덕분에 결제모듈을 잘 붙여 사용하고 있습니다.
안드로이드의 경우 release환경에서도 잘 작동하고 있는데
IOS에서 문제가 발생합니다.

ios debug 모드에서는 정상적으로 나오는 것을 확인했습니다.

그리고 README에 나와있는대로.
번들링 작업을 수행한뒤에, release 모드로 제 device에 build하였는데요.

하얀화면에서 더이상 진행이 없습니다.
체크리스트에 있는 ios/assets의 파일들과 main.jsbundle 파일 역시 확인했습니다.

해당 문제는 어떤 식으로 디버깅해나갈 수 있을까요?
혹은 제가 혹시 빠뜨린게 있을 수가 있을까요?

서드파티 앱에서 본 앱으로 복귀하지 못하는 문제

안녕하세요, 결제기능 구현 중에 서드파티 앱에서 본 앱으로 복귀 못하는 문제가 발생했습니다.
이런저런 시도를 해보았는데 해결이 되지 않아 도움이 필요해서 글을 남기게 되었습니다.
상세 내용은 아래와 같습니다.

현상

결제는 잘 되고 있으나, 서드파티 결제 앱에서 결제가 완료된 후 본 앱으로 복귀가 안 됩니다.

재현 플로우

  1. 웹뷰 결제화면에서 서드파티앱 실행되는 결제수단 선택
  2. 서드파티앱 실행
  3. 다시 본 앱으로 돌아와서 홈버튼
  4. 다시 서드파티앱으로 돌아가서 결제 진행
  5. 결제완료시 홈화면(바탕화면)이 보이는 상태
  1. 카카오톡 실행
  2. 본 앱에서 카카오페이 선택 후 결제 진행.
  3. 결제완료시 카카오톡이 보이는 상태

시도 해본 것

  1. 테스트용으로 간단한 앱을 만들어서 아래 코드를 실행했을 경우 잘 동작하는 것을 확인했습니다.
String url ="test_app://";
Intent intent = new Intent(Intent.ACTION_VIEW, Uri.parse(url));
startActivity(intent);
  1. 아임포트에서 제공하는 샘플 앱에서도 재현되는 것을 확인했습니다.
    모듈버전 v1.2.3 v1.3.0 두 버전 모두 테스트해보았습니다.

버전정보

안드로이드 9 Pie
react-native v0.59.8
react-native-webview v5.11.0
iamport-react-native v1.2.3

매니페스트

<intent-filter>
       <action android:name="android.intent.action.MAIN" />
       <category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
<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="test_app" />
</intent-filter>

프로퍼티

<View style={{flex: 1}}>
        <IMP.Payment
          userCode={'impxxxxxxx'}
          loading={<Loading />}
          data={data}
          callback={this.callback}
        />
</View>
const data = {
      pg: pg.pg,
      pay_method: pg.method,
      (... 생략)
      app_scheme: 'test_app',
    };

React-Navigation SwitchNavigator 사용시 콜백(Callback) 함수 지정으로 처음 Navigation 이 이루어지지 않는 현상

SwitchNavigation을 사용하는 React Native 앱에 이 라이브러리를 사용했을 때 아임포트 결제의 콜백이 첫 번째 시도에 이루어지지 않고 그 전의 화면으로 돌아가고 두 번째 시도부터 는 정상적인 Navigation 이 이루어집니다. 다시 말해 앱을 키고 처음으로 Iamport 결제 화면으로 들어갔을 때는 결제 취소나 성공을 하여도 똑같이 그 전의 화면으로 돌아가며 다시 Iamport 화면으로 들어가 결제를 취소하거나 성공을 하면 지정한 콜백함수의 코드대로 Navigation이 작동합니다.
Iamport 화면의 첫 렌더 시 callback 함수 지정이 성공적으로 되지 않는 이유일까요?

Iamport.js

class Iamport extends Component {
  state = {
    price: null
  };

  callback = response => {
    if (response.success == "true") {
      // Boolean이 아닌 String으로 되어있음 
      this.props.navigation.navigate("Payment", response);
    } else {
      this.props.navigation.navigate("Riding", response);
    }
  };

SwitchNavigator.js

const MySwitchNavigator = createSwitchNavigator(
  {
    Main: MainScreen,
    Payment: PaymentScreen,
    Riding: RidingNavigator,
    Iamport: IamportScreen
  },
  { initialRouteName: "Main" }
);

프로젝트 폴더 구조가 매뉴얼과 차이가 있습니다.

expo37에서 아임포트를 연동하려 합니다.

그래서 진행중인데 프로젝트 폴더 구조가 매뉴얼과 차이가 있습니다.
expo eject 실행 후에 ios 디렉토리 안에 Libraries도 존재하지 않고, info.plist파일의 위치도 [프로젝트 폴더]/ios/[프로젝트 이름]/info.plist가 아닌 [프로젝트 폴더]/ios/[프로젝트 이름]/Supporting/info.plist에 존재합니다.
스크린샷 2020-07-11 오후 11 38 05

임의로 ios/Libraries생성 libIamportReactNative.a, libRNCWebView.a 추가 후 5.설정하기
를 진행 후 run을 하면 아래와 같이 애러가 발생합니다.
스크린샷 2020-07-12 오전 12 51 58

여러번 시도해도 계속 같은에러 발생됩니다.

IOS Payco 웹결제시 JOSN Parse Error: Unexpected identifier "payco_message"

안녕하세요.

IOS에서 Payco 웹결제시 JOSN Parse Error: Unexpected identifier "payco_message"
라는 에러 메세지가 나옵니다.
안드로이드는 문제가 없고, payco 앱으로 결제 및 타은행 결제시(신한 fan) 으로 테스트 하였을때는 문제가 없었습니다.

iamport 버전은 1.0.5 최신버전 사용하였습니다.
상세 로그입니다.

2018-12-21 22:52:19.647034+0900 bglamb2cmobile[230:5017] WF: _WebFilterIsActive returning: NO
2018-12-21 22:52:20.063786+0900 bglamb2cmobile[230:5017] CoreAnimation: [EAGLContext renderbufferStorage:fromDrawable:] was called from a non-main thread in an implicit transaction! Note that this may be unsafe without an explicit CATransaction or a call to [CATransaction flush].
2018-12-21 22:52:20.654725+0900 bglamb2cmobile[230:5017] WF: _userSettingsForUser mobile: {
    filterBlacklist =     (
    );
    filterWhitelist =     (
    );
    noOverridingAllowed = 1;
    restrictWeb = 1;
    useContentFilter = 0;
    useContentFilterOverrides = 0;
    whitelistEnabled = 0;
}
2018-12-21 22:52:20.654839+0900 bglamb2cmobile[230:5017] WF: _WebFilterIsActive returning: NO
2018-12-21 22:52:26.987 [error][tid:com.facebook.react.JavaScript] JSON Parse error: Unexpected identifier "payco_message"
2018-12-21 22:52:26.990494+0900 bglamb2cmobile[230:4652] JSON Parse error: Unexpected identifier "payco_message"
2018-12-21 22:52:26.993 [fatal][tid:com.facebook.react.ExceptionsManagerQueue] Unhandled JS Exception: JSON Parse error: Unexpected identifier "payco_message"
2018-12-21 22:52:26.993083+0900 bglamb2cmobile[230:5242] Unhandled JS Exception: JSON Parse error: Unexpected identifier "payco_message"
2018-12-21 22:52:26.996570+0900 bglamb2cmobile[230:5242] *** Terminating app due to uncaught exception 'RCTFatalException: Unhandled JS Exception: JSON Parse error: Unexpected identifier "payco_message"', reason: 'Unhandled JS Exception: JSON Parse error: Unexpected identifier "payco_message", stack:
onMessage@998:1085
_onMessage@309:2685
y@94:576
k@94:719
E@94:773
D@94:1940
F@94:2699
W@94:2514
<unknown>@94:14001
Ae@94:75072
ze@94:13671
Oe@94:13844
receiveEvent@94:14220
value@25:3311
<unknown>@25:822
value@25:2565
value@25:794
'
*** First throw call stack:
(0x1a5c3fea0 0x1a4e11a40 0x104c5a544 0x104c5694c 0x1a5c47600 0x1a5b25530 0x1a5b26114 0x104c6e744 0x104cb5584 0x104cb52e0 0x106257824 0x106258dc8 0x106260e6c 0x106261b60 0x10626bbfc 0x1a585c0dc 0x1a585ecec)
libc++abi.dylib: terminating with uncaught exception of type NSException
(lldb)

react native 에서 발생하는 오류 .

리액트 네이티브에서 본인인증을 위해 아임포트를 붙여보는 중입니다.

본인인증 진행을 위해 , 아임포트의 예시 코드를 가지고 시도를 해보는 중인데 아래 처럼 오류가 발생하는데요,

혹시 참고할만한 정보가 있을까요?

  1. 오류 화면.

image

  1. 사용한 코드 ( 예제로 올려져 있는 코드 )

의견 부탁드립니다.

`
import React from 'react';

/* 아임포트 모듈을 불러옵니다. /
import IMP from 'iamport-react-native';
/
로딩 컴포넌트를 불러옵니다. */
import Loading from './Loading';

export function Certification({ navigation }) {
/* [필수입력] 본인인증 종료 후, 라우터를 변경하고 결과를 전달합니다. */
function callback(response) {
navigation.replace('CertificationResult', response);
}

/* [필수입력] 본인인증에 필요한 데이터를 입력합니다. */
const data = {
merchant_uid: mid_${new Date().getTime()},
company: '아임포트',
carrier: 'SKT',
name: '홍길동',
phone: '01012341234',
min_age: '',
};

return (
<IMP.Certification
userCode={'iamport'} // 가맹점 식별코드
loading={} // 웹뷰 로딩 컴포넌트
data={data} // 본인인증 데이터
callback={callback} // 본인인증 종료 후 콜백
/>
);
}

export default Certification;`

로딩페이지에서 넘어가지 않는 증상

react-native-cli: 2.0.1
react-native: 0.59.4

본인인증 모듈을 활용하려고 하는데
postMessage 를 전송하지 못하는지
아임포트 로고가 떠있는 로딩 페이지에서 다음페이지로 넘어가질 않습니다

can't locate file for: -lRNCWebView

1.1.2 버전으로 올린 후 iOS 빌드를 진행하면, 에러가 발생합니다.

can't locate file for: -lRNCWebView
file: -lRNCWebView is not an object file (not allowed in a library)

일단 자체적인 해결으로는 (임시)

  1. xCode 프로젝트 내 Libraries 폴더 중 iamprtReactNative.xcodeproj 을 누르고
  2. 여기서 Build Phases 에서 libRNCWebView.a 를 제거합니다.
  3. 이후 빌드를 진행하니 정상적으로 빌드가 진행됐습니다.

iamport 의 공식적인 해결법이 있습니까?

페이코 결제 관련 이슈

페이코 앱이 실행되고 '앱으로 결제'를 클릭하면 '결제시 에러가 발생했습니다' 라는 문구가 출력되며
결제가 진행되지 않습니다 (결제 창이 출력되지 않습니다).
이 경우, 에러메세지는 아래와 같이 확인되고 있습니다. 확인부탁드립니다. 감사합니다!

'VirtualizedList: You have a large list that is slow to update - make sure your renderItem function renders components that follow React performance best practices like PureComponent, shouldComponentUpdate, etc.', { dt: 571, prevDt: 2946, contentLength: 4125 }

Connection to daemon was invalidated

[ProcessSuspension] 0x2834b6e00 - WKProcessAssertionBackgroundTaskManager: Ignored request to start a new background task because the application is already in the background

Can't end BackgroundTask: no background task exists with identifier 4 (0x4), or it may have already been ended. Break in UIApplicationEndBackgroundTaskError() to debug

[Snapshotting] Snapshotting a view (0x1071ff000, UIKeyboardImpl) that is not in a visible window requires afterScreenUpdates:YES.

v1.1.4-rc.0 / 결제 에러

card 결제 시 결제 창이 나오지 않고 바로 콜백함수가 실행됩니다.
IOS와 Android 모두에서 같은 오류가 발생됩니다.
모든 pg 사를 테스트해보진 않았습니다. 다만 kakao , danal_tpay는 위 에러가 발생됩니다.
하지만 LGU+는 정상적으로 작동합니다.
오류 수정 혹은 제가 놓치고 있는 부분을 알려주시길 부탁드리겠습니다.

조금이라도 도움이 되기 위해서 제 코드를 적어놓겠습니다.
<IMP.Payment
userCode={'***********'}
data={{
pg: 'kakao', // danal_tpay 로 바꿔도 같은 오류 발생.
pay_method: 'card',
name: '아임포트 결제데이터 분석',
merchant_uid: mid_${new Date().getTime()},
amount: this.state.pay_amount,// state값에 따라서 변하는 값입니다.
buyer_name: '홍길동',
buyer_tel: '01012345678',
buyer_email: '[email protected]',
buyer_addr: '서울시 강남구 신사동 661-16',
buyer_postcode: '06018',
app_scheme: 'example',
digital:'false',
}} // 결제 데이터
callback={()=>{alert('success')}} // 결제 종료 후 콜백
loading={{
message: '잠시만 기다려주세요...', // 로딩화면 메시지
image: require('../assets/best.png') // 커스텀 로딩화면 이미지
}}
/>

아임포트 결제 화면에서 FG -> BG -> FG 전환 후, 아임 포트 결제 화면 재진입시 앱이 죽는 문제

정상 동작 여부

IOS: 정상
안드로이드 8.1: 정상
안드로이드 9.0: 문제 발생

재현 빈도: 불특정하게 발생하지만.. 재현 빈도가 굉장히 높습니다. 100회 가량 시도하였으며 80회 이상 재현되었습니다.
재현 환경: 안드로이드 9.0 파이 시뮬레이터
구현 방법: 결제하기 버튼을 누르면 IMPPaymentScreenpush 합니다. IMP.Paymentcallback이 호출되면 imp_success에 따라 성공화면으로 navigation.replace하거나 실패의 경우 navigation.goBack()으로 이전 결제하기 버튼이 있는 화면으로 돌아갑니다.
재현 방법:

iamport-react-native v.1.4.4
  1. 결제하기 버튼을 눌러 IMPPaymentScreenpush
  2. 홈 버튼을 누르고 다시 앱을 클릭하여 FG -> BG -> FG 로 전환
  3. 카드사를 선택하고 취소 또는 확인 버튼을 클릭
  4. 취소 또는 확인 등 모든 IMP.Payment관련 UI 무반응
  5. IMPPaymentScreenpop 하여 결제하기 화면으로 돌아감
  6. 결제하기 버튼을 눌러 IMPPaymentScreenpush
  7. 앱 비정상 종료

iamport-react-native v.1.4.0

  1. 결제하기 버튼을 눌러 IMPPaymentScreenpush
  2. 카드사를 선택
  3. 홈 버튼을 누르고 다시 앱을 클릭하여 FG -> BG -> FG 로 전환
  4. 취소 버튼 누름
  5. IMP.Paymentcallback 호출 imp_success == falseIMPPaymentScreenpop 하여 결제하기 화면으로 돌아감
  6. 다시 결제하기 버튼을 눌러 IMPPaymentScreenpush
  7. 앱 비정상 종료

v1.4.0 에 대해서만 이미지를 첨부했습니다.

앱 종료시 노출되는 스택 트레이스는 없습니다.
에러 메시지: A/libc: Fatal signal 11 (SIGSEGV), code 1 (SEGV_MAPERR), fault addr 0x0 in tid 5726 (RenderThread), pid 5660 (pportlabs.{appName})

출시 일정이 얼마 안남았는데 결제만 현재 문제인터라... 빠르게 확인해주시면 감사하겠습니다..

iOS 결제시 앱 튕김 현상 문의드립니다~

안녕하세요~ iOS 개발중 ISP 결제 후, 앱이 꺼지는 현상이 있어서 문의드립니다~
안드로이드에서는 현재 결제가 잘 되는 상태입니다~
답변 주시면 감사하겠습니다 ^^

ps, 캡쳐사진 보내드립니다
스크린샷 2020-09-21 오후 1 37 28

package.json의 homepage 필드가 없어서 pod 설치시 오류가 발생합니다

require 'json'

package = JSON.parse(File.read(File.join(__dir__, 'package.json')))

Pod::Spec.new do |s|
  s.name         = "IamportReactNative"
  s.version      = package['version']
  s.summary      = package['description']
  s.homepage     = package['homepage']
  s.license      = package['license']
  s.author       = package['author']
  s.platform     = :ios, "7.0"
  s.source       = { :git => "https://github.com/iamport/iamport-react-native.git", :tag => "master" }
  s.source_files  = "IamportReactNative/**/*.{h,m}"
  s.requires_arc = true

  s.dependency "React"

end
{
  "name": "iamport-react-native",
  "version": "1.2.1",
  "description": "리액트 네이티브용 아임포트 결제/본인인증 연동 라이브러리",
  "main": "./src/index.js",
  "scripts": {
    "test": "echo \"Error: no test specified\" && exit 1"
  },
  "keywords": [
    "iamport",
    "react",
    "react-native"
  ],
  "author": "Solee Deedee Choi",
  "license": "MIT",
  "dependencies": {
    "prop-types": "^15.6.2",
    "query-string": "^6.1.0",
    "react-native-webview": "^5.11.0"
  },
  "repository": {
    "type": "git",
    "url": "https://github.com/iamport/iamport-react-native"
  },
  "peerDependencies": {
    "react": "*",
    "react-native": "*",
    "@babel/runtime": "*",
    "prop-types": "*",
    "query-string": "*",
    "react-native-webview": "*"
  },
  "devDependencies": {
    "@babel/runtime": "^7.4.5",
    "react": "^16.8.6",
    "react-native": "^0.59.8"
  }
}

pg 속성을 이용한 복수 PG사 기능 추가요청

https://docs.iamport.kr/tech/pg-parameter 문서를 참조하여
data.pg 값을 "{ pg사 코드값 }.{ pg사 상점아이디 }" (eg. "kakaopay.cid1234")로 설정하여 결제테스트를 해보았는데, 현재 사용이 불가능한것으로 보입니다.

PaymentWebView 컴포넌트에서 data.pg 속성이 propTypes로 제한되어 발생한 문제인걸로 추측됩니다.

PaymentWebView.propTypes = {
  userCode: PropTypes.string.isRequired,
  data: PropTypes.shape({
    pg: PropTypes.oneOf(PG),
...

향후 업데이트에 반영되었으면 합니다!

m_redirect_url 데이터

param 속성값에 m_redirect_url 데이터가 선택사항으로 나와있는데

없으면 결제 도중 에러가 발생하네요. 빈값이라도 있을 시 정상적으로 작동하는 것 같습니다.

TypeError: undefined is not an object(evaluating 'pg.startsWith')

안녕하세요 아임포트 기술지원팀입니다.

안드로이드 환경에서 결제연동시 아래와 같은 에러를 겪고 계신 분들을 위한 가이드를 드리려고 합니다.

image

해당 에러 메시지는 iamport-react-native 내부 isIframeWayPayment 로직에서 호출되는 메시지로,
<IMP.Payment />의 data prop을 보낼때 pg값을 아예 보내지 않거나 string이 아닌 값으로 보내는 경우에 발생합니다.

본래 pg값을 유효한 값으로 보내지 않은 경우에도,
아임포트 관리자페이지에 기본 PG에 설정된 결제창을 띄우게 되어있는데
iamport-react-native 모듈에서는 로딩 컴포넌트를
결제창을 렌더링 하기 직전까지 최대한 긴 시간동안 렌더링하기 위해
웹뷰가 로드되기 직전을 트리거하는 로직이 필요하고
이 과정에서 pg값을 참조하고 있습니다.

참고로 해당 로직은, 안드로이드일때만 적용되기 때문에
IOS 환경에서는 pg값이 유효하지 않아도 같은 이슈가 발생하지 않습니다.

또한 안드로이드 환경에서 위 이슈를 겪은 후
백그라운드로 빠졌다가 다시 돌아왔을때는
이미 웹뷰 로드가 완전히 끝난 상황이라
더이상 isIframeWayPayment 로직을 타지 않기 때문에
다시 정상적으로 결제창이 렌더링 됩니다.

이용에 참고 부탁드립니다.
감사합니다.

웹뷰에서 아임포트 실행시 외부 앱이 열리지 않습니다

아임포트는 이미 웹상에서 연동하여 사용중입니다.

RN 상에서 웹뷰를 통해서 결제를 확인하는 과정중에 에러가 발생하여 이렇게 글을 남깁니다.
(KB국민카드, 카카오 결제 / 안드로이드 기기로 테스트)

kakaotalk_photo_2019-02-22-16-19-23

kakaotalk_photo_2019-02-22-16-19-40

웹뷰상에서 해당 과정까지는 넘어가는데는 문제가 없는데
확인을 누르고 다음과정에서 ISP 실행과정에서 에러가 발생한듯 보여집니다.
(사진상에 ISP 앱은 이미 설치한 상태)

kakaotalk_photo_2019-02-22-16-19-34

삼성카드로 결제 테스트 진행 시에는
kakaotalk_photo_2019-02-22-16-29-20

앱카드 실행을 눌렀을 경우 아무런 반응이 없습니다.

리엑트 네이티브 경우 숙련도가 높지 못해서... 해당 모듈 설치 후 어떻게 해야 될지 방향을 못잡고 있습니다ㅠㅠ
예제를 보니 리엑트 네이티브 내부 컴포넌트 상에서 결제가 이루어져서 webview 안에서 결제가 이루어 지는 경우 어떻게 해야되는지 모르겠습니다 실력이 미숙하여ㅠㅠㅠㅠ 도움 주시면 감사하겠습니다

[ios]duplicate symbols for architecture arm64

ios 네이티브 빌드시
duplicate symbols for architecture arm64
이런 에러가 발생합니다.

react-native link iamport-react-native
react-native link react-native-webview

iamport-react-native 내부의 react-native-webview 와 충돌이 나서 그런거 같은데
어떻게 해야될까요?

신용카드 카드선택 더보기 없애기 문의

안녕하세요~ 모듈 사용 문의 드립니다

아래와 같이 더보기를 클릭하면 카드종류가 몇가지 더 나오는데 더보기 기능을 없애고 처음에 있는 카드목록만 노출시킬 수 있을까요?
혹은 노출시킬 수 있는 카드 종류를 개발자가 고를수 있나요??

스크린샷 2020-09-22 오전 10 43 08

[Android Only] 서드파티 앱에서 본 앱으로 복귀하지 못하는 문제

현상:

카카오 페이 결제시 결제는 잘되나 결제 완료 이후 앱으로 복귀하지 못합니다.

재현 플로우

  1. 결제 시도
  2. 카카오 페이 결제 준비 화면 노출, 다음 버튼 클릭
  3. 카카오톡 앱 열림
  4. 페이 결제 화면 노출, 결제하기 버튼 클릭
  5. 결제 완료 화면 노출 주문중이던 앱/웹브라우저로 이동하면 결제가 완료됩니다. 문구, 확인 버튼 클릭
  6. 본 앱으로 복귀하지 않고 카카오톡 앱에 잔존

서드파티 앱에서 본 앱으로 복귀하지 못하는 문제 의 답변에 명시된 것처럼 중간에 홈 버튼을 누르거나 개요화면을 누르게 되어 작업을 떠나는 행위는 없었으며 동일한 플로우로 다른 앱에서 카카오 페이 결제를 할 경우 카카오톡이 닫히며 본앱으로 복귀하는 정상 동작 확인하였습니다.

pg = inicis
pay_method = kakaopay

  const data: PaymentData = {
    pg: pg,
    pay_method: pgMethod,
    name: preparationInfo.productName,
    merchant_uid: preparationInfo.merchantId,
    amount: preparationInfo.productPrice,
    buyer_tel: preparationInfo.buyerTel,
    app_scheme: #appScheme#,
  };

환경:

단말: 갤럭시 노트 8
android version: 9
iamport-react-native: 1.5.2

iOS 에서 "Asset not found" 에러

iOS 디바이스에서 실행시 결제는 정상적으로 작동하나 결제 후 결제 완료 페이지 나옴 -> 완료 클릭 -> 하얀 배경에 "Asset not found" 메세지만 뜨고 더 이상 진행이 되질 않습니다. 콜백 역시 호출 하지 않는 듯 보입니다.
문서에 있는 '아임포트 asset 추가하기' 내의 해당 asset 들은 모두 추가된 상태이고 라이브러리 버전은 1.0.6 입니다.

file

IMP.Payment에서 Loading 후 결제 클릭 안됩니다.

결제 기본 값 입력 후에 결제 진행을 하면 Loading 컴포넌트가 올라온 뒤에 결제 동의 화면이 올라오는데,
Loading 컴포넌트가 사라지지 않고 Loading zIndex 값WebView zIndex 값이 제대로 적용이 안되는것 같습니다.
그래서 결제 WebView가 로딩이 되어도 Loading 컴포넌트가 화면을 차지 하고 있어서 결제 진행을 할 수 없는 상태가 됩니다...

해당 오류가 해결 된 버전을 릴리즈 해주셨으면 합니다.

ExpoKit is deprecated after expo SDK35 대응

안녕하세요 아임포트 기술지원팀입니다.

현재 아임포트가 제공하고 있는 엑스포 연동 매뉴얼 엑스포에서 아임포트 연동하기를 보시면,
ExpoKit 기반으로 eject하는 방법에 대해 안내하고 있는데
ExpoKit는 expo SDK35 부터 deprecated되고 bare workflow로 대체되어
사용에 혼돈을 겪고 계실 고객님들을 위해 대응 방법을 설명드리고자 합니다.

expo 앱에서 iamport-react-native 모듈을 사용하려면 eject 해야하는 점에는 변함이 없습니다.
단지 eject하는 방식이 변경되었을 뿐입니다.
따라서 사용하고 계시는 expo SDK 버전에 따라 ExpoKit 또는 bare workflow 방식 모두로 eject 가능하십니다.
실제로 expo SDK 37 기반 새 앱을 만들어 iamport-react-native를 연동하는 과정을 안내드리겠습니다.

$ expo init // 엑스포 앱 생성(template: bank, name: exampleForExpo)
$ cd ./exampleForExpo // 앱 폴더로 이동
$ expo eject // eject
image
bundle identifier와 package name은 가맹점 재량에 따라 설정해주시면 됩니다.
아예 eject시 How would you like to eject your app? 질문이 사라졌네요.
bare 방식으로 자동 eject 됩니다.

$ npm install --save iamport-react-native // 아임포트 모듈 설치
$ npm install react-native-webview // react-native-webview 모듈 설치
$ react-native link iamport-react-native // 아임포트 모듈 링킹
$ react-native link react-native-webview // react-native-webview 모듈 링킹
$ cd ./ios && pod install
$ yarn android 또는 yarn ios

이용에 참고하시길 바랍니다.
감사합니다.

Example 할부 결제 문의

IMP.request_pay 에 param값을 넘길때

display":{"card_auota":[3]}

공식 문서를 보면 card_auota 가 아닌 card_quota 이 값인거같은데 수정해야될꺼같습니다.

getAppUrl issue

Version info
react-native-cli: 2.0.1
react-native: 0.61.5

위와 같은 버전을 사용하고 있습니다.
카카오페이로 결제를 시도하는 중에 첫화면 에서 '다음'을 누를 시 IOS에서는 카카오페이 결제화면으로 넘어가는데 Android에서는 callBack을 호출하고있습니다.

response에 에러 메세지로 Cannot read property 'getAppUrl' of undefined와 같이 받고 있습니다

params :
{
amount: 5000
app_scheme: "@@@@"
buyer_email: "[email protected]"
buyer_tel: "01030327602"
deduct_from_balance: 0
escrow: false
m_redirect_url: "http://localhost/iamport"
merchant_uid: "@@@@@"
name: "@@@@"
pay_method: "card"
pg: "kakaopay"
profile_uuid: undefined
}

--소스코드--
<IMP.Payment
userCode={impId}
loading={<Video source={require('../assets/images/loading_1.mp4')} style={styles.backgroundVideo} />}
data={params} // 결제 데이터
callback={response => this._callback(response)}
style={styles.webview}
/>

package.json 파일 내부에 react-native-gesture-handler 추가가 안된 사항.

안녕하세요. 샘플 프로젝트를 구동하려고 하다보니
문제점이 있어 글 남깁니다.

package.json 에서는 react-native-gesture-handler 의 dependencies 에 추가가 안되어 있는데

안드로이드에 settings.gradle 파일 안에는

include ':react-native-gesture-handler'
project(':react-native-gesture-handler').projectDir = new File(rootProject.projectDir, '../node_modules/react-native-gesture-handler/android')

이렇게 되어 있습니다.

그래서 yarn add react-native-gesture-handler 을 하여 추가하여도 제대로 컴파일이 되지 않습니다.

엑심베이 모듈 연동 요청

배경

  • 엑심베이 모듈로 웹 해외 결제 처리 중입니다.
  • RN 으로 앱을 빌드하고 있습니다.

요청

  • 엑심베이건도 지원에 추가가 되었으면 합니다.

Unable to use Certification API

I have done certification with Javascript api on web. It worked fine and no problem.
But I cannot do similar things with React Native. Here is my code

import IMP from 'iamport-react-native';

...

certificationCallback = response => {
        console.log('response', response);
}

...

render() {
        const data = {
            merchant_uid: `merchant_${new Date().getTime()}`,
            min_age: '',
        };
        return (
            <IMP.Certification
                userCode="*****"
                data={data}
                callback={this.certificationCallback}
            />
        );
}

There's no sign determine code working. Even I put the console log to the callback, it's not fired too.
If I put invalid string to userCode, it throws error: 다날 서버로부터 받은 응답이 올바르지 않습니다.[인증실패] 잘못된 값이 입력된 필드가 존재합니다. (다날고객센터 1566-3355)

Here are my package versions:

"react-native": "0.59.9",
"react": "16.8.3",
"iamport-react-native": "1.1.4-rc.1",
"react-native-webview": "5.8.1",

Could anyone help me please? Thank a lot.

아임포트 모듈

안녕하세요.
아임포트 모듈
<IMP.Payment
userCode={'식별코드'}
data={data}
callback={callback} />
를 사용중에 있습니다.

앱을 들어가서 처음 결제 할때 결제 하고나서 다시 앱으로 돌아오면
결제는 되어있는데

Error loading page
Domain::undefined
Error Code: -10
Description net::ERR_UNKNOWN_URL_SCHEME

라는 오류가 있는 페이지가 뜹니다.
그리고 다음 결제 부터는 결제 후 돌아오는 아임포트 화면이 정상적으로 잘 나옵니다.
얼마전만해도 오류 없이 결제가 잘 되었는데 저 오류가 저희쪽 문제인지 아임포트 모듈 문제인지 모르겠어서 이슈에 올립니다.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.