title: Best practices in Server side validation of In app purchase in iOS
body: <p>We are using server side validation of the payment like so -  </p>
  
  <ol>
  <li>User makes payment.</li>
  <li>Store kit API sends transaction receipt to App.</li>
  <li>App sends base64 encoded transaction receipt to our server. </li>
  <li>Our server calls <a href="https://buy.itunes.apple.com/verifyReceipt">https://buy.itunes.apple.com/verifyReceipt</a> and validates the transaction recept.</li>
  <li>User is marked as paid.</li>
  </ol>
  
  <p>For a particular user, we didn't get the transaction receipt at the server, due to which the receipt couldn't be verified. We are guessing something went wrong in steps 2 and 3.
  If there were connection problems at the time of sending receipt to server, the app retries again on subsequent app resume. </p>
  
  <p>Now we have one missing transaction receipt and an angry user. How do you suggest we go forward? How can we prevent this in future? Are there any guidelines or best practices that we can follow to prevent such situation?</p>
  
  <p>Thank you.</p>