지원 프로그램
home
슬기로운 데모생활
home

상품 구매

1. 상품 구매 시작

StovePC_StartPurchase 함수로 상품 구매를 시작합니다.
// 입력 파라미터 // StovePCOrderProduct* products : 주문 상품 정보 // Size : 주문상품 갯수 StovePCResult result = StovePC_StartPurchase(products, size); if(result == StovePCResult::STOVE_PC_NO_ERROR) { // 성공 처리 }
C++
복사
StovePC_StartPurchase 함수가 정상적으로 처리되면 OnStartPurchase 콜백이 호출됩니다.
콜백에 전달되는 StovePCPurchase 구조체에는 상품 구매에 대한 메타정보가 포함되어 있습니다.
StovePCPurchase.transactionMasterNo : 거래 고유 마스터 번호
StovePCPurchase.tempPaymentUrl : 1회용 결제 URL
StovePCPurchase.purchaseProgress : 구매 진행 상태
1 : 결제중 (TempPaymentUrl 을 이용하여 외부브라우저 또는 웹뷰에 탐색 필요)
2 : 구매 완료 (판매가격이 0 인 상품의 구매 진행으로 결제가 완료 상태로써 TempPaymentUrl 을 이용하여 외부브라우저 또는 웹뷰에 탐색 불필요)
필요시 게임은 외부브라우저(또는 내장브라우저)를 통해 1회용 결제 URL을 탐색합니다.
void OnStartPurchase(StovePCPurchase purchase) { printf("OnStartPurchase"); printf(" - transactionMasterNo : %lld", purchase.transactionMasterNo); printf(" - tempPaymentUrl : %s", purchase.tempPaymentUrl); printf(" - purchaseProgress : %d", purchase.purchaseProgress); if(purchase.purchaseProgress == 1) { // 외부 브라우저 열기 ShellExecute( NULL, "open", purchase.tempPaymentUrl, NULL, NULL, SW_SHOWNORMAL); } else if(purchase.purchaseProgress == 2) { // 구매 완료 처리(e.g. 구매 완료 메세지 박스) } }
C++
복사
StovePC_StartPurchase 함수가 실행중에 오류가 발생하면 OnError 콜백이 호출됩니다.
StovePCError 구조체의 ExternalError 필드를 통해 외부 오류를 확인할 수 있습니다.
일반적으로 StovePC_StartPurchase 함수 호출에 대해 OnError 콜백이 호출되면 게임은 실패에 대한 메세지를 게임 사용자에게 노출합니다.
아래 표는 게임 사용자에게 표시 할 메세지에 대한 가이드를 함께 제시합니다.
ExternalError
설명
유저 메시지 (예시)
500
Internal Server Error
일시적인 현상이거나 네트워크 원인으로 서비스가 원활하지 않습니다.
50001
상점이 존재하지 않거나, 점검 중
서비스 점검 중이거나, 존재하지 않는 서비스 입니다.
50002
상품이 존재 하지 않거나 판매 불가능 상품
상품 상태로 인하여 구매하실 수 없는 상품입니다.
50003
비 전시 상품
현재 판매하고 있지 않은 상품입니다.
50004
판매 기간이 아닌 상품
상품 판매 기간이 아닙니다.
50005
상품 가격이 불일치(상품 가격이 변경 되었을 경우)
상품 가격 정보가 변경되었습니다.
50009
구매 가능 한 회원 별 판매 개수를 초과
1인 당 구매 가능 개수를 초과 하였습니다.
50010
구매 가능 한 총 판매 개수를 초과
준비 된 수량이 모두 판매 완료 되었습니다.
50031
구매 수량이 '0’
구매하실 수량을 1개 이상 입력해 주세요.
999999
정의되지 않은 오류
기타 오류로 서비스가 원활하지 않습니다.