Lesson 118: Implementing an Ownership Transfer Workflow in the Flipnzee Auctions Plugin

In the previous lesson, payment verification marked the financial completion of an auction transaction. However, for website and domain sales, receiving payment is only part of the process. The actual ownership of the digital asset still needs to be transferred from the seller to the buyer.

In this lesson, we implement a dedicated ownership transfer workflow that tracks every stage of the handover process. Rather than relying on manual notes or external spreadsheets, the plugin now provides a structured transfer management system directly inside WordPress.


Why an Ownership Transfer Workflow?

Selling a website is very different from shipping a physical product. A successful transfer often involves multiple independent tasks:

  • Confirming payment
  • Delivering website files
  • Delivering the database
  • Transferring the domain
  • Receiving buyer confirmation

These steps rarely happen simultaneously, and each may require communication between both parties. A dedicated workflow makes the entire process transparent and auditable.


Designing the Transfer Lifecycle

The plugin now models ownership transfer as a sequence of stages.

Auction Ends
        │
        ▼
Payment Verified
        │
        ▼
Website Files Delivered
        │
        ▼
Database Delivered
        │
        ▼
Domain Transfer Completed
        │
        ▼
Buyer Verification
        │
        ▼
Transaction Completed

Each stage can be tracked independently, allowing administrators to immediately identify where a transfer currently stands.


Creating a Dedicated Transfer Manager

Instead of embedding transfer logic throughout the plugin, a dedicated Flipnzee_Transfer_Manager class is responsible for:

  • Creating transfer records
  • Retrieving transfer information
  • Updating transfer progress
  • Calculating completion percentage
  • Determining the overall transfer status
  • Automatically completing transactions

This keeps transfer-related responsibilities isolated from payment, auction, and transaction management.


Recording Individual Transfer Stages

Each transaction stores the status of every transfer stage independently.

Current fields include:

payment_status
files_status
database_status
domain_status
buyer_status
notes

Each stage can be:

  • Pending
  • Completed

This design also makes future status values such as In Progress, Rejected, or Awaiting Buyer straightforward to introduce.


Calculating Progress Automatically

The Transfer Manager now counts completed stages and calculates transfer progress.

For example:

Completed Stages: 3
Total Stages: 5

Progress:
60%

This calculation drives both the numerical progress indicator and the visual progress bar displayed within the administration interface.


Overall Transfer Status

Rather than requiring administrators to manually determine whether a transfer is complete, the plugin now derives an overall status automatically.

Possible values include:

Pending

In Progress

Completed

This status updates automatically as individual stages are completed.


Transaction Details Integration

The Transaction Details page has become the primary workspace for managing ownership transfers.

Administrators can now:

  • Review payment information
  • View payment proof
  • Update payment status
  • Track ownership transfer
  • Update every transfer stage
  • Record transfer notes

This centralises all post-auction management into a single interface.


Transfer Progress Dashboard

A visual progress section has been added to the Transaction Details screen displaying:

  • Progress counter
  • Progress percentage
  • Progress bar
  • Overall transfer status

This provides immediate insight into the current state of every website sale.


Saving Transfer Information

Administrators can update all ownership transfer fields using a dedicated form.

The plugin stores:

  • Website file delivery
  • Database delivery
  • Domain transfer
  • Buyer confirmation
  • Administrative notes

All information is saved into the transfer table for future reference.


Automatic Transaction Completion

One of the most useful improvements introduced in this lesson is automatic transaction completion.

Once all transfer stages have been marked as completed:

Payment
✓

Website Files
✓

Database
✓

Domain
✓

Buyer Confirmation
✓

the plugin automatically updates the associated transaction status to:

Completed

This removes repetitive administrative work while ensuring transactions accurately reflect the real-world ownership transfer process.


Transfer Management Dashboard

A dedicated Transfer Management page now provides an overview of all ownership transfers.

Administrators can quickly see:

  • Transaction ID
  • Overall status
  • Progress
  • Individual stage status
  • Administrative notes
  • Direct link to transaction details

This creates a central dashboard for monitoring every website handover.


Improving Plugin Architecture

This lesson also involved refactoring several areas of the codebase.

Responsibilities are now better separated:

  • Auction Manager manages auctions.
  • Payment Manager manages payments.
  • Transaction Manager manages transactions.
  • Transfer Manager manages ownership transfer.

This clearer separation improves maintainability while making future enhancements easier to implement.


Preparing for External Providers

Although ownership transfers are currently managed manually, the new workflow establishes the foundation for integrating external providers such as Escrow.com.

Future versions can automatically update transfer progress based on provider events while continuing to use the same internal workflow.


What We Achieved

By the end of this lesson, the Flipnzee Auctions plugin now supports:

  • Dedicated ownership transfer records
  • Multi-stage transfer workflow
  • Progress calculation
  • Overall transfer status
  • Progress indicators
  • Transfer notes
  • Transaction Details integration
  • Transfer Management dashboard
  • Automatic transaction completion
  • Cleaner separation of responsibilities

Conclusion

Ownership transfer is a critical part of selling websites, domains, and other digital assets. By introducing a structured transfer workflow, the Flipnzee Auctions plugin now manages not only the auction itself but also the operational process that follows payment.

The result is a more complete marketplace solution that provides better visibility, improved administration, and a stronger foundation for future automation through external escrow and payment providers.

In the next lesson, we will begin connecting this workflow with external providers, allowing payment, escrow, and ownership transfer to operate as a unified transaction lifecycle.

https://github.com/SplendidDigital/flipnzee-auctions/releases/tag/lesson-118-stable