App Transfer App Store Connect báo không đủ điều kiện: 6 nhóm nguyên nhân và cách xử lý dứt điểm

2026-08-11 18 phút đọc 0 lượt xemBởi Uwmee Software

Bạn đã đọc hướng dẫn Transfer App trên App Store Connect, làm đúng từng bước, nhưng tới màn hình kiểm tra điều kiện thì một vài dòng hiện dấu đỏ và nút đi tiếp bị khóa. Hoặc tệ hơn, liên kết Transfer App không hề xuất hiện trong trang thông tin ứng dụng.

Bài viết này không lặp lại quy trình chuyển giao. Nó tập trung vào đúng một việc: giải mã từng dòng điều kiện bị đỏ, chỉ ra nguyên nhân kỹ thuật phía sau và cách gỡ. Kèm theo đó là phần quan trọng không kém mà rất ít người chuẩn bị trước: danh sách những thứ không đi theo ứng dụng sau khi chuyển, nguyên nhân gây ra hàng loạt sự cố sau ngày bàn giao.

1. Hiểu đúng bản chất bảng Criteria

Bảng điều kiện mà App Store Connect hiển thị là kết quả của một loạt phép kiểm tra tự động chạy trên hồ sơ ứng dụng và trên tài khoản nhà phát triển. Ba đặc điểm cần nắm:

  • Kiểm tra chạy tại thời điểm bạn mở màn hình. Sửa xong lỗi thì phải tải lại trang, kết quả không tự cập nhật.
  • Một số phép kiểm tra có độ trễ. Sau khi bạn tắt một dịch vụ hoặc rút một quyền, hệ thống có thể mất vài giờ tới một ngày để nhận ra thay đổi.
  • Bảng chỉ nói cái gì sai, không nói vì sao sai. Đó là lý do bài viết này tồn tại.

Nguyên tắc chung nằm sau mọi điều kiện: Apple chỉ cho phép chuyển những tài nguyên thuộc riêng ứng dụng đó. Bất cứ thứ gì được chia sẻ giữa nhiều ứng dụng trong cùng tài khoản, hoặc gắn chặt vào định danh của đội phát triển, đều là vật cản. Nắm nguyên tắc này là bạn tự đoán được phần lớn các dòng đỏ.

2. Không thấy liên kết Transfer App ở đâu cả

Trước khi bàn tới bảng điều kiện, hãy loại trừ ba tình huống khiến liên kết không xuất hiện:

Tình huốngDấu hiệuXử lý
Sai vai trò tài khoảnĐăng nhập bằng tài khoản có vai trò App Manager hoặc DeveloperChỉ chủ tài khoản mới khởi tạo được yêu cầu chuyển giao, hãy đăng nhập bằng đúng tài khoản đó
Ứng dụng chưa từng phát hànhApp đang ở trạng thái chuẩn bị nộp, chưa có bản nào lên App StorePhải có ít nhất một phiên bản đã từng phát hành, app chưa từng lên chợ thì không chuyển được, chỉ có thể tạo lại ở tài khoản mới
Loại tài khoản không hỗ trợTài khoản thuộc chương trình dành cho doanh nghiệp phân phối nội bộKhông có cơ chế chuyển giao cho loại tài khoản này

3. Nhóm nguyên nhân 1: hợp đồng và thuế chưa sẵn sàng

Đây là nhóm chiếm tỉ lệ cao nhất và cũng dễ xử lý nhất, nhưng thường bị kẹt vì phụ thuộc vào bên nhận chứ không phải bên chuyển.

