I am developing a web using django and it deals with wsdl. I have an example code in dealing with it but its written on PHP and I wanted to convert it to python for my djang
Are you sure your DirectConnect.test.WSDL is correct? It seems it's not. Please post it here.
Added:
I got it working. Please have a look at the result. Here is the working code (chmod +x main.py to run it).
(sudstest)mike-imac:sudstest mike$ ./main.py
(OnlineResponse){
TransactionID = 0
TransactionType = 20
MerchantReference = None
ResponseCode = "ERMERC"
ResponseShortDescription = "YESDEC"
ResponseDescription = "Invalid Merchant Code"
TimeStamp = "2012/01/24 17:21:37"
CardData =
(YESCardData){
CardID = 0
ExpiryYear = 0
ExpiryMonth = 0
}
}
main.py
#!/usr/bin/env python
import os
from suds.client import Client
WSDL = 'DirectConnect.test.WSDL'
def test_api():
url = 'file://' + os.path.join(os.path.abspath(os.path.dirname(__file__)), WSDL)
client = Client(url)
data = {
'MerchantCode': 'HELLO',
'MerchantReference': '',
'TransactionType': 20,
'Amount': 100,
'CurrencyCode': 'USD',
'CardHolderName': 'RAUL O REVECHE',
'CardNumber': 4005550000000001,
'ExpiryMonth': 5,
'ExpiryYear': 2013,
'CardID': 0,
'CardSecurityCode': 400,
'CustomerAccountNumber': '',
'BillNumber': 0,
'CardHolderEmail': 'development@yespayments.com.ph',
'ClientIPAddress': 'http://127.0.0.1:8000/',
'Notes': 'This is test',
}
result = client.service.OnlineTransaction(**data)
print result
if __name__ == '__main__':
test_api()