Forums

OverviewFelgo 2 Support (Qt 5) › Impossible to connect to iTunesStore via Soomla

Viewing 12 posts - 1 through 12 (of 12 total)
  • Author
    Posts
  • #19170

    Felgo User

    Hi there!

    I have a problem with Soomla and purchasing goodies.

    I have created a test user Sandbox in itunesConnect and confirmed its creation via email

    I logout from iTunes Store on my Ipad

    When I try to purchase goodies, I have a prompt for entering credentials .I set the credentials of the sandbox test user

    And I have an error : Here is the log message in Xcode

    <b>SOOMLA SoomlaStore: An error occured for product id “goodie3months” with code “0” and description “Error Domain=SKErrorDomain Code=0 “Connexion à l’iTunes Store impossible” UserInfo={NSLocalizedDescription=Connexion à l’iTunes Store impossible}”</b>

     

    I have created my goodies in iTunesConnect with productId:

    -goodie1year

    -goodie3months

    and they are approved

     

    I also try to build with dev provisioning profile

     

     

    Here is the code:

     Store {
            id: nutriStore
            version: 1
            secret: "ac88b77f81ce44fea0b721190ad89368"             // replace with your Soomla secret
          
            goods: [
            
                SingleUseGood {
                    id: goodie3monthsGood
                    itemId: "goodie3months" // replace with id of your store product
                    name: "Abonnement 3 mois"
                    description: "Abonnement 3 mois"
    
                    purchaseType: StorePurchase { id: goodie3monthsPurchase; productId: goodie3monthsGood.itemId; }
                },
                SingleUseGood {
                    id: goodie1yearGood
                    itemId: "goodie1year" // replace with id of your store product
                    name: "Abonnement 1 an"
                    description: "Abonn 1 an"
                    purchaseType: StorePurchase { id: goodie1yearPurchase; productId: goodie1yearGood.itemId; }
                }
    
            ]
    
            onStorePurchaseStarted: {
    
            }
    
            onUnexpectedError: {
                hideLoading()
                print("NutriStore : Unexpected error")
                nativeUtils.displayMessageBox("NutriStore : Erreur inattendue. Veuillez réesayer dans quelques instants")
                
            }
    
            onItemNotFoundError: {
                hideLoading()
                print("NutriStore : item not found")
                nativeUtils.displayMessageBox("NutriStore : Item not found."+itemId+" Veuillez réesayer dans quelques instants")
                
            }
    
            onItemPurchased: {
                hideLoading()
                console.log("NutriStore : L'achat a bien été effectué:", itemId)
    
                if(itemId === 'goodie3months'){
                    onSubscribtionPurchased('goodie3months')
                }else if (itemId === 'goodie1year'){
                    onSubscribtionPurchased('goodie1year')
                }
            }
    
            onRestoreAllTransactionsStarted: {
                isRestoringAfterLogin = true
                showLoading('Vérification de l\'abonnement')
                print('nutriStore.restoreAllTransactions()')
            }
    
            //N'est appelé que lorsque le user est déja loggé loginDBSucceded. Donc si pas d'abonnement, on envoie sur la page abonnement
            onRestoreAllTransactionsFinished: {
                isRestoringAfterLogin = false
                console.log("Purchases restored with success:", success)
                if(success){
                    //Abonnement OK
                    mainNav.currentIndex = 2
                    var msg = ''
                    if(subscribtion3monthsGood.purchased ){
                        msg = msg + 'subscribtion3months'
                        onSubscribtionOk('subscribtion3months')
                    }else if(subscribtion1year.purchased){
                        msg = msg + 'subscribtion1year'
                        onSubscribtionOk('subscribtion1year')
                    }
                    //Pas d'abonnement -> Go vers la page d'abonnement
                    else{
                        onSubscribtionNone()
                    }
    
                    nativeUtils.displayMessageBox("NutriStore : Abonnement vérifié -> ",msg)
                }else{
                    hideLoading()
                    mainNav.currentIndex = 3
                    NativeDialog.confirm("Erreur", "Impossible de vérifier si l'utilsateur est abonné", null, false)
                }
            }
    
            //Annulation du paiement
            onStorePurchaseCanceled: {
                hideLoading()
                NativeDialog.confirm("Annulation", "Vous ne pouvez pas utiliser Nutrissim sans être abonné", null, false)
            }
        }
    

    And I Call the buyItem() function:

    if(subscribtionTypeId === 'goodie1year'){
                     nutriStore.buyItem(goodie1yearPurchase.productId)
                }else if(subscribtionTypeId === 'goodie3months'){
                     nutriStore.buyItem(goodie3monthsPurchase.productId)
                }

     

    #19206

    Günther
    Felgo Team

    Hi!

    Can you also make sure that

    • your app build has the In-App Purchases Entitlement set,
    • and that your provisioning profile supports in-app purchases?

    Please also note that you require to upload a publish version of your app binary to the store and distribute it via TestFlight in order to test in-app purchases.

    Best,
    Günther from Felgo

    #19213

    Felgo User

    Hi Gunther,

     

    Yes, provisioning profile and In-App setting are correct. In fact we successfully test our In-App purchase +-3 weeks ago under sandbox mode.

    Now our App has been validated by Apple are ready for release. But when we want to test In-App purchase under TestFlight we have the error message.

     

    is it possible that Apple had made some change in the latest release that affect the Soomla source code ?

     

    Best regards

    Alexandre

    #19239

    Alex
    Felgo Team

    Hi Alexandre,

    A couple of questions? How did you install the app, via TestFlight service? Is the app version already approved by Apple? Did you try a “real” Apple ID login (not a sandbox user)? Does the popup refer to the *sandbox* mode or the actual store?

    Creating sandbox user accounts should not be required anymore, as Apple automatically creates a sandbox account for a beta app with your existing login.

    Thanks,

    Alex

    #19242

    Felgo User

    Hi Alex,

    Yes the app is installed via TestFlight, and it has has been successfully approved by Apple.

    Yes, we try both “real” and “sandbox” Apple ID login, but not better success.

    The Popup error just says: “NutriStore: Error unexpected. try later”

    May be is something wrong declared in the goodies, source code or in the configuration ?

     

    Best regards

    Alexandre

     

     

    #19243

    Felgo User

    Hi ,

    It seems that Soomla framework can’t even fetch the products details from iTunes Store.

    I also tried to create new ones (“com.nutrissim.nutrissimapp.annual” and “com.nutrissim.nutrissimapp.trimestrial”)

    I also tried to change the type in QML code from SingleUseGood to LifetimeGood

     

    I have the following error message at the startup when I launch app from Xcode.

    <b>ERROR ***] SOOMLA SoomlaStore: Invalid product id (when trying to fetch item details): goodie1year</b>

    <b>2018-05-14 11:54:50.151837+0200 NutrissimApp[871:1408716] [*** ERROR ***] SOOMLA SoomlaStore: Invalid product id (when trying to fetch item details): goodie3months</b>

    <b>2018-05-14 11:54:50.151954+0200 NutrissimApp[871:1408716] [*** ERROR ***] SOOMLA SoomlaStore: Expecting 2 products but only fetched 0 from iTunes Store</b>

     

    Best Regards

     

    Romain

    #19244

    Alex
    Felgo Team

    … and the products are already approved (reviewed) by Apple?

    Before the error popup, is there another one (stating the price of the product)?

    Best,

    Alex from Felgo

    #19245

    Felgo User

    Yes all the products are approved by Apple

    And there’s no other error at startup

     

    Best,

     

    Romain

    #19246

    Alex
    Felgo Team

    Hi,

    After more testing, we unfortunately could not reproduce the issue. Just to make sure: All iOS contracts are valid & accepted?

    Furthermore, this only happens to the one build that was Live on TestFlight, is already reviewed and accepted by Apple as App Store release but still “pending release”? If yes, this probably is intended behavior from Apple (an intermediate state of the binary). Did you try another development build from within Xcode?

    Thanks,

    Alex from Felgo

    #19247

    Felgo User

    Hi,

    The actual status is “Pending Developer Release”.

    We have made various tests since last 2 weeks. It was working under “sandbox”, but its seems that with the last release 11.3.x is not anymore working (or may be its a coincidence). Soomla is like a black box :/

    What about Soomla code source under GitHub, do they update it regularly ?

    We have try many configuration, and I think to have to change strategy. If we have no positive result by this week, we will remove Soomla from our Felgo App and use xCode native for the purchase, who is not helping us, because we will make also this work for Android.

     

    If you have the possibility to remote connect to our system, you’re Welcome.

     

    Best regards

    Alexandre

     

     

    #19250

    Alex
    Felgo Team

    Hi,

    My assumption is that it is not working anymore since the state changed to “pending developer release” and it’s unrelated to a specific release. That is, Apple switched the environment from sandbox to production but you can’t use it, as the app was not released yet.

    We just tested the integration yesterday and could not reproduce it. Therefore running a build from Xcode locally (with valid developer certificate) would give another hint to that issue. Did you already try that? If that is also not working, please shortly follow up on our email support thread, so we can arrange further steps to get that solved!

    Thanks,

    Alex

    ps: Switching away from Soomla Plugin won’t solve the issue, as Soomla also just runs the native interfaces of iOS SDK internally.

    #19251

    Romain

    Hi,

    The error I have is when I run a build from Xcode

     

    I have the following error message at the startup when I launch app from Xcode.

    <b>ERROR ***] SOOMLA SoomlaStore: Invalid product id (when trying to fetch item details): goodie1year</b>

    <b>2018-05-14 11:54:50.151837+0200 NutrissimApp[871:1408716] [*** ERROR ***] SOOMLA SoomlaStore: Invalid product id (when trying to fetch item details): goodie3months</b>

    <b>2018-05-14 11:54:50.151954+0200 NutrissimApp[871:1408716] [*** ERROR ***] SOOMLA SoomlaStore: Expecting 2 products but only fetched 0 from iTunes Store</b>

     

    I tried with automatic dev provisioning profile, manual provisioning profile including inApp capabilitie

     

    Best,

     

    Romain

Viewing 12 posts - 1 through 12 (of 12 total)

RSS feed for this thread

You must be logged in to reply to this topic.

Voted #1 for:

  • Easiest to learn
  • Most time saving
  • Best support

Develop Cross-Platform Apps and Games 50% Faster!

  • Voted the best supported, most time-saving and easiest to learn cross-platform development tool
  • Based on the Qt framework, with native performance and appearance on all platforms including iOS and Android
  • Offers a variety of plugins to monetize, analyze and engage users
FREE!
create apps
create games
cross platform
native performance
3rd party services
game network
multiplayer
level editor
easiest to learn
biggest time saving
best support