이 글의 성격은 무엇인가요?
질문 / 문제 해결
내용을 설명해주세요
유니티로 개발중이고 SDK버전은 2.4.7버전입니다.
전에 결제 미처리 주문 복구 프로세스에 대해 질문을 드렸었는데 오늘 다른 프로젝트에서 동일한 문제가 발생이 되어 다시 질문을 드립니다.
이번에는 정상적인 결제를 2건 했었고 결제할 때에는 주문 복구에 대한 코드가 없었습니다.
그리고나서 주문 복구에 대한 코드를 아래와 같이 추가하였고 다시 테스트를 했을 때는 첨부이미지와 같이 주문 복구가 성공했습니다.
첨부 이미지 좌측 상단에 기록 된 로그는 아래 코드 중 ‘NGUIDebug.Log($“order {order.OrderId} / {order.Status} Recover {(success ? “success” : “fail”)}”);’ 에 대한 로그이며
해당 주문 ID에 대한 결제 정보도 첨부이미지로 같이 추가했습니다.
제가 잘못처리한 부분이 있는지 아니면 어떤 문제인지 질문을 드립니다.
private async void RecoverPendingOrdersAsync()
{
try
{
var result = await AIT.IAPGetCompletedOrRefundedOrders();
if (result.Orders == null || result.Orders.Length == 0)
{
// NGUIDebug.Log("No RecoverPendingOrders");
return;
}
foreach (var order in result.Orders)
{
if (order.Status == CompletedOrRefundedOrdersResultOrderStatus.REFUNDED)
continue;
GrantProduct_recovery(order.Sku);
var args = new IAPCompleteProductGrantArgs_0
{
Params = new IAPCompleteProductGrantArgs_0Params
{
OrderId = order.OrderId
}
};
bool success = await AIT.IAPCompleteProductGrant(args);
NGUIDebug.Log($"order {order.OrderId} / {order.Status} Recover {(success ? "success" : "fail")}");
}
}
catch (AITException ex)
{
Debug.LogError($"order Recover fail: {ex.ErrorCode} - {ex.Message}");
}
catch (System.Exception ex)
{
Debug.LogError($"order Recover fail ex: {ex.Message}");
}
}
appName (선택)
2048arena