Điều kiệnÝ nghĩaCách gỡ
Cả hai bên phải chấp nhận thỏa thuận mới nhấtApple cập nhật thỏa thuận nhiều lần mỗi năm, bên nào chưa bấm đồng ý là bảng đỏVào mục Agreements, Tax, and Banking, chấp nhận mọi thỏa thuận đang chờ ở cả hai tài khoản
Bên nhận phải có hợp đồng ứng dụng trả phí còn hiệu lựcÁp dụng khi ứng dụng có giá bán hoặc có mua hàng trong ứng dụngBên nhận phải hoàn tất khai báo thuế và thông tin ngân hàng, không chỉ bấm đồng ý là xong
Cả hai tài khoản phải đang hoạt động, đã đóng phí thành viênTài khoản hết hạn hoặc đang chờ gia hạn sẽ chặn mọi thao tácGia hạn và chờ hệ thống ghi nhận trạng thái hoạt động
Tài khoản bên nhận không đang bị hạn chếTài khoản đang trong diện xem xét hoặc bị treoXử lý dứt điểm với bộ phận hỗ trợ trước, xem thêm bài xử lý tài khoản Apple Developer bị treo

Kinh nghiệm thực tế: nếu bên nhận là tài khoản vừa đăng ký xong, hãy dành trọn một tuần cho riêng phần hồ sơ thuế và ngân hàng trước khi nghĩ tới chuyện chuyển giao. Quy trình đăng ký đầy đủ nằm ở bài đăng ký tài khoản Apple Developer và xin mã D-U-N-S.

4. Nhóm nguyên nhân 2: tài nguyên dùng chung giữa nhiều ứng dụng

Đây là nhóm khó nhất, vì cách gỡ thường đòi hỏi sửa mã nguồn và phát hành một phiên bản mới. Nguyên lý đã nói ở mục 1: thứ gì gắn với đội phát triển hoặc chia sẻ giữa nhiều ứng dụng thì không chuyển được.

Tài nguyênVì sao chặnHướng xử lý
Vùng lưu trữ iCloudVùng chứa dữ liệu iCloud thuộc về tài khoản nhà phát triển, không thuộc về ứng dụng, và dữ liệu người dùng bên trong không thể chuyển giaoGỡ quyền iCloud khỏi hồ sơ định danh ứng dụng và phát hành bản mới. Đây là quyết định lớn vì đồng nghĩa với việc bỏ dữ liệu đồng bộ của người dùng cũ, cần lên kế hoạch di trú dữ liệu sang máy chủ riêng trước
Nhóm ứng dụng dùng chung bộ nhớNhóm này cho phép nhiều ứng dụng trong cùng tài khoản chia sẻ dữ liệu, nên nó gắn với tài khoảnNếu ứng dụng chuyển đi là ứng dụng duy nhất dùng nhóm đó, hãy gỡ nhóm ra khỏi hồ sơ. Nếu nó dùng chung với ứng dụng khác đang giữ lại, phải tách kiến trúc trước, ví dụ tiện ích mở rộng cần đọc dữ liệu chung
Định danh người bán cho thanh toán không tiếp xúcĐịnh danh này thuộc tài khoảnBên nhận tạo định danh mới, ứng dụng phải cập nhật cấu hình và phát hành bản mới
Định danh thẻ trong ví điện tửTương tự, gắn với tài khoảnBên nhận tạo lại và phát hành bản mới
Hồ sơ định danh dùng ký tự thay thếMột hồ sơ định danh dạng bao trùm phục vụ nhiều ứng dụng nên không thể tách riêngBắt buộc chuyển sang hồ sơ định danh riêng cho từng ứng dụng

Điểm cần cảnh báo cho bên mua ứng dụng: nếu ứng dụng đang dùng iCloud để đồng bộ dữ liệu người dùng, việc gỡ quyền này ra không phải thao tác kỹ thuật đơn thuần mà là mất toàn bộ dữ liệu đồng bộ của người dùng hiện hữu. Đây là hạng mục phải đưa vào định giá và vào lịch trình, không phải phát hiện sau khi đã trả tiền.

5. Nhóm nguyên nhân 3: Sign in with Apple và bài toán mất tài khoản người dùng

