Selling Xojo apps on Windows Store

As you may know we have StoreKit APIs for macOS in MBS Xojo Plugins for years to do in-app purchases. A similar API exists for Windows for the Windows Store from Microsoft.

For next MBS Xojo Plugins we include classes for the Windows Store:

For example to query trial status, you could initialize the WindowsStoreContextMBS class, query the app license and check the trial flag there. To start an in-app purchase you simply pick a product or SKU and run RequestPurchaseAsync method to show the GUI and later get a method called with results.

To learn more about how the Windows Store API works, please check Microsoft’s documentation and our Xojo forum thread.

Please do not hesitate to contact us with questions and let us know if you need another method to do some task.


Is it just me, or is this an appropriate forum to be turning into an APP STORE?

1 Like

no Dave, with the greatest respect, wrong this time, like it or not, no policing here I suspect, or I might have got banned here too! one of those ‘don’t comment’ posts if it is not to ones liking.



1 Like

Mark… we can disagree. This is a place to converse and exchange knowledge, provide opinions without have a Vendor shut down a conversation they don’t like. But resorting to using it as a Kiosk to sell merchandise… That is not a conversation, nor is it an exchange of knowledge.

And with that I will mute this conversation… Because while this forum is not censored by the moderators, I have the right to remove content from my own view without fear of repercussions. :slight_smile:


Thanks for posting this Christian as I have an upcoming launch that will utilize this. I appreciate the post.


This posting is to notify Xojo developers on this forum, that we are working on the Windows Store integration, a way for developers to make money on Windows.


Personally, I very much appreciate any notifications of new products, software or anything programming related from active forum members.

I don’t see any difference between what Christian posted and the announcement regarding free VMWare, for example.

It’s not like the forum is over run with advertisements. Not interested? Click on.


I agree with the sentiment Dave.
let’s hope anyone promoting their own produce, such as a product that spits out swift code from basic syntax, is not so rushed to be silenced.

one persons merchant show is another’s well informed topic.

It’s not like Christian is some pariah that just landed here to suck the users of this forum dry of all their money, that prize goes to Xojo, in my feckin not so humble opinion.

come on, monkeybread has as much right to show a leg here as anyone else, I do not use his code nor have anything to do with him, just saying, community acceptance and discord rules etc.

absolutely NOT having a go at you Dave, again with the most respect, whatever is here goes, I do not want to be censored like I was on Xojo nor fall out with you.

Yes :wink:

1 Like

I’m also with you Dave in that we don’t want the forum to be turned into a giant commercial billboard.

But on the flip side, I actually like it when Christian & MonkeyBread chimes in with updates and informational news. Xojo is a small team and as such there’s only so much you can do with the core product, and you almost have to pair it up with MBS, Einhugur, GraffitiSuite, etc. These auxiliary products are deep and wide in features, with just as much depth or even more so, than Xojo itself. Learning these vendor’s roadmaps and what’s possible is actually helpful on my end.

As a point of reference, I’m a customer of some of these vendors but not others. Not only is learning what problems I can solve with my currently licensed products helpful, but so is learning about the products I don’t license in case I might have a need down the road.

I’m positive Christian could do a hard sell if he wanted to, but I appreciate his toned down and more informational stance in his posts.


We currently still look for interested developer, who want to try those functions.
More will come next week with WindowsStoreSKUMBS class.

I agree that soliciting sales should be available, and not to the point where users have the choice to want to view this information. Chuckle, having an aggressive salesman usually is a poor experience. One possible option is to have another topic in the forums. Maybe a name for the topic could be: Promotional Items, or Third Party Support, or Paid Support to name a few.

If such a topic is to be created for the ability to create sales, then it is only fair that some form of reimbursement be used for the forum. Maybe something like a donation of $1 per month to help the site be funded?

I am just talking-out-loud here, and feel free to offer suggestions - I am not the forum owner nor an administrator, and these are only thoughts. :slight_smile:

maybe we should have separate category for plugins etc and just refer to the category when people is interested.

1 Like

I put this in Windows category as I look for Windows developers to try it.

The only catch with this is you might have some folks who don’t develop for Windows but who might change their mind after learning about new possibilities. They’re unlikely to be spending time in Windows forum.

Please check 20.4pr5 with newer classes:

MBS Xojo Plugins, version 20.4pr5

I’ve updated the example to include this to show how to buy something:

Sub Action() Handles Action
  Log "RequestPurchaseAsync..."
  // please change ID for the item to purchase
  Const StoreID = "9NCMFFPJRVHC"
  context.RequestPurchaseAsync AddressOf RequestPurchaseCompleted, StoreID
End Sub

and then we add a method to handle it:

Public Sub RequestPurchaseCompleted(AsyncStatus as Integer, result as WindowsStorePurchaseResultMBS)
  If AsyncStatus <> context.kAsyncStatusCompleted Then
    MsgBox "Async call failed."
  End If
  Select Case result.Status
  Case result.kStatusSucceeded
    MsgBox "Purchase Succeeded."
  Case result.kStatusAlreadyPurchased
    MsgBox "Already Purchased."
  Case result.kStatusNotPurchased
    MsgBox "Not Purchased."
  Case result.kStatusNetworkError
    MsgBox "Network error."
  Case result.kStatusServerError
    MsgBox "Server error."
  End Select
  Break // see in debugger
End Sub
1 Like

There are no issues posting about product announcements. It’s useful! :slight_smile:

We add WindowsStoreProductQueryResultMBS class and three methods to WindowsStoreContextMBS class:

  • GetStoreProductsAsync
  • GetUserCollectionAsync
  • GetAssociatedStoreProductsAsync

So you can now query what products are available and which are bought (in user collection).