iOS Package Endpoints
This documentation covers the endpoints for managing iOS in-app purchase packages, including retrieving available packages and their details.
List All Packages
Retrieve a list of all active packages available for iOS in-app purchases.
Endpoint
GET /v1/mobile/ios/packages
Authentication
Requires customer authentication token.
Response
Success Response
{
"success": true,
"message": "تم جلب البيانات بنجاح.",
"data": [
{
"id": "0dd582c0-0483-11f0-a919-511140639ac1",
"name": "Package 1",
"description": "This is a test package description for package 1",
"price": "283.00",
"credits": 486,
"priority": 1,
"iap_product_id": "com.lms.package_1",
"is_active": true
},
{
"id": "0e51cdd0-0483-11f0-bb7a-eb13f91a9b83",
"name": "Package 2",
"description": "This is a test package description for package 2",
"price": "226.00",
"credits": 732,
"priority": 2,
"iap_product_id": "com.lms.package_2",
"is_active": true
},
{
"id": "0e525a20-0483-11f0-bb92-6b5cc2019a24",
"name": "Package 3",
"description": "This is a test package description for package 3",
"price": "277.00",
"credits": 902,
"priority": 3,
"iap_product_id": "com.lms.package_3",
"is_active": true
},
{
"id": "0e578980-0483-11f0-878c-d14eabca088f",
"name": "Package 4",
"description": "This is a test package description for package 4",
"price": "124.00",
"credits": 927,
"priority": 4,
"iap_product_id": "com.lms.package_4",
"is_active": true
},
{
"id": "0e5b3850-0483-11f0-b569-8d97d373e51a",
"name": "Package 5",
"description": "This is a test package description for package 5",
"price": "302.00",
"credits": 500,
"priority": 5,
"iap_product_id": "com.lms.package_5",
"is_active": true
}
],
"status_code": 200
}
Example Implementation Flow
-
Package Listing and Selection
- Mobile app sends request to
/v1/mobile/ios/packages - App displays available packages with prices and credits
- User selects a package to purchase
- Mobile app sends request to
-
Initiating Purchase
- App uses the selected package's
iap_product_idto initiate the purchase through StoreKit - StoreKit handles the payment process and user authentication
- After successful payment, StoreKit provides a purchase receipt
- App uses the selected package's
-
Purchase Validation
- App sends the purchase receipt to backend for validation
- Backend verifies the receipt with Apple's servers
- Upon successful validation, credits are added to user's account
Key Considerations
- The
iap_product_idmust match the product identifier configured in App Store Connect - Implement proper error handling for failed purchases and network issues
- Cache package information locally for offline display
- Handle receipt validation retries in case of network failures
- Implement restore purchases functionality using stored receipts