시버튼 초기화(Initialize) 옵션 "setCashExchangeListener(listener: ICashExchangeListener)" 설정
setCashExchangeListener::onRequestExchange(transactionID, exchangeItemID) → 이벤트 수신시
전환 성공 함수(CashButtonExchangeConfig.onCompleted())를 호출 한다.
포인트 전환
/** * 포인트전환* 1. setCashExchangeListener API 를 이용하여 transactionID(요청ID)를 전달받는다.* 2. transactionID 를 요청 파라미터에 담아 HostApp-Server로 전환요청을 한다.* 3. 전환 성공/실패 여부를 CashButtonExchangeConfig.onCompleted() 함수를 사용하여 전달*/classAppContext : Application() {overridefunonCreate() {super.onCreate()//cash-buttonCashButtonSDK( application =this, skProductType = PRODUCT-TYPE, appId ="AppId", appSecret ="AppSecret" ).apply {// 포인트 전환 안내 문구 등록setPointExchangeMessage( message ="<font color=\"#ff0000\">※포인트 전환 후 취소 및 환불이 불가능합니다.</font>" )// 포인트 전환 이벤트 리스너 등록setCashExchangeListener(listener =object : ICashExchangeListener {overridefunonRequestExchange( transactionID: String, exchangeItemID: String ) {/** * transactionID 포인트 전환 TransactionID * exchangeItemID 포인트 전환 아이템 코드 */// OCB의 경우 서버에서 정상적으로 처리 되는 경우에만 이벤트가 발생하므로 아래 메서드만 호출 한다. CashButtonSDK.requestCashExchangeEvent( isSuccess =true customErrorMessage ="" ) }) }.build(listener =object : CashButtonSDK.IResultListener {overridefunonCompleted(resultCode: Int) {/** * 1: success * -500 : AppId or AppSecret is null or empty * -501 : Wrong Product Type */ Toast.makeText(this@AppContext, "CashButtonSDK.Init::onCompleted { resultCode: $resultCode }", Toast.LENGTH_SHORT ).show() } }) }}