Đây là phần tinh vi nhất và cũng là phần gây thiệt hại nặng nhất nếu làm sai. Mã định danh người dùng mà Apple trả về cho ứng dụng khi đăng nhập không phải là một giá trị toàn cầu, nó được sinh ra theo từng đội phát triển. Cùng một người dùng, cùng một ứng dụng, nhưng khi ứng dụng đổi chủ thì mã định danh do Apple cấp sẽ khác đi.

Hậu quả nếu bỏ qua bước xử lý: sau ngày chuyển giao, toàn bộ người dùng từng đăng nhập bằng Apple sẽ bị máy chủ của bạn coi là người mới. Họ mất lịch sử, mất gói thuê bao, mất dữ liệu. Đây không phải lỗi có thể sửa bằng một bản cập nhật vá lỗi.

Apple có cung cấp cơ chế chuyển đổi mã định danh cho tình huống này. Quy trình gồm hai giai đoạn và cả hai bên đều phải tham gia:

  1. Trước và trong quá trình chuyển: bên chuyển gọi dịch vụ của Apple để đổi từng mã định danh người dùng hiện có sang một mã trung gian gắn với đội phát triển bên nhận.
  2. Sau khi chuyển hoàn tất: bên nhận gọi tiếp dịch vụ để đổi mã trung gian đó thành mã định danh chính thức trong không gian định danh của mình, rồi cập nhật vào cơ sở dữ liệu người dùng.
# Giai đoạn 1: bên chuyển đổi mã người dùng sang mã trung gian
curl -X POST "https://appleid.apple.com/auth/usermigrationinfo" \
  -H "Content-Type: application/x-www-form-urlencoded" \
  -d "user=001234.abcdef1234567890.1234" \
  -d "target=RECIPIENT_TEAM_ID" \
  -d "client_id=com.example.app" \
  -d "client_secret=YOUR_CLIENT_SECRET"

Bốn lưu ý sống còn về quy trình này:

  • Có cửa sổ thời gian. Mã trung gian chỉ đổi được trong một khoảng thời gian giới hạn quanh thời điểm chuyển giao. Bỏ lỡ là không lấy lại được. Hãy tra cứu mốc thời gian hiện hành trong tài liệu của Apple ngay khi lên kế hoạch, đừng để tới ngày chuyển mới đọc.
  • Phải chạy theo lô cho toàn bộ người dùng. Nếu cơ sở dữ liệu có hàng trăm nghìn tài khoản, hãy viết sẵn kịch bản chạy theo lô, có ghi nhật ký và có khả năng chạy lại từ điểm dừng.
  • Cả hai bên phải phối hợp đúng thứ tự. Bên chuyển làm xong giai đoạn một rồi bàn giao bảng ánh xạ cho bên nhận, kèm điều khoản bảo mật dữ liệu.
  • Dịch vụ chuyển tiếp thư điện tử ẩn danh cũng cần được cấu hình lại ở tài khoản bên nhận, nếu không thư gửi tới người dùng chọn ẩn địa chỉ sẽ bị chặn.

Nếu ứng dụng của bạn có tính năng đăng nhập bằng Apple và bên bán không nhắc gì tới việc này, đó là dấu hiệu rõ ràng rằng họ chưa từng làm chuyển giao nghiêm túc. Hãy đưa nó thành điều khoản trong hợp đồng mua bán.

6. Nhóm nguyên nhân 4: ứng dụng đang ở trạng thái bị kẹt

Nhóm này dễ gỡ nhất, chỉ cần kiên nhẫn dọn dẹp trạng thái:

