Closed QgamesGeonPyoNoh closed 1 day ago
네 시즌패스 10 이후의 상품이 아직 스토어에 등록전입니다. 금일 진행하고 말씀드리겠습니다. (단, IOS는 심사 이슈로 차주 이후에 체크 가능합니다)
안드로이드에서는 구매 체크 가능하실겁니다.
Android K 버전에서 구매 시도 시 결제 진행 후 '구매 실패'가 출력되는 것으로 확인했습니다. 재 구매 시도시에는 '판매 기간이 지난 상품입니다.' 메세지가 출력되고 있습니다. 확인 부탁드립니다.
[테스트 환경] K.Android.v200220-220.0.0
https://github.com/user-attachments/assets/2caa7feb-f7e2-4091-a1e4-4effee29b201
발생한 에러 코드 2개 공유드립니다.
HttpRequestException: 500 (Internal Server Error)
System.Net.Http.HttpResponseMessage.EnsureSuccessStatusCode () (at <00000000000000000000000000000000>:0)
NineChronicles.ExternalServices.IAPService.Runtime.IAPServiceClient.ProcessResponseAsync (System.Net.Http.HttpResponseMessage res) (at <00000000000000000000000000000000>:0)
System.Runtime.CompilerServices.AsyncTaskMethodBuilder1[TResult].Start[TStateMachine] (TStateMachine& stateMachine) (at <00000000000000000000000000000000>:0) NineChronicles.ExternalServices.IAPService.Runtime.IAPServiceClient.ProcessResponseAsync (System.Net.Http.HttpResponseMessage res) (at <00000000000000000000000000000000>:0) NineChronicles.ExternalServices.IAPService.Runtime.IAPServiceClient.PurchaseRequestAsync (NineChronicles.ExternalServices.IAPService.Runtime.Models.Store store, System.String receipt, System.String agentAddr, System.String avatarAddr, System.String planetId, System.String transactionId, System.String appleOriginalTransactionID) (at <00000000000000000000000000000000>:0) System.Threading.ExecutionContext.RunInternal (System.Threading.ExecutionContext executionContext, System.Threading.ContextCallback callback, System.Object state, System.Boolean preserveSyncCtx) (at <00000000000000000000000000000000>:0) System.Runtime.CompilerServices.AsyncMethodBuilderCore+MoveNextRunner.Run () (at <00000000000000000000000000000000>:0) UnityEngine.UnitySynchronizationContext+WorkRequest.Invoke () (at <00000000000000000000000000000000>:0) UnityEngine.UnitySynchronizationContext.Exec () (at <00000000000000000000000000000000>:0) NineChronicles.ExternalServices.IAPService.Runtime.<ProcessResponseAsync>d__14:MoveNext() System.Runtime.CompilerServices.AsyncTaskMethodBuilder
1:Start(TStateMachine&)
NineChronicles.ExternalServices.IAPService.Runtime.IAPServiceClient:ProcessResponseAsync(HttpResponseMessage)
NineChronicles.ExternalServices.IAPService.Runtime.
Purchase failed: InternalServerError, {"Payload":"{\"json\":\"{\\"orderId\\":\\"GPA.3397-4079-8872-62895\\",\\"packageName\\":\\"com.planetariumlabs.ninechroniclesmobilek\\",\\"productId\\":\\"g_pkg_seasonpassall10\\",\\"purchaseTime\\":1724389245423,\\"purchaseState\\":0,\\"purchaseToken\\":\\"idcahiibnppbjafekmkmcnnk.AO-J1Owu9eGFLTQtRQ5W1Nfw4b7rY9CzPr2NlodYmxL-wch1lKzW4myI4Irdp2CwwD7Kk4WNNDETDmcGStSmqnhuajd_JC34733yl31hDOQtVc8K475FebkgZ39WCzdrPH7-V3xMcD\\",\\"quantity\\":1,\\"acknowledged\\":false}\",\"signature\":\"VCQoFzEAw8yFYO9ovW5HNfsaZOSzBdnxkYQkYUYQwlLpUe9WwdlIuAn9Va2RqQTb7TXMQ89X6giMkd6E2Ml98Dm7PGImq6sl/HgjwVEYswnfq09U9IdrSuAqihciyI6ZHi3CnUHkYjATYRT1fhcqR2qaV+KO3iuRIheaQ+m8E/jIGR7Sfl6OOqB8Q6GLv3mWdIs/nh7oOm9yEMDQFHiCG2RaGpFWaJidTmPPI5LOcHMN3PETNMoLpGvpXPA2fhU9SB3LiSBsJu2gLWp88d76cRTA1v+wMBc7M10na9w+hFMh9T56Lb4z1qOsGNrRAlMK120UbjYYdSmiTVamDx4CRg==\",\"skuDetails\":[\"{\\"productId\\":\\"g_pkg_seasonpassall10\\",\\"type\\":\\"inapp\\",\\"title\\":\\"SeasonPass10PremiumAll (\\ub098\\uc778 \\ud06c\\ub85c\\ub2c8\\ud074 K)\\",\\"name\\":\\"SeasonPass10PremiumAll\\",\\"description\\":\\"SeasonPass10PremiumAll\\",\\"price\\":\\"\\u20a944,000\\",\\"price_amount_micros\\":44000000000,\\"price_currency_code\\":\\"KRW\\"}\"]}","Store":"GooglePlay","TransactionID":"idcahiibnppbjafekmkmcnnk.AO-J1Owu9eGFLTQtRQ5W1Nfw4b7rY9CzPr2NlodYmxL-wch1lKzW4myI4Irdp2CwwD7Kk4WNNDETDmcGStSmqnhuajd_JC34733yl31hDOQtVc8K475FebkgZ39WCzdrPH7-V3xMcD"}, 500 (Internal Server Error)
at System.Net.Http.HttpResponseMessage.EnsureSuccessStatusCode () [0x00000] in <00000000000000000000000000000000>:0
at NineChronicles.ExternalServices.IAPService.Runtime.IAPServiceClient.ProcessResponseAsync (System.Net.Http.HttpResponseMessage res) [0x00000] in <00000000000000000000000000000000>:0
at System.Runtime.CompilerServices.AsyncTaskMethodBuilder1[TResult].Start[TStateMachine] (TStateMachine& stateMachine) [0x00000] in <00000000000000000000000000000000>:0 at NineChronicles.ExternalServices.IAPService.Runtime.IAPServiceClient.ProcessResponseAsync (System.Net.Http.HttpResponseMessage res) [0x00000] in <00000000000000000000000000000000>:0 at NineChronicles.ExternalServices.IAPService.Runtime.IAPServiceClient.PurchaseRequestAsync (NineChronicles.ExternalServices.IAPService.Runtime.Models.Store store, System.String receipt, System.String agentAddr, System.String avatarAddr, System.String planetId, System.String transactionId, System.String appleOriginalTransactionID) [0x00000] in <00000000000000000000000000000000>:0 at System.Threading.ExecutionContext.RunInternal (System.Threading.ExecutionContext executionContext, System.Threading.ContextCallback callback, System.Object state, System.Boolean preserveSyncCtx) [0x00000] in <00000000000000000000000000000000>:0 at System.Runtime.CompilerServices.AsyncMethodBuilderCore+MoveNextRunner.Run () [0x00000] in <00000000000000000000000000000000>:0 at UnityEngine.UnitySynchronizationContext+WorkRequest.Invoke () [0x00000] in <00000000000000000000000000000000>:0 at UnityEngine.UnitySynchronizationContext.Exec () [0x00000] in <00000000000000000000000000000000>:0 , , NineChronicles.ExternalServices.IAPService.Runtime.<PurchaseRequestAsync>d__16:MoveNext() System.Runtime.CompilerServices.AsyncTaskMethodBuilder
1:SetResult(TResult)
NineChronicles.ExternalServices.IAPService.Runtime.
안녕하세요 @QgamesGeonPyoNoh 해당 이슈 확인해봤고, IAP > SeasonPass 로 업데이트 요청을 할 때 시즌 정보를 정상적으로 넘기지 못하는 이슈가 있었습니다. 현재 이슈 해결해 internal 에 반영했고, 제 계정으로 테스트해서 잘 구매되는 것 확인했습니다.
수정 내용 확인 완료되었습니다.
[테스트 환경] K.Android.v200220-220.0.1
https://github.com/user-attachments/assets/a879baf9-d9b7-493a-9c47-ca172755a94d
시즌 패스 프리미엄 구매 시 '구매 실패' 메세지 출력 현상 발생 확인했습니다. 구매 실패 출력 후 '판매 기한이 지난 상품입니다.' 메세지가 출력되고 있어 캐릭터 별 구매 제한도 확인 부탁드립니다.
[테스트 환경] K.Android.v200220-220.0.1
https://github.com/user-attachments/assets/14b4c262-4adc-4859-b1f3-2a69350867e0
테스트 계정에 있는 기존 구매기록도 전부 삭제했습니다. 테스트 부탁드립니다. :pray:
시즌패스 프리미엄+ 구매 시 '이미 보유하고 있는 아이템입니다.' 메세지가 현재 출력되고 있습니다. 확인 부탁드립니다.
대상 구글 계정 : dacaciz777@gmail.com
구매 관련 에러가 났을 때 해당 상품에 대한 소비 처리가 정상적으로 되지 않아 그런 것으로 파악됩니다. 해당 상품에 대한 소비 처리를 완료했습니다. :pray:
구매 에러가 발생하지 않았으나 해당 메세지가 재 출력되었습니다. 확인 부탁드립니다.
[재현 스텝]
테스트 구글 계정 : dacaciz777@gmail.com A 캐릭터 시즌패스 프리미엄 주문 번호 : GPA.3308-0043-8881-87208
해당 이슈는 접속 후 shop 에 들어가지 않고 season pass 를 바로 구매하는 경우 상품 목록 처리를 정상적으로 할 수 없어서 발생하는 이슈로 확인했습니다. 수정 PR 을 만들었으며, 다음 빌드에 추가될 예정입니다. 220.0.3 버전 빌드가 나오면 체크 부탁드리겠습니다.
fyi : 테스트 계정(0x3146fe0e47a1998e14cd8a33640e3648a5a90276) 으로 구매한 모든 season pass 상품은 수동으로 소비 처리 후 internal DB 에서 구매 기록과 season pass 상태를 초기화해두었습니다. 다음에 테스트할 때는 season pass 상품을 아무것도 구매하지 않은 것과 동일한 상태에서 테스트하실 수 있습니다.
수정 내용 확인 완료되었습니다.
[테스트 환경] K.Android.v200220-220.0.3
https://github.com/user-attachments/assets/48519f91-33d4-4b44-bb0b-ce00de6e5820
iOS K 버전에서 '구매 실패' 팝업이 출력되는 현상 발생했습니다. 헤임달 체인 / 어드레스 0x2a848B90f0A17370610915A99C7153ceE8b96013 확인 부탁드립니다.
Android K, iOS M 버전에서도 프리미엄 / 프리미엄+ 구매 시 '구매 실패' 메세지가 출력되고 있습니다. 확인 부탁드립니다.
[테스트 환경] K.Android.v200220-220.0.3 iOS.v220.0.3(104) K.iOS.v220.0.3(47)
https://github.com/user-attachments/assets/f819061b-c727-4139-bb3a-813bd1b020ff
네 이거 release merge PR 을 만들면서 이전 코드가 들어가서 생긴 이슈로, IAP service 에 코드 업데이트를 한번 해주면 됩니다. 얼른 새 코드 올리고 이전 구매 기록 지워서 테스트 가능하게 하고 말씀드리겠습니다
APV version info
v200220
Client version info
v220.0.0
Device
Android, iOS
detailed device info
Android 12, iOS 17
account address info
0x3146FE0E47A1998e14cd8a33640e3648A5A90276
avatar address info
No response
purchase receipt info
No response
What happened?
[내용] 시즌패스 구매 불가 현상
https://github.com/user-attachments/assets/2a071820-b840-47f2-a441-a550727f79ba
How to reproduce the issue
[재현 스텝]
[Should be] 시즌패스 금액이 22,000원 / 44,000으로 출력되며 구매가 가능해야 합니다.
Relevant log output
[2024-8-22 05:40:50] [IDetailedStoreListener PurchaseFail] reason: ProductUnavailable, Product: Nekoyume.IAPStore.IAPStoreManager:UnityEngine.Purchasing.IDetailedStoreListener.OnPurchaseFailed(Product, PurchaseFailureDescription) Nekoyume.IAPStore.IAPStoreManager:OnPurchaseClicked(String) NineChronicles.ExternalServices.IAPService.Runtime.d14:MoveNext()
System.Runtime.CompilerServices.AsyncTaskMethodBuilder`1:SetResult(TResult)
NineChronicles.ExternalServices.IAPService.Runtime.d 15:MoveNext()
System.Runtime.CompilerServices.AsyncTaskMethodBuilder`1:SetResult(TResult)
NineChronicles.ExternalServices.IAPService.Runtime.d__8:MoveNext()
UnityEngine.UnitySynchronizationContext:Exec()