SDKBOX 2.3.11 Release - New push notification

I was able to test it only on Android since my iOS license expired a few months ago and I don’t plan on renewing it until I have a game to publish. If somebody else has one this shouldn’t be hard to test.

I try to reproduce the issue with, but seems getting receipts and payload

Can you try upgrading to 2.3.12 version

Note: only real transaction with real money will have transaction ID for google play

I was able to reproduce this issue, it only happens on JS binding, we’ll fix it in 2 or 3 days.

Thank you :slight_smile:

Sorry for posting in an old thread, but since the discussion was here I decided that it was better to post here than to start a new thread. Currently I’m using SDKBOX v2.3.13.5 and the bug for IAP still isn’t fixed - neither in the onProductRequestSuccess nor in the onRestored callbacks do I get receipt and receiptCipheredPayload for non-consumable items in the JS bindings - when will this be fixed ?

Just checked and even in the onSuccess the receiptCipheredPayload and receipt are empty in, so neither of the 3 callbacks work with non-consumable items in the JS bindings still

Is it only on Android or both?

I can test only on android, because me iOS license expired, so if you or somebody else can test it on iOS I would be grateful, otherwise I would be able to test it on iOS when I can publish my game.

tested on iOS device.

It’s great that it works on iOS, but does it work for non-consumable items as well? Because on Android I get the information as well when the item is consumable, but when it is non-consumable I receive empty strings.

Any progress on this? I saw that @yinjimmy has tested it on iOS with a consumable product, but I don’t know it if will work with a non-consumable product (since this is the case for which neither of the functions work on Android). Also some time frame for the fix would be welcome as more than 2 weeks have passed and this is a blocking issue for me.

It’s been another 2 weeks (1 month from your initial response) wondering if something is done about this as I see that no new SDKBOX versions are coming out either.

Sorry to let this issue slip, we fixed it now and it’s under testing should be coming with 2.3.15 release

Thank you. Looking forward to it!

I update js version.
Could you please help to test this issue ?

Sorry for the delay,

I replaced the IAP plugin with the updated files from the sample, but non-consumable products still have empty receipt and receiptCipheredPayload fields on Android for all 3 functions (onProductRequestSuccess, onRestored and onSuccess).

Sorry about that, I forgot to copy the google play services jar and google play plugin jar file. After that the onSuccess function worked. But the other 2 functions - onProductRequestSuccess and onRestored still return empty fields.

Could you fix them as well?

Any updates ?

Is there anyway we can look at your code and see what’s going on?

I just have log statements in the functions and look at what the listener argument is:

var sdkboxListenersIAP = {};

sdkboxListenersIAP.onSuccess = function (product) {
    cc.log('sdkbox IAP onSuccess', JSON.stringify(product));

sdkboxListenersIAP.onRestored = function (product) {
    cc.log('sdkbox IAP onRestored', JSON.stringify(product));

sdkboxListenersIAP.onProductRequestSuccess = function (products) {
    cc.log('sdkbox IAP onProductRequestSuccess', JSON.stringify(products));

sdkbox.IAP.setListener( sdkboxListenersIAP );



Before when I purchased a consumable, I got the receipt and receiptCipheredPayload fields in the onSuccess callback, but they were empty when I purchased a non-consumable. After the update from yinjimmy non-consumable items have data in these fields, but since non-consumables are always present, I would like the onProductRequestSuccess and onRestored to have these fields as well (both on Android and ciphered on iOS) since the user can already have the product, but since I can’t get a receipt (because he already has it and can’t purchase it again to trigger the onSuccess callback) I can’t validate it.

1 Like