응용 프로그램 측 SDK 통합
일반 구매 로직
- 결제 토큰을 가져오는 로직을 구현하는 방법:
- Store 라이브러리 사용(권장 사항):
- 단일 아이템을 구매할 경우
createOrderByItemSku
메소드를 호출합니다. - 장바구니 아이템 구매 방법:
- 사용자가 장바구니에 아이템을 채운 후
fillCurrentCartWithItems
메소드를 호출합니다. createOrderFromCartById
혹은createOrderFromCurrentCart
메소드를 호출합니다.
- 사용자가 장바구니에 아이템을 채운 후
- 단일 아이템을 구매할 경우
- Store 라이브러리 사용(권장 사항):
- 인게임 스토어 및 직접 판매 API를 사용.
- 자체 서버 메소드 혹은 BaaS 솔루션 메소드 사용.
- 결제 UI 열기 로직을 구현:
알림
구현 예시를 확인하려면 데모 프로젝트를 검토하세요.
Copy
- kotlin
vmPurchase.paymentToken.observe(this) { token ->
val intent = XPayments.createIntentBuilder(this)
.accessToken(AccessToken(token))
.isSandbox(BuildConfig.IS_SANDBOX)
.useWebview(true)
.build()
startActivityForResult(intent, RC_PAYSTATION)
}
- 결제 결과 처리 구현:
Copy
- kotlin
override fun onActivityResult(requestCode: Int, resultCode: Int, data: Intent?) {
super.onActivityResult(requestCode, resultCode, data)
if (requestCode == RC_PAYSTATION) {
val (status, _) = XPayments.Result.fromResultIntent(data)
when (status) {
XPayments.Status.COMPLETED -> showSnack(getString(R.string.payment_completed))
XPayments.Status.CANCELLED -> showSnack(getString(R.string.payment_cancelled))
XPayments.Status.UNKNOWN -> showSnack(getString(R.string.payment_unknown))
}
}
}
알림
구현 예시를 확인하려면 데모 프로젝트를 검토하세요.
결제 UI 열기 옵션
XPayments.createIntentBuilder
메소드로 전달되는 매개 변수에 따라 결제 UI가 WebView 또는 사용자 정의 탭에서 열립니다.
useWebview(true)
매개 변수가 전달되면 결제 UI를 열 때 항상 WebView가 사용됩니다.
사용자 정의 탭은 다음 조건을 충족하는 경우에 사용됩니다.
XPayments.createIntentBuilder
를 호출할 때useWebview
매개 변수가 전달되지 않았거나useWebview(false)
가 전달된 경우.- 사용자의 장치는 기본적으로 다음 브라우저 중 하나를 사용합니다.
- Google Chrome
- 삼성 인터넷 브라우저
- Huawei 브라우저
다른 브라우저를 사용하는 경우 XPayments.createIntentBuilder
메소드의 매개 변수에 관계없이 결제 UI가 WebView에서 열립니다.
WebView에서는 사용자에게 브라우저 표시줄과 표준 탐색 요소가 표시되지 않습니다. 이 경우 인앱 구매 프로세스가 원활해집니다. 단, 사용자가 구매의 어느 단계에서든 결제 UI를 닫을 수 있도록 애플리케이션을 수정하여 ← 아이콘을 추가해야 합니다. 수정 예시는 데모 애플리케이션을 참조해 주세요.
사용자 정의 탭에서 ✖ 아이콘을 클릭하여 결제 UI를 닫을 수 있습니다.
WebView 사용 예시:
사용자 정의 탭 사용 예시:
진행률
오자 또는 기타 텍스트 오류를 찾으셨나요? 텍스트를 선택하고 컨트롤+엔터를 누르세요.