Unity IAP - Works in Editor; Fails in XCode, Fails in Testflight (iOS)

I’ve spent several days on this one.
Hoping someone can help.

Long Story Short:

  • I got Unity IAP working great in the Unity Editor

  • I can’t get Unity IAP to work via XCode

    Purchase failed because Purchasing was not initialized correctly
    UnityEngine.Events.InvokableCallList:Invoke(Object)
    UnityEngine.EventSystems.ExecuteEvents:Execute(GameObject, BaseEventData, EventFunction`1)
    UnityEngine.EventSystems.StandaloneInputModule:ProcessTouchPress(PointerEventData, Boolean, Boolean)
    UnityEngine.EventSystems.StandaloneInputModule:ProcessTouchEvents()
    UnityEngine.EventSystems.StandaloneInputModule:Process()

    (Filename: /Users/builduser/buildslave/unity/build/artifacts/generated/common/runtime/DebugBindings.gen.cpp Line: 51)

I have exhausted all my google-foo; hoping someone can help.

I Think I got it.

So Far So Good, thanks to:

  1. Great Post: ios - Unity IAP not initializing - Stack Overflow
  2. Don’t enable the InApp Purchace in XCode.
  3. Place the Purchase Script on a root level game object that is always active
  4. Don’t use the Purchase “BuyNonConsumable()” it’s not a callback function. ;(