Users;
id-username-password
Product;
id-name-price..
Order;
id-userid-productid-isActive

Kullanıcı, Ürün ve Sipariş tablonuz olduğunu varsayalım.
İstediğiniz kullanıcı satın aldığı ürüne erişim sağlayabilir, başka kullanıcıya devredebilir. Devir işlemi gerçekleştirilince ilk satın alan ürüne erişim sağlayamaz.

Bu tablolara ek birde değişim-istek tablosu olmalı diye düşünüyorum.
id-productid-userid-newuserid-status
Gibi.

Kullanıcı satın alma işlemini gerçekleştirince order bölümüne isActive 1 gibi ürünü ekletin. Eğer başkasına devretmek isterse devir tablosuna kayıt ekletin. Devir işlem tablosunda durum bölümünü bekliyor-onaylandı-reddedildi gibi tutabilirsiniz. Reddedilirse kabul edecek kişinin ekranında gözükmeyecek, onaylar ise order tablosundan ilgili sipariş için önceki satın alana isActive=0 yapıp yeni sipariş gibi kayıt ekletin.

Projenizi bilmiyorum ama temel mantığı bu şekilde olur, böylece satın alan kişiyi, devreden keşiyi girebilirsiniz.