In-App purchase issue

While the investigation into the issue of images do not hit any fly/scrolling in a Webview (http://supportforums.blackberry.com/t5/Native-Development/Issue-With-Scrolling-Images-In-Webview/m-p...) I came across the question if a user buys my in-app purchase then removes the application and reinstall the in-app purchase did not work.

First of all, in-app purchase is to remove the ads - it does that very well, but when the application is removed and reinstalled ads appear once more and I don't want to force consumers to pay twice, so I really need to get this fixed number as it is preventing me to release an update of my application.

I'm working out of this example: http://supportforums.blackberry.com/t5/Native-Development/Sample-Removing-In-App-Ads/m-p/2783323/hig... and have used it to create buying app for my application.

Here's my source, my main.qml of my application file code:

import bb.cascades 1.0
import bb.platform 1.0
import com.sample.payment 1.0

TabbedPane {
    id: tabbedPane
    property variant payment

    Menu.definition: MenuDefinition {
        id: appMenu
        actions: [
            ActionItem {
                title: "About"
                imageSource: "asset:///IMG/ic_info.png"

                onTriggered: {
                    aboutSheet.open()
                }
            },
            ActionItem {
                title: "Contact Us"
                imageSource: "asset:///IMG/ic_email.png"

                onTriggered: {
                    emailInvocation.query.uri = "mailto:[email protected]?subject=Shopping For eBay App: Contact"
                    emailInvocation.query.updateQuery();
                }

            },
            ActionItem {
                id: upgradeAction
                title: "Remove Ads"
                imageSource: "asset:///IMG/ic_clear_list.png"

                onTriggered: {
                    if (tabbedPane.payment) {
                        /* replace the values in quotes "" below with the values from
                         * your vendor account for this application's add-on. */
                        payment.mPaymentControl.pid = "{REMOVED}"
                        payment.mPaymentControl.sku = "{REMOVED}"
                        payment.mPaymentControl.name = "Remove Ads"
                        payment.mPaymentControl.metadata = "Purchasing this will remove the adverts!"
                        payment.mPaymentControl.getPrice(payment.mPaymentControl.pid, payment.mPaymentControl.sku);
                        payment.mPaymentControl.purchase(payment.mPaymentControl.pid, payment.mPaymentControl.sku, payment.mPaymentControl.name, payment.mPaymentControl.metadata)
                    }
                }
                attachedObjects: [
                    // Definition to hold the PaymentControl so it is only created when neccesary
                    ComponentDefinition {
                        id: paymentdef
                        Container {
                            id: payContainer
                            onCreationCompleted: {
                                console.log("Payment Definition Created - Checking for Existing Purchases")
                                paymentControl.getExisting(true);
                            }

                            property alias mPaymentControl: paymentControl

                            attachedObjects: [
                                PaymentServiceControl {
                                    id: paymentControl
                                    property string pid
                                    property string sku
                                    property string name
                                    property string metadata

                                    // Play receipt animation on purchase response

                                    onPurchaseResponseSuccess: {
                                        cpp.saveValueFor("removedAds", "23");
                                        root.removedAds = 23;
                                        console.log("purchaseResponse - " + receiptString)
                                    }
                                    onInfoResponseError: {
                                        console.log("Purchase Error - " + errorCode + " - " + errorText)
                                    }

                                    onExistingPurchasesResponseSuccess: {
                                        if (receiptsString == "(No purchases)") {
                                            console.log("existing unable to find receipt")
                                        } else {
                                            console.log("existing receiptString - " + receiptsString)
                                            cpp.saveValueFor("removedAds", "23");
                                            root.removedAds = 23;
                                        }
                                        console.log("existingPurchaseResponse Success - " + receiptsString)
                                    }
                                }
                            ]
                        }
                    }
                ]
            },
            ActionItem {
                title: "Share App"
                imageSource: "asset:///IMG/ic_share.png"

                onTriggered: {
                    invokeShare.trigger("bb.action.SHARE")
                }
            },
            ActionItem {
                title: "More Apps"
                imageSource: "asset:///IMG/ic_buy.png"

                onTriggered: {
                    invokebb.trigger("bb.action.OPEN")
                }
            }
        ]
        attachedObjects: [
            Sheet {
                id: aboutSheet
                About {
                }
            },
            Invocation {
                id: invokeShare
                query {
                    mimeType: "text/plain"
                    data: qsTr("Get your shopping done easily on your #BlackBerry10 with 'Shopping For eBay'; check it out in @BlackBerry World: http://appworld.blackberry.com/webstore/content/35964888/")
                    invokeActionId: "bb.action.SHARE"
                }
            },
            Invocation {
                id: invokebb
                query {
                    mimeType: "text/html"
                    uri: "appworld://vendor/64825/"
                    invokeActionId: "bb.action.OPEN"
                }
            },
            Invocation {
                id: emailInvocation
                query.mimeType: "text/plain"
                query.invokeTargetId: "sys.pim.uib.email.hybridcomposer"
                query.invokeActionId: "bb.action.SENDEMAIL"
                onArmed: {
                    emailInvocation.trigger(emailInvocation.query.invokeActionId);
                }
            }
        ]
    }
    showTabsOnActionBar: false
    Tab {
        title: qsTr("Home") + Retranslate.onLocaleOrLanguageChanged
        imageSource: "IMG/101.Home.png"
        NavigationPane {
            id: navigationPane0
            Page {
                onCreationCompleted: {
                    root.removedAds = parseInt(cpp.getValueFor("removedAds", ""))
                    if (root.removedAds != 23) {
                        tabbedPane.payment = paymentdef.createObject(navigationPane0);
                    } else {
                        console.log("Not Creating Payment Definition, User has Already Paid To Remove Ads")
                    }

                }
                id: page1
                //actionBar actions

                //Title bar

                Container {
                    id: root
                    property int removedAds

                    onRemovedAdsChanged: {
                        if (removedAds == 23) {
                            myAds.visible = false
                            myAds2.visible = false
                            appMenu.removeAction(upgradeAction)
                        }
                    }
                    Container {
                        id: myAds
                        horizontalAlignment: HorizontalAlignment.Center
                        layout: StackLayout {

                        }
                        MyAds {
                            horizontalAlignment: HorizontalAlignment.Center
                            topPadding: 15.0
                        }
                    }
                    Container {

                        layout: DockLayout {

                        }
                        // To enable scrolling in the WebView, it is put inside a ScrollView.
                        ScrollView {
                            id: scrollView

                            scrollViewProperties.overScrollEffectMode: OverScrollEffectMode.None
                            // We let the scroll view scroll in both x and y and enable zooming,
                            // max and min content zoom property is set in the WebViews onMinContentScaleChanged
                            // and onMaxContentScaleChanged signal handlers.
                            scrollViewProperties {
                                scrollMode: ScrollMode.Vertical
                                pinchToZoomEnabled: true
                            }

                            //Webview

                        } // ScrollView// A progress indicator that is used to show the loading status
                        Container {
                            bottomPadding: 25
                            horizontalAlignment: HorizontalAlignment.Center
                            verticalAlignment: VerticalAlignment.Bottom

                            ProgressIndicator {
                                id: progressIndicator
                                opacity: 0.0
                            }
                        }
                    }
                } // End of container
            }
        }
    } //End of first tab
} //End of tabbedPane

Any help and advice in this regard would be greatly appricated.

Thanks in advance!

If you test using a sandbox past purchases account cannot be restored. Purchases made with a sandbox account did not get connected to the server, so if you try to restore (ex after you remove and then re - install the app even) then no purchase will be returned.

You can test your rollback logic with purchases in the same session of the app: open the app, make a purchase, try a restore, all this without closing the application.

The only other option would be to remove your account from the sandbox and try buying using real $$

Tags: BlackBerry Developers

Similar Questions

  • Newsstand App rejected - in-app purchase issue

    Hello

    We submitted an application multi-folio subscription for review, but it was rejected for the following reason:

    "2.3 we found that your application did not reach the basic functionality described in the release notes or your marketing material, as required by the App Store Review Guidelines.

    When the application is launched, all the available numbers can be downloaded for free. Although the user can buy renewable subscription automatically, buying renewable subscription automatically does not have any content.

    It is expected that buying renewable subscription automatically provides more recent issue.

    It would be appropriate to review your app to ensure that this function is implemented entirely or to review your Description of the Application, Release Notes and screenshots to remove this content. »

    Could someone advise me on this? The situation is that we have a free and open application which contained a "sample issue" folio (not a complete problem). This folio has been set free and public.

    In-app purchase, we submitted it was a subscription 1 year renewable automatically, which has been set to "allowed to sell.

    My questions are:

    1. is it OK that argued us that a sample, no number 1 (I have been informed by a reseller DPS it's OK).

    2. If the app renewable subscription purchase is automatically changed to be NOT allowed to sell, this difficulty? My thought is that in this way, we want to erase only the subscription for sale once that question 1 is transferred.

    Thanks for any help!

    Yes. You have already published the free/public folio, and now you need to publish a folio of retail/public. When you publish the folio, you must specify the product ID. This product ID must match the product ID for no consumables in-app purchase that you set up in iTunes Connect. In this way, Apple can test your content at retail.

    A common error is to use the same product ID for all folios you post. Don't, don't. For each sheet of the retail sale, you will need to implement a different product ID in iTunes Connect. For best results, use the format com.mycompany.myapp.issuename , such as com.bobpublishing.nwscenery.20140601 for the June issue and com.bobpublishing.nwscenery.20140701 for the July issue.

    The folio of detail you post doesn't have to be finished. Apple just needs to be able to download something when the app is approved. Just make sure that you control when the app goes live during the presentation of the app.

    Note that you can send a whole bunch of in-app purchases to Apple for future folios retail. This so that you don't have to wait for approval from Apple to publish the folio. When you submit these in-app purchases, Apple didn't need to see the corresponding folio.

  • App purchase issue

    Hello

    one of our customers has very strange problem, he can't buy all of our apps. The weird part is this issue with our applications only, any other paid application has been purchased without any problems. No one is located in the United States and uses the carrier AT & T billing to purchase the app. I tried to contact the BlackBerry World team on the issue, but without success (no response in a few days). No matter who else had a similar problem with the purchase of apps from BBW or maybe have idea which team should I go? Thanks in advance

    Hi meego_man,

    This error comes from the carrier as this user tries to use the billing support.

    More information here: http://www.blackberry.com/btsc/KB33725

  • Testing with sandbox and In - App purchases no longer works

    Hi, I'm currently testing in-app purchases...
    It worked well for a while, but now when I try to access the app on AppWorld with the contentID or the SKU

    I get this error message: "we are unable to connect to blackberry appworld please make sure that your device is connected to the wireless network and try again.

    I tried downloading a new project and is always the same.

    As for in-app purchases, I have an older version already installed that I could successfully make a purchase using the accounts of sandbox, but now I just can enumerate all purchases available from the server of the RIM, but when I try to 'buy' it returns an error: "Content not found, ID:XXXXX" or something like that.

    Anyone know what is happening?

    I was just notified that the payment of Sandbox server is currently down, which is the cause of these issues. I'll post to this Commission as soon as I hear that it is resolved.

  • Are Android In - App purchase Descriptions to the Public?

    When configuring a single question in-app purchases in iTunes there is a reference field that identifies this issue reports on sales etc. and apparently not users at any time. I do not see a similar field in the game of Google but have yet to see the 'Description' field appears in the dialog of DPS.

    Anytime an app Android DPS reveals the field 'Description' of an in-app purchase or is it safe to use inside information?

    We show not just anywhere in the Android UI application. Game Google can show it in the purchase confirmation dialog, check here for if ensure it does not display before using it for more internal information.

    Neil

  • Are all part of in-App purchases for a subscription i-Tunes?

    Hello

    We plan to introduce iTunes renewable subscriptions automatically.

    We publish monthly issues and special offers.

    We want the "normal Edition" to be part of the renewable subscription automatically. We sell also a 'special' which should be paid by everyone.

    How we accomplish this?

    The Apple Guide uses the following definition;

    Renewable subscriptions automatically

    "Renewable subscription automatically allow the user to buy of the dynamic content and update for a limited time."

    Subscription renewal automatically except if the user chooses, such as subscriptions to magazines. »

    If a customer buys a "renewable subscription automatically" 1 year 01/01/2014.

    Are all no consumables in-App purchases that are published during the period 01/01/2014 and the 31/12/2015 available for download? (point of sale)

    If we publish a special on 06/01/2014, how can we ensure that this special offer is not part of the subscription? How can force us everyone (even those with renewable subscriptions automatically) to pay for it in-app purchase.

    Any of you have experience with this case? I've asked Apple support, but their response was not clear.

    Thanks in advance.

    Erik Stuut

    Subscriptions are purely based on time. So yes, all questions between 01/01/2014 and the 31/12/2015 will be available for readers to download if they have a subscription that covers the range.

    We saw publishers to manage this is to set the date of publication of the special issue to something in the future. Then, it is not covered by an active subscription. The side effect is that the special issue will sort to the top of the list of the library.

    Neil

  • Question about restoring In - App purchase

    We have this scenario and wanted to know the recommendations of Adobe.

    A customer has a multfolio app on the App Store with in-app purchases and active as well suscriptiones. Issues sold for several months. For some reason, he needs change the account of publication of DPS that it uses to publish folios.  He has already copied the current folios to the new DPS account and publishes them with the same folio product ID. He has not touched something else in the In - App purchases setting in iTunes Connect since there is nothing new to change on this section. Only, it creates a new application with the new DPS account ID. Subsequently, the .ipa installed fine and when you try to restore purchases, it displays an error (screenshot attached)...

    Have you ever been in this scenario before? That your suggestions about to compile one application with another account DPS without changing anything of the configuration of Apple?

    I really appreciate your recommendations

    Leo

    image.png

    You must call the Gold support and ask for help.

    Neil

  • I can have renewable subscription automatically and not consumable In App Purchase in a single application?

    Hello world

    My application is simply live on the app store.  I used DPS Professional edition and I am able to create a Multifolio with itunes subscription app.  I put my subscription for 1 month and 1 year.  Now, I would like to publish any other questions for the nesstand to be free.

    It will approve by apple if I add no consumable In App Purchase and set the price to be free.

    In fact, I want my users to download free content, for back issues and buy the lateest those.

    Can what method I use to do this?

    In-app purchase is only for the issue of retail sales.

    You can publish free folios of dashboard DPS, which will automatically appear in app Live.

  • App magazine issues

    Hello

    We had a magazine in the Apple app store for about 7 months now. The magazine has been free, but we need to do a paid app. I went ahead and changed the settings in the newsstand on iTunes connect (for 99 cents). I have a few quick questions:

    1. I made a new application to submit to the app store with the DPS app Builder. I changed the type of subscription "paid". Then he asks the subscription products 'product ID' and 'duration '. I pulled our applications product ID from the In - App purchase screen in iTunes connect. Is this correct? In itunes connect there we like 'type' as a 'free '. In "paying subscription" will change once I submit to the new app and it gets approved? (I've already changed the info Bank with apple in order to manage this) I've included a few screenshots for reference.

    2. I exported the IPA file for test on my iPad. When I load this try out I wondered if it would begin to appear as a paid app. It loads all old issues of our magazine for FREE download. That should change now for 99 cents? Or because they were free they would be always free?

    3 subscriptions: when I open the application on the test API there is a button 'subscribe', but when I press nothing happens. Something else happened here or nothing was happening that it is just a test application?

    4. push notifications. I had trouble getting my push notifications works, but think that I figured them out now. Can I test this with the IPA file? I tried to send a notification by the producer of folio, but my test IPA did not. Does?

    Any help is appreciated.

    Thank you!

    1.png3.png2.png

    You must also configure in-app purchases to your pages and add them to the subscription products in iTunes Connect to another existing folios will continue to be available for free. Then, you will need to republish them under retail sale slips. You can test if the subscription works in the sandbox by using your viewer developer by implementing of test user accounts in iTunes Connect. You will need to log out of the App store on the device with your regular account first. I think that push notifications do not work in the sandbox, but I'm not sure.

  • Dates of publication and approval of in-app purchases

    We have a multi-folio with right and subscription itunes application. My questions are regarding the folio publication dates and approval of in-app purchases for unique folios.

    Let's say that you want the date of publication of your folio February to 04/02/2013. This date is important because we want to make sure that, regardless of how a subscription was purchased the first number is the same. If you buy one registered 04/02/2013 by Apple fulfillment or the system our company to purchase your first folio system should be the February issue.

    As far as I know, a folio must be published in order for Apple to review as part of the in-app purchase approval process. So what happens when you publish a folio on 04/02/2013, but it is not yet approved for an exemplary one in-app purchase? It is available for the subscribers of the law? Others see the folio but can not buy? And above all, is there a way to make the folio available to Apple for review before 04/02/2013 and not for the users of the application?

    Try to submit the app first purchase without publishing the folio. If Apple approves, as they have done with many customers, you don't need to worry about the time. Simply submit that in-app purchases in advance and publish folios when ready.

    If Apple does not approve, you might play a little game to publish the folio of detail as public and submitting the in-app purchase. When Apple approves, change the status of folio in private until it is ready to publish. Then re - publish the folio when ready.

  • Advanced In - App purchases

    Hi, I've read several times that you can create up to 12 months of in-app purchases in Itunes Connect, how is that done exactly?

    For the moment, as I do is... One week before the date of sale, I create a Non-Consumble in-app purchase in Apple, the value of the folio public retail, which then allows me to see the app Dev and then do a screenshot of the purchased folio, download this to Apple so I can then submit purchase - 7 days for apple to approve what had been taken.

    The problem we are having is... every now and then someone load the official app and is notified that the next issue (currently awaiting approval from apple) is available, but they can't download it.

    In addition, while he sits there in the land of Apple, we still update the folio (tight).

    Thus, ideally, what I'd like is to create 12 months or so in-app purchases series is not allowed to sell but approved and then we simply change the status when necessary.

    What worries me is, if I create 12 months of empty folios Reatil Public people must be notified, if that is what is needed to create the screenshot in-app purchase.

    Thank you

    Andy

    Apple approves the in-app purchases based on the Description and screenshots. You can create breakthroughs in-App purchases and that you do not ready for sale to the date of publication.

  • I can not install app purchased in ios 10

    I can't uninstall an app purchase (no current app) in ios 10

    You want to install an application or uninstall?  Your title and your post show different things.

  • app purchases

    I recently moved to a State that does not tax app purchases require. I used to live in new jersey and I get imposed here, but im still get taxed on app purchases. How apple to determine your position in life? is it possible to spend it?

    I suggest that you contact the Support of iTunes at http://apple.com/emea/support/itunes/contact.html. They should be able to offer an explanation and refund if taxes were unjustified.

  • bought new iphone, can't make the in-app purchases

    In the iPhone 6. Purchased and switched to an iPhone 7. Before, I could make in-app purchases. Now it tells me to contact iTunes support. I can make in-app purchases on my iPad, and then on my restore iPhone purchases, but this only works for the no consumables in-app purchases. Any ideas?

    Have you contacted iTunes support? If not, you'll need to do (these are user forums, we do not know why you get the message):

    -go to http://www.apple.com/support/itunes/ww

    -Click on the flag of your country (the country where you are, and therefore the country on your account)

    -Click on contact Support to the upper right

    -Click on help under "Talk To Us".

    Or use this form: https://www.apple.com/emea/support/itunes/contact.html

  • Why can't I do some app purchases?

    Ssome apps that I downloaded on my iPhone 6 will not renew the subscription. When I go on my iTunes account to renew, it loads but is not renewed. This does not happen for each of them, a few. In the same way, others "cannot process payment" while doing in-app purchases and I get a message saying to contact apple support again once it only happens in a few apps. Does anyone else have this problem?

    Have you tried to contact iTunes support? Otherwise:

    -go to http://www.apple.com/support/itunes/ww

    -Click on the flag of your country (the country where you are, and therefore the country on your account)

    -Click on contact Support to the upper right

    -Click on help under "Talk To Us".

    Or use this form: https://www.apple.com/emea/support/itunes/contact.html

Maybe you are looking for

  • Picture of Syning iMac then removal of the phone, but don't lose them iMac

    Hello! IM new in the world of the iMac, Ive always had Windows, so I'm kinda stuck. So my question is, I sync my photos on my computer but I want to remove more than half of my phone, without losing what I sync just above. On my other computer, I hav

  • upgrade to ios 9.3 error

    I have an iphone 6 and before the error 53, today I tried to update to ios 9.3 and get an error, I don't want to do the update with the cause of the computer I'm afraid that my iphone will get again in brick, so I'm hopping apple realizes issue and l

  • Unable to connect smartphones to C50-A-1E2 Satellite Pro using Bluetooth

    How can I check to see if I have the correct drivers installed? Cannot connect my Galaxy S2 phone or Tablet Galaxy Note 8 Post edited by: fireballflyer The devices say they are paired, but the Toshiba laptop computer says connection and then not conn

  • USB-6008 self-test

    Is it possible to do a test by programming in LabVIEW? The same thing can be done manually in MAX. I mean when the program starts, it will perform a self-test. If this passes, continue on the rest of the code, in case of failure, bring up a message (

  • lock my computor, what do I do now? Help please

    Tried to change my password and now I am locked out of my computor, what do I do now? Help please