Unity SDK AIT.IAPCreateOneTimePurchaseOrder 작동하지 않을 것으로 보여 확인 요청 드립니다

공식 SDK의 AIT.IAPCreateOneTimePurchaseOrder 함수 작동하지 않을 것으로 보이는데 확인 부탁 드립니다.

함수 인자 명세

  • AIT.IAPCreateOneTimePurchaseOrder(
    Action onEvent,
    object options,
    Action onError = null)

options을 object 형태로 받아 Json형태로 직렬화 하여 jslib로 전송하는 것으로 보이는데, IapCreateOneTimePurchaseOrderOptionsOptions.ProcessProductGrant가 Func<object, object> 형태로 선언 되어 있어 Json 형태로 직렬화가 불가능해 보입니다.

근본적으로 params: { orderId: string }) => boolean | Promise 형태를 c# → json 직렬화 가능한 방법이 없기에 jslib 측에서의 구현이 변경되어야 할 것 같습니다.

25_12_29 기준으로 최신 SDK로 업데이트 했으며 아래는 사용한 SDK 버전입니다. (.\Packages\packages-lock.json)

"im.toss.apps-in-toss-unity-sdk": {
  "version": "https://github.com/toss/apps-in-toss-unity-sdk.git",
  "depth": 0,
  "source": "git",
  "dependencies": {
    "com.unity.nuget.newtonsoft-json": "3.0.2"
  },
  "hash": "bb80b311b906a69d78fd277436b20a3fb1dba695"
},

로그인도 직렬화 관련해서 오류가 있더라구요

제보 감사합니다!

확인 후 빠르게 답신 드릴 수 있게 하겠습니다.

해당 부분의 로직에서 실제 callback function은 다른 options와 별개로 처리되며, 직렬화가 실패하지는 않기 때문에, 제 환경에서 작동의 실패는 확인되지 않았습니다.

이는 Unity 버전 별 테스트를 위한 SDK repository에 포함된 Sample Project를 실제 앱인토스 환경에서 구동하여 확인하였습니다.

다만, 직렬화/역직렬화가 이뤄지는 환경 별로 문제가 발생할 여지가 있어보이고, options param의 타입 정의가 제대로 제공되지 않는 점의 개선이 필요하다 판단하여, PR 84 개선 작업을 진행하였습니다.

다른 글에서 언급하신 로그인 관련 오류는 SDK 문제가 아닌 샌드박스 앱의 퉁신 문제로 보여지는 것 같습니다.