포인트 전환
캐시버튼에 모인 포인트를 앱사에서 사용중인 포인트로 전환하는 기능입니다.
연동 순서
1. 영업 담당자와 포인트 전환에 사용에 대한 설정 요청
2. 포인트 전환에 사용될 단위/환율 협의
3. 포인트 전환에 사용될 아이템 코드 발급
4. 클라이언트 및 서버 연동
전환 관련 유저 서비스 플로우

전환 프로세스

Client
/**
* 포인트전환
* 1. setCashExchangeListener API 를 이용하여 transactionID(요청ID)를 전달받는다.
* 2. transactionID 를 요청 파라미터에 담아 HostApp-Server로 전환요청을 한다.
* 3. 전환 성공/실패 여부를 CashButtonExchangeConfig.onCompleted() 함수를 사용하여 전달
*/
class App : Application() {
override fun onCreate() {
super.onCreate()
val initSDK = CashButtonSDK() or CashScreenSDK() or PublisherSDK()
initSDK.setCashExchangeListener(object : ICashExchangeListener{
override fun onRequestExchange(transactionID: String) {
// 1.HostApp-Server로 전환요청
// 2. 성공 시 CashButtonExchangeConfig.onCompleted(true)
// 2. 실패 시 CashButtonExchangeConfig.onCompleted(false, failureEntity.responseDescription);
}
})
initSDK.build(listener = object : CashButtonSDK.IResultListener {
override fun onSuccess() {
// Build Completed
}
override fun onFailure(reason: String) {
// Build Failed
}
})
}
}
Server
검증(Verify Transaction)
성공여부를 반드시 호출되어야 다음화면으로 진행됩니다.
캐시전환시 발급한 요청ID를 검증합니다.
PUT
https://api.reward.avatye.com/shop/exchange/rollbackV2
검증 성공 시, 결과로 상품ID(exchangeItemID)를 반환합니다.
해당 상품 ID에 해당하는 금액을 해당 서비스의 재화로 적립 후, 캐시버튼 SDK에 성공여부를 응답합니다.
상품ID는 캐시버튼 담당자로부터 전달받을 수 있습니다
Headers
Content-Type*
String
application/json
Authorization*
String
Basic Token (사전 전달 )
Request Body
transactionID*
String
캐시버튼 SDK에서 전달받은 요청ID
기본적인 성공 및 실패 응답은 모두 200으로 반환되며, 반환 값 "resultCode"를 통해 결과 분기합니다.
검증이 성공("0000")한 경우에만 서비스의 재화를 지급해야 합니다. 이 후, 성공 및 실패 여부를 캐시버튼 SDK에 전달합니다.
//resultCode가 "0000"일 경우, exchangeItemID 값이 제공됩니다.
{
resultCode: “0000”,
exchangeItemID: “dae1027a7bbc4eeeb56163427d1447a3“,
extraData: {}
}
취소(Rollback)
캐시전환을 취소합니다.
PUT
https://api.reward.avatye.com/shop/exchange/rollbackV2
검증이 성공했지만, 서비스내의 재화에 적립을 할 수 없는 경우, 캐시전환 취소를 호출합니다. 사용자는 검증과정에서 캐시버튼의 캐시를 이미 사용 했기때문에, 캐시전환이 실패할 경우 해당 API를 호출함으로써, 사용자가 사용한 캐시를 복원합니다.
Headers
Content-Type*
String
application/json
Authorization*
String
Basic Token (사전 전달 )
Request Body
transactionID*
String
캐시버튼 SDK에서 전달받은 요청ID
응답 값의 resultCode 필드로 성공여부를 확인할 수 있습니다.
응답 값은 고객지원 시 참고용으로 사용되며 이 후, 추가 프로세스는 없습니다.
Last updated