Need help setting up Apple Subscriptions

Remote Full-time
Good day. We have a product that’s been working with legacy Apple in-app purchase subscriptions APIs. We decided to finally upgrade it to the webhook-based approach. Unfortunately, our developers, seemingly making it all correct on both Swift and PHP side, can't get it to work together. Back-end does not become aware when the subscription starts.

We need a team of Swift + PHP developers who know exactly how it is done to make it work. YOU HAVE TO HAVE EXPERIENCE SETTING IT UP BEFORE. We will only agree to the fixed payment which will be paid only if the subscriptions work properly.

Our developers have made the majority of work, but missed something in the setup. So there is a chance it’s gonna be just debugging work, rather than writing the full thing.

Technical details

We have 1 app with 2 apps inside for MacOS and iOS

2 Subscription plans (monthly and yearly)

Both apps are written in Swift

Back-end is based on the Symfony framework. The version is pretty old, something like v5.4. We have clear instructions on how to spin it up on localhost.

Both our developers are available to respond to what was done.

Recap from developer of what’s done from the BE Side

1. api_v2_apple_notification (POST /api/v2/apple/notification)

------------------------------------------------------------

Purpose:

- Handles server-to-server notifications from Apple's App Store

- Processes subscription status changes, renewals, and other App Store events

Implementation Details:

1. Controller: AppleNotificationController

- Route: POST /api/v2/apple/notification

- Authentication: None (called by Apple's servers)

- Main Service: AppleNotificationHandler

2. Flow:

a. Request received from Apple's servers

b. AppleNotificationHandler processes the notification:

- Validates the notification payload

- Extracts notification type (e.g., INITIAL_BUY, DID_RENEW, etc.)

- Retrieves the user using the original transaction ID

- Updates subscription status based on notification type

- Logs all notification events for auditing

2. api_v2_apple_data (POST /api/v2/user/apple-data)

--------------------------------------------------

Purpose:

- Saves Apple's original transaction ID for a user

- Links Apple purchases to user accounts

- Triggers subscription processing

Implementation Details:

1. Controller: SaveAppleOriginalTransactionController

- Route: POST /api/v2/user/apple-data

- Authentication: Required (JWT token)

- Main Service: AppleSubscriptionService

2. Request Flow:

a. Client sends receipt data after App Store purchase

b. Server validates user authentication

c. Extracts original transaction ID from receipt

d. Creates/updates user's Apple data record

e. Processes subscription

3. Request Body:

"originalTransactionId": "string", // Apple's original transaction ID

"transactionId": "string" // Current transaction ID

4. Data Processing:

a. User Lookup:

- Gets authenticated user from JWT token

- Loads user's existing Apple data if any

b. Apple Data Management:

- Creates new UserAppleData entity if none exists

- Updates existing entity with new transaction ID

- Maintains relationship with user account

c. Subscription Processing:

- Calls AppleSubscriptionService

- Validates receipt with Apple's servers

- Updates user's subscription status

- Records transaction details

Apply Now

Apply Now
Apply Now →

Similar Jobs

Experienced Registered Behavior Technician for In-Home ABA Therapy - Atlanta, GA

Remote

Immediate Hiring: Experienced Registered Behavioral Technician (RBT) for Clinic-Based ABA Therapy Services

Remote

Experienced Registered Behavioral Technician (RBT) - ABA Therapy for Children with Autism Spectrum Disorder

Remote

Experienced Registered Nurse - Telehealth: Providing Remote Care Coordination and Patient Support

Remote

Experienced Substitute Teacher for Riverside County Schools - Join Scoot Education's Innovative Team

Remote

Experienced Substitute Teacher for San Bernardino County - Flexible Schedules & Competitive Pay

Remote

Experienced School Year Instructional Coach for High-Dosage Tutoring Programs in Edgewater Park, NJ

Remote

Experienced School Year Tutor for K-8 Students in Math and Literacy - Mickleton, NJ

Remote

Experienced Secondary Social Studies Teacher for Kansas - Flexible Hybrid Remote Arrangement

Remote

USPS Office Helper

Remote

Sourcer/Researcher 1-4

Remote

Regulatory and Site Start Up Specialist

Remote

Front Desk Receptionist - Remote | WFH

Remote

Sr. Coding Compliance Educator

Remote

OVERNIGHT Crisis Support Specialist - Maine Crisis Line - full time, remote optional (in ME)

Remote

OLLI Midlife Transition Course Developer/Instructor

Remote

NVIDIA 2026 Internships: Hardware Engineering - US

Remote

**Experienced Part-time Remote Customer Service Representative – Flexible Work from Home Opportunities with blithequark**

Remote

[Remote] Product operation manager

Remote

Sales Development Representative - Chicago, IL

Remote
← Back