Phan Minh Triet

DTC Strategy — Gaming Industry

Applied AI & LLMs

LiveOps & Player Growth

Head of SEA @ Aghanim

SEA Business Development

Blog Post

The Purchase Is Not Complete Until Value Reaches the Player

Fulfillment, reversals and service recovery determine whether direct commerce strengthens trust or converts revenue into support debt.

Key Thesis

Post-purchase operations are part of retention: the player should never have to reconcile payment, entitlement and support systems on the studio’s behalf.

Authorization is not delivery

A financial system can mark a transaction successful before the player receives anything in the game. This difference is small in system architecture and enormous in player experience. The player has exchanged money for a promise, and the promise remains open until the correct value is available in the correct account.

Direct commerce increases the number of systems that may participate in that promise: checkout, payment processor, commerce platform, game backend, inventory service, CRM, finance and support. The operating design must make them behave as one service.

Model the post-purchase state explicitly

A practical state model distinguishes these states — each needs a system owner, player-facing explanation, permitted next action and reconciliation rule:

  • Authorised → payment confirmed, delivery not yet started
  • Pending → delivery in progress
  • Fulfilled → all items delivered to correct account
  • Partially fulfilled → some items delivered, others pending or failed
  • Failed → delivery could not complete; recovery path needed
  • Refunded → funds returned; entitlement updated accordingly
  • Reversed / Disputed → chargeback or dispute; game state must align

Create one transaction story

The player, support agent and finance team should be able to see the same sequence: offer selected, payment attempted, authorization result, entitlement request, entitlement result, confirmation, refund or reversal. A single transaction story reduces repeated questions and prevents a common failure pattern — every team sees a valid local state while the player experiences an unresolved purchase.

Scenario

A bundle contains currency, an event ticket and a cosmetic item. Currency and the cosmetic arrive immediately, but the event ticket fails. The system records partial fulfillment, retries only the missing entitlement and tells the player what remains pending. If the retry misses the event deadline, support can grant a predefined recovery package with the original transaction context attached.

Authorised Pending Fulfilled Partial Failed Refunded Disputed retry
Figure 7. The purchase ends when value reaches the player — the state model aligns payment, entitlement and recovery under one transaction story. Conceptual framework; not measured data.

Treat support as part of the product

Support tooling should receive transaction state, entitlement history, relevant player identity and permitted remedies. Agents should not ask players to provide information the systems already possess. Compensation can restore trust when time-sensitive value was lost — define who can compensate, which failure classes qualify, the value ceiling and how previous remedies are visible.

Reasonable Objection

These failures are rare. Rare failures can still shape trust because they concentrate among players who have just made a financial commitment. The right standard is not zero failure — it is fast detection, safe automatic recovery and clear ownership when automation cannot resolve the case.

Post-purchase trust is an operating asset

The direct relationship becomes credible when the studio can carry a promise from payment to delivered value and recover gracefully when the path breaks. Fulfillment and support are not back-office details — they are the part of commerce that players remember when something goes wrong. The purchase is complete only when the promised value reaches the correct player and every exception has an owned recovery path.

http://trietphan.com
Do you like Triet Phan's articles? Follow on social!