Is it possible to implement a payment algorithm that uses blocking and refund of funds?

Is it possible to implement the following payment algorithm in a FlutterFlow application? What is the easiest way to do this? What payment APIs and services are suitable for implementing the algorithm? How to minimize or avoid commissions for double transactions: blocking the part of the seller’s deposit and returning it, etc. Does this algorithm violate any app store rules?

Short description of the payment algorithm:

Either the seller sells an electronic document to the buyer and everyone is happy, or there is a complaint from the buyer and then both the buyer and the seller lose money equal to the cost of the document.

Full description of the payment algorithm:

The seller user puts an electronic document up for sale. The seller sets the price of the document, and a deposit of the same amount is blocked from the seller’s funds. When a buyer purchases a document, the same amount is withdrawn from the buyer's account. A few hours or days (customizable date for each transaction) after the transaction, if no complaints from the buyer, the seller’s deposit is returned to him, and at the same time, the seller receives the same amount sent by the buyer. If the buyer filed a complaint before the established date (clicked a button inside the application), then the seller’s deposit is not returned to seller and the buyer’s money is not transferred to seller too. At the same time, the buyer does not get the money back.

1
1 reply