Skip to main content

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

  1. 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
  2. Initiating Purchase

    • App uses the selected package's iap_product_id to initiate the purchase through StoreKit
    • StoreKit handles the payment process and user authentication
    • After successful payment, StoreKit provides a purchase receipt
  3. 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_id must 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