我将把购买信息(如CC)发送到银行网关,然后通过Python使用Django检索结果。
这样做的有效和安全方法是什么?
我已经阅读了这个关于php的网关的文档,他们似乎使用了这个方法:
$xml= Some xml holding data of a purchase.
$curl = `/usr/bin/curl -s -d 'DATA=$xml' "https://url of the virtual bank POS"`;
$data=explode("\n",$curl); //return value is also an xml, seems like they are splitting by each `\n`
并使用$ data,如果付款被接受,被拒绝等,他们会处理。
我想在python语言下实现这一点,为此我做了一些搜索,似乎有一个名为pycurl的python curl应用程序,但我没有使用curl的经验,也不知道这是否是库适合这项任务。请记住,由于此转移需要安全性,我将使用SSL。
任何建议都将受到赞赏。
答案 0 :(得分:10)
使用标准库urllib2
模块就足够了:
import urllib
import urllib2
request_data = urllib.urlencode({"DATA": xml})
response = urllib2.urlopen("https://url of the virtual bank POS", request_data)
response_data = response.read()
data = response_data.split('\n')
我假设xml
变量保存要发送的数据。
答案 1 :(得分:3)
引用pycurl.sourceforge.net:
总而言之,PycURL非常快(尤其适用于多个并发操作)并且功能非常完整,但界面有些复杂。如果您需要更简单的东西或更喜欢纯Python模块,您可能需要查看urllib2和urlgrabber。各种图书馆也有很好的比较。
curl和urllib2都可以使用https,因此取决于你。