[Seaside] Interaction with non-Seaside site

Derek Brans brans at nerdonawire.com
Thu Jun 12 16:33:46 CEST 2003


Sure, thanks for taking the time to read that, Avi.
  There are two parts to this problem: 
  1. Sending them to the payment site and 
  2. receiving them back to Seaside after payment.

  1. This part is easy: WAPaymentStep presents a form to the user that upon submission posts the necessary variables to the payment site.

Is this part clear? If not: 
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).  
ii) When client hits submit "Yes this information is correct"  all those fields get posted by the client's browser to Verisigns cgi script.
  2. This is the hard part.  Here's my plan so far...
  WAPaymentStep needs to register a callback that would 
  a) process the POST from Verisign site (their response) and create a PaymentResponse object
  b) return the Payment Response using #answer:.  

i) on Verisign's site, client enters CC info and clicks "Pay this amount"
ii) client is presented with Verisign hosted receipt page (with hidden fields...) .  
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.

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.
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.

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).  
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:

I need to process the fields and create a PaymentResponse.
Then I put the PaymentResponse in some sort of "mailbox"
Then wake up the WAPaymentStep by invoking some continuation.
The WAPaymentStep grabs the PaymentResponse from its "mailbox" and returns it using #answer:.

Does that make any sense?

Thanks again.
Derek
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.squeakfoundation.org/pipermail/seaside/attachments/20030612/e685386a/attachment.htm


More information about the Seaside mailing list