Tất cả bài viết
Deep diveĐọc trong 9 phút

Dữ liệu tiêu thụ của bạn cung cấp thông tin cho quyết định hoàn tiền của Apple, chứ không kiểm soát nó

Khi một khách hàng yêu cầu Apple hoàn tiền, bạn có 12 giờ để gửi dữ liệu tiêu thụ. Tài liệu của chính Apple gọi đó là một trong nhiều yếu tố, không phải một phán quyết. Đây là điều mà dữ liệu của bạn thực sự tác động, tại sao một DECLINE vẫn có thể kết thúc bằng việc hoàn tiền, và cú hích đó đáng giá bao nhiêu tính bằng đô la.

Một bàn tay đặt một quả cân đồng nhỏ lên chiếc cân đĩa vốn đã có sẵn vài quả khác, tượng trưng cho dữ liệu tiêu thụ như một yếu tố trong quyết định hoàn tiền của Apple

Điểm chính

  • Khi một khách hàng yêu cầu hoàn tiền, Apple gửi đến máy chủ của bạn một thông báo CONSUMPTION_REQUEST và cho bạn 12 giờ để trả lời bằng dữ liệu tiêu thụ qua endpoint Send Consumption Information. Bỏ lỡ khung thời gian đó và Apple sẽ quyết định mà không có ý kiến của bạn.
  • Theo chính lời của Apple, App Store dùng nhiều yếu tố để quyết định việc hoàn tiền, và thông tin tiêu thụ bạn gửi được dùng để cung cấp thông tin cho quyết định đó. refundPreference của bạn là một trong những yếu tố đó, không phải phán quyết.
  • Bạn có thể gửi một refundPreference là ưu tiên từ chối, ưu tiên hoàn tiền toàn bộ, hoặc ưu tiên hoàn tiền theo tỷ lệ. Apple cân nhắc nó. Đó là lý do các nhóm thấy một giao dịch mua họ đánh dấu ưu tiên từ chối vẫn được hoàn tiền, và điều đó đang hoạt động đúng như tài liệu mô tả.
  • Apple từ chối dữ liệu tiêu thụ của bạn trừ khi customerConsented là true. Nếu khách hàng không đồng ý chia sẻ dữ liệu, hướng dẫn của Apple là hoàn toàn không phản hồi thông báo, và bạn chịu trách nhiệm duy nhất trong việc xin sự đồng ý đó.
  • Kể từ WWDC24, CONSUMPTION_REQUEST cũng được kích hoạt cho các gói đăng ký tự động gia hạn, không chỉ riêng hàng tiêu hao, nên cùng một phản hồi 12 giờ giờ đây tiếp cận nhiều khoản hoàn tiền của bạn hơn nhiều so với trước.
  • Đối với các gói đăng ký tự động gia hạn, Apple tự tính toán mức tiêu thụ và cấm tùy chọn hoàn theo tỷ lệ, nên đòn bẩy của bạn ở đó mỏng hơn so với một mặt hàng tiêu hao mà bạn có thể mô tả là đã tiêu thụ hoàn toàn.
  • Số tiền bạn đã chi để thực hiện giao dịch mua, tính toán, các lệnh gọi API bên thứ ba, lưu trữ, đều đã mất dù Apple có chấp thuận hoàn tiền hay không. Phản hồi tiêu thụ của bạn thay đổi việc hoàn tiền, chứ không bao giờ thay đổi chi phí bạn đã trả để giao hàng.

Một khách hàng nhấn hoàn tiền, và trong vòng một phút máy chủ của bạn nhận được một CONSUMPTION_REQUEST từ Apple. Bạn có 12 giờ để trả lời bằng dữ liệu tiêu thụ, và ta dễ bị cám dỗ đọc phản hồi đó như một quyền phủ quyết: gửi ưu tiên từ chối, giữ lại tiền. Đó không phải quyền phủ quyết. Tài liệu của chính Apple nói rằng App Store dùng nhiều yếu tố để xác định một yêu cầu hoàn tiền được chấp thuận hay bị từ chối, và rằng thông tin tiêu thụ bạn cung cấp được dùng để cung cấp thông tin cho các quyết định hoàn tiền của họ. Cung cấp thông tin, chứ không quyết định. Bài viết này đi qua điều mà dữ liệu tiêu thụ của bạn thực sự tác động, tại sao một giao dịch mua bạn đánh dấu ưu tiên từ chối vẫn có thể được hoàn tiền, và toàn bộ việc này đáng giá bao nhiêu một khi bạn tính đến số tiền đã chi.