Trạng thái đang kẹtCách gỡ
Có phiên bản đang chờ duyệt hoặc đang được duyệtRút bản nộp đó lại, chờ trạng thái trở về bình thường rồi mới chuyển
Có gói mua hàng trong ứng dụng đang chờ duyệtTương tự, phải dọn hết các mục đang chờ. Kiểm tra kỹ vì mục này nằm ở màn hình khác nên hay bị bỏ sót
Đang có đợt thử nghiệm bên ngoài chạy trên TestFlightDừng nhóm thử nghiệm bên ngoài và tắt liên kết công khai, xem bài tạo Public Link TestFlight để biết chỗ tắt
Phiên bản đang chờ nhà phát triển bấm phát hànhPhát hành hoặc hủy bản đó, không để treo lơ lửng
Đang có thay đổi giá theo lịch chưa tới ngày hiệu lựcHủy lịch đổi giá, đặt lại sau khi chuyển xong
Ứng dụng đang bị gỡ khỏi bán hàngĐưa trở lại trạng thái bán bình thường trước khi chuyển

7. Nhóm nguyên nhân 5: xung đột phía tài khoản nhận

Đôi khi lỗi không nằm ở ứng dụng mà nằm ở phía bên nhận:

  • Trùng tên ứng dụng. Tên hiển thị trên App Store phải là duy nhất trong toàn hệ thống. Nếu bên nhận đã đặt trước một hồ sơ trống mang cùng tên để giữ chỗ, hãy xóa hồ sơ đó đi trước.
  • Trùng hồ sơ định danh. Bên nhận không được có sẵn một hồ sơ định danh trùng với ứng dụng sắp chuyển tới, kể cả hồ sơ chưa dùng.
  • Chưa đủ vai trò để chấp nhận. Chỉ chủ tài khoản bên nhận mới bấm chấp nhận được yêu cầu.
  • Yêu cầu chuyển giao đã hết hạn. Yêu cầu có thời hạn chờ chấp nhận, quá hạn thì bên chuyển phải tạo lại từ đầu.

8. Những thứ KHÔNG đi theo ứng dụng sau khi chuyển

Phần này quan trọng ngang với việc vượt qua bảng điều kiện, vì đây là nguồn gốc của hầu hết sự cố xảy ra trong tuần đầu sau bàn giao. Hồ sơ định danh, lượt tải, đánh giá và người dùng thì đi theo ứng dụng. Nhóm dưới đây thì không:

Hạng mụcHệ quả nếu quênViệc phải làm
Khóa xác thực thông báo đẩyToàn bộ thông báo đẩy ngừng hoạt độngBên nhận tạo khóa mới và nạp lên máy chủ gửi thông báo, xem bài tích hợp thông báo đẩy APNs cho iOS với Firebase
Mã bí mật dùng chung để xác thực biên nhận mua hàngMáy chủ trả về mã lỗi báo mã bí mật không khớp, mọi giao dịch tự động gia hạn bị coi là không hợp lệ, người dùng trả tiền bị mất quyền dùng góiSinh mã mới ở tài khoản bên nhận và cập nhật vào máy chủ ngay trong ngày chuyển giao
Khóa truy cập dịch vụ máy chủ của App StoreDịch vụ đối soát giao dịch và thông báo máy chủ ngừng chạyTạo khóa mới ở tài khoản bên nhận
Địa chỉ nhận thông báo máy chủ về giao dịchKhông nhận được sự kiện hủy gói, gia hạn thất bại, hoàn tiềnKhai báo lại địa chỉ ở tài khoản mới, kiểm tra bằng môi trường thử nghiệm
Chứng chỉ và hồ sơ cấp phép ký ứng dụngKhông dựng được bản phát hành mớiBên nhận tạo bộ chứng chỉ mới trên tài khoản của mình
Người thử nghiệm và các bản dựng trên TestFlightMất toàn bộ danh sách người thử nghiệm đã gom đượcXuất danh sách địa chỉ thư điện tử ra trước khi chuyển, mời lại sau, xem bài phân biệt Internal và External Testing
Dữ liệu doanh thu và phân tích trước ngày chuyểnBên nhận không xem được lịch sử, gây khó khăn khi đối chiếu tài chínhBên chuyển xuất toàn bộ báo cáo ra file và bàn giao kèm hợp đồng
Cấu hình dựng ứng dụng trên hạ tầng của AppleQuy trình tích hợp liên tục đứngDựng lại cấu hình ở tài khoản mới
Mã khuyến mại đã phát hànhMã cũ có thể không còn dùng đượcThông báo trước cho các bên đối tác đang giữ mã

Trong bảng này, dòng nguy hiểm nhất là mã bí mật dùng chung để xác thực biên nhận mua hàng. Nó âm thầm làm gãy doanh thu chứ không báo lỗi ồn ào: ứng dụng vẫn chạy, người dùng vẫn mở được, chỉ có điều máy chủ của bạn coi mọi biên nhận là không hợp lệ và thu hồi quyền dùng gói của người đã trả tiền. Nếu bạn dùng nền tảng trung gian để quản lý mua hàng trong ứng dụng, hãy cập nhật mã bí mật ngay trên bảng điều khiển của nền tảng đó, xem bài tích hợp In-App Purchase với RevenueCat.

9. Kịch bản diễn tập trước ngày chuyển giao

Với ứng dụng có doanh thu, đừng chuyển vào ngày làm việc bận rộn. Hãy chuẩn bị theo thứ tự sau:

  1. Chọn khung giờ thấp điểm, thường là đêm chủ nhật theo múi giờ của thị trường chính.
  2. Chuẩn bị sẵn ở tài khoản bên nhận: khóa thông báo đẩy, khóa dịch vụ máy chủ, mã bí mật xác thực biên nhận. Chưa dùng nhưng đã có trong tay.
  3. Viết sẵn kịch bản cập nhật cấu hình máy chủ, chỉ chờ tới giờ là chạy, không sửa tay lúc đang gấp.
  4. Chạy giai đoạn một của quy trình chuyển mã định danh người dùng nếu ứng dụng có đăng nhập bằng Apple.
  5. Xuất toàn bộ báo cáo doanh thu, danh sách người thử nghiệm, ảnh chụp màn hình cấu hình gói thuê bao.
  6. Gửi yêu cầu chuyển, bên nhận chấp nhận ngay trong khung giờ đã hẹn.
  7. Ngay khi hệ thống báo hoàn tất, chạy kịch bản cập nhật khóa và mã bí mật.
  8. Kiểm tra thật một giao dịch mua trên môi trường thử nghiệm, xem bài test In-App Purchase với tài khoản Sandbox.
  9. Gửi thử một thông báo đẩy tới thiết bị thật.
  10. Theo dõi tỉ lệ lỗi xác thực biên nhận trên máy chủ trong hai mươi bốn giờ đầu.

10. Bảng đối chiếu nhanh dấu hiệu và nguyên nhân

Dấu hiệu bạn nhìn thấyNguyên nhân khả dĩ nhất
Không thấy liên kết Transfer AppSai vai trò tài khoản, hoặc ứng dụng chưa từng phát hành, xem mục 2
Dòng đỏ liên quan tới thỏa thuậnMột trong hai bên chưa chấp nhận thỏa thuận mới nhất, xem mục 3
Dòng đỏ liên quan tới dịch vụ hoặc quyền của ứng dụngỨng dụng đang dùng tài nguyên gắn với tài khoản, xem mục 4
Dòng đỏ liên quan tới trạng thái phiên bảnCòn bản nộp hoặc gói mua hàng đang chờ duyệt, xem mục 6
Bên nhận không thấy yêu cầu chuyển giaoGõ sai địa chỉ thư điện tử hoặc sai mã đội phát triển, hoặc yêu cầu đã quá hạn
Chuyển xong nhưng thông báo đẩy im lặngChưa tạo lại khóa xác thực thông báo đẩy, xem mục 8
Chuyển xong, người dùng trả tiền bị mất quyền dùng góiChưa cập nhật mã bí mật xác thực biên nhận, xem mục 8
Chuyển xong, người dùng đăng nhập bằng Apple thành tài khoản trốngChưa chạy quy trình chuyển mã định danh người dùng, xem mục 5

