Forums Register Login

dealing with nontransactional web services

+Pie Number of slices to send: Send
The typical e-commerce site has to deal with a credit card payment agency web service. It needs to record that payment has been made if and only if the charge is accepted.

That sounds like the successful charging of the credit card and the recording of payment status should be done with typical ACID transactional properties. We don't want anomolies if the server goes down when one has been done but not the other. How can such anomolies be avoided, given that web services generally do not participate in "2-phase commit" distributed transactions?

I suppose the e-commerce site and the payment agency could communicate via a transactional asynchronous message broker, but suppose none is available. How do e-commerce sites cope?

Would the payment agencies deliver occasional batch summaries of payments made so that the e-commerce site can correct anomolies? In that case, the e-commerce site would send the payment and then mark the order paid. If the server goes down before the order is marked, it will be marked paid when the batch summary arrives.

Or would the payment agency offer another transaction that merely verifies the outcome of a previous submission? In that case, the e-commerce site would look for aged, unpaid orders, and query the payment agency so the records could be corrected.

What methods are actually commonly used?
Here. Have a potato. I grew it in my armpit. And from my other armpit, this tiny ad:
a bit of art, as a gift, that will fit in a stocking
https://gardener-gift.com


reply
reply
This thread has been viewed 829 times.
Similar Threads
dummy question: what is domain object?
Web Services
e-commerce question
e-commerce non-technical question
Payment
More...

All times above are in ranch (not your local) time.
The current ranch time is
Mar 29, 2024 07:33:45.