Apple thực sự làm gì với dữ liệu tiêu thụ của bạn

Endpoint Send Consumption Information tồn tại để bạn có thể trao cho Apple bối cảnh vào thời điểm việc hoàn tiền còn bỏ ngỏ. Nó không trao cho bạn quyết định. Đọc luồng này theo đúng thứ tự là sự khác biệt giữa việc đặt kỳ vọng hợp lý và việc báo lỗi cho một hành vi vốn đã được ghi trong tài liệu.

App Store quyết định, còn bạn đề xuất

Apple nói rõ về sự phân chia này. Trong phần tham chiếu Send Consumption Information, Apple viết rằng App Store dùng nhiều yếu tố để xác định một yêu cầu hoàn tiền được chấp thuận hay bị từ chối, và rằng họ dùng thông tin tiêu thụ bạn cung cấp để cung cấp thông tin cho các quyết định hoàn tiền của mình. Về chính trường refundPreference, Apple nêu rằng tùy chọn hoàn tiền của bạn là một trong nhiều yếu tố mà App Store dùng để cung cấp thông tin cho các quyết định hoàn tiền của mình. Vậy nên tín hiệu mạnh nhất bạn có thể gửi, một ưu tiên từ chối thẳng thừng, vẫn chỉ là một đầu vào cho một mô hình bạn không kiểm soát. Lịch sử của khách hàng, lý do họ đưa ra, loại sản phẩm, và các tín hiệu gian lận của chính Apple đều nằm trong cùng mô hình đó bên cạnh phản hồi của bạn.

CONSUMPTION_REQUEST giờ bao gồm cả gói đăng ký, không chỉ hàng tiêu hao

Trước đây đây là câu chuyện của hàng tiêu hao. Kể từ WWDC24, thông báo CONSUMPTION_REQUEST được kích hoạt khi một khách hàng yêu cầu hoàn tiền cho một giao dịch mua trong ứng dụng thuộc loại tiêu hao hoặc một gói đăng ký tự động gia hạn. Đó là một sự mở rộng phạm vi lớn. Cùng một phản hồi 12 giờ giờ đây áp dụng cho cả việc hoàn tiền gói đăng ký, nơi đòn bẩy của bạn khác đi vì Apple tự tính mức tiêu thụ cho các gói đăng ký tự động gia hạn và sẽ không chấp nhận tùy chọn hoàn theo tỷ lệ từ bạn. Hãy đọc loại sản phẩm trên mỗi yêu cầu trước khi quyết định phản hồi của bạn có thể thúc đẩy mạnh đến đâu.

Năm đầu vào bạn được phép gửi

Thân yêu cầu V2 mà Apple chấp nhận thì nhỏ, năm trường làm nên công việc, và ba trong số đó là bắt buộc. Mỗi trường là một đầu vào mà Apple cân nhắc, chứ không phải một công tắc buộc ra một kết quả. Đây là những gì bạn có thể đặt vào phản hồi và điều nó cho Apple biết.

TrườngBắt buộcĐiều nó cho Apple biết
customerConsentedKhách hàng có đồng ý chia sẻ dữ liệu hoàn tiền này hay không. Phải là true nếu không Apple từ chối yêu cầu.
consumptionStatusKhôngĐã dùng bao nhiêu: chưa khai báo, chưa tiêu thụ, tiêu thụ một phần, hoặc tiêu thụ hoàn toàn.
deliveryStatusKhôngỨng dụng của bạn đã giao một giao dịch mua hoạt động được, hay gặp một sự cố bạn muốn ghi nhận.
sampleContentProvidedKhôngBạn có cung cấp một mẫu miễn phí, bản dùng thử, hay một mô tả về tính năng trước khi mua hay không.
refundPreferenceKhôngKết quả bạn đề xuất: ưu tiên từ chối, ưu tiên hoàn tiền toàn bộ, hoặc ưu tiên hoàn tiền theo tỷ lệ.

