> For the complete documentation index, see [llms.txt](https://developers.klasha.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://developers.klasha.com/accepting-payments/payments-api/pay-with-capitec-pay.md).

# Pay with Capitec Pay

Follow these steps to accept payment using Capitec Pay:

* Initiate
* Validate
* Check Status

### Coverage

The gateway parameter should be set to anyone of the following currencies.

<table><thead><tr><th width="231">Country</th><th>Country Code</th><th>Currency</th><th>gateway</th></tr></thead><tbody><tr><td>South Africa</td><td>ZAF</td><td>ZAR</td><td>ZAR</td></tr></tbody></table>

### Initiate

<mark style="color:green;">`POST`</mark> <mark style="color:red;">{{env\_url}}/</mark>pay/aggregators/<mark style="color:$danger;">{{gateway}}</mark>/bank-wallet-transfer

You would need to pass, as header the `x-auth-token`. This can be obtained from your merchant dashboard → Settings → Generate API keys → **Merchant public key.**

**Headers**

| Name         | Value                    |
| ------------ | ------------------------ |
| Content-Type | `application/json`       |
| x-auth-token | Your merchant public key |

**Request Body (encrypted)**

[**Encryption algorithm here**](/accepting-payments/payments-api.md#encryption-algorithm)

```json
{
    "message": "encrypted-body"
}
```

**Request Body (plain)**

```json
{
    "fullname": "Francisca Reuben",
    "email": "fran@matrix.io",
    "phone_number": "260953456700",
    "account_number": "260953456700",
    "tx_ref": "de43d7a1-569c-4348-abd8-75246e81d5009",
    "type": "capitec",
    "description": "payment for airpod",
    "country": "ZAF",
    "amount": "10",
    "currency": "ZAR",
    "rate": 1,
    "paymentType": "woo",
    "sourceCurrency": "ZAR",
    "sourceAmount": 10,
    "rememberMe": false,
    "productType": "COLLECTION",
    "redirect_url": "https://validuri.com"
}
```

**Response**

{% tabs %}
{% tab title="200" %}

```json
{
    "data": {
        "tx_ref": "de43d7a1-569c-4348-abd8-75246e81d5009",
        "payment_type": "BANK_WALLET_TRANSFER",
        "chargeResponseCode": "pending",
        "charged_amount": 10.0,
        "narration": "Capitec_PAYMENT",
        "currency": "ZAR",
        "message": "Transaction in Progress",
        "status": "pending",
        "customer": {
            "id": 3360279.0,
            "phone_number": "260953456700",
            "name": "Klasha South Africa",
            "email": "ravesb_ccc7ec498d7bb30d9bc2_Jessica@klasha.com",
            "created_at": "2025-09-03T11:12:16.000Z"
        }
    },
    "error": null,
    "status": "success"
}
```

{% endtab %}

{% tab title="400" %}

```json
{
    "status": "failed",
    "error": "failed",
    "message": "Transaction Reference already exist. Try again in 2 minutes time to use the same ref for a new transaction",
    "tx_ref": "de43d7a1-569c-4348-abd8-75246e81d5009"
}
```

{% endtab %}
{% endtabs %}

### Validate

The customer will need to complete the transaction from the Capitec Pay App.

### Check Status

Click the "Transaction status" link below to check the status of the transaction by passing your tnx\_ref as request body.

[Transaction status](/misc/transaction-status.md)
