这看起来很容易,但我无法让它一直工作
我们正在将一个网站从wordpress移动到django。我必须使用payline api让网站接受在线支付。我知道还有其他解决方案,但这是客户要求。
在他们的php library(工作正常):
$client = new SoapClient('/.../spec.wsdl', ['login' => 'xxx', 'password' => 'yyy']);
$client->__setLocation("https://homologation.payline.com/V4/services/WebPaymentAPI");
$response = $client->doWebPayment($WSRequest);
在Python中,我尝试了这个:
from suds.client import Client
client = Client(url='https://homologation.payline.com/V4/services/WebPaymentAPI', headers={'login': 'xxx', 'password': 'yyy'})
request = client.factory.create('doWebPaymentRequest')
# filling up request parameters
result = client.service.doWebPayment(request)
但我得到了一个http 401:未经授权的访问。
我在过去的3个小时内拼命尝试了几件但没有工作:我尝试使用pysimplesoap,尝试使用自定义传输对象,试图在客户端URL中运行wsdl(有点工作)通过set_options
设置登录名/密码有什么想法吗?感谢
答案 0 :(得分:0)
suds文档缺乏所以这里有一些工作,至少对于我必须使用的服务器设置(我不知道)
client = Client(url='file://path/to/wsdl')
client.set_options(param1="xxx", param2="yyy", ...)
在我的情况下,param1
是"用户名",param2
是"密码"等,但这些特定于服务器的认证方案