Skip to main content

Version 2.0

Overview

How to quickly get started using the VodaPay Gateway.

VodaPay Gateway UAT
https://api.vodapaygatewayuat.vodacom.co.za/v2/ 
VodaPay Gateway Production
https://api.vodapaygateway.vodacom.co.za/v2/

VodaPay Gateway will supply you with the following:

  • Your API key - sent in the header value for the purposes of authentication and authorisation.
  • Once onboarded, you can locate your API key under your profile on the merchant portal - link provided below
MERCHANT PORTAL UAT
https://vodapayqa.vodacom.co.za/merchant
MERCHANT PORTAL PRODUCTION
https://vodapay.vodacom.co.za/merchant

Step-by-step process​

Step 1 - Choose Payment Type

What type of payment are you looking for?​

Once-off payment

Receive payments without having to redirect customers away from your e-commerce website.

Find Out More
Step 2 - Test with Bank Test Cards

Sandbox Testing​

Use our sandbox to test your integration before going live

Find Out More

Bank Test Cards for UAT environment​

Contact vfsintegration@vodacom.co.za to get a list of cards to test with.

This is for testing transactions that will go to the bank's testing environment

Step 3 - Receive Callback URL responses

Once the payment journey is complete, whether successful or declined, the outcome of the transaction is redirected to the callback URL that was specified within the payment request message. This informs the customer of the outcome of the transaction.

The callback URL will include a Base64 JSON GET parameter named data.

Callback Example

The following examples show responses sent to the callback URL:

Successful/Failed

Base64 Encoded
https://www.merchant.com/done?data=ewogICJlY2hvRGF0YSI6ICIxMjMiLAogICJzZXNzaW9uSWQiOiAiMDAwMDAwMDAtMDAwMC0wMDAwLTAwMDAtMDAwMDAwMDAwMDAwIiwKICAicmVzcG9uc2VDb2RlIjogIjAwIiwKICAicmVzcG9uc2VNZXNzYWdlIjogIkFwcHJvdmVkIG9yIGNvbXBsZXRlZCBzdWNjZXNzZnVsbHkiLAogICJwYXltZW50VG9rZW4iOiAiMDAwMDAwMDAwMDAwMDAwMCIsCiAgInJldHJpZXZhbFJlZmVyZW5jZU51bWJlciI6ICIwMDAwMDAwMDAwMDAiLAogICJyZXRyaWV2YWxSZWZlcmVuY2VOdW1iZXJFeHRlbmRlZCI6ICIwMDAwMDAwMDAwMDAwMCIsCiAgIm1lcmNoYW50SWQiOiAiVlBTMDAwMDAwMDAwMDAwIiwKICAibWVyY2hhbnROYW1lIjogIlRlc3QgTWVyY2hhbnQiLAogICJ0cmFuc2FjdGlvbkFtb3VudCI6IDUwMDAwLAogICJjdXJyZW5jeUNvZGUiOiAiNzEwIiwKICAidHJhbnNhY3Rpb25JZCI6ICIwMDAwMDAwMC0wMDAwLTAwMDAtMDAwMC0wMDAwMDAwMDAwMDAiLAogICJwYXltZW50TWV0aG9kIjogIjA2Igp9
Base64 Decoded
{
"echoData": "123",
"sessionId": "00000000-0000-0000-0000-000000000000",
"responseCode": "00",
"responseMessage": "Approved or completed successfully",
"paymentToken": "0000000000000000",
"retrievalReferenceNumber": "000000000000",
"retrievalReferenceNumberExtended": "00000000000000",
"merchantId": "VPS000000000000",
"merchantName": "Test Merchant",
"transactionAmount": 50000,
"currencyCode": "710",
"transactionId": "00000000-0000-0000-0000-000000000000",
"paymentMethod": "06"
}

Base64 Decoded Parameters

echoDatastringOptional

Any value that needs to be echoed back in the Echo Data element of the response message. This value will also be echoed in the resulting notification messages and the message posted to the callback URL. If unfilled, defaults to null over an empty string.

Step 4 - Receive notification message via webhook

Additionally, a notification message is sent to a preconfigured - publicly accessible - Url, reporting the outcome of the payment journey.

The VodaPay Gateway system embeds assurance data in the notification message when sending it to the integrating e-commerce system. This provides a guarantee that the notification message has not been tampered with and allows the integrating e-commerce system to authenticate the message.

Webhook Notification Example​

Notification Response
{
"echoData": "123",
"transmissionDateTime": "2020-08-26T09:10:24+0000",
"paymentToken": "8483893489348934",
"sessionId": "00000000-0000-0000-0000-000000000000",
"responseCode": "00",
"responseMessage": "Approved or completed successfully",
"retrievalReferenceNumber": "348934893489",
"retrievalReferenceNumberExtended": "MERCH383483489",
"merchantId": "VPS000000000000",
"merchantName": "Test Merchant",
"transactionAmount": 50000,
"currencyCode": "710",
"transactionId": "00000000-0000-0000-0000-000000000000",
"assuranceData": "62A04A843B74A81F8152E34580242257FA22DF820652429852C4B6DA655F72FC06827829C5D5E2D7D33CA742FE9B475ED9856C06FCDF41E947E734D08ABE3032",
"transactionInfo": { "paymentMethodCode": "06" }
}

Notification Response Parameters

echoDatastringOptional

Any value that needs to be echoed back in the Echo Data element of the response message. This value will also be echoed in the resulting notification messages and the message posted to the callback URL. If unfilled, defaults to null over an empty string.