@nprofile1q... 1) I send you the data, you send me a unique url
2) I send the payment and include the unique url in the message.
3) Fountain hosted wallets get the payment with the message, look in the database to find the metadata that's tied to that unique url found in the message and marks it as paid or verified.
4) You don't have to trust any of the apps, just that your wallet got the payment with the unique url generated by your server.