suds.TypeNotFound: Type not found: 'MerchantCode'

后端 未结 1 1859
抹茶落季
抹茶落季 2021-01-06 16:54

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

1条回答
  •  挽巷
    挽巷 (楼主)
    2021-01-06 17:46

    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()
    

    0 讨论(0)
提交回复
热议问题