# Bank Transfer in South Africa

## Features

| Support Country/Region | **Nigeria** |
| ---------------------- | ----------- |
| processing currency    | ZAR         |
| settlement currency    | USD         |
| Minimum transaction amount | 20 ZAR |
| Maximum transaction amount | 200,000 ZAR|
| refund                 | ❌           |
| chargeback             | ❌           |

# **Integration Method**

**Payment method enumeration values:** **`bank_transfer_za`**

**There is two  integration method for bank transfer in South Africa**

1. Direct API
2. Checkout

## **Direct** **API** 

[**Create a PaymentIntent**](api-42631218)

***Request*** 

```JSON
{
    "amount": 40000,
    "currency":"ZAR",
    "confirm":true,
    "payment_method_data" : {
        "type":"bank_transfer_za"
    },
    "merchant_order_id":"order123",
    "return_url":"https://yourwebsite.com"
}
```

***Response***

```JSON
{
    "id": "pi_1953741853362749440",
    "object": "payment_intent",
    "created": 1754643331000,
    "currency": "ZAR",
    "amount": 40000,
    "status": "requires_action",
    "merchant_order_id": "order123",
    "client_secret": "pi_1953741853362749440_secret_OccRVSrLWLdHBNdFixLAumE9",
    "next_action": {
        "type": "redirect_to_url",
        "redirect_to_url": {
            "url": "https://XXXXXXXXXXXXXX"
        }
    },
    "payment_method_types": [
        "bank_transfer_za",
    ],
    "confirmation_method": "automatic",
    "return_url": "https://yourwebsite.com",
    "payment_method": "pm_1953741853207560192",
    "capture_method": "automatic"
}
```

## **Checkout** 

### Payment flow

1. Customer selects **Instant EFT** from the list of payment methods available.


![1280X1280.PNG](https://api.apifox.com/api/v1/projects/1296482/resources/553807/image-preview)

2. Customers are redirected to bank page to complete the payment.

 

### Create a seesion

***Request*** [Create a Session](api-42654181)

```Plain
{
    "cancel_url": "https://XXXXX",
    "mode": "payment",
    "success_url": "https://yourwebsite.com",
    "payment_method_types": [
        "bank_transfer_za"
    ],
    "line_items": [
        {
            "price_data": {
                "currency": "ZAR",
                "unit_amount":1000,
                "product_data": {
                    "name": "Kettle",
                    "images": [
                        "https://appletservice.oss-accelerate.aliyuncs.com/checkout_0517/icon0720/pic.png"
                    ]
                }
            },
            "quantity": 1
        }
    ]
}
```

***Response***

```JSON
{
    "id": "cs_1953734626954444800",
    "object": "checkout.session",
    "created": 1754641608000,
    "livemode": false,
    "acctId": "517707294131729244161",
    "currency": "ZAR",
    "mode": "payment",
    "status": "open",
    "url": "https://checkouttest.wooshpay.com/pay/cs_test_1953734626954444800?key=cGtfdGVzdF9OVEUzTnpBM01qazBNVE14TnpJNU1qUTBNVFl4T25ORFFVVjRZMUZFVlVWdWMwRjBUMHBXT1dGdWFsQTRRakUzTVRFd01EazNOekF5TlRF",
    "cancel_url": "https://XXXXX",
    "line_items": {
        "object": "list",
        "data": [
            {
                "id": "li_1953734626958639104",
                "object": "item",
                "currency": "ZAR",
                "description": "Kettle",
                "price": {
                    "id": "price_1953734626958643200",
                    "object": "price",
                    "created": 1754641608000,
                    "currency": "ZAR",
                    "product": {
                        "id": "prod_1953734626962833408",
                        "object": "product",
                        "created": 1754641608000,
                        "name": "Kettle",
                        "updated": 1754641608000,
                        "images": [
                            "https://XXXXXXXXXXXXX.png"
                        ]
                    },
                    "type": "one_time",
                    "unit_amount": 1000,
                    "billing_scheme": "per_unit"
                },
                "quantity": 1,
                "amount_subtotal": 1000,
                "amount_total": 1000
            }
        ]
    },
    "payment_intent": "pi_1953734627336126464",
    "payment_method_types": [
        "bank_transfer_za"
    ],
    "payment_status": "unpaid",
    "success_url": "https://yourwebsite.com",
    "amount_subtotal": 1000,
    "amount_total": 1000,
    "amount_original_subtotal": 1000,
    "amount_original_total": 1000,
    "billing_address_collection": "auto",
    "expires_at": 1754728008357,
    "client_secret": "pi_1953734627336126464_secret_5afUYG47ipWNRk4t70BZcFmb",
}
```

# **Next step**

You can add more features to your integration as needed

## Webhook

Listen to events on your WooshPay account so your integration can automatically trigger reactions. Create a webhook that mainly focuses on enabled_events and url.
