2014-04-09 24 views
6

Dodałem aplikację IAP do aplikacji Mac Appstore. Nie jestem w stanie poprawnie sprawdzić serwera po stronie odbioru. Czytam otrzymanie użyciu tego kodu:Sprawdzanie poprawności strony serwera pokwitowań dla aplikacji Mac App Store

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

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

jestem następnie przesłanie danych do mojego serwera, który z kolei zapytuje https://buy.itunes.apple.com/verifyReceipt aby sprawdzić, czy paragon jest ważny. Zawsze staram się z nieważnym pokwitowaniem, co próbuję. Próbowałem również użyć gem Venice, który ma ten sam problem, gdy dostarczam mu mój plik pokwitowań jako zwykły tekst lub zakodowany przy użyciu narzędzia wiersza poleceń base64. Ale jednocześnie kończy się niepowodzeniem z dowolnym plikiem potwierdzenia, który wypróbuję ze wszystkich moich aplikacji w /Applications.

Czy ktoś pomyślnie zaimplementował sprawdzanie paragonu w sklepie Mac App Store?

Odpowiedz

3

Po zbadaniu tego dużo więcej końcu znalazłem klejnot, który współpracuje z wpływów z Mac App Store: 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' 
Powiązane problemy