QR payments

Instant QR payments facilitated by payment gateways like Zapper in South Africa offer a quick and convenient way for customers to make payments using their smartphones.

Supporting technical documentationLink
API referenceGo
Postman recipesGo

Here's a simplified overview of how instant QR payments using Zapper or similar services typically work:

Customer Scanning QR CodeThe process begins when a customer is ready to make a payment at a participating merchant or retailer. The customer uses their smartphone's camera to scan the QR code provided by the merchant. This QR code may be displayed on a physical poster, receipt, or the merchant's digital interface.
QR Code InformationThe QR code contains essential payment information, including details about the merchant, the transaction amount, and any other relevant data.
Payment Gateway InteractionAfter scanning the QR code, the customer's smartphone communicates with the payment gateway's app, like Zapper, which is installed on the customer's device.
Payment Details ConfirmationThe payment gateway's app displays the payment details on the customer's smartphone screen. This includes the merchant's name, the amount to be paid, and any additional information about the purchase.
Payment AuthorizationTo authorize the payment, the customer confirms the payment details and selects their preferred payment method. This might involve choosing a credit/debit card, a linked bank account, or a digital wallet.
Security MeasuresDepending on the payment gateway's security protocols, the customer might be required to use biometric verification (like fingerprint or facial recognition) or enter a secure PIN to proceed with the payment.
Payment ProcessingOnce the customer confirms the payment and it's successfully authorized, the payment gateway processes the transaction. The funds are securely transferred from the customer's chosen payment source to the merchant's account.
Transaction ConfirmationAfter the payment is processed, both the customer and the merchant receive immediate confirmation of the successful transaction. The customer's app may display a payment confirmation screen, and the merchant's point-of-sale system reflects the received payment.
Receipt GenerationIn many cases, a digital receipt is generated and stored within the payment gateway app. This receipt provides a record of the transaction for both the customer and the merchant.

Instant QR payments through payment gateways like Zapper offer benefits such as speed, convenience, and security. They eliminate the need for physical cash or card transactions and provide a seamless experience for both customers and merchants. The specifics of the process might vary slightly based on the payment gateway's features and the participating merchants.

Step 1: Initiate Purchase

To accept Instant EFT payments in your application or website, use:

  • Please remember to specify the success/fail redirect in the call
  • To capture customers' card details, use an HTML form hosted on your website with method="POST"
    "client_id": "{{client_id}}",
    "purchase": {
    	"currency": "ZAR",
        "language": "en",
	    "products": [
    			"name": "My product or service - charge 1",
                "price": 100
	"brand_id": "{{brand_id}}",

Step2: Direct post to generate redirect URL

curl --location 'https://api_domain/p/transaction_id/' \
--form 's2s="true"' \
--form 'pm="zapper"' \
  • In response, you will receive a JSON with the QR code and mobile_device_redirect_url.
  • If the buyer uses the Zapper app, you need to show the QR to the buyer.
  • If the buyer is paying via a mobile device, you must show mobile_device_redirect_url to the buyer.

Step3: Verify status

  • Use the success_callback parameter of the Purchase object.
  • Use GET /purchases/<purchase_id> request.
  • Set up a Webhook using your account's Developers section or Webhook API to listen to purchase.paid, or purchase.payment_failure event on your server.

What's next