提取快速结账标记

时间:2011-01-10 10:19:14

标签: python paypal

说到PayPal,我是一个全新手,所以,对不起,如果在其他地方得到回答。我已在多个地点检查过,包括此处,但无法找到任何信息。

我想将paypal与python集成。

我的问题是我正在尝试在电子商务网站中实施Express Checkout。我正在研究一种使用沙箱的虚拟测试站点,试图让它工作。作为参考,我一直在使用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并最终重定向到我的订单审核页面。

如何提取令牌?

如何从此页面重定向浏览器? (我正在制作尚未上传的本地副本。

对不起文字墙。如果有人有我可以查看的任何其他资源,或者您对我有任何建议或解决方案,请告诉我。

1 个答案:

答案 0 :(得分: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以及那种安全的事情。