(keitai-l) Re: Felica Movie Tickets

From: Curt Sampson <cjs_at_cynic.net>
Date: 03/02/05
Message-ID: <Pine.NEB.4.62.0503021649410.19762@angelic-vtfw.cvpn.cynic.net>
On Tue, 1 Mar 2005, Manish Prabhune wrote:

> As against the credit card way of 2 levels of AUTHORIZATION AND
> CAPTURE this process is a single level stuff.

Not really, no. There are always "request/confirm" stages in any
transaction between two parties that runs across a network, because you
need to be able to deal with network failures between a request and a
response.

In the case of a credit card (at least, the way I write the software
when I have the choice), it works like this:

     1. I ask for an authorization. I get a response back, which confirms
     that the network is working and that the merchant bank will do his
     best to accept the charge.

     2. I record, in my database, that I am attempting to charge the
     card. This must fulfill the durability criterion of an ACID
     transaction, because some part of the system may fail at any
     tim during the process after this.

     3. I send a request to charge the card.

     4. Upon receipt of a "successful" response, I fullfill the
     transaction for the consumer (i.e., give him whatever he bought).

If I don't get a response, I don't know if the card has been charged
or not. (I cannot tell if the network failed to send my request, or
just failed to deliver the response to me.) My record that I attempted
to charge the card lets me go back later and reconcile the transaction
afterwards, when the network is operational again, to see if the card
was or was not charged.

For the transaction you described, I must still record that I made a
charge request. If after the consumer authorizes the charge on his
keitai, the response is not delivered to me, it could still be the case
that the consumer was charged, in which case I still have to deliver
the goods to him (or reverse the charge) when the network is again
operational.

cjs
-- 
Curt Sampson  <cjs@cynic.net>   +81 90 7737 2974

***   Contribute to the Keitai Developers' Wiki!   ***
***        http://www.keitai-dev.net/wiki/         ***
Received on Wed Mar 2 10:01:13 2005