Table of contents

Merchant profiles

Merchant Profiles

Merchant profiles store your banking configuration and are required for processing collections and payments.

‍

Overview

A merchant profile contains:

  • Your bank account details for settlement
  • Approved collection instruments (EFT, DebiCheck)
  • Your PASA-registered abbreviated name
  • Processing limits and configuration

‍

Get Merchant Profile

Retrieve your merchant profile(s) to obtain the configuration values needed for API calls.

‍

Endpoint

JSON

GET /v2/merchantprofile/

‍

Request

BASH

curl -X GET https://dev.api.revio.co.za/v2/merchantprofile/ \
  -H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
  -H "Content-Type: application/json"

‍

Response

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"
  }
]

‍

Response Fields

FieldTypeDescription
idstringUnique merchant profile identifier
profileCodestringBank-provided profile code linking credit limits and pricing
bankstringBank name (e.g., STANDARDBANK)
instrumentsarrayEnabled payment instruments
namestringMerchant trading name registered with bank
accountNumberstringSettlement account number
branchCodestringBank branch code
abbreviatedNamestringPASA-approved name shown on customer bank statements
contactNumberstringMerchant contact phone number
emailAddressstringMerchant email address
currencystringCurrency code (always ZAR)
entryClassstringEntry class code (always 21)
createdByClientstringParent client ID

‍

Available Instruments

InstrumentDescription
EFTSAMEDAYSame-day EFT collection/payment
EFTONEDAYOne business day EFT collection/payment
EFTTWODAYTwo business day EFT collection/payment
DEBICHECKDebiCheck authenticated debit orders

‍

Get Merchant Profile by ID

Retrieve a specific merchant profile.

‍

Endpoint

GET /v2/merchantprofile/{id}/

‍

Request

BASH

curl -X GET https://dev.api.revio.co.za/v2/merchantprofile/24/ \
  -H "Authorization: Bearer YOUR_ACCESS_TOKEN"

‍

Create Merchant Profile (Platform Providers)

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.

‍

Endpoint

POST /v2/merchantprofile

‍

Request

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"
  }'

‍

Request Fields

FieldTypeRequiredDescription
profileCodestringYesProfile code from your master merchant profile
bankstringYesBank name (only STANDARDBANK supported)
instrumentsarrayYesPayment instruments to enable
namestringYesMerchant name as registered with bank
accountNumberstringYesBank account number for settlement
branchCodestringYesBank branch code
abbreviatedNamestringYesPASA-approved abbreviated name (unique)
contactNumberstringYesMerchant contact phone number
emailAddressstringYesMerchant email address
currencystringYesCurrency code (only ZAR accepted)
entryClassstringYesEntry class (only 21 accepted)
clientIdstringYesMaster merchant ID provided by Precium

‍

Unique Fields

The following fields must be unique across all merchant profiles:

  • profileCode
  • accountNumber
  • instruments
  • abbreviatedName

‍

Response

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"
}

‍

Using Profile Values

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"
  }
}

‍

Abbreviated Name

The abbreviated name is a critical identifier that:

  • Appears on customer bank statements
  • Must be registered and approved by PASA
  • Uniquely identifies your business to customers
  • Is limited to 10 characters

‍

Example bank statement display:

‍

TESTMERCH1 CONTRACT001  -R100.00

‍

Test Merchant Profile

For sandbox testing, use the following pre-configured profile:

‍

FieldValue
id24
profileCodeTEST1
abbreviatedNameTESTMERCH1
accountNumber12345678
branchCode051001
nameTEST MERCHANT 1

‍

Platform Provider Requirements

To create and manage merchant profiles as a platform provider, you need:

  1. Standard Bank Profile Code and credit limits
  2. Standard Bank processing account for real-time settlement
  3. PASA Registration as a Third-Party Payment Provider (TPPP)
  4. Precium verification and approval

‍

Contact Precium support to enable platform provider capabilities.