Amazon IAP Appear to not be working in Production (but works in testing)

We are really struggling with this. Our app has Amazon IAP, the IAP was previously working in production, but now it appears to not be working. We are completely puzzled and frustrated. 

The in-app purchase tests fine when we use the AmazonSDKTester.apk, using the JSON that we download from developer.amazon.com. But the same APK won’t purchase correctly in production. Basically, I can got to the purchase screen where it says “Get Item,”  but then when I do hit the “Get Item” button, the screen turns black with an activity circle. I have had a number of customers reporting the same behavior.

Here is a trace from when I press the “Get Item” button. Nothing seems obviously bad. We are using Corona Pro #2014.2458. The same problem happens regardless of if we are buying with coins or $$. Also, restore appears to be working (the IAP used to work). 

W/FlurryAgent( 4669): Finalize session W/FlurryAgent( 4669): FlurryDataSender: report b0c8ef47-e6a5-4f49-8877-a09344de9a77 sent. HTTP response: 200 V/Sensors ( 201): accel data: -0.316143 -0.205972 9.776470 D/dalvikvm( 201): GC\_CONCURRENT freed 963K, 43% free 15424K/26631K, paused 2ms+4ms V/Sensors ( 201): accel data: -0.294587 -0.210762 9.695039 I/ActivityStack( 201): START {cmp=com.amazon.venezia/.iap.PurchaseChallengeActivity (has extras)} from pid 4507 V/ActivityStack( 201): Prepare open transition: starting ActivityRecord{4186f5a8 com.amazon.venezia/.iap.PurchaseChallengeActivity} V/ActivityStack( 201): Prepare open transition: prev=ActivityRecord{41aad070 com.amazon.venezia/.VeneziaIAPDialog} I/WindowManager( 201): DIM BEHIND: Window{41883068 paused=false} I/ActivityStack( 201): START {cmp=com.amazon.venezia/.VeneziaIAPDialog (has extras)} from pid 4507 V/ActivityStack( 201): Prepare open transition: starting ActivityRecord{418d6e80 com.amazon.venezia/.VeneziaIAPDialog} V/ActivityStack( 201): Prepare open transition: prev=ActivityRecord{4186f5a8 com.amazon.venezia/.iap.PurchaseChallengeActivity} I/WindowManager( 201): DIM BEHIND: Window{41883068 paused=false} I/WindowManager( 201): DIM BEHIND: Window{41883068 paused=false} I/WindowManager( 201): DIM BEHIND: Window{41883068 paused=false} V/Sensors ( 201): accel data: -0.232317 -0.249082 9.757310 I/ActivityManager( 201): Start proc android.process.acore for service com.android.services.spellchecker/.AndroidSpellCheckerService: pid=4875 uid=10000 gids={} V/PhoneStatusBar( 294): setLightsOn(true) I/WindowManager( 201): DIM BEHIND: Window{41883068 paused=false} I/ActivityThread( 4875): Pub user\_dictionary: com.android.providers.userdictionary.UserDictionaryProvider I/ActivityThread( 4875): Pub applications: com.android.providers.applications.ApplicationsProvider I/ActivityManager( 201): Displayed com.amazon.venezia/.iap.PurchaseChallengeActivity: +1s265ms I/ActivityManager( 201): Displayed com.amazon.venezia/.VeneziaIAPDialog: +594ms I/WindowManager( 201): DIM BEHIND: Window{41883068 paused=false} I/WindowManager( 201): DIM BEHIND: Window{41883068 paused=false} I/WindowManager( 201): DIM BEHIND: Window{41883068 paused=false} I/WindowManager( 201): DIM BEHIND: Window{41883068 paused=false} I/WindowManager( 201): DIM BEHIND: Window{41883068 paused=false} I/WindowManager( 201): DIM BEHIND: Window{41883068 paused=false} I/WindowManager( 201): DIM BEHIND: Window{41883068 paused=false} I/WindowManager( 201): DIM BEHIND: Window{41883068 paused=false} I/WindowManager( 201): DIM BEHIND: Window{41883068 paused=false} I/WindowManager( 201): DIM BEHIND: Window{41883068 paused=false} I/WindowManager( 201): DIM BEHIND: Window{41883068 paused=false} I/WindowManager( 201): DIM BEHIND: Window{41883068 paused=false} I/WindowManager( 201): DIM BEHIND: Window{41883068 paused=false} I/WindowManager( 201): DIM BEHIND: Window{41883068 paused=false} I/WindowManager( 201): DIM BEHIND: Window{41883068 paused=false} V/Sensors ( 201): accel data: -0.335303 -0.203577 9.771680 D/dalvikvm( 201): GC\_CONCURRENT freed 972K, 43% free 15436K/26631K, paused 2ms+5ms V/Sensors ( 201): accel data: -0.251477 -0.244292 9.774075 V/Sensors ( 201): accel data: -0.364043 -0.244292 9.793235

