title: What should be the developer payload in android in-app billing v3 api?
body: <p>I am implementing in-app billing in my app to unlock premium features.
  The in-app billing sets up correctly. Everything seems fine except the 'developer payload' thing.</p>
  
  <p>The sample app says</p>
  
  <pre><code> /*
       * TODO: verify that the developer payload of the purchase is correct. It will be
       * the same one that you sent when initiating the purchase.
       *
       * WARNING: Locally generating a random string when starting a purchase and
       * verifying it here might seem like a good approach, but this will fail in the
       * case where the user purchases an item on one device and then uses your app on
       * a different device, because on the other device you will not have access to the
       * random string you originally generated.
       *
       * So a good developer payload has these characteristics:
       *
       * 1. If two different users purchase an item, the payload is different between them,
       *    so that one user's purchase can't be replayed to another user.
       *
       * 2. The payload must be such that you can verify it even when the app wasn't the
       *    one who initiated the purchase flow (so that items purchased by the user on
       *    one device work on other devices owned by the user).
       *
       * Using your own server to store and verify developer payloads across app
       * installations is recommended.
       */
  </code></pre>
  
  <blockquote>
    <p>The sample app uses an empty string as developer payload. My question is what string to use as a developer payload?
    Can I use the user's primary email ID?</p>
  </blockquote>