Yes, I could not agree more on spotty quality.

The paypal instructions are below.  See # 3.

I'm checking out urllib2 now.  I don't see a way of obtaining a response.

Co  n s t r  u c t i  n g   Yo u r   P o  s tb a c k
Use these guidelines for constructing your postback to PayPal:.
1. Your postback must be sent to https://www.paypal.com/cgi-bin/webscr. 
Instant Payment Notification (IPN)
Using IPN with Multiple Currencies
3
28 March 2008 - first technical draft Order Management Integration Guide
NO T E: You can implement IPN without SSL, including your postbacks for 
validation, but 
PayPal recommends against doing so.
2. Your postback must include the variable cmd with the value 
_notify-validate:
cmd=_notify-validate
3. Your postback must include exactly the same variables and values that 
you receive in the 
IPN from PayPal, and they must be in the same order. 
P r o  ce s s i n g   t h e   P a y P a l  Re s p o n s e   t o   Yo  u r   
P o s t b a c k
*PayPal responds to your postbacks with a single word in the body of the 
response: VERIFIED*
*or INVALID.*
When you receive a VERIFIED postback response, perform the following checks 
on data in 
the IPN: 
1. Check that the payment_status is Completed.
2. If the payment_status is Completed, check the txn_id against the 
previous PayPal 
transaction that you processed to ensure it is not a duplicate.
3. Check that the receiver_email is an email address registered in your 
PayPal account.
4. Check that the price, carried in mc_gross, and the currency, carried in 
mc_currency, are 
correct for the item, carried in item_name or item_number.

On Monday, March 12, 2012 3:56:03 PM UTC-4, ke1g wrote:
>
> urllib2 uses urllib and httplib under the hood.  There all part of the
> standard python install.
>
> Yeah the docs may say it's in the body of the response, but is that
> your response to them, or the response to some request you have to
> further make to them.
>
> This sounds familiar.  It may or may not have been Paypal, but I've
> done something like this in the past, and there was no extra request.
> Yes, you have to have a remembered cart, or something, to coordinate
> with what they're sending you, unless you're getting everything you
> need for fulfillment in the post from them.
>
> Anyway, good luck.  In my experience, webservice documentation has
> spotty quality.
>
> On 3/12/12, hack <scottma...@gmail.com> wrote:
> > Yea, the docs say its in the body of the response.
> >
> > I'll try the lib you suggest.  I was also taking a look at the httplib 
> page
> > as well.
> >
> > Thanks.
> >
> > On Monday, March 12, 2012 2:57:20 PM UTC-4, ke1g wrote:
> >>
> >> The straightforward thing is to use urllib2.  The tricky thing is that
> >> the thread that got the post from them in the first place will be
> >> blocked waiting for their response.
> >>
> >> But are you understanding the API correctly?  I would expect the
> >> "VERIFIED" to either be in their POST to your listener (to indicate
> >> that the payor's payment method is valid), or that it would be in your
> >> response to that POST to tell paypal that this looks like a valid
> >> payment (the payment amount or item quantities haven't been hacked,
> >> etc.).
> >>
> >> But you could be right.
> >>
> >> Bill
> >>
> >> On 3/12/12, hack <scottma...@gmail.com> wrote:
> >> > I read the paypal ipn docs, and think I understand the procedure for
> >> > processing payments.
> >> > The only issue I have is that I am not 100% certain how to do this via
> >> > django.
> >> >
> >> > Basically you setup a listener http://mysite.com/mylistener/, and 
> when
> >> > someone makes a payment paypal responds by notifying your litener. (ie
> >> > - http://mysite.com/mylistener/?paypalparms=somepaypalstuff&blah=blah
> >> >
> >> > So I then access all the parms and verify them.  However, the place
> >> > where
> >> > I'm stuck is how exactly do I programmatically execute a post back to
> >> > paypal to confirm my receipt and how do I obtain their response object
> >> > to
> >> > view response.content? Basically I need to view the content of the 
> body
> >> to
> >> > see if it contains VERIFIED, etc.    Django seems a little different
> >> > than
> >> > java servlets, which is what I am used to using.  Thanks.
> >> >
> >> > --
> >> > You received this message because you are subscribed to the Google
> >> > Groups
> >> > "Django users" group.
> >> > To view this discussion on the web visit
> >> > https://groups.google.com/d/msg/django-users/-/wCjYi1UxT50J.
> >> > To post to this group, send email to django-users@googlegroups.com.
> >> > To unsubscribe from this group, send email to
> >> > django-users+unsubscr...@googlegroups.com.
> >> > For more options, visit this group at
> >> > http://groups.google.com/group/django-users?hl=en.
> >> >
> >> >
> >>
> >>
> >
> > --
> > You received this message because you are subscribed to the Google Groups
> > "Django users" group.
> > To view this discussion on the web visit
> > https://groups.google.com/d/msg/django-users/-/UHrly8fABmMJ.
> > To post to this group, send email to django-users@googlegroups.com.
> > To unsubscribe from this group, send email to
> > django-users+unsubscr...@googlegroups.com.
> > For more options, visit this group at
> > http://groups.google.com/group/django-users?hl=en.
> >
> >
>
>

-- 
You received this message because you are subscribed to the Google Groups 
"Django users" group.
To view this discussion on the web visit 
https://groups.google.com/d/msg/django-users/-/iWLEpDrrn2YJ.
To post to this group, send email to django-users@googlegroups.com.
To unsubscribe from this group, send email to 
django-users+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/django-users?hl=en.

Reply via email to