Khung 12 giờ, và cổng đồng ý mà hầu hết các nhóm bỏ sót

Hai cơ chế quyết định liệu phản hồi của bạn có được tính hay không. Một là chiếc đồng hồ. Cái kia là một cờ đồng ý chặn rất nhiều phản hồi thiện chí ngay tại cửa.

Phản hồi trong vòng 12 giờ nếu không thời khắc sẽ trôi qua

Chỉ dẫn của Apple rất rõ: phản hồi trong vòng 12 giờ kể từ khi nhận được thông báo CONSUMPTION_REQUEST. Đó là toàn bộ khung thời gian. Một yêu cầu hoàn tiền không chờ đến ngày làm việc kế tiếp của bạn, và một phản hồi tiêu thụ đến muộn là một phản hồi mà Apple không bao giờ cân nhắc. Nếu bạn trả lời chúng bằng tay, chiếc đồng hồ 12 giờ là phần âm thầm hỏng đầu tiên, vào cuối tuần, ngày lễ, và lúc 3 giờ sáng theo múi giờ của bạn. Phản hồi phải được tự động hóa mới đáng tin cậy, vì khung thời gian không quan tâm khi nào nhóm của bạn thức.

Mặt một chiếc đồng hồ analog trên bàn bên cạnh một chiếc điện thoại thông minh nằm úp màn hình xuống, tượng trưng cho khung 12 giờ để phản hồi CONSUMPTION_REQUEST của Apple

Bạn không thể gửi dữ liệu trừ khi khách hàng đã đồng ý

Đây là cổng khiến các nhóm vấp phải. Apple từ chối một yêu cầu Send Consumption Information có giá trị customerConsented khác true. Theo lời của Apple, nếu khách hàng đã đồng ý, hãy phản hồi bằng cách gọi API và gửi dữ liệu tiêu thụ; nếu không, đừng phản hồi thông báo CONSUMPTION_REQUEST. Apple cũng đặt trách nhiệm thẳng lên bạn: bạn phải xin được sự đồng ý hợp lệ từ khách hàng trước khi chia sẻ dữ liệu cá nhân của họ, và bạn, nhà phát triển, chịu trách nhiệm duy nhất trong việc xin nó. Vậy nên câu hỏi đầu tiên trên mỗi yêu cầu không phải là họ đã dùng bao nhiêu, mà là khách hàng này có đồng ý cho chúng ta nói với Apple hay không. Không đồng ý, không phản hồi, và việc hoàn tiền được quyết định dựa trên mọi thứ trừ phía câu chuyện của bạn.

Điều gì thực sự tác động đến quyết định hoàn tiền của Apple

Nếu phản hồi là một đề xuất, câu hỏi thành thật là nó đề xuất được bao nhiêu. Câu trả lời là dữ liệu của bạn có ý nghĩa nhất đúng ở nơi một con người sẽ do dự, và ít nhất ở nơi kết quả vốn chưa từng thực sự đáng ngờ.

Tại sao bạn có thể gửi ưu tiên từ chối mà vẫn thấy được hoàn tiền

Các nhà phát triển kể lại việc gửi ưu tiên từ chối trên một giao dịch mua mà khách hàng đã tiêu thụ hoàn toàn và chứng kiến Apple vẫn hoàn tiền cho nó. Đó không phải một API hỏng. Apple đã nói với bạn rằng họ cân nhắc nhiều yếu tố, và trên bất kỳ yêu cầu nào một số yếu tố đó có thể nặng hơn một mặt hàng tiêu hao đã tiêu thụ hoàn toàn: một khách hàng có lịch sử sạch, một lý do được nêu mà Apple coi là mạnh, một số tiền nhỏ, một yêu cầu lần đầu. Phản hồi của bạn đẩy ngược lại việc hoàn tiền. Các đầu vào khác đẩy mạnh hơn. Bài học không phải là ngừng phản hồi, mà là ngừng kỳ vọng một mặt hàng tiêu hao sạch sẽ luôn trụ được. Ở nơi tín hiệu thực sự lẫn lộn, một trạng thái tiêu thụ một phần, một sự cố giao hàng được ghi nhận, và một tùy chọn trung thực là những đầu vào có thể nghiêng một ca ranh giới về phía bạn.

