private void OnPurchaseSucceded(Purchase purchase)
    {
        Debug.Log("Purchase succeded: " + purchase.Sku + "; Payload: " + purchase.DeveloperPayload);
        if (!VerifyDeveloperPayload(purchase.DeveloperPayload))
        {
            return;
        }

        Debug.Log("Purchase JSON: " + purchase.OriginalJson);
        Debug.Log("Purchase Signature: " + purchase.Signature);

        // Check what was purchased and update game
        switch (purchase.Sku)
        {
        case SKU_SMALL_GEM:
            // Consume repair kit
            OpenIAB.consumeProduct(purchase);
            break;

        case SKU_MED_GEM:
            // _ship.IsGodMode = true;
            OpenIAB.consumeProduct(purchase);
            break;;

        case SKU_LARGE_GEM:
            // _ship.IsPremiumSkin = true;
            OpenIAB.consumeProduct(purchase);
            break;

        case SKU_XLARGE_GEM:
            OpenIAB.consumeProduct(purchase);
            break;

        case SKU_MEGA_GEM:
            OpenIAB.consumeProduct(purchase);
            break;

        case SKU_EPIC_GEM:
            OpenIAB.consumeProduct(purchase);
            break;

        default:
            Debug.LogWarning("Unknown SKU: " + purchase.Sku);
            break;
        }

        // _processingPayment = false;
        PF_Bridge.RaiseCallbackSuccess("IAB Purchase Success", PlayFabAPIMethods.MakePurchase, MessageDisplayStyle.none);

        if (Application.platform == RuntimePlatform.Android)
        {
            PF_Bridge.ValidateAndroidPurcahse(purchase.OriginalJson, purchase.Signature);
        }
        else if (Application.platform == RuntimePlatform.IPhonePlayer)
        {
            // I have chosen to put the reciept in the developer payload field as this was not being used, and seemed like a good place to pass this through
            PF_Bridge.ValidateIosPurchase(purchase.DeveloperPayload);
        }
    }