Initiating Payments via Batch File
Last updated
Last updated
Batch files are processed immediately upon receipt.
TodayPay will attempt to process each payment contained in a submitted batch file.
If an individual payment fails (e.g., due to an invalid phone number), the remaining valid payments will still be processed.
For SFTP Submission
All Submission Files will receive an Acknowledgment File in response
If no file-level errors are present, a Response File will also be returned
If file-level errors are present and file can't be processed, no Response File will be returned and no payments will be initiated
File format: .csv
Naming convention: see method-specific docs (varies based on SFTP, API, etc)
first_name
yes
str
last_name
yes
str
email
see method
str
phone_number
see method
str(E.164 format)
e.g. +14024938394
Only +1
US country code supported
address_line_1
see method
address_line_2
see method
address_state
see method
address_city
see method
adress_zip
see method
method
yes
str[DIGITAL | CHECK]
DIGITAL
- Standard payment to TodayPay digital wallet.
Required: phone_number
or email
.
CHECK
- Paper check issued directly to address.
Required: full address (except line 2)
Partial or complete address data may still be included on DIGITAL
payments for fraud detection and paper check failsafe purposes
amount
yes
float(2 decimal precision)
e.g. 10.00
= $10
Note: line item may fail if this field exceeds risk limits
idempotency_key
yes
str
This is a globally unique ID generated by integrator. This prevents accidental double-initiation of payments and can serve as an internal integrator reference.
Re-trying failed payments should use the same idempotency_key
Recommend UUID or similar globally unique identifier.
notes
no
str(<= 256 chars, [A-Za-z0-9])
Each SFTP Submission File will result in a manifest file that details file-level processing status and file-level processing errors if applicable.
Guaranteed return for every Submission File uploaded via SFTP
File format: .csv
Naming convention: see SFTP docs
Field name
Notes
file_name
yes
str
Mirrors client input file name
upload_id
yes
str
e.g. 2DP3768065998
(TodayPay id)
status
yes
str[ACCEPTED, REJECTED]
ACCEPTED
- file will be processed and Response file will be returned.
REJECTED
- file will not be processed. This is usually due to file-level error such as incorrect headers.
response_file_name
no
str
e.g. processed_abc.csv
number_of_disbursements
no
int
Null if status
= REJECTED
error_message
no
str
Not machine readable, for debugging only
Receipt of Response File entry with corresponding SUCCESS
status is only way to confirm a payment has been successfully initiated
Successfully-processed SFTP Submission Files will also result in a Response file that details payment-level status and details (e.g. confirmation of each disbursement)
Only returned if Submission File processing can be completed
File format: .csv
Naming convention: see SFTP docs
payment_id
no
str
TodayPay id
Null if status=FAILED
email
see method
str
phone_number
see method
str(E.164 format)
address_line_1
see method
address_line_2
see method
address_city
see method
address_state
see method
address_zip
see method
method
yes
str[DIGITAL | CHECK]
DIGITAL
- Standard payment to TodayPay digital wallet. Required: phone_number
or email
.
CHECK
- Paper check issued directly to address. Required: full address (except line 2).
amount
yes
float(2 decimal precision)
e.g. 10.00
= $10
status
yes
str[DIGITAL | CHECK]
DIGITAL
- Standard payment to TodayPay digital wallet.
Required: phone_number
or email
.
CHECK
- Paper check issued directly to address.
Required: full address (except line 2)
Partial or complete address data may still be included on DIGITAL
payments for fraud detection and paper check failsafe purposes
idempotency_key
yes
str
This is a globally unique ID generated by integrator. This prevents accidental double-initiation of payments and can serve as an internal integrator reference.
Re-trying failed payments should use the same idempotency_key
Recommend UUID or similar globally unique identifier.
error_message
no
notes
no
str