2011-01-10 49 views
1

說到PayPal,我是一個總的新手,所以,如果在別的地方回答這個問題,很抱歉。我已經檢查了多個地點,包括這裏,並且一直無法找到任何信息。提取快速結賬代幣

我想整合paypal與python。

我的問題是我試圖在電子商務網站中實現快速結帳。我正在使用沙盒來嘗試讓它工作。作爲參考,我一直在使用https://cms.paypal.com/cms_content/en_US/files/developer/PP_ExpressCheckout_IntegrationGuide.pdf

第6章作爲如何做到這一點的指導。

我現在在哪裏,我已經得到了一切工作,直到我需要在成功調用PayPal API後提取令牌。本質上,我在瀏覽器中看到一條消息,看起來像

TIMESTAMP=2007%2d04%2d05T23%3a23%3a07Z 
&CORRELATIONID=63cdac0b67b50 
&ACK=Success 
&VERSION=52%2e000000 
&BUILD=1%2e0006 
&TOKEN=EC%2d1NK66318YB717835M 

首先,如何從消息中提取ACK和TOKEN值?這些是隱藏的查詢字符串的一部分,我可以使用類似Request.QueryString["TOKEN"]的東西來提取嗎?

從技術上講,我所需要做的就是提取並檢查ACK是否成功,否則重定向返回一個錯誤。如果成功,我需要提取令牌並繼續進行PayPal並最終重定向到我的訂單查看頁面。

如何提取令牌?

如何從該頁面重定向瀏覽器? (我正在處理尚未上傳的本地副本

對不起,如果有人有任何其他資源我可以查看,或者如果您有任何建議或解決方案對我來說,

回答

0

我道歉。我回答了我的頭頂部沒有嘗試它。下面是實際工作。

from cgi import parse_qs 
... 

redirect_url_template = 'https://www.paypal.com/webscr?cmd=_ap-payment&paykey=' 

... 

parsed_response = parse_qs(response.content) 
ack = parsed_response['responseEnvelope.ack'][0] 
if ack and ack == 'Success': 
    url = redirect_url_template + parsed_response['payKey'][0] 

這只是一個例子,你會希望把一個嘗試捕捉周圍對於KeyError和那種事情是安全的。