Hey Chas,
> Nice work, Dave and Tim.
Thanks :-)
> Here's a question that just popped into my head: How do you test this
> code without moving money around? How will I know my installation will
> work? Is there a way to fake it?
But of course - paypal provide a sandbox. Dont be fooled, this is a
live system, and can take money from your card so paypal provide a
bunch of dummy card numbers to use whilst testing. I recently read an
article where a guy had put in his real card on paypal sandbox and it
took like 1000 bucks from his account (so you've been warned!)
To use the sandbox, do something like:
// USING PDT
// YourSnippet.scala
PaypalDataTransfer(at, tx, PaypalSandbox, PaypalSSL) // => use the
sandbox over SSL
PaypalDataTransfer(at, tx, PaypalLive, PaypalSSL) // => use the live
system over SSL
PaypalDataTransfer(at, tx, PaypalSandbox, PaypalHTTP) => use the live
system over HTTP
// USING IPN
// Boot.scala
object Boot {
def boot {
...
// paypal stuff:
LiftRules.statelessDispatchTable = MyPayPalHandler orElse
LiftRules.statelessDispatchTable
}
}
object MyPayPalHandler extends PayPal {
import PaypalTransactionStatus._
override val mode = PaypalLive
override val connection = PaypalHTTP
def actions = {
case (ClearedPayment, info, _) => // write the payment to the
database
case (RefundedPayment, info, _) => // process refund
}
}
So, to answer your question, the key to all this are the sealed types
PaypalMode, and PaypalConnection - then its just down to you to make
sure that you dont use your actual credit card in the sandbox ;-)
Make sense?
Cheers
Tim
--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups
"Lift" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to [EMAIL PROTECTED]
For more options, visit this group at
http://groups.google.com/group/liftweb?hl=en
-~----------~----~----~----~------~----~------~--~---