Just in case you need the log right before I hit the “Get Item” button, here it is:

/NetworkController( 294): intent is = Intent { act=android.net.wifi.RSSI\_CHANGED flg=0x10000010 (has extras) } D/NetworkController( 294): mWifiConnected = true V/Sensors ( 201): accel data: -0.294587 -0.198787 9.685459 I/Sensors ( 201): \*\*\*\* Motion \*\*\*\* D/PhoneWindow( 4669): superDispatchKeyEvent. key event has been consumed by the views. keyCode: 8 D/PhoneWindow( 4669): superDispatchKeyEvent. key event has been consumed by the views. keyCode: 7 W/IInputConnectionWrapper( 4669): beginBatchEdit on inactive InputConnection W/IInputConnectionWrapper( 4669): endBatchEdit on inactive InputConnection W/IInputConnectionWrapper( 4669): beginBatchEdit on inactive InputConnection W/IInputConnectionWrapper( 4669): endBatchEdit on inactive InputConnection D/dalvikvm( 359): GC\_FOR\_ALLOC freed 1957K, 23% free 12499K/16071K, paused 16ms I/dalvikvm-heap( 359): Grow heap (frag case) to 14.142MB for 1940496-byte allocation D/dalvikvm( 359): GC\_CONCURRENT freed \<1K, 11% free 14394K/16071K, paused 1ms+2ms D/OpenGLRenderer( 359): Flushing caches (mode 0) W/FlurryAgent( 4669): Event count started: IAPPDP Menu - Purchase Transaction nil : initiated I/WindowManager( 201): DIM BEHIND: Window{41883068 paused=false} I/WindowManager( 201): DIM BEHIND: Window{41883068 paused=false} I/WindowManager( 201): DIM BEHIND: Window{41883068 paused=false} I/WindowManager( 201): DIM BEHIND: Window{41883068 paused=false} I/WindowManager( 201): DIM BEHIND: Window{41883068 paused=false} I/WindowManager( 201): DIM BEHIND: Window{41883068 paused=false} I/WindowManager( 201): DIM BEHIND: Window{41883068 paused=false} I/WindowManager( 201): DIM BEHIND: Window{41883068 paused=false} I/WindowManager( 201): DIM BEHIND: Window{41883068 paused=false} I/WindowManager( 201): DIM BEHIND: Window{41883068 paused=false} I/WindowManager( 201): DIM BEHIND: Window{41883068 paused=false} I/WindowManager( 201): DIM BEHIND: Window{41883068 paused=false} I/WindowManager( 201): DIM BEHIND: Window{41883068 paused=false} I/ActivityStack( 201): START {cmp=com.amazon.venezia/.iap.KickStartActivity (has extras)} from pid 4669 V/ActivityStack( 201): Prepare open transition: starting ActivityRecord{419dd640 com.amazon.venezia/.iap.KickStartActivity} I/WindowManager( 201): DIM BEHIND: Window{41883068 paused=false} V/Sensors ( 201): int poll\_\_setDelay(sensors\_poll\_device\_t\*, int, int64\_t) V/Sensors ( 201): int sensors\_poll\_context\_t::setDelay(int, int64\_t) V/Sensors ( 201): setDelay - sensor Accelerometer (handle 4), rate 66 ms (15.00 Hz) V/ActivityStack( 201): Prepare open transition: prev=ActivityRecord{41895ae8 com.sx.wonsterwords/com.ansca.corona.CoronaActivity} I/WindowManager( 201): DIM BEHIND: Window{41883068 paused=true} I/WindowManager( 201): DIM BEHIND: Window{41883068 paused=true} I/WindowManager( 201): DIM BEHIND: Window{41883068 paused=true} I/AudioPolicyManagerBase( 107): stopOutput() output 1, stream 3, session 17 I/WindowManager( 201): DIM BEHIND: Window{41883068 paused=false} W/FlurryAgent( 4669): End session with context: com.ansca.corona.CoronaActivity@41645060 count:0 V/LocationManagerService( 201): getProviders V/LocationManagerService( 201): getProviders V/LocationManagerService( 201): getProviders V/LocationManagerService( 201): getProviders V/LocationManagerService( 201): getProviders I/WindowManager( 201): DIM BEHIND: Window{41883068 paused=false} I/WindowManager( 201): DIM BEHIND: Window{41883068 paused=false} I/WindowManager( 201): DIM BEHIND: Window{41883068 paused=false} I/WindowManager( 201): DIM BEHIND: Window{41883068 paused=false} I/WindowManager( 201): DIM BEHIND: Window{41883068 paused=false} I/WindowManager( 201): DIM BEHIND: Window{41883068 paused=false} I/WindowManager( 201): DIM BEHIND: Window{41883068 paused=false} I/ActivityStack( 201): START {cmp=com.amazon.venezia/.VeneziaIAPDialog (has extras)} from pid 4507 V/ActivityStack( 201): Prepare open transition: starting ActivityRecord{41aad070 com.amazon.venezia/.VeneziaIAPDialog} I/WindowManager( 201): DIM BEHIND: Window{41883068 paused=false} I/WindowManager( 201): DIM BEHIND: Window{41883068 paused=false} V/ActivityStack( 201): Prepare open transition: prev=ActivityRecord{419dd640 com.amazon.venezia/.iap.KickStartActivity} I/WindowManager( 201): DIM BEHIND: Window{41883068 paused=false} I/WindowManager( 201): DIM BEHIND: Window{41883068 paused=false} I/WindowManager( 201): DIM BEHIND: Window{41883068 paused=false} D/dalvikvm( 201): GC\_CONCURRENT freed 941K, 43% free 15393K/26631K, paused 2ms+5ms I/WindowManager( 201): DIM BEHIND: Window{41883068 paused=false} V/Sensors ( 201): accel data: -0.282612 -0.301772 9.795630 V/PhoneStatusBar( 294): setLightsOn(true) I/WindowManager( 201): DIM BEHIND: Window{41883068 paused=false} I/ActivityManager( 201): Displayed com.amazon.venezia/.iap.KickStartActivity: +1s155ms I/ActivityManager( 201): Displayed com.amazon.venezia/.VeneziaIAPDialog: +968ms I/PhoneWindowManager( 201): repositioning status bar I/WindowManager( 201): DIM BEHIND: Window{41883068 paused=false} I/WindowManager( 201): DIM BEHIND: Window{41883068 paused=false} I/WindowManager( 201): DIM BEHIND: Window{41883068 paused=false} I/WindowManager( 201): DIM BEHIND: Window{41883068 paused=false} I/WindowManager( 201): DIM BEHIND: Window{41883068 paused=false} I/WindowManager( 201): DIM BEHIND: Window{41883068 paused=false} I/WindowManager( 201): DIM BEHIND: Window{41883068 paused=false} I/WindowManager( 201): DIM BEHIND: Window{41883068 paused=false} I/WindowManager( 201): DIM BEHIND: Window{41883068 paused=false} D/AmazonToggle( 294): setText toggle\_on D/AmazonToggle( 294): setText toggle\_off D/QuickSettings-Wifi( 294): handleSelection Begin I/WindowManager( 201): DIM BEHIND: Window{41883068 paused=false} I/WindowManager( 201): DIM BEHIND: Window{41883068 paused=false} I/WindowManager( 201): DIM BEHIND: Window{41883068 paused=false} I/WindowManager( 201): DIM BEHIND: Window{41883068 paused=false} I/WindowManager( 201): DIM BEHIND: Window{41883068 paused=false} I/WindowManager( 201): DIM BEHIND: Window{41883068 paused=false} I/WindowManager( 201): DIM BEHIND: Window{41883068 paused=false} I/WindowManager( 201): DIM BEHIND: Window{41883068 paused=false} I/WindowManager( 201): DIM BEHIND: Window{41883068 paused=false} I/WindowManager( 201): DIM BEHIND: Window{41883068 paused=false} I/WindowManager( 201): DIM BEHIND: Window{41883068 paused=false} I/WindowManager( 201): DIM BEHIND: Window{41883068 paused=false} I/WindowManager( 201): DIM BEHIND: Window{41883068 paused=false} I/WindowManager( 201): DIM BEHIND: Window{41883068 paused=false} I/WindowManager( 201): DIM BEHIND: Window{41883068 paused=false} I/WindowManager( 201): DIM BEHIND: Window{41883068 paused=false} I/WindowManager( 201): DIM BEHIND: Window{41883068 paused=false} I/WindowManager( 201): DIM BEHIND: Window{41883068 paused=false} D/NetworkController( 294): intent is = Intent { act=android.net.wifi.RSSI\_CHANGED flg=0x10000010 (has extras) } D/NetworkController( 294): mWifiConnected = true V/EchoCanceller( 107): notifyStreamOutClosed() I/Sensors ( 201): \*\*\*\* No Motion \*\*\*\* V/Sensors ( 201): accel data: -0.285007 -0.225132 9.718989

