I have worked with Electrum 3.3.8 daemon through JSONRPC interface.
A vary simple explanation how it woks in my case:
I send to Electrum "addrequest" command which contains also amount of BTC, memo, timeout.
Get the address of payment in answer from Electrum and display it for payer person.
Store address in database for further checking.
No sane application should EVER attempt to validate a private key by attempting to pass it to an external API. That's a ridiculously easy way to lose all your funds if the API operator is malicious, compromised, or someone is eavesdropping on your communication with said API.
You should do this yourself, preferably using a well tested, community supported, ...
Checkout Bitquery GraphQL explorer APIs
Bitquery exposes single GraphQL endpoint to query data across multiple blockchains.
Currently, they support more than 20 blockchains and provide a unified API interface.
It's pretty easy to integrate with them and I am pretty sure this tech does not exist anywhere else.
You seem to be somewhat confused about how currency markets, specifically for Bitcoin work, so I'm going to breakdown how a payment service using Bitcoin works for using your example.
You have a shop that sells an item, let's say a basket, for $500.
On Monday, 1 BTC = $100. The customer places an order on Monday, and you generate an invoice based on that ...
All you need to do is generate an invoice in your backend system at the time of checkout, which includes a specific amount of BTC to be paid, to a specific address. Then you just need to watch for payments to that address, and can consider the order 'paid' if an incoming payment for the correct amount of BTC is confirmed in a block.
In the event an incorrect ...
You can try some service doing what you want and see how they behave.
For example many of them (if not all of them) give you a time window to send the required amount.
Most of the time it's not important that the transaction is confirmed but it has to be sent in that time frame window so it can be seen in nodes memory pool.
When the transaction is found in ...
You can use a self-hosted (but low-burden!) instance of Esplora.
Blockstream is also exposing an instance for free (at the moment) at blockstream.info.
Disclaimer: if you take part of Bitcoin as an economic actor (as an application providing account balances may imply), you should really consider using your own source of truth and self-host the instance. It'...
Bitcoin Core has a getmempoolentry command. This takes a txid and returns information about that transaction's mempool status. This includes height which is the block height when transaction entered pool.