EFT Payments (EFT Credits) enable merchants to send outbound payments to bank accounts.
The EFT Credit service handles financial transactions, including:
| Service Type | Description | Settlement |
|---|---|---|
SAMEDAY | Same-day value (SDV) | Same day |
ONEDAY | One business day | Next business day |
TWODAY | Two business days | Two business days |
POST /v2/payment/eft
BASH
curl -X POST https://dev.api.revio.co.za/v2/payment/eft \
-H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"paymentDate": "2024-01-15T08:00:00.000Z",
"profileCode": "TEST1",
"abbreviatedName": "TESTMERCH1",
"contractReference": "PAY001",
"amountCents": 50000,
"serviceType": "SAMEDAY",
"debtor": {
"accountNumber": "12345678",
"branchCode": "051001",
"accountType": "CURRENT",
"bank": "STANDARDBANK",
"firstName": "TEST MERCHANT 1",
"identification": {
"phoneNumber": "+27-615333440",
"emailAddress": "merchant@test.com"
}
},
"creditor": {
"accountNumber": "010553922",
"accountType": "CURRENT",
"branchCode": "632005",
"name": "John Smith",
"idNumber": "0001010000006",
"phoneNumber": "+27-123456789"
}
}'
| Field | Type | Required | Description |
|---|---|---|---|
paymentDate | string | Yes | Date to process payment (ISO 8601) |
profileCode | string | Yes | Your merchant profile code |
abbreviatedName | string | Yes | Your PASA-registered name |
contractReference | string | Yes | Payment reference |
amountCents | integer | Yes | Payment amount in cents |
serviceType | string | Yes | SAMEDAY, ONEDAY, or TWODAY |
debtor | object | Yes | Source account (your account) |
creditor | object | Yes | Destination account (recipient) |
| Field | Type | Required | Description |
|---|---|---|---|
accountNumber | string | Yes | Your bank account number |
branchCode | string | Yes | Your bank branch code |
accountType | string | Yes | Account type |
bank | string | Yes | Your bank name |
firstName | string | Yes | Your merchant name |
identification.phoneNumber | string | Yes | Your contact number |
identification.emailAddress | string | Yes | Your email address |
| Field | Type | Required | Description |
|---|---|---|---|
accountNumber | string | Yes | Recipient account number |
accountType | string | Yes | Account type |
branchCode | string | Yes | Recipient branch code |
name | string | Yes | Recipient name |
idNumber | string | Yes | Recipient ID number |
phoneNumber | string | Yes | Recipient phone number |
JSON
{
"id": "pay-123-456-789",
"status": "PENDING",
"paymentDate": "2024-01-15T08:00:00.000Z",
"amountCents": 50000,
"serviceType": "SAMEDAY",
"contractReference": "PAY001"
}
BASH
curl -X POST https://dev.api.revio.co.za/v2/payment/eft \
-H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"paymentDate": "2024-01-15T08:00:00.000Z",
"profileCode": "TEST1",
"abbreviatedName": "TESTMERCH1",
"contractReference": "PAY002",
"amountCents": 100000,
"serviceType": "ONEDAY",
"debtor": {
"accountNumber": "12345678",
"branchCode": "051001",
"accountType": "CURRENT",
"bank": "STANDARDBANK",
"firstName": "TEST MERCHANT 1",
"identification": {
"phoneNumber": "+27-615333440",
"emailAddress": "merchant@test.com"
}
},
"creditor": {
"accountNumber": "987654321",
"accountType": "SAVINGS",
"branchCode": "250655",
"name": "Jane Doe",
"idNumber": "8501015800089",
"phoneNumber": "+27-987654321"
}
}'
JSON
{
"serviceType": "TWODAY",
...
}
GET /v2/payment/eft/{paymentId}/status
BASH
curl -X GET https://dev.api.revio.co.za/v2/payment/eft/pay-123-456-789/status \
-H "Authorization: Bearer YOUR_ACCESS_TOKEN"
JSON
{
"id": "pay-123-456-789",
"status": "COMPLETED"
}
| Status | Description |
|---|---|
PENDING | Payment submitted, awaiting processing |
PROCESSING | Payment being processed by bank |
COMPLETED | Payment successful |
FAILED | Payment failed |
CANCELLED | Payment cancelled |
| Service Type | Weekday Cut-off | Weekend Cut-off |
|---|---|---|
| Same-day (SSVS) | 08:00 - 16:20 | 08:00 - 09:45 |
| Two-day | 08:00 - 14:30 (2 days before) | 08:00 - 09:00 |
Important: Submit payments before cut-off times to ensure same-day processing. Payments submitted after cut-off will automatically be processed in the next available processing day
| Error | Cause | Resolution |
|---|---|---|
400 Bad Request | Invalid request data | Verify all required fields |
exceeds industry imposed limits | Amount ≥ R5m | Use real-time line for large transactions |
Invalid account | Invalid creditor details | Verify account number and branch code |
If a payment fails, check:
For processing multiple payments, submit separate requests for each. Consider implementing:
Contact Precium support for high-volume payment requirements.