Apple Developer Program

RSS for tag

Create and deliver software for users around the world on Apple platforms using the the tools, resources, and support included with Apple Developer Program membership.

Apple Developer Program Documentation

Posts under Apple Developer Program subtopic

Post

Replies

Boosts

Views

Activity

Apple Developer Enrollment – “Unable to Send Information” Error & Poor Support
Hi everyone, I’m trying to enroll in the Apple Developer Program, but every time I scan my ID, I get this error: “Unable to Send Information – Your information could not be sent due to a connection error.” I’ve tried different networks, devices, and browsers. I also asked several friends—both inside and outside the country—to try, and they all faced the same issue. I contacted Apple Developer Support, but the experience was frustrating: • Long wait times on the phone • No real solutions beyond basic troubleshooting • No explanation for the issue—just “Everything looks fine on our end.” This seems like a widespread issue. Has anyone found a fix? Also, Apple really needs to improve their Developer Support.
2
2
241
Feb ’25
Payment problems
I've been contacting Apple Developer support since last Friday because I am trying to open an individual apple developer account. I have opened 2 or 3 tickets and tried paying the $99 fee 2 times, 2 times I wasn't charged at all. I haven't got any reply to the support tickets and I don't know what to do... my request id 102537013023
2
1
247
Feb ’25
Changing Developer Account type from Organization (Business) to Individual
I have just started the process of closing down my limited company and would like to change my Apple Developer ID account type from Business (Organization) to Individual to release my apps under my own name. I was planning on releasing software in the App Store under my limited company, but I encountered an issue (https://developer.apple.com/forums/thread/759605) that has blocked the development for almost a year and Apple has never bothered to fix the issue. This has forced me to close down the company. I have decided I will be releasing the software as an open source project. All I want now is to be able to sign the software using my regular, personal Apple Account ID. However, my Apple Account is currently tied to my company's Organization Developer Account. It is registered as a business with business accounts, the App Store Connect agreements are signed by my company, and everything else on my Developer profile is tied to that company. I do not see the option to close down the company/business account. The only relevant post I found online was here: https://developer.apple.com/forums/thread/702447 Unfortunately, people mention in the comments that the workaround does not actually work. I have tried reaching Developer Support but had no response via email, and I cannot schedule a call back via the Support page because I cannot verify my overseas phone number. Seems like I have a really tough luck with Apple Developer ecosystem... Has anyone ever managed to do this? Any help much appreciated!
2
0
283
Feb ’25
Can’t renew apple developer membership
my apple dev membership expired, I can’t change anything so I went to support, case number 102637543521. They said it’s because I moved to a different country. I emailed them my proof of address then they stopped replying. Then I tried to start new support requests but nothing came back, I think I might be flagged by the system. i need the membership to publish apps pls help
2
0
75
Jul ’25
"Contact Us to Continue"
Hey, Everyone. I am new to Apple Developer and want to enroll in the program to publish my app in the AppStore. I logged into my personal Apple account on the developer app and tried to enroll but I got the error message: "There may be an issue with your account that needs to be resolved before you can continue. Please contact support." I click on the contact support button and I explain the situation. The developer support team gets back to me telling me that I need to turn on "twofactor authentication" I've had this on the entire time, but I check settings and remove it and turn it back on. After this I tried enrolling again but got the same error message. I've contacted support again explaining the situation but I've not gotten a response yet. My question is, Has anyone else encountered this problem? and if so, How did you solve it? Thanks in advance, Lars A
2
0
639
Jan ’25
Compliance control
Hello, it's been about a month since I haven't had access to the application part of my App Store Connect account. When I try to access it, I'm asked to provide my documents, which is what I naturally did, but each time there are errors that come out and when I contacted Apple about these errors, they asked me to clear the cache of my connection browser and try again, which is what I naturally did, but the same error persists. Then they asked me to send them the "har" file from my Safari browser, which is what I did, then a few days later they made me understand that the problem is resolved. I went to check and I saw that the problem is still not resolved. I finished the cache and the problem is still not resolved, so I tried with other browsers, it's the same problem. I tried with other devices too, it's the same problem, so I contacted them again to tell them that the problem is still not resolved and from him since then no answers. If someone can help me please
2
0
146
Jun ’25
Sign in with apple get invalid_client error
Problem I’m trying to implement Sign in with Apple in my application. However, when my app redirects to the Apple authorization page at: https://appleid.apple.com/auth/authorize I get an invalid_client error with no further explanation. Settings I followed this article closely: [https://developer.okta.com/blog/2019/06/04/what-the-heck-is-sign-in-with-apple#generate-the-client-secret] Steps I have completed: Created an App ID and a Service ID on Apple Developer Portal. Enabled “Sign in with Apple” for both the App ID and the Service ID. Added my domain and callback URL to the Service ID configuration. (I'm using ngrok to proxy my localhost during development.) Linked an existing private key with “Sign in with Apple” capability. My identifiers: Service ID is used as client_id Team ID is taken from the top right of the Apple Developer dashboard Key ID is from the private key associated with the App Environment My backend is built with Laravel, and I'm using the [SocialiteProvider/Apple][https://socialiteproviders.com/Apple/#installation-basic-usage] library to handle the OAuth flow. I followed the recommended method to generate a client secret (JWT) for each request, using this blog post: [https://bannister.me/blog/generating-a-client-secret-for-sign-in-with-apple-on-each-request] My .env configuration looks like this: APPLE_CLIENT_ID=com.service.paxton.stockApp APPLE_TEAM_ID=25729642DK APPLE_KEY_ID=JFP9Q53ZCY APPLE_PRIVATE_KEY=storage/AppleDev-AuthKey_JFP9Q53ZCY.p8 JWT Generation I also tested generating the JWT using the Ruby script from the Okta article: [https://developer.okta.com/blog/2019/06/04/what-the-heck-is-sign-in-with-apple#generate-the-client-secret] Here is the script I used: require 'jwt' key_file = './storage/AppleDev-AuthKey_JFP9Q53ZCY.p8' team_id = '25729642DK' client_id = 'com.service.paxton.stockObserve' key_id = 'JFP9Q53ZCY' ecdsa_key = OpenSSL::PKey::EC.new IO.read key_file headers = { 'kid' => key_id } claims = { 'iss' => team_id, 'iat' => Time.now.to_i, 'exp' => Time.now.to_i + 86400*180, 'aud' => 'https://appleid.apple.com', 'sub' => client_id, } token = JWT.encode claims, ecdsa_key, 'ES256', headers puts token This JWT validates correctly. I’ve also used Apple’s public key to verify the signature, and it passed. I verified the JWT header and payload format using this helpful article: [https://fluffy.es/how-to-solve-invalid_client-error-in-sign-in-with-apple/] Third-Party Testing To eliminate mistakes in my setup, I even tried a third-party tool featured in this YouTube video: [https://youtu.be/8v01TaX1EJA?si=0jOBGBVk0R0zbmdo] Unfortunately, the result was the same — invalid_client. Question I’ve double-checked everything I can think of: keys, claims, domain whitelist, identifiers. I even verified the JWT independently. If anyone (especially someone from Apple) can help identify the missing piece, I would be truly grateful.
2
3
173
Jun ’25
Charged Twice for Apple Developer Program – Same iCloud, Can I Get a Refund?
Hi everyone, I’m posting this to ask for advice and see if anyone has experienced a similar issue with the Apple Developer Program subscription. On July 9th, 2025, I registered for the Apple Developer Program via the Apple Developer app on my iPhone using my main iCloud account (Apple ID). The expected annual fee was 2,299,000 VND (~$99). However, I just checked my billing history and saw that I was charged twice for the same subscription, both under the same Apple ID / iCloud account, on the same day. Key Details: I only enrolled once. Both charges are labeled “Apple Developer Program”, exactly the same amount (2,299,000 ₫). The payments were made through the App Store, not via the website. My account on developer.apple.com/account still shows “Enroll Now” — meaning I haven't been activated yet. I have not received any welcome email either. My questions: Is it possible to request a refund for one of the charges, since both payments came from the same iCloud account and clearly refer to the same subscription? Has anyone else encountered this issue? How long did it take Apple to respond? Was your refund request approved? Should I wait for Apple to activate my account, or should I escalate the issue now? I’ve already submitted a refund request through https://reportaproblem.apple.com, but I’m posting here in case someone has more experience or insights. Thanks in advance!
2
1
198
3w
Apple Development Enrollment Payment
Hi, Yesterday I enrolled in the Apple Developer Program through the app (like the website said) and it seemed to work fine. I went through everything in the app and then I had to pay for the service, so I did. (the invoice says Apple Developer Program (Automatic Renewal): $96.99 + VAT). I can see this transaction on my bank statement as well. After finishing the the Developer app said "Wait for an email" or something similar for a day until now it says "Enrollment through the apple developer app is not available for this apple account". I found this odd so I logged in to my account in a browser (on a PC) to see what's up and there it still says if I click my name "Pending". The weird thing is that there is this banner that says "Purchase your membership." and a link to complete my purchase??? As if I did not purchase it yesterday. So in desperation I decided to see what's up and went through this process on my PC now and it took down my order and I got a prompt in the browser to wait 2 days (48 hours). Will I get charged twice? Also this time it prompted the price: $99.
2
0
305
Feb ’25
Apple pay processing payment fail
Hey, I am trying to implement the apple pay process pay backend service, I have checked everything and somehow it fails. I only have 1 certificate for merchant and 1 for the apple pay process, I have the private keys and try to run this following code that fails - import crypto from 'crypto'; import fs from 'fs'; import forge from 'node-forge'; const MERCHANT_ID_FIELD_OID = '1.2.840.113635.100.6.32'; function decryptedToken() { const token = ""; const ephemeralPublicKey = ""; const encryptedData = ""; //=================================== // Import certs //=================================== const epk = Buffer.from(ephemeralPublicKey, 'base64'); const merchantCert = fs.readFileSync('merchant_full.pem', 'utf8') const paymentProcessorCert = fs.readFileSync("apple_pay_private.pem"); //=================================== let symmetricKey = ''; try { symmetricKey = restoreSymmetricKey(epk, merchantCert, paymentProcessorCert); } catch (err) { throw new Error(`Restore symmetric key failed: ${err.message}`); } try { //----------------------------------- // Use the symmetric key to decrypt the value of the data key //----------------------------------- const decrypted = JSON.parse(decryptCiphertextFunc(symmetricKey, encryptedData)); console.log("Decrypted Token:", decrypted); // const preppedToken = prepTabaPayToken(token, decrypted) //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // Send decrypted token back to frontend //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // res.send(preppedToken); } catch (err) { throw new Error(`Decrypt cipher data failed: ${err.message}`); } } // extractMerchantID - const extractMerchantID = (merchantCert) => { //=================================== // Extract merchant identification from public key certificate //=================================== try { const info = forge.pki.certificateFromPem(merchantCert); const result = info['extensions'].filter(d => d.id === MERCHANT_ID_FIELD_OID); //----------------------------------- // Return //----------------------------------- return result[0].value.toString().substring(2); } catch (err) { throw new Error(Unable to extract merchant ID from certificate: ${err}); } } // generateSharedSecret - const generateSharedSecret = (merchantPrivateKey, ephemeralPublicKey) => { //=================================== // Use private key from payment processing certificate and the ephemeral public key to generate // the shared secret using Elliptic Curve Diffie*Hellman (ECDH) //=================================== const privateKey = crypto.createPrivateKey({ key: merchantPrivateKey, format: "pem", type: "sec1", // because it's "EC PRIVATE KEY" }); const publicKey = crypto.createPublicKey({ key: ephemeralPublicKey, format: 'der', type: 'spki' }); //----------------------------------- // Return //----------------------------------- return crypto.diffieHellman({privateKey,publicKey: publicKey,}); //----------------------------------- } // getSymmetricKey - const getSymmetricKey = (merchantId, sharedSecret) => { //=================================== // Get KDF_Info as defined from Apple Pay documentation //=================================== const KDF_ALGORITHM = '\x0didaes256GCM'; const KDF_PARTY_V = Buffer.from(merchantId, 'hex').toString('binary'); const KDF_PARTY_U = 'Apple'; const KDF_INFO = KDF_ALGORITHM + KDF_PARTY_U + KDF_PARTY_V; //----------------------------------- // Create hash //----------------------------------- const hash = crypto.createHash('sha256'); hash.update(Buffer.from('000000', 'hex')); hash.update(Buffer.from('01', 'hex')); hash.update(Buffer.from(sharedSecret, 'hex')); hash.update(KDF_INFO, 'binary'); //----------------------------------- // Return //----------------------------------- return hash.digest('hex'); //----------------------------------- } // restoreSymmetricKey - const restoreSymmetricKey = (ephemeralPublicKey, merchantCert, paymentProcessorCert) => { //=================================== // 3.a Use the payment processor private key and the ephemeral public key, to generate the shared secret //=================================== const sharedSecret = generateSharedSecret(paymentProcessorCert, ephemeralPublicKey); //----------------------------------- // 3.b Use the merchant identifier of the public key certificate and the shared secret, to derive the symmetric key //----------------------------------- const merchantId = extractMerchantID(merchantCert); //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // Return //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ console.log("Merchant ID:", merchantId); console.log("Shared Secret (hex):", sharedSecret); return getSymmetricKey(merchantId, sharedSecret); //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ } // decryptCiphertextFunc - const decryptCiphertextFunc = (symmetricKey, encryptedData) => { console.log("🔑 Decrypting Ciphertext with Symmetric Key:", symmetricKey); //=================================== // Get symmetric key and initialization vector //=================================== const buf = Buffer.from(encryptedData, 'base64'); const SYMMETRIC_KEY = Buffer.from(symmetricKey, 'hex'); const IV = Buffer.from([0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]); // Initialization vector of 16 null bytes const CIPHERTEXT = buf.slice(0, -16); //----------------------------------- // Create and return a Decipher object that uses the given algorithm and password (key) //----------------------------------- const decipher = crypto.createDecipheriv("aes-256-gcm", SYMMETRIC_KEY, IV); const tag = buf.slice(-16, buf.length); decipher.setAuthTag(tag); //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // Load encrypted token into Decipher object //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ let decrypted = decipher.update(CIPHERTEXT); console.log("🔑 Decrypted Data"); decrypted += decipher.final(); //::::::::::::::::::::::::::::::::::: // Return //::::::::::::::::::::::::::::::::::: return decrypted; //::::::::::::::::::::::::::::::::::: } decryptedToken();
2
0
80
Sep ’25