When you say it was previously working in production, does this mean the currently published version used to work, or you published an new version and the new version does not work?

I see no messages in your log trace for the Amazon IAP plugin. I do see the Amazon Appstore trying to start some activities(com.amazon.venezia/.iap.PurchaseChallengeActivity and com.amazon.venezia/.VeneziaIAPDialog)

From this, I would contact Amazon directly and see if you can get someone there to help:

https://developer.amazon.com/appsandservices/support/contact/contact-us

The currently published version is definitely not working.

As for my previous version, it did work for me, but I also had some customers email me and complain about troubles making purchases. At the time I thought it was user error, but now I am not too sure.

Let me ping them. At the same time, are there certain things/areas that you think I should double check as well?

Thanks!

Hi Akao,

In your logs you should see lines like this when calling require ‘amazon.iap’

V/Corona  ( 2669): > Class.forName: plugin.amazon.iap.LuaLoader

V/Corona  ( 2669): < Class.forName: plugin.amazon.iap.LuaLoader

V/Corona  ( 2669): Loading via reflection: plugin.amazon.iap.LuaLoader

Which means the plugin has been loaded.

I’m positive you should see these as restore is working!

Amazon recently released a new IAP API(version 2.0) and it seems they made the old API(which the plugin uses) talk to the new functionality in the Appstore somehow. I say these because those activities are new. I fear this is a bug in the Appstore itself, which is why I suggest filing a contactus with Amazon directly.

@tamkinp I do see those lines, so the IAP should be loaded…

I am currently working with Amazon directly, and they are asking me what version of the plugin we are using. What should I tell them?

@akao,

The  Amazon IAP plugin has only ever had one version.

The plugin uses version 1.0.3 of the underlying Amazon IAP SDK. The jar is called in-app-purchasing-1.0.3.jar.

hint: the use of this jar is in the docs :)

Thanks! 

Hi Akao,

Just out of curiosity, were you able to find a solution to your problem?

@tamkinp Well, we went back and forth with Amazon tech support. They weren’t able to duplicate the issue at all, and one day, it all of a sudden started working again. We suspect something changed on the server end, but are not 100% sure. So, while we are not sure what happened, the issue appears to be resolved…

hmm, not knowing root cause is never any fun, but I am glad to hear it is working

Just in case you need the log right before I hit the “Get Item” button, here it is:

/NetworkController( 294): intent is = Intent { act=android.net.wifi.RSSI\_CHANGED flg=0x10000010 (has extras) } D/NetworkController( 294): mWifiConnected = true V/Sensors ( 201): accel data: -0.294587 -0.198787 9.685459 I/Sensors ( 201): \*\*\*\* Motion \*\*\*\* D/PhoneWindow( 4669): superDispatchKeyEvent. key event has been consumed by the views. keyCode: 8 D/PhoneWindow( 4669): superDispatchKeyEvent. key event has been consumed by the views. keyCode: 7 W/IInputConnectionWrapper( 4669): beginBatchEdit on inactive InputConnection W/IInputConnectionWrapper( 4669): endBatchEdit on inactive InputConnection W/IInputConnectionWrapper( 4669): beginBatchEdit on inactive InputConnection W/IInputConnectionWrapper( 4669): endBatchEdit on inactive InputConnection D/dalvikvm( 359): GC\_FOR\_ALLOC freed 1957K, 23% free 12499K/16071K, paused 16ms I/dalvikvm-heap( 359): Grow heap (frag case) to 14.142MB for 1940496-byte allocation D/dalvikvm( 359): GC\_CONCURRENT freed \<1K, 11% free 14394K/16071K, paused 1ms+2ms D/OpenGLRenderer( 359): Flushing caches (mode 0) W/FlurryAgent( 4669): Event count started: IAPPDP Menu - Purchase Transaction nil : initiated I/WindowManager( 201): DIM BEHIND: Window{41883068 paused=false} I/WindowManager( 201): DIM BEHIND: Window{41883068 paused=false} I/WindowManager( 201): DIM BEHIND: Window{41883068 paused=false} I/WindowManager( 201): DIM BEHIND: Window{41883068 paused=false} I/WindowManager( 201): DIM BEHIND: Window{41883068 paused=false} I/WindowManager( 201): DIM BEHIND: Window{41883068 paused=false} I/WindowManager( 201): DIM BEHIND: Window{41883068 paused=false} I/WindowManager( 201): DIM BEHIND: Window{41883068 paused=false} I/WindowManager( 201): DIM BEHIND: Window{41883068 paused=false} I/WindowManager( 201): DIM BEHIND: Window{41883068 paused=false} I/WindowManager( 201): DIM BEHIND: Window{41883068 paused=false} I/WindowManager( 201): DIM BEHIND: Window{41883068 paused=false} I/WindowManager( 201): DIM BEHIND: Window{41883068 paused=false} I/ActivityStack( 201): START {cmp=com.amazon.venezia/.iap.KickStartActivity (has extras)} from pid 4669 V/ActivityStack( 201): Prepare open transition: starting ActivityRecord{419dd640 com.amazon.venezia/.iap.KickStartActivity} I/WindowManager( 201): DIM BEHIND: Window{41883068 paused=false} V/Sensors ( 201): int poll\_\_setDelay(sensors\_poll\_device\_t\*, int, int64\_t) V/Sensors ( 201): int sensors\_poll\_context\_t::setDelay(int, int64\_t) V/Sensors ( 201): setDelay - sensor Accelerometer (handle 4), rate 66 ms (15.00 Hz) V/ActivityStack( 201): Prepare open transition: prev=ActivityRecord{41895ae8 com.sx.wonsterwords/com.ansca.corona.CoronaActivity} I/WindowManager( 201): DIM BEHIND: Window{41883068 paused=true} I/WindowManager( 201): DIM BEHIND: Window{41883068 paused=true} I/WindowManager( 201): DIM BEHIND: Window{41883068 paused=true} I/AudioPolicyManagerBase( 107): stopOutput() output 1, stream 3, session 17 I/WindowManager( 201): DIM BEHIND: Window{41883068 paused=false} W/FlurryAgent( 4669): End session with context: com.ansca.corona.CoronaActivity@41645060 count:0 V/LocationManagerService( 201): getProviders V/LocationManagerService( 201): getProviders V/LocationManagerService( 201): getProviders V/LocationManagerService( 201): getProviders V/LocationManagerService( 201): getProviders I/WindowManager( 201): DIM BEHIND: Window{41883068 paused=false} I/WindowManager( 201): DIM BEHIND: Window{41883068 paused=false} I/WindowManager( 201): DIM BEHIND: Window{41883068 paused=false} I/WindowManager( 201): DIM BEHIND: Window{41883068 paused=false} I/WindowManager( 201): DIM BEHIND: Window{41883068 paused=false} I/WindowManager( 201): DIM BEHIND: Window{41883068 paused=false} I/WindowManager( 201): DIM BEHIND: Window{41883068 paused=false} I/ActivityStack( 201): START {cmp=com.amazon.venezia/.VeneziaIAPDialog (has extras)} from pid 4507 V/ActivityStack( 201): Prepare open transition: starting ActivityRecord{41aad070 com.amazon.venezia/.VeneziaIAPDialog} I/WindowManager( 201): DIM BEHIND: Window{41883068 paused=false} I/WindowManager( 201): DIM BEHIND: Window{41883068 paused=false} V/ActivityStack( 201): Prepare open transition: prev=ActivityRecord{419dd640 com.amazon.venezia/.iap.KickStartActivity} I/WindowManager( 201): DIM BEHIND: Window{41883068 paused=false} I/WindowManager( 201): DIM BEHIND: Window{41883068 paused=false} I/WindowManager( 201): DIM BEHIND: Window{41883068 paused=false} D/dalvikvm( 201): GC\_CONCURRENT freed 941K, 43% free 15393K/26631K, paused 2ms+5ms I/WindowManager( 201): DIM BEHIND: Window{41883068 paused=false} V/Sensors ( 201): accel data: -0.282612 -0.301772 9.795630 V/PhoneStatusBar( 294): setLightsOn(true) I/WindowManager( 201): DIM BEHIND: Window{41883068 paused=false} I/ActivityManager( 201): Displayed com.amazon.venezia/.iap.KickStartActivity: +1s155ms I/ActivityManager( 201): Displayed com.amazon.venezia/.VeneziaIAPDialog: +968ms I/PhoneWindowManager( 201): repositioning status bar I/WindowManager( 201): DIM BEHIND: Window{41883068 paused=false} I/WindowManager( 201): DIM BEHIND: Window{41883068 paused=false} I/WindowManager( 201): DIM BEHIND: Window{41883068 paused=false} I/WindowManager( 201): DIM BEHIND: Window{41883068 paused=false} I/WindowManager( 201): DIM BEHIND: Window{41883068 paused=false} I/WindowManager( 201): DIM BEHIND: Window{41883068 paused=false} I/WindowManager( 201): DIM BEHIND: Window{41883068 paused=false} I/WindowManager( 201): DIM BEHIND: Window{41883068 paused=false} I/WindowManager( 201): DIM BEHIND: Window{41883068 paused=false} D/AmazonToggle( 294): setText toggle\_on D/AmazonToggle( 294): setText toggle\_off D/QuickSettings-Wifi( 294): handleSelection Begin I/WindowManager( 201): DIM BEHIND: Window{41883068 paused=false} I/WindowManager( 201): DIM BEHIND: Window{41883068 paused=false} I/WindowManager( 201): DIM BEHIND: Window{41883068 paused=false} I/WindowManager( 201): DIM BEHIND: Window{41883068 paused=false} I/WindowManager( 201): DIM BEHIND: Window{41883068 paused=false} I/WindowManager( 201): DIM BEHIND: Window{41883068 paused=false} I/WindowManager( 201): DIM BEHIND: Window{41883068 paused=false} I/WindowManager( 201): DIM BEHIND: Window{41883068 paused=false} I/WindowManager( 201): DIM BEHIND: Window{41883068 paused=false} I/WindowManager( 201): DIM BEHIND: Window{41883068 paused=false} I/WindowManager( 201): DIM BEHIND: Window{41883068 paused=false} I/WindowManager( 201): DIM BEHIND: Window{41883068 paused=false} I/WindowManager( 201): DIM BEHIND: Window{41883068 paused=false} I/WindowManager( 201): DIM BEHIND: Window{41883068 paused=false} I/WindowManager( 201): DIM BEHIND: Window{41883068 paused=false} I/WindowManager( 201): DIM BEHIND: Window{41883068 paused=false} I/WindowManager( 201): DIM BEHIND: Window{41883068 paused=false} I/WindowManager( 201): DIM BEHIND: Window{41883068 paused=false} D/NetworkController( 294): intent is = Intent { act=android.net.wifi.RSSI\_CHANGED flg=0x10000010 (has extras) } D/NetworkController( 294): mWifiConnected = true V/EchoCanceller( 107): notifyStreamOutClosed() I/Sensors ( 201): \*\*\*\* No Motion \*\*\*\* V/Sensors ( 201): accel data: -0.285007 -0.225132 9.718989

