DSmart SOAP Node

Make SOAP web service requests with authentication for DSmart services

Overview

This node enables making authenticated SOAP web service requests specifically for DSmart services. It is designed to interact with various SOAP operations related to banking and payment systems, such as managing direct debits, payments, invoices, and bank agreements.

A typical use case is automating interactions with the DSmart online payment system, for example:

  • Cancelling a direct debit authorization.
  • Retrieving invoice or payment information.
  • Setting or cancelling payments or direct debits.

By configuring the SOAP envelope and authentication details, users can customize requests to perform different operations supported by the DSmart SOAP API.

Properties

Name Meaning
SOAP Service URL The endpoint URL of the SOAP web service to which requests are sent. Default is the DSmart payment system WSDL URL.
Authentication Source Method to provide authentication credentials: either "Use Credentials" (from stored API credentials) or "Manual Input" (enter username and password manually).
Authentication When using manual input, this collection holds the Username and Password for authenticating the SOAP request.
SOAP Envelope The full SOAP XML envelope for the selected operation. Supports template variables like {{username}}, {{password}}, and N8N expressions such as {{ $json.field }} to dynamically insert data into the request body.

For the SetDirectDebitCancel operation, the default SOAP envelope includes these key placeholders:

  • {{username}} and {{password}}: Authentication credentials.
  • {{bankCode}}: Bank code (defaulted internally to "24").
  • {{subscriberNo}}: Subscriber number (optional).
  • {{userName}} and {{password}}: Repeated in the body for authentication.

Output

The node outputs an array of items, each containing:

  • json.response: The parsed SOAP response object corresponding to the executed operation's result.
  • json.rawResponse: The raw XML string returned from the SOAP service.
  • json.statusCode: HTTP status code of the SOAP response.
  • json.statusText: HTTP status text of the SOAP response.

If an error occurs and the node is configured to continue on failure, the output item will contain:

  • json.error: Error message.
  • json.statusCode: HTTP status code if available.
  • json.statusText: HTTP status text if available.
  • json.rawResponse: Raw response data if available.

The node does not output binary data.

Dependencies

  • Requires access to the DSmart SOAP web service endpoint.
  • Needs valid authentication credentials (username and password), either provided via stored credentials or manual input.
  • Uses the axios library for HTTP requests.
  • Uses the xml2js library to parse XML SOAP responses.

No special environment variables are required beyond providing the correct SOAP service URL and credentials.

Troubleshooting

  • Authentication errors: If the SOAP service returns authentication failures, verify that the username and password are correct and properly inserted into the SOAP envelope.
  • Timeouts: The node uses a 30-second timeout for requests. Long-running operations may time out; consider increasing timeout or checking network connectivity.
  • Malformed SOAP envelope: Ensure the SOAP envelope XML is well-formed and correctly references all required variables.
  • Parsing errors: If the SOAP response structure changes or is unexpected, parsing might fail or return incomplete data. Check the raw response for troubleshooting.
  • Credential retrieval issues: When using stored credentials, ensure they are properly configured and accessible by the node.

Common error messages include HTTP errors (e.g., 401 Unauthorized, 500 Internal Server Error) and XML parsing errors. Resolving them typically involves verifying credentials, SOAP envelope correctness, and service availability.

Links and References

Discussion