본문으로 건너뛰기
버전: SDK-5.11.8

ChargeTBC


Android

public BackendReturnObject ChargeTBC(string receiptJson, string details);


iOS

public BackendReturnObject ChargeTBC(string productId, string receiptToken, string details);

파라미터

Android

ValueTypeDescription
receiptJsonstringPurchasing.PurchaseEventArgs.purchasedProduct.receipt의 값
detailsstring추가로 저장하고자 하는 내용

iOS

ValueTypeDescription
productIdstring구매한 product의 id 값
receiptTokenstring구매 후 발급되는 영수증 토큰
detailsstring추가로 저장하고자 하는 내용

설명

결제한 영수증 토큰이 유효한지 확인 후 productId에 맞는 TBC(The Backend Coin)을 지급합니다.

ChargeTBC 함수를 호출하기 위해서는 먼저 뒤끝 콘솔에 해당 productId(제품 ID)에 매칭되는 캐시를 등록해야 합니다.
캐시를 등록하는 법에 대해서는 콘솔 가이드-게임 캐시 관리를 참고해 주세요.

ChargeTBC 함수의 경우 Android와 iOS에서 호출하는 함수가 다릅니다.
iOS의 경우 영수증 토큰에 productId가 포함되어 있지 않아 첫 번째 인자 값으로 productId를 기입해야 합니다.

Android Example

유니티 IAP 서비스를 통해 획득한 receiptJson을 통한 영수증 검증

동기

public Purchasing.PurchaseProcessingResult ProcessPurchase(Purchasing.PurchaseEventArgs args){
Backend.TBC.ChargeTBC(args.purchasedProduct.receipt, "파격 할인 중!");
return PurchaseProcessingResult.Complete;
}

비동기

public Purchasing.PurchaseProcessingResult ProcessPurchase(Purchasing.PurchaseEventArgs args)
{
Backend.TBC.ChargeTBC(args.purchasedProduct.receipt, "파격 할인 중!", (callback) =>
{
// 이후 처리
});
return PurchaseProcessingResult.Complete;
}

SendQueue

public Purchasing.PurchaseProcessingResult ProcessPurchase(Purchasing.PurchaseEventArgs args)
{
SendQueue.Enqueue(Backend.TBC.ChargeTBC, args.purchasedProduct.receipt, "파격 할인 중!", callback =>
{
// 이후 처리
});
return PurchaseProcessingResult.Complete;
}

iOS Example

유니티 IAP 서비스를 통해 획득한 영수증 토큰을 통한 영수증 검증

동기

public Purchasing.PurchaseProcessingResult ProcessPurchase(Purchasing.PurchaseEventArgs args){
Backend.TBC.ChargeTBC("pId", args.purchasedProduct.receipt, "파격 할인 중!");
return PurchaseProcessingResult.Complete;
}

비동기

public Purchasing.PurchaseProcessingResult ProcessPurchase(Purchasing.PurchaseEventArgs args)
{
Backend.TBC.ChargeTBC("pId", args.purchasedProduct.receipt, "파격 할인 중!", (callback) =>
{
// 이후 처리
});
return PurchaseProcessingResult.Complete;
}

SendQueue

public Purchasing.PurchaseProcessingResult ProcessPurchase(Purchasing.PurchaseEventArgs args)
{
SendQueue.Enqueue(Backend.TBC.ChargeTBC, "pId", args.purchasedProduct.receipt, "파격 할인 중!", callback =>
{
// 이후 처리
});
return PurchaseProcessingResult.Complete;
}

ReturnCase

Success cases

충전에 성공한 경우
statusCode : 201
message : Success
returnValue : GetReturnValuetoJSON 참고

Error cases

유효하지 않은 영수증 토큰
statusCode : 400
errorCode : BadParameterException
message : bad token, 잘못된 token 입니다

환불/취소 영수증
statusCode : 402
errorCode : AbnormalReceipt
message : This receipt has changed status. purchaseState: cancelled

뒤끝 콘솔에서 존재하지 않는 product를 구매한 경우
statusCode : 404
errorCode : NotFoundException
message : proudctId not found, proudctId을(를) 찾을 수 없습니다

이미 사용한 영수증 토큰
statusCode : 409
errorCode : UsedReceipt
message : This receipt has already been used. usedDate: 2018-02-15T04:01:50.000Z

GetReturnValuetoJSON

{
usedTBC: 450, // 충전된 TBC 량
amountTBC: 947.047 // 충전 이후 유저의 총 TBC 량
}