Wer bei Apple einen In App kauf validieren möchte, muss an Apple den sogenannten Reciept senden.
Apple verschickt dafür einen String der wie folgt aussieht: “<7b0a0922 7369676e 61747572 6522203d 20224167 322b577….” Dieses sind Hexwerte und müssen erst in ASCII umgewandelt werden. Mit diesen paar Zeilen PHP-Code kann dieses geschehen:
$temp = preg_replace("/[^0-9a-fA-F]/","", $hex);
for($i = 0; $i < strlen($temp); $i = $i + 2)
{
$ascii = $ascii.chr(hexdec(substr($temp, $i, 2)));
}
Anschließend muss ein Array erstellt werden, in diesem Array muss der ASCII String mittels base64_encode umgewandelt und dieses JSON Encodet werden.
$postData = json_encode(
array('receipt-data' => base64_encode($ascii))
);
Diese Daten können dann per Post an Apple übertragen werden (an https://sandbox.itunes.apple.com/verifyReceipt bzw. https://buy.itunes.apple.com/verifyReceipt ). Apple gibt dann zurück, ob alles geklappt hat.
Ein beliebter Fehlercode wäre: {“status”:21002, “exception”:”java.lang.IllegalArgumentException”} D.h. es sind nicht die richtigen Werte übergeben worden.