11. Khi nào KHÔNG nên transfer mà chọn cách khác

  • Khi bạn muốn đổi từ tài khoản cá nhân sang tài khoản doanh nghiệp và tất cả ứng dụng đều của mình. Nếu chỉ có một người sở hữu cả hai đầu, hãy liên hệ bộ phận hỗ trợ để hỏi về việc chuyển đổi loại tư cách thành viên, trong nhiều trường hợp cách này ít rủi ro hơn chuyển từng ứng dụng một.
  • Khi ứng dụng phụ thuộc nặng vào iCloud để lưu dữ liệu người dùng. Chi phí di trú dữ liệu có thể lớn hơn giá trị thương vụ. Hãy tính kỹ trước khi ký.
  • Khi bên mua thực chất muốn mua cả tài khoản. Mua bán tài khoản nhà phát triển là việc khác hẳn, đi kèm rủi ro pháp lý và rủi ro bị khóa, vì thông tin định danh và pháp nhân đăng ký không thay đổi theo.
  • Khi ứng dụng chưa từng phát hành lên App Store. Không có gì để chuyển, hãy nộp lại từ đầu ở tài khoản mới, nhanh và sạch hơn.
  • Khi đang trong đợt tăng trưởng quan trọng. Việc đổi tên nhà phát triển hiển thị trên App Store có thể ảnh hưởng tới nhận diện, và giai đoạn xáo trộn kỹ thuật không phải lúc để chạy chiến dịch, xem thêm bài ASO App Store Optimization.

12. Danh sách kiểm tra rút gọn cho hai bên

Bên chuyển giao:

  1. Đã dọn hết bản nộp và gói mua hàng đang chờ duyệt.
  2. Đã tắt thử nghiệm bên ngoài trên TestFlight và xuất danh sách người thử nghiệm.
  3. Đã gỡ hoặc xử lý xong các tài nguyên dùng chung ở mục 4.
  4. Đã chạy giai đoạn một của quy trình chuyển mã định danh người dùng.
  5. Đã xuất toàn bộ báo cáo doanh thu và phân tích.
  6. Đã chấp nhận mọi thỏa thuận đang chờ.

Bên nhận:

  1. Tài khoản đang hoạt động, đã hoàn tất hồ sơ thuế và ngân hàng.
  2. Đã xóa mọi hồ sơ trống trùng tên hoặc trùng định danh với ứng dụng sắp nhận.
  3. Đã chuẩn bị sẵn khóa thông báo đẩy và khóa dịch vụ máy chủ.
  4. Đã có kịch bản cập nhật mã bí mật xác thực biên nhận, chạy được ngay trong giờ.
  5. Đã thống nhất bằng văn bản việc bàn giao bảng ánh xạ mã định danh người dùng.
  6. Đã lên lịch theo dõi tỉ lệ lỗi xác thực biên nhận trong hai mươi bốn giờ đầu.

Kết luận

Phần khó của việc chuyển giao ứng dụng iOS không nằm ở bốn cú nhấp chuột trên giao diện, mà nằm ở hai chỗ: gỡ đúng những tài nguyên gắn với tài khoản để vượt qua bảng điều kiện, và chuẩn bị trước cho những thứ không đi theo ứng dụng. Với ứng dụng có doanh thu, hãy coi ngày chuyển giao là một đợt phát hành lớn cần diễn tập, không phải một thủ tục hành chính.

Uwmee Software nhận tư vấn và thực hiện trọn gói quy trình chuyển giao ứng dụng iOS và Android giữa hai tài khoản nhà phát triển. Đọc thêm bài hướng dẫn Transfer App trên App Store Connect từ A tới Z và bài Transfer App Google Play giữa hai tài khoản Play Console.

Câu hỏi thường gặp

Bạn cần giải pháp phần mềm chuyên nghiệp?

Uwmee Software cung cấp dịch vụ 12 tester Google Play & thiết kế website cao cấp giúp nâng tầm thương hiệu của bạn.