Face-to-face transaction lifecycle
Every transaction has a lifecycle where it moves from one state to another. Depending on the state, users can perform different actions. Usually, there is one action which moves the transaction further and one action for cancelling the transaction. If the transaction is cancelled and there is payment, the buyer gets refunded automatically (usually within 1 hour). The following shows all states and actions that are needed for a transaction to be successfully finished.
States
Created
Face-to-face transactions start off in the created
state, and will have either a "seller" or a "buyer" user (the user who created the transaction) linked to it. Face-to-face transactions have a "join code" while in this state.
Transitions: A Trustap user other than the creator can join or reject a created
transaction using its join code.
The creator of the transaction can cancel a created
transaction using its id.
Rejected
A rejected
transaction is considered to be completed.
Joined
A joined
transaction is one that has both a seller and a buyer user linked to it, and requires payment before moving on to the next state.
Transitions: The buyer can pay a deposit for, or cancel, a joined
transaction.
Cancelled
A cancelled
transaction is considered to be completed.
Deposit paid
A deposit_paid
transaction waits for the seller to accept the buyer's deposit before progressing.
Transitions: The seller can accept a deposit for, or cancel, a deposit_paid
transaction.
Cancelled with deposit
A cancelled_with_deposit
transaction is one that has been cancelled after its deposit has been paid.
Transitions: The Trustap platform updates the state of a cancelled_with_deposit
transaction to deposit_refunded
once the deposit has been refunded to the buyer.
Deposit Refunded
A deposit_refunded
transaction is considered to be completed.
Deposit Accepted
A deposit_accepted
transaction waits for the seller to set the pricing for the transaction before progressing.
Transitions:
- The seller can skip the remainder step after the deposit is accepted, instead of setting a price for the transaction. If the transaction was created with
"skip_remainder": true
, then this transition occurs automatically as soon as the deposit is accepted. - The seller can set the pricing of the transaction, or cancel, a
deposit_accepted
transaction.
Priced
A priced
transaction is one that has had pricing information set, and requires payment before moving on to the next state.
Transitions: The buyer can pay the remainder of the transaction, or cancel, a joined
transaction.
Remainder Paid
A remainder_paid
transaction is one that is pending handover confirmation, primarily from the seller. Once the seller has confirmed the handover, the buyer has an opportunity to submit a complaint.
Transitions: The buyer and seller can both confirm the handover of the goods.
Remainder skipped
A remainder_skipped
transaction is one that is pending handover confirmation, primarily from the seller. Once the seller has confirmed the handover, the buyer has an opportunity to submit a complaint.
Transitions: The buyer and seller can both confirm the handover of the goods.
Buyer handover confirmed
A buyer_handover_confirmed
transaction is one that is still pending the seller handover confirmation.
Transitions:
- The buyer can complain about a
delivered
transaction before the complaints period ends. - The seller can confirm the handover of the goods.
Seller handover confirmed
A seller_handover_confirmed
transaction gives the buyer an opportunity to verify the item they have received. Once the item has been delivered, the Trustap platform begins a "complaints period".
Transitions:
- The buyer can complain about a
delivered
transaction before the complaints period ends. - If no such complaint occurs before the complaints period ends then the Trustap platform will release the funds for the transaction to the seller and will update the state to
funds_released
. - The buyer can confirm the handover of the goods, if they haven't done so already.
Complained
A complained
transaction is registered with Trustap for conflict resolution.
Transitions: After arbitration, Trustap will release the funds to the buyer and/or seller in a certain ratio and will update the state to funds_released
.
Funds released
A funds_released
transaction is considered to be completed.