verifyReceipt method
Implementation
Future<Map<String, dynamic>> verifyReceipt(String receiptData, {bool isSandbox = true}) async {
final url = isSandbox
? 'https://sandbox.itunes.apple.com/verifyReceipt'
: 'https://buy.itunes.apple.com/verifyReceipt';
final payload = jsonEncode({
"receipt-data": receiptData,
"password": sharedSecret, // App-Specific Shared Secret from App Store Connect
"exclude-old-transactions": true
});
final response = await http.post(
Uri.parse(url),
body: payload,
headers: {"Content-Type": "application/json"},
);
if (response.statusCode == 200) {
return jsonDecode(response.body);
} else {
throw Exception("Failed to verify receipt: ${response.body}");
}
}