Function: ProcessPaymentFile

The ProcessPaymentFile function submits a CSV payment file A CSV or TXT file that contains one or more payment orders/ instructions to Tipalti. It can be submitted via the Tipalti Hub or Tipalti's FTP path. to Tipalti. The payment file must be preloaded to the SFTP Secure File Transfer Protocol (SFTP) is a secure version of File Transfer Protocol (FTP), which facilitates data access and data transfer over a Secure Shell (SSH) data stream. folder assigned by Tipalti.

The returned values for this function include warnings, errors and the line numbers in the original payment file (see the resultsFile parameter). If errorMessage = "OK", then the payments were submitted successfully.

Tipalti uses the payment refcode to safeguard against duplicate payments. If you try to submit the same payment again using a different refcode in case of an error, it may result in duplicate payments going out to the payee. Please ensure your code handles this error situation correctly.

The following is a sample SOAP 1.2 request and response. In the request, you need to replace the data types in yellow with actual values.

SOAP 1.2: Request

POST /v11/payerfunctions.asmx HTTP/1.1

Host: api.tipalti.com

Content-Type: application/soap+xml; charset=utf-8

Content-Length: length

<?xml version="1.0" encoding="utf-8"?>

<soap12:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"

xmlns:xsd="http://www.w3.org/2001/XMLSchema"

xmlns:soap12="http://www.w3.org/2003/05/soap-envelope">

<soap12:Body>

<ProcessPaymentFile xmlns="http://Tipalti.org/">

<payerName>string</payerName>

<timestamp>double</timestamp>

<key>string</key>

<fileName>string</fileName>

<totalAmount>double</totalAmount>

</ProcessPaymentFile>

</soap12:Body>

</soap12:Envelope>

SOAP 1.2: Response

HTTP/1.1 200 OK

Content-Type: application/soap+xml; charset=utf-8

Content-Length: length

<?xml version="1.0" encoding="utf-8"?>

<soap12:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"

xmlns:xsd="http://www.w3.org/2001/XMLSchema"

xmlns:soap12="http://www.w3.org/2003/05/soap-envelope">

<soap12:Body>

<ProcessPaymentFileResponse xmlns="http://Tipalti.org/">

<ProcessPaymentFileResult>

<errorMessage>string</errorMessage>

<errorCode>string</errorCode>

<LineErrorsOrWarning>

<LineErrorOrWarning>

<lineNumber>integer</lineNumber>

<isWarning>boolean</isWarning>

<message>string</message>

</LineErrorOrWarning>

<LineErrorOrWarning>

<lineNumber>integer</lineNumber>

<isWarning>boolean</isWarning>

<message>string</message>

</LineErrorOrWarning>

</LineErrorsOrWarning>

<resultsFile>string</resultsFile>

</ProcessPaymentFileResult>

</ProcessPaymentFileResponse>

</soap12:Body>

</soap12:Envelope>

Request parameters

element

description

limitation

Mandatory?

data type

payerName The name of the payer, as assigned by Tipalti
  • Max. length = 50
  • Value is case sensitive
Mandatory string
timestamp

Current time (UTC) when the request is sent

Unix time Mandatory double
key Encryption key   Mandatory string
fileName Name of the file
  • Max. length = 260
  • Must contain only characters valid for file names
Mandatory string
totalAmount Total amount submitted in the payment instructions   Mandatory double

Response parameters

element

description

data type

ProcessPaymentFileResult Contains the response parameters TipaltiProcessPaymentResponse

TipaltiProcessPaymentResponse

element

description

limitation

data type

errorMessage A description of the error See API error codes. string
errorCode The status of the error See API error codes. string
LineErrorsOrWarning*
  • List of line errors or warnings
  • Each line error or warning is of type LineErrorOrWarning.
 

Array of LineErrorOrWarning

 

 

resultsFile File name of the payment SFTP result file that the system places in the SFTP folder
  • Max. length = 260
  • Must contain only characters valid for file names
string
* See Payment Error Codes.
LineErrorOrWarning

element

Description

Data Type

lineNumber The line number in the original file integer
isWarning Indicates whether or not there is a warning boolean
message The warning message string