Hello,
I’m encountering an issue with Apple Wallet orders. Every time I send an order file to my iPhone, I get the error message: “Error reading order file.”
Steps Taken:
1. Order File Structure:
• I created an order.json file with the minimal required fields, including:
• Order Type Identifier (created on the Apple Developer portal)
• Merchant Identifier: (created on the Apple Developer portal)
• Status: open
• Other necessary fields, such as authenticationToken, createdAt, updatedAt, and payment.
2. Manifest and Signature:
• A manifest.json file was generated with the SHA-256 hash for each file (e.g., order.json, images).
• The manifest was signed using my Apple developer certificates:
• Signer Certificate: signerCert.pem
• Signer Key: signerKey.pem
• WWDR Certificate: wwdr.pem
• Verification of the manifest and signature was done using OpenSSL:
• Command used: openssl smime -verify -in signature -inform DER -content manifest.json -noverify
• The verification was successful, but the iPhone still returns the error.
3. File Packaging:
• The final package includes the following files:
• order.json
• Images (e.g., gardenya_logo.png)
• manifest.json
• signature
• The files were packaged into a .order file (renamed from .zip).
4. Apple WWDR Certificate:
• I used Apple WWDR MP CA 1 - G1 for signing the package.
Issue:
Despite following all steps in the Apple documentation, the order file cannot be read by the iPhone, and the error message displayed is “Error reading order file.”
Additional Information:
• Manifest and Signature: Both files have been validated and match the package contents.
• Apple Developer Certificates: Used valid Apple Developer certificates.
• Order Schema: The order.json file follows Apple’s schema for orders.
Could you please provide guidance on resolving this issue? Any suggestions on what could be causing the error, or additional steps to check, would be greatly appreciated.
Thank you for your support!
Post
Replies
Boosts
Views
Activity
Error in iOS Wallet Order When Removing Deprecated status Property from Payment Object in order.json
I am encountering an issue related to the status property within the payment object of the order.json file when opening an order in the iOS Wallet.
According to the official documentation, the status property in the payment object is marked as deprecated. Based on this information, I removed the status property from the order.json. However, when I attempt to open the order in the iOS Wallet app, an error occurs, preventing the order from being opened.
This creates confusion, as the documentation implies that the status property in the payment object is no longer required. However, the iOS Wallet app seems to still rely on the presence of this property or encounters an error when it’s missing.
Tested on IOS 17.6.1 & IOS 18