<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML><HEAD>
<META http-equiv=Content-Type content="text/html; charset=iso-8859-1">
<META content="MSHTML 6.00.2800.1106" name=GENERATOR>
<STYLE></STYLE>
</HEAD>
<BODY bgColor=#ffffff>
<DIV><FONT face=Arial size=2>Sure, thanks for taking the time to read that,
Avi.</DIV>
<BLOCKQUOTE
style="PADDING-RIGHT: 0px; PADDING-LEFT: 5px; MARGIN-LEFT: 5px; BORDER-LEFT: #000000 2px solid; MARGIN-RIGHT: 0px">
<DIV>
<DIV><FONT face=Arial size=2>There are two parts to this problem:
</FONT></DIV>
<DIV><FONT face=Arial size=2>1. Sending them to the payment site and
</FONT></DIV>
<DIV><FONT face=Arial size=2>2. receiving them back to Seaside after
payment.</FONT></DIV>
<DIV><FONT face=Arial size=2></FONT> </DIV>
<DIV><FONT face=Arial size=2>1. This part is easy: WAPaymentStep presents a
form to the user that upon submission posts the necessary variables to the
payment site.</FONT></DIV>
<DIV> </DIV></DIV></BLOCKQUOTE>
<DIV>Is this part clear? If not: </DIV>
<DIV>i) WAPaymentStep>>renderContentOn: renders a static confirmation page
that says "Are you sure this information is correct?". This page has
hidden fields (amount, name, address). <BR>ii) When client hits
submit "Yes this information is correct" all those fields get posted by
the client's browser to Verisigns cgi script.</DIV>
<BLOCKQUOTE
style="PADDING-RIGHT: 0px; PADDING-LEFT: 5px; MARGIN-LEFT: 5px; BORDER-LEFT: #000000 2px solid; MARGIN-RIGHT: 0px">
<DIV><FONT face=Arial size=2>2. This is the hard part. Here's my plan so
far...</FONT></DIV>
<DIV>WAPaymentStep needs to register a callback that would </DIV>
<DIV>a) process the POST from Verisign site (their response) and create a
PaymentResponse object</DIV>
<DIV>b) return the Payment Response using #answer:. </DIV>
<DIV> </DIV></BLOCKQUOTE>
<DIV>i) on Verisign's site, client enters CC info and clicks "Pay this
amount"</DIV>
<DIV>ii) client is presented with Verisign hosted receipt page (with hidden
fields...) . </DIV>
<DIV>iii) Client clicks "Done" and at that point the client's browser posts the
hidden fields on the receipt page ( including the results of payment) to a
_static_ url of my choice.</DIV>
<DIV> </DIV>
<DIV>As an aside, for whatever reason I want, I can have Verisigns server
"silently" POST a copy of the information to my server _before_ the client gets
back to my server.</DIV>
<DIV>Also, when I send the client over to Verisign's site, there are up to 10
variables I can include to be returned to me with the client's post or the
silent post. This is where I will store my Seaside session key and
continuation key.</DIV>
<DIV> </DIV>
<DIV>Now we're back in Seaside, at a static url, with a bunch of posted fields
(posted by the client's browser, including a session key). </DIV>
<DIV>This static url will probably be a Seaside service which will route the
payment response back to the correct session and component in the following
way:</DIV>
<DIV> </DIV>
<DIV>I need to process the fields and create a PaymentResponse.</DIV>
<DIV>Then I put the PaymentResponse in some sort of "mailbox"</DIV>
<DIV>Then wake up the WAPaymentStep by invoking some continuation.</DIV>
<DIV>The WAPaymentStep grabs the PaymentResponse from its "mailbox" and
returns it using #answer:.</DIV>
<DIV> </DIV>
<DIV>Does that make any sense?</DIV>
<DIV> </DIV>
<DIV>Thanks again.</DIV>
<DIV>Derek</DIV></FONT></BODY></HTML>