Một đề xuất đáng giá bao nhiêu tính bằng đô la

Một khoản hoàn tiền không phải là giá của giao dịch bán. Nó là giá bán cộng với mọi thứ bạn đã chi để giao nó, và phản hồi tiêu thụ chỉ bao giờ chạm đến phần đầu tiên.

Tiền đã được chi vào lúc yêu cầu đến

Vào lúc Apple hỏi có nên hoàn tiền hay không, khách hàng đã dùng thứ đó rồi. Trên một mặt hàng tiêu hao, điều đó nghĩa là việc tính toán đã chạy, các lệnh gọi API bên thứ ba đã bị tính phí, các hình ảnh hoặc token hoặc lượt tạo đã được sản xuất, và bộ nhớ lưu trữ đã được ghi. Đó là những chi phí đã trả ở phía bạn và chúng không quay lại nếu Apple từ chối hoàn tiền, và bị mất hai lần nếu Apple chấp thuận. Phản hồi tiêu thụ của bạn có thể giành lại giá bán trên một ca ranh giới. Nó không thể giành lại chi phí hàng hóa bạn đã trao đi. Đó là lý do thật sự khiến một giao dịch mua đã tiêu thụ hoàn toàn là loại tốn kém để hoàn tiền, và điều đó chẳng liên quan gì đến việc nó được mua từ bao lâu trước.

  • Giá bán: doanh thu ròng của bạn sau hoa hồng của Apple, bị đảo ngược nếu hoàn tiền được chấp thuận. Đây là phần duy nhất mà phản hồi của bạn có thể tác động.
  • Chi phí giao hàng: tính toán, các lệnh gọi API, lưu trữ, và bất kỳ khoản chi trả nào bạn đã thực hiện cho giao dịch mua. Đã mất bất kể quyết định ra sao.
  • Thời gian nhân sự: mỗi khoản hoàn tiền được trả lời bằng tay là vài phút trong ngày của một người, và khung 12 giờ nghĩa là những phút đó rơi vào những giờ bất tiện.
  • Mô hình bạn bỏ sót: một khách hàng hoàn tiền hết lần này đến lần khác là một chi phí bạn chỉ thấy nếu bạn theo dõi mức tiêu thụ và lịch sử xuyên suốt các yêu cầu, chứ không xem mỗi cái như một lần đơn lẻ.

Google Play xử lý cùng câu hỏi đó như thế nào

Apple không phải cửa hàng duy nhất yêu cầu bạn góp ý rồi tự quyết định. Google Play chạy một luồng song song cho các khoản bồi hoàn ngân hàng, và hình dạng thì giống nhau: bạn gửi bằng chứng, cửa hàng quyết định. Khác biệt nằm ở chiếc đồng hồ và ở những gì bạn được phép gửi.

Câu hỏiApp StoreGoogle Play
Kích hoạtThông báo CONSUMPTION_REQUESTPendingRefundReviewNotification cho một khoản bồi hoàn
Khung thời gian của bạn12 giờ24 giờ
Cách bạn trả lờiSend Consumption Informationorders.reviewrefund
Đề xuất của bạnrefundPreference: từ chối, cho toàn bộ, cho theo tỷ lệrefundPreference: APPROVE, DECLINE, hoặc NEUTRAL
Ai quyết địnhApp StoreGoogle Play, hoặc ngân hàng trong một khoản bồi hoàn

Bài học rút ra ở cả hai cửa hàng là như nhau. Việc của bạn là trả lời trong khung thời gian bằng bằng chứng tiêu thụ chính xác và một tùy chọn trung thực. Việc của cửa hàng là quyết định. Nhầm lẫn hai điều đó là cách một nhóm rốt cuộc hoặc bỏ qua khung thời gian vì phản hồi chỉ là một đề xuất, hoặc tin phản hồi như một quyền phủ quyết rồi bị bất ngờ khi một khoản hoàn tiền vẫn xảy ra. Cả hai đều không đúng. Hãy trả lời mỗi lần, trả lời chính xác, và xem kết quả như một quyết định mà bạn cung cấp thông tin, chứ không phải một quyết định do bạn đưa ra.

RefundHalt bắt lấy CONSUMPTION_REQUEST ngay khoảnh khắc Apple gửi nó, kiểm tra sự đồng ý, tập hợp trạng thái tiêu thụ, trạng thái giao hàng, và một tùy chọn hoàn tiền dựa trên bằng chứng, rồi trả lời trong khung 12 giờ mà không cần ai trong nhóm của bạn canh đồng hồ. Nó làm điều tương tự cho việc xem xét bồi hoàn của Google Play trong khung 24 giờ. Bạn không thể khiến Apple quyết định theo ý bạn. Bạn có thể đảm bảo Apple không bao giờ quyết định mà thiếu phía câu chuyện của bạn, trên mọi khoản hoàn tiền, kịp thời.

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

Việc gửi dữ liệu tiêu thụ cho Apple có ngăn được một khoản hoàn tiền không?
Không phải tự nó. Tài liệu của Apple nói App Store dùng nhiều yếu tố để quyết định việc hoàn tiền và rằng dữ liệu tiêu thụ của bạn được dùng để cung cấp thông tin cho quyết định đó. Phản hồi của bạn, bao gồm một refundPreference là ưu tiên từ chối, là một đầu vào mà Apple cân nhắc, nên nó có thể làm dịch chuyển một ca ranh giới nhưng sẽ không đảm bảo một sự từ chối, nhất là trên một giao dịch mua mà khách hàng đã tiêu thụ hoàn toàn.
Tôi có bao nhiêu thời gian để phản hồi một CONSUMPTION_REQUEST?
12 giờ. Apple nói hãy phản hồi trong vòng 12 giờ kể từ khi nhận được thông báo CONSUMPTION_REQUEST qua endpoint Send Consumption Information. Một phản hồi đến sau khung thời gian là một phản hồi mà Apple không bao giờ cân nhắc, đó là lý do việc phản hồi phải được tự động hóa thay vì do một người có thể đang ngủ xử lý.
Tại sao Apple hoàn tiền một giao dịch mua sau khi tôi đã gửi ưu tiên từ chối?
Vì ưu tiên từ chối là một đề xuất, không phải một mệnh lệnh. Apple nêu rằng tùy chọn hoàn tiền của bạn là một trong nhiều yếu tố mà họ dùng để cung cấp thông tin cho quyết định của mình. Trên một yêu cầu nhất định, lịch sử của khách hàng, lý do họ đưa ra, số tiền, và các tín hiệu gian lận của chính Apple có thể nặng hơn tùy chọn của bạn, nên một khoản hoàn tiền sau một ưu tiên từ chối là luồng hoạt động đúng như tài liệu mô tả.
Tôi có cần sự đồng ý của khách hàng để gửi dữ liệu tiêu thụ không?
Có. Apple từ chối một yêu cầu Send Consumption Information trừ khi customerConsented là true, và hướng dẫn của họ là nếu khách hàng không đồng ý thì bạn không nên phản hồi CONSUMPTION_REQUEST chút nào. Apple cũng nêu rằng bạn, nhà phát triển, chịu trách nhiệm duy nhất trong việc xin sự đồng ý hợp lệ trước khi chia sẻ dữ liệu của khách hàng.
Luồng tiêu thụ có hoạt động cho các gói đăng ký hay chỉ cho hàng tiêu hao?
Cả hai, kể từ WWDC24. CONSUMPTION_REQUEST giờ được kích hoạt cho một giao dịch mua trong ứng dụng thuộc loại tiêu hao hoặc một gói đăng ký tự động gia hạn. Đối với các gói đăng ký tự động gia hạn, Apple tự tính mức tiêu thụ và không chấp nhận tùy chọn hoàn theo tỷ lệ, nên đòn bẩy của bạn hẹp hơn so với một mặt hàng tiêu hao mà bạn có thể mô tả trực tiếp cách sử dụng.

Nguồn và tài liệu đọc thêm

RefundHalt

Chế độ tự động xử lý hoàn tiền cho App Store và Google Play

Đọc tiếp

Yêu cầu hoàn tiền tiếp theo đã đang trên đường đến.

Thiết lập RefundHalt trong khoảng thời gian bạn cần để đọc thêm một email hỗ trợ về khoản hoàn tiền mà mình chưa kịp phản biện.