[SOLVED] The current IAP implement is unusable for online game

I went through this thread:

it is v1.5 now and it’s still not fixed.

I guess any online game are using this, the current version of iap just let the client tell the server “I just bought xxx diamonds, please add it”??? it does not make sense, hope it could be fixed soon.

the sdkbox iap is pretty easy to use, that’s good, but lack of the key feature make is useless for now…

Hi @mobic

We are going to release it along with RemoteConfig service from SDKBOX.
IAP purchase verification tokens will be out in production.

But, we have this in our pipeline around Feb or later.
Stay tuned with the latest releases and we will let you know once we have updated news on it.

Best,
Pabitra

That sad :frowning: As Christmas is coming and it would be useful feature.

that’s really really a long time… I know a lot of games are using sdkbox IAP feature.
but I wonder is there any online game are using it too? how do they verify order right now?

I understand RemoteConfig service involves a lot of work and need more time.
but how about just modify the callback method and give us the receipt information?? that’s rather simple and we do not even need you to help verify.

I do not understand why you can not give us the receipt? I saw it in the log, you have it, just pass them as parameters and it’s done.

{
“orderId”: “12999763169054705000.1373263420600000”,
“packageName”: “com.xxx.xxx”,
“productId”: “com.xxx.xxx.af0”,
“purchaseTime”: 1392983515012,
“purchaseState”: 0,
“developerPayload”: “xxx04392e9ca23874b14e8b31a37a05a”,
“purchaseToken”: “xxxszpnnyymngwxhgjozzvdv.AO-J1Oy_bJ4gBTBBmtVF21Y9yPQvUOV-XEc2HZr11ci4ToxVrDXlMQ-YJDQswSV9si7M1sls9aM282AyWAUHzsd3xXtkQ7u3RjP1aaEnAL6E3Z0Stys3-uZFop_GYZZVkRUysGXDWfhV”
}

@pabitrapadhy sorry for asking again, could you talk to the team and see if it’s possible?

it’s rather a simple feature that could save you a lot of trouble, also help debugging when things not right.

hi @mobic

Let us tag @nite to give us a clear idea on that.

Provide IAP verification IAP is always on the list, should be the next thing we’re going to work on. currently we’re focus on finish remote configuration feature for SDKBOX

hi nite:

it would be a long time since you might release it on Feb. my game is ready to upload to google play and AppStore. so is there some alternative plan now? how am I suppose to make player get what they want? let’s say “diamond”, user purchases 100 diamonds, and the client received “onSuccess” then tell the server to add 100 diamond to player? how do I know if the player really bought the product?
because of the callback you designed, passing orderID to “onSuccess” is hard right now…

I hear you, I’ll look into this and see if we can have it available sooner.

great, thanks a lot!

Any update on this issue? The SNS platform I am using requires that the orderID be provided for each transaction. The game needs to be launched in January at the latest, so waiting around till Feb. for something that should have been there from the beginning (come on, what self respecting online game wouldn’t implement server-side verification??) is not an option for me. If this can’t be resolved before Feb, please let me know ASAP so I can just give up on sdkbox and implement the ndk calls myself.

1 Like

Hello @joon

We are having plans to work it during end-year.
I hope this should be ready by end- Jan 2016.

But, If there’s a project urgency, I would recommend you to go with your apporach.
It might get delayed due to arrival of other urgent priorities.

Once we have the product ready we will let you know.
Expect it by end January.

Best,
Pabitra

[NOTICE]

@joon @mobic @energyy
In response to the excitement about this current thread, we had an internal discussion with team.
Could you please mail us your requirements related to this specific thread.

What stuffs that you need help with specifically.
Good news, we are already working on this feature.

We could take your response, actively work on it and will make you beta testers, before production.
so, you could check the work meets your requirements.

If you are interested, drop us an e-mail at - support@sdkbox.com

Best,
Pabitra

Hi pabitrapadhy,

Well the issue is quite simple really. For security reasons Google and Apple recommend server-side validation of purchases. The concept is practically identical between the two. A successful purchase will return a verification string which can be used by the game server to validate each purchase from the server side.

Google refers to this as a purchaseToken (http://developer.android.com/intl/ko/google/play/billing/api.html) while apple refers to this as a receipt validation code (https://developer.apple.com/library/ios/releasenotes/General/ValidateAppStoreReceipt/Introduction.html#//apple_ref/doc/uid/TP40010573)

The way I see it it’s quite simple. As @mobic said, you can see the token/code in the log which means you already have access to it. All that is needed is for you to pass the said value at onSuccess() either by modifying onSuccess like so -> onSuccess(const Product& p, string receipt) or add a token/code member to the Product class.

Now, I would love to see you guys support android’s developer payload and ios’ applicationUsername as well but that’s not a deal breaker in anyway ATM.

Cheers,
Joon

Hi @joon

Thanks for the detailed requirement.
We will work on it.

As soon as we have a beta ready, we will ask you to check the build
and let us know your feedback on the same.

Best,
Pabitra

That’s great news @pabitrapadhy. Looking forward to the beta!!

that’s great, please add me to the beta testers too :slight_smile:

purchase receipts are available for 1.5.3, as part of the product, you can access it with product.receipt field

2 Likes

Excellent! I was just about to post a question pertaining to server verification support for purchases.

Wil this work for iOS as well?