Android in-app billing Error: This item could no b

2019-04-28 16:11发布

问题:

I'm just beginning to use the android in-app billing system. I tested the Dungeons application sample without any problems.

So I'm trying to integrate in-app in my own application, but when I use declared productId or static test id, I'm getting the same error:

This item could not be purchased. (Error code: IAB-DPTL)

This application is already on the market. I uploaded a signed version that I also pushed on the phone (so it's the same version on both sides). I added the email wich is used on the phone as a test account. Should I activate my application ? (incurring the risk to remove the current published application ?)

I don't see what I'm missing, and I'm not able to find anything about this error code on the web.

What I'm doing wrong?

回答1:

Ok I found the solution !!!

The bug is directly caused by the "payloadContent" which I associate to the productId during the purchase request.

I used to convert my purchasable item into JSON and to put it as the developer payload content. (thought useful for the restoration phase...)

I tested to remove this payloadContent and then I had no more problems.

I think the data format used during the different transactions is JSON and so JSON payload content field should interfere with some waited fields.. (such "title" or "link")

UPDATE:

As Nikolay Elenkov said, the error is most probably caused by the length of the payload, and JSON seems to work. So there is a limitation in the developper payload size: 256 characters.

And we think that the error code:"IAB-DPTL" directly meens: "In App Billing - Developer Payload Too Long"

Thanks Nikolay !