Skip to content

Instantly share code, notes, and snippets.

@srinikom
Created December 27, 2011 19:03
Show Gist options
  • Save srinikom/1524812 to your computer and use it in GitHub Desktop.
Save srinikom/1524812 to your computer and use it in GitHub Desktop.
## PP IPN
class PaypalIPNHandler(BaseHandler):
def get(self):
#print self.request
self.render("error.html")
def post(self):
try:
self.write("thanks")
status = self.get_argument("payment_status")
except:
None
if status != "Completed":
get_kv = urlparse.parse_qs(self.request.body)
email = get_kv["payer_email"][0].lower()
token = get_kv["txn_id"][0]
sku = get_kv["item_number"][0]
amt = get_kv["payment_gross"][0]
date = get_kv["payment_date"][0]
username = "%s %s" % (get_kv["first_name"][0], get_kv["last_name"][0])
try:
qty = get_kv["quantity"][0]
except:
qty = ""
js = json.dumps({"email": email,
"sku": sku,
"status": status,
"qty": qty,
"amt": amt,
"ip": self.request.remote_ip,
"username": username,
"date": date,
})
#db update
self.dbupdate(js)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment