Merchant profiles store your banking configuration and are required for processing collections and payments.
A merchant profile contains:
Retrieve your merchant profile(s) to obtain the configuration values needed for API calls.
JSON
GET /v2/merchantprofile/
BASH
curl -X GET https://dev.api.revio.co.za/v2/merchantprofile/ \
-H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
-H "Content-Type: application/json"
JSON
[
{
"id": "24",
"profileCode": "TEST1",
"bank": "STANDARDBANK",
"instruments": ["EFTONEDAY", "EFTTWODAY", "EFTSAMEDAY", "DEBICHECK"],
"name": "TEST MERCHANT 1",
"accountNumber": "12345678",
"branchCode": "051001",
"abbreviatedName": "TESTMERCH1",
"contactNumber": "+27-615333440",
"emailAddress": "test@test.com",
"currency": "ZAR",
"entryClass": "21",
"createdByClient": "109"
}
]
Retrieve a specific merchant profile.
GET /v2/merchantprofile/{id}/
BASH
curl -X GET https://dev.api.revio.co.za/v2/merchantprofile/24/ \
-H "Authorization: Bearer YOUR_ACCESS_TOKEN"
Platform providers can create merchant profiles for their sub-merchants.
Note: This feature is only available for System Operator (SO) model processing. Contact Precium support to enable this capability.
POST /v2/merchantprofile
BASH
curl -X POST https://dev.api.revio.co.za/v2/merchantprofile \
-H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"profileCode": "TEST1",
"bank": "STANDARDBANK",
"instruments": ["EFTONEDAY", "EFTTWODAY", "EFTSAMEDAY", "DEBICHECK"],
"name": "NEW MERCHANT",
"accountNumber": "02345679",
"branchCode": "051001",
"abbreviatedName": "NEWMERCH1",
"contactNumber": "+27-615333555",
"emailAddress": "newmerchant@test.com",
"currency": "ZAR",
"entryClass": "21",
"clientId": "109"
}'
The following fields must be unique across all merchant profiles:
profileCodeaccountNumberinstrumentsabbreviatedName
JSON
{
"id": "25",
"profileCode": "TEST1",
"bank": "STANDARDBANK",
"instruments": ["EFTONEDAY", "EFTTWODAY", "EFTSAMEDAY", "DEBICHECK"],
"name": "NEW MERCHANT",
"accountNumber": "02345679",
"branchCode": "051001",
"abbreviatedName": "NEWMERCH1",
"contactNumber": "+27-615333555",
"emailAddress": "newmerchant@test.com",
"currency": "ZAR",
"entryClass": "21"
}
The merchant profile values are required when creating mandates and collections:
JSON
{
"profileCode": "TEST1", // From merchant profile
"abbreviatedName": "TESTMERCH1", // From merchant profile
"creditor": {
"accountNumber": "12345678", // From merchant profile
"branchCode": "051001", // From merchant profile
"name": "TEST MERCHANT 1", // From merchant profile
"bank": "STANDARDBANK"
}
}
The abbreviated name is a critical identifier that:
Example bank statement display:
TESTMERCH1 CONTRACT001 -R100.00
For sandbox testing, use the following pre-configured profile:
To create and manage merchant profiles as a platform provider, you need:
Contact Precium support to enable platform provider capabilities.