2014-04-09 10 views
6

Ich habe IAP zu meiner Mac Appstore Anwendung hinzugefügt. Ich bin nicht in der Lage, die Quittungsserverseite ordnungsgemäß zu überprüfen. Ich lese den Empfang mit diesem Code:Validiere Mac App Store Quittungsserver Seite

NSURL *receiptURL = [[NSBundle mainBundle] appStoreReceiptURL]; 
NSData *receipt = [NSData dataWithContentsOfURL:receiptURL]; 

// This is my own method to convert to base64 
NSString *receiptString = [NSData base64forData:receipt]; 

ich dann bin die Daten auf meinen Server zu senden, der wiederum https://buy.itunes.apple.com/verifyReceipt fragt, ob der Eingang gültig ist. Ich bekomme immer einen ungültigen Beleg, egal was ich versuche. Ich habe auch versucht, die gem Venice verwenden, die das gleiche Problem hat, wenn ich es meine Quittungsdatei als einfachen Text oder mit base64 Befehlszeile-Tool codiert. Aber zur gleichen Zeit scheitert es mit der Quittungsdatei, die ich von allen meinen Apps in /Applications probiere.

Hat jemand erfolgreich die Bestätigung der Bestätigung im Mac Appstore implementiert?

Antwort

3

Nach der Untersuchung dieses viel mehr fand ich endlich ein Juwel, mit der Mac App Store Quittungen funktioniert: itunes-receipt

require 'itunes/receipt' 

# pass Base64 encoded raw receipt data which you received from your app 
receipt = Itunes::Receipt.verify! 'ewoJInNpZ25hdHVyZSIgPSAi...' 
receipt.product_id  # => 'com.example.products.100gems' 
receipt.transaction_id # => '1234567890'