When you say it was previously working in production, does this mean the currently published version used to work, or you published an new version and the new version does not work?

I see no messages in your log trace for the Amazon IAP plugin. I do see the Amazon Appstore trying to start some activities(com.amazon.venezia/.iap.PurchaseChallengeActivity and com.amazon.venezia/.VeneziaIAPDialog)

From this, I would contact Amazon directly and see if you can get someone there to help:

https://developer.amazon.com/appsandservices/support/contact/contact-us

The currently published version is definitely not working.

As for my previous version, it did work for me, but I also had some customers email me and complain about troubles making purchases. At the time I thought it was user error, but now I am not too sure.

Let me ping them. At the same time, are there certain things/areas that you think I should double check as well?

Thanks!

Hi Akao,

In your logs you should see lines like this when calling require ‘amazon.iap’

V/Corona  ( 2669): > Class.forName: plugin.amazon.iap.LuaLoader

V/Corona  ( 2669): < Class.forName: plugin.amazon.iap.LuaLoader

V/Corona  ( 2669): Loading via reflection: plugin.amazon.iap.LuaLoader

Which means the plugin has been loaded.

I’m positive you should see these as restore is working!

Amazon recently released a new IAP API(version 2.0) and it seems they made the old API(which the plugin uses) talk to the new functionality in the Appstore somehow. I say these because those activities are new. I fear this is a bug in the Appstore itself, which is why I suggest filing a contactus with Amazon directly.

@tamkinp I do see those lines, so the IAP should be loaded…

I am currently working with Amazon directly, and they are asking me what version of the plugin we are using. What should I tell them?

@akao,

The  Amazon IAP plugin has only ever had one version.

The plugin uses version 1.0.3 of the underlying Amazon IAP SDK. The jar is called in-app-purchasing-1.0.3.jar.

hint: the use of this jar is in the docs :)

Thanks! 

Hi Akao,

Just out of curiosity, were you able to find a solution to your problem?

@tamkinp Well, we went back and forth with Amazon tech support. They weren’t able to duplicate the issue at all, and one day, it all of a sudden started working again. We suspect something changed on the server end, but are not 100% sure. So, while we are not sure what happened, the issue appears to be resolved…