결제
결제 초기화
셋업을 완료한 이후에 호출해야 합니다.
다음과 같은 기능이 있습니다.
결제 기능 초기화
모든인앱 상품 정보 제공
// Action<Result<PubInitBillingResult>> action;
GamePubSDK.Ins.InitBilling(result => {
result.Match(
value => {
// 파라미터로 넘어온 상품 정보로 상점UI를 구성해 주세요.
foreach (product in value.ProductList)
{
// product.ProductId
// product.Currency
// product.Price
// product.Title
// product.Desc
}
},
error => {
// error.ErrCode
// error.Message
}
);
});
public class PubInitBillingResult
{
private PubInAppProduct[] productList; // 상품정보 리스트
}
public class PubInAppProduct
{
private string productId; // 마켓 상품ID
private string currency; // 통화 (예: "KRW")
private string price; // 상품 가격 (예: "₩2,000")
private string title; // 마켓에 등록한 상품명
private string desc; // 마켓에 등록한 상품 설명
}
SUCCESS
1000
성공
NETWORK_ERROR
2003
서버 통신 중 장애가 발생했습니다.
SDK_INTERNAL_ERROR
2004
SDK 내부 오류입니다.
IAP_NOT_INITIALIZED
4001
결제 초기화가 완료되지 않았습니다.
IAP_UNSUPPORTED_MARKET
4002
지원하지 않는 스토어입니다.
IAP_PRODUCT_LIST_NOT_EXISTS
4003
초기화할 상품목록이 없습니다.
IAP_AGENT_GOOGLE_ERROR
4006
Google Play 결제 서비스 오류입니다.
IAP_AGENT_APPLE_ERROR
4007
App Store 결제 서비스 오류입니다.
IAP_AGENT_ONE_ERROR
4008
Onestore 결제 서비스 오류입니다.
IAP_AGENT_GALAXY_ERROR
4009
Galaxy Store 결제 서비스 오류입니다.
IAP_SERVICE_DISCONNECTED
90000
결제 초기화를 재수행해 주세요.
SERVER_INTERNAL_ERROR
40000
서버 내부 오류입니다.
SERVER_UNKNOWN_ERROR
40002
서버에서 알 수 없는 오류가 발생했습니다.
결제
인앱상품 결제 기능입니다.
// string productId;
// string channelId;
// string characterId;
// Action<Result<PubPurchaseResult>> action;
GamePubSDK.Ins.Purchase(
productId,
channelId,
characterId,
result => {
result.Match(
value => {
// 파라미터로 넘어온 결제정보로 아이템 지급을 진행해 주세요.
// value.GamepubTid
// value.PurchaseToken
// value.OriginalJSONData
},
error => {
// error.ErrCode
// error.Message
}
);
}
);
public class PubPurchaseResult
{
private string gamepubTid; // 게임펍 거래ID
private string purchaseToken; // 구매 토큰
private string originalJSONData; // 마켓 원본 데이터
}
SUCCESS
1000
성공
NETWORK_ERROR
2003
서버 통신 중 장애가 발생했습니다.
SDK_INTERNAL_ERROR
2004
SDK 내부 오류입니다.
IAP_NOT_INITIALIZED
4001
결제 초기화가 완료되지 않았습니다.
IAP_UNSUPPORTED_MARKET
4002
지원하지 않는 스토어입니다.
IAP_PRODUCT_LIST_NOT_EXISTS
4003
초기화할 상품목록이 없습니다.
IAP_USER_CANCELED
4004
결제가 취소되었습니다.
IAP_PRODUCT_ID_NOT_EXISTS
4005
존재하지 않는 Market ProductID 입니다.
IAP_AGENT_GOOGLE_ERROR
4006
Google Play 결제 서비스 오류입니다.
IAP_AGENT_APPLE_ERROR
4007
App Store 결제 서비스 오류입니다.
IAP_AGENT_ONE_ERROR
4008
Onestore 결제 서비스 오류입니다.
IAP_AGENT_GALAXY_ERROR
4009
Galaxy Store 결제 서비스 오류입니다.
IAP_SERVICE_DISCONNECTED
90000
결제 초기화를 재수행해 주세요.
SERVER_INTERNAL_ERROR
40000
서버 내부 오류입니다.
SERVER_UNKNOWN_ERROR
40002
서버에서 알 수 없는 오류가 발생했습니다.
결제 재시도
Android 환경에서만 동작합니다.
consume 처리가 실패한 인앱상품이 있을 경우 재처리를 시도하는 기능입니다.
아래와 같은 시점에 호출할 것을 권장합니다.
로그인 완료 직후
구매 요청 직전
게임 내 상점 진입시
유저 프로필 또는 우편함 확인시
// string channelId;
// string characterId;
// Action<Result<PubRetryPurchaseResult>> action;
GamePubSDK.Ins.RetryPurchase(
channelId,
characterId,
result => {
result.Match(
value => {
foreach (product in value.PurchaseResults)
{
// 파라미터로 넘어온 결제정보로 아이템 지급을 진행해 주세요.
// product.GamepubTid
// product.PurchaseToken
// product.OriginalJSONData
}
},
error => {
// error.ErrCode
// error.Message
}
);
}
);
public class PubRetryPurchaseResult
{
private PubPurchaseResult[] purchaseResults; // 결제정보 목록
}
public class PubPurchaseResult
{
private string gamepubTid; // 게임펍 거래ID
private string purchaseToken; // 구매 토큰
private string originalJSONData; // 마켓 원본 데이터
}
SUCCESS
1000
성공
NETWORK_ERROR
2003
서버 통신 중 장애가 발생했습니다.
SDK_INTERNAL_ERROR
2004
SDK 내부 오류입니다.
IAP_NOT_INITIALIZED
4001
결제 초기화가 완료되지 않았습니다.
IAP_UNSUPPORTED_MARKET
4002
지원하지 않는 스토어입니다.
IAP_PRODUCT_LIST_NOT_EXISTS
4003
초기화할 상품목록이 없습니다.
IAP_USER_CANCELED
4004
결제가 취소되었습니다.
IAP_PRODUCT_ID_NOT_EXISTS
4005
존재하지 않는 Market ProductID 입니다.
IAP_AGENT_GOOGLE_ERROR
4006
Google Play 결제 서비스 오류입니다.
IAP_AGENT_APPLE_ERROR
4007
App Store 결제 서비스 오류입니다.
IAP_AGENT_ONE_ERROR
4008
Onestore 결제 서비스 오류입니다.
IAP_AGENT_GALAXY_ERROR
4009
Galaxy Store 결제 서비스 오류입니다.
IAP_RETRY_LIST_EMPTY
4010
결제를 재시도할 상품이 없습니다.
IAP_SERVICE_DISCONNECTED
90000
결제 초기화를 재수행해 주세요.
SERVER_INTERNAL_ERROR
40000
서버 내부 오류입니다.
SERVER_UNKNOWN_ERROR
40002
서버에서 알 수 없는 오류가 발생했습니다.
Last updated