Не работают внутриигровые покупки на Unity IOS

Внедряю подписку в приложение на юнити, хочу проверить работоспособность тестовой картой(sandbox окружение в apple)

Использую плагин UnityPurchasing, на старте выполняется следующий код

 var builder = ConfigurationBuilder.Instance(StandardPurchasingModule.Instance());

 builder.AddProduct("vip", ProductType.Subscription);

 UnityPurchasing.Initialize(this, builder);

И получаю лог

Unavailable product vip-vip
UnityEngine.Purchasing.PurchasingManager:HasAvailableProductsToPurchase(Boolean)
UnityEngine.Purchasing.PurchasingManager:CheckForInitialization()
UnityEngine.Purchasing.PurchasingManager:OnProductsRetrieved(List`1)
UnityEngine.Purchasing.AppleStoreImpl:OnProductsRetrieved(String)
UnityEngine.Purchasing.Extension.UnityUtil:Update()

Purchasing failed to initialize. Reason: NoProductsAvailable.
Samples.Purchasing.Core.BuyingSubscription.BuyingSubscription:OnInitializeFailed(InitializationFailureReason, String)

Почему vip превратился в vip-vip и в этом ли проблема?

Что я делал

1)Завел учетку эпла на мыло admin

Здесь и далее используется 2 мыла - admin(то мыло на которое мы регали акк с правами администратора) и inapptester (мыло в разделе sandbox в appstoreConnect, для проверки платежей, а то мыло admin не получается добавить в sandbox тестеров)

2)Завел приложение, завел инап в нем vip, не добавлял пока скриншоты или что то такое, чисто общие данные, цену, регионы.

3)Добавил мыло inapptester в sandbox пользователей в appstoreConnect

4)Добавил мыло admin во внутренние тестировщики, выслал приглашение ему в тестфлайт, принял.

5)Скачал с тестфлайта на устройстве admin билд, запустил, потыкал по инапам, они не работают

6)Зашел в настройки->AppStore, там появилось поле Sandbox, где стояло мыло admin

7)Поменял это sandbox мыло на inappTester

8)Зашел в приложение снова. Инапы не включились.

9)Удалил приложение, залил себе напрямую с xcode - Инапы не включились.

Ничего нигде не регал дополнительно, на апрув не отправлял (может в этом дело?), нужно именно для внутреннего тестирования. Что я делаю не так?


Ответы (1 шт):

Автор решения: Potion

Все просто на самом деле. Проблема бюрократическая а не программная. И хоть яблоко никак нас об этом не предупреждает(хотя может быть ошибка и прилетает, но юнити ее доносит никак), надо просто зайти в https://appstoreconnect.apple.com/agreements/#/ и принять соглашение о распространении платных приложений.

Он попросит еще много всего, данные паспортные, налоговые, еще всякое - и после этого уйдет на апрув на пару дней.

И после этого инапы заработают. Даже без тестфлайта, просто билд из икскода собранный.

→ Ссылка