Nuget Packages Information
Describes strongly-type representation of Apple Receipt Object.
Apple Documentation
Link to package
Version
Downloads
(Package manager): Install-Package Apple.Receipt.Models
(.Net CI): dotnet add package Apple.Receipt.Models
(Packet CLI): paket add Apple.Receipt.Models
Parser for Apple Receipt that represented in base64 and encoded with ASN.1
Anatomy of a Receipt payload encoded with ASN.1
Link to package
Version
Downloads
(Package manager): Install-Package Apple.Receipt.Parser
(.Net CI): dotnet add package Apple.Receipt.Parser
(Packet CLI): paket add Apple.Receipt.Parser
// Register DI services...
services. RegisterAppleReceiptParser ( ) ;
...
// ... and resolve the service later.
IAppleReceiptParserService parserService ;
...
// Get your base64 Apple Receipt
const string appleAppReceipt = " {receipt_base64_string}" ;
// Convert to Bytes
byte [ ] data = Convert. FromBase64String ( appleAppReceipt) ;
// Get parsed receipt
AppleAppReceipt receipt = parserService. GetAppleReceiptFromBytes ( data) ;
Apple Receipt Verificator
Apple Receipt Validator using Apple App Store.
Two step verification: pre-validation that can be customized and App Store verification.
Apple Receipt Validation with App Store documentation
Link to package
Version
Downloads
(Package manager): Install-Package Apple.Receipt.Verificator
(.Net CI): dotnet add package Apple.Receipt.Verificator
(Packet CLI): paket add Apple.Receipt.Verificator
// (Optional) You can create implementation of custom validation process:
services. AddScoped < IAppleReceiptCustomVerificatorService , AppleReceiptCustomVerificatorService > ( ) ;
...
// Fill settings:
services. RegisterAppleReceiptVerificator ( x =>
{
x. VerifyReceiptSharedSecret = " XXXX" ; // Apple Shared Secret Key
x. VerificationType = AppleReceiptVerificationType. Sandbox; // Verification Type: Sandbox / Production
x. AllowedBundleIds = new [ ] { " com.mbaasy.ios.demo" } ; // Array with allowed bundle ids
} ) ;
...
// ... and resolve the service later.
IAppleReceiptVerificatorService verificator ;
...
AppleReceiptVerificationResult verificationResult = await verificator. VerifyAppleReceiptAsync ( appleAppReceipt) ;
// OBSOLETE USAGE (Just for Backward Compatibity):
var verificationStatus = verificationResult. Status;
var verificationReceipt = verificationResult. Receipt;
var verificationMessage = verificationResult. Message;
// USAGE (Full Apple Response Info):
var verificationStatus = verificationResult. AppleVerificationResponse. StatusCode;
var verificationReceipt = verificationResult. AppleVerificationResponse. Receipt;
var verificationLatestReceiptInfo = verificationResult. AppleVerificationResponse. LatestReceiptInfo;
var verificationPendingRenewalInfo = verificationResult. AppleVerificationResponse. PendingRenewalInfo;
var verificationMessage = verificationResult. Message;