Retailer payments using services like Pay@ in South Africa and Moniepoint in Nigeria provide customers with a convenient way to make payments for goods and services at physical retail locations.

These systems allow customers to make payments at participating retailers using various methods, including cash, cards, and digital wallets. Here's how retailer payments work:

Selection of Payment MethodWhen customers are ready to pay at a participating retailer, they inform the cashier or staff member about their intention to use a payment service like Pay@. The customer can then choose their preferred payment method, including cash, credit or debit card, or a digital wallet.
Transaction InitiationThe cashier initiates the transaction on the retailer's point-of-sale (POS) system. This could involve selecting the appropriate payment option and entering the transaction amount.
Execute payment: CashIf the customer pays with cash, they provide the exact amount to the cashier. The cashier finalizes the transaction on the POS system, generating a receipt for the customer.
Execute payment: CardIf the customer opts for card payment, they insert or swipe their credit or debit card into the POS terminal. The terminal communicates with the card issuer's network to process the payment securely.
Execute payment: Digital walletCustomers might be asked to scan a QR code generated by the retailer's system if they prefer to use a digital wallet. This QR code contains payment details. The customer's digital wallet app processes the payment and confirms the transaction.
Confirmation:Once the payment is successfully processed, the cashier provides a receipt to the customer. The receipt contains transaction details, including the payment method, amount paid, and any other relevant information.
NotificationDepending on the payment method, the customer might receive a notification on their phone or through their digital wallet app confirming the successful payment.

Step 1: Initiate Purchase

To accept Instant Capitec 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"

Step2: Direct post to generate customer payment reference

curl --location 'https://api_domain/p/transaction_id/' \
--form 's2s="true"' \
--form 'pm="payat"' \

This call will create a unique customer reference that can be sent or displayed to the customer. The customer reference can be expired by making use of the due.strict field when creating the purchase.

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.

Auto reconciliation

Once the client makes payment the purchase object status will be updated accordingly.