[Semi-OT] How to minimize transaction fees in escrow like en


I am currently developing an application in which two users exchange
goods and money in an escrow like environment.
Buyer has some money and wants an item that Seller has. Buyer does not
want to pay Seller until Seller ships the item.

I am unsure of how to best handle the payment part of my application.
Buyer’s money eventually has to end up at Seller and my company would
like to be paid for its services. The way I see things there are 3
possibilities, each with its own positives and negatives.

  1. Buyer sends the money to my company. Seller ships the product and
    my company sends the money minus our commission to Seller.
    This approach involves two transactions and as this will all be
    credit card based(maybe paypal) this means that over 4% of the cash goes
    bye bye for transactions fees.

  2. Seller pays our commission up front and we tell Buyer to send the
    money directly to Seller when Seller gives us proof of shipment.
    This approach only involves one transaction for the consumer and one
    transaction on our commission. So we make a bit less per sale but the
    Seller makes a bit more and is happier. We would have to figure out a
    way to let Buyer send money to Seller without using an additional
    transaction to go through us.

  3. Buyer sets up some kind of hold charge for Seller. When Seller pays
    us and provides proof of shipment we remove the hold and Buyer’s cash
    goes directly to Seller.
    This involves one transaction for the consumer and one transaction
    on our commission like option #2 but we get paid at the end instead of
    the beginning. I don’t really know anything about hold payments and I
    have no idea if it is possible to setup such a hold for one person
    to another as a third party.

What approach would you smart people recommend? Does anyone have any
experience with hold charges or using a paypal like service to transfer
money between two individuals without raking up a lot of transaction

Thank you,
Matthew M.