Create Bulk Payment Request
Try it
Bodyapplication/json
Request sample
curl -X POST 'https://api.ozow.com/secure/bulkpaymentrequests/create' \
-H 'Authorization: Bearer YOUR_ACCESS_TOKEN' \
-H 'Content-Type: application/json' \
-d '{
"jobReference": "string",
"notifyUrl": "https://example.com/",
"compressedData": "string"
}'Response example
Built from the response schema. Values are placeholders, not real data.
https://api.ozow.com/secure/bulkpaymentrequests/createProductionSubmit up to 5000 payment requests as one job. The response says only whether the job was accepted. The payment links and the per-request results are sent to the notification URLWebhook A URL of yours that Ozow calls when something happens, rather than you polling to find out. The call carries no credential of yours and arrives at a public URL, so authenticate it before acting on it: a hash field on the Payments API, a Svix signature on One API. in the request once the job finishes.
Authentication
- Bearer token
The token generated by the
Get API tokenoperation. The same token is used for every request until it expires.
Request body
application/json
jobReferencestring requiredThe merchant reference for the job/batch of payment requests to be created.
max length100notifyUrlstring uri requiredThe URL where the results for the job will be posted to after the job has been processed.
max length150compressedDatastring requiredA GZIP compressedGZIP A compression format. A large payload is compressed before it is sent and has to be decompressed before it can be read.Wikipedia JSON string of the array of payment request records. Each element carries the fields of a payment request link; the result notification adds the outcome fields to each record it sends back.
To compress: build the JSON array, encode it as UTF-8 bytes, GZIP those bytes, then base64Base64 A way of writing binary data using ordinary text characters, so it can travel inside JSON or a URL. It is an encoding, not encryption: anyone can decode it.Wikipedia the compressed bytes.
To decompress what you receive: base64 decode to bytes, GZIP decompress, then read the bytes as UTF-8.
application/xml
jobReferencestring requiredThe merchant reference for the job/batch of payment requests to be created.
max length100notifyUrlstring uri requiredThe URL where the results for the job will be posted to after the job has been processed.
max length150compressedDatastring requiredA GZIP compressedGZIP A compression format. A large payload is compressed before it is sent and has to be decompressed before it can be read.Wikipedia JSON string of the array of payment request records. Each element carries the fields of a payment request link; the result notification adds the outcome fields to each record it sends back.
To compress: build the JSON array, encode it as UTF-8 bytes, GZIP those bytes, then base64Base64 A way of writing binary data using ordinary text characters, so it can travel inside JSON or a URL. It is an encoding, not encryption: anyone can decode it.Wikipedia the compressed bytes.
To decompress what you receive: base64 decode to bytes, GZIP decompress, then read the bytes as UTF-8.
Responses
application/json
jobIdstring uuid requiredThe identifier for the job created to process the bulk payment requests. No identifier is returned if there was an error creating the job or if the request submitted failed the initial validation.
jobReferencestring requiredThe merchant reference for the job/batch that was passed in the create request.
max length100errorsarray of stringValidation errors for the request.
application/xml
jobIdstring uuid requiredThe identifier for the job created to process the bulk payment requests. No identifier is returned if there was an error creating the job or if the request submitted failed the initial validation.
jobReferencestring requiredThe merchant reference for the job/batch that was passed in the create request.
max length100errorsarray of stringValidation errors for the request.
There was an error processing your requestAPI key is missing or invalid.