> ## Documentation Index
> Fetch the complete documentation index at: https://developer.tazapay.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Indonesia – Wallet Payouts

# Indonesia – Wallet Payouts (ewallet\_id)

Wallet payouts in **Indonesia (ID)** provide a fast and secure way to disburse funds to recipients using supported mobile wallet providers.
This documentation will guide you through the **technical and operational steps** required to manage wallet payouts, helping your business leverage these instant payment solutions.
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

## Key Features

* **Instant payouts (real-time)**
* Currency: `IDR`

***

## Integration Overview

Tazapay uses a **Payout object** to represent a payout request.

The payout object tracks state changes from initiation until the beneficiary’s wallet is credited (or the payout fails).

***

## Step 1: Initiate a Payout

Create a payout using the **Payout API** with the following information:

* **Amount** – Local currency amount (`IDR`)
* **Type** – `local_payment_network`
* **Beneficiary Details**
  * `name`
  * `type` – `business` or `individual`
  * `ewallet_provider`
  * `account_number` (typically the mobile number)
* **purpose**
* **transaction\_description**
* **reference\_id** (your unique identifier)

***

## Supported Values for `ewallet_provider`

* `GoPay`
* `OVO`
* `ShopeePay`

> Use these values exactly as provided in the `destination_details.local_payment_network.type` API field.

***

## Sample Request – Create Payout (Indonesia)

```bash theme={null}
curl --request POST \
  --url https://service.tazapay.com/v3/payout \
  --header 'Idempotency-Key: ref_id_001' \
  --header 'accept: application/json' \
  --header 'content-type: application/json' \
  --data '{
"amount": 10000,
  "currency": "USD",
  "purpose": "PYR001",
  "transaction_description": "Test",
  "beneficiary_details": {
    "name": "Budi Santoso",
    "type": "individual",
    "destination_details": {
      "type": "local_payment_network",
      "local_payment_network": {
        "deposit_key": "081234567890",
        "type": "gopay_idr",
        "deposit_key_type": "phone"
      }
    }
  }
}'
```

***

## Response – Create Payout

```json theme={null}
{
  "status": "success",
  "data": {
    "id": "pot_id_example_001",
    "amount": 150000,
    "currency": "IDR",
    "status": "processing",
    "reference_id": "ref_id_001",
    "created_at": "2025-05-16T09:20:30.716Z"
  }
}
```

> `id` is the unique identifier used to track the payout.

***

## Payout Status & Webhooks

After creation, the payout moves to `processing`.

From `processing`, it may transition to:

* `requires_action` – Additional information required (KYC/regulatory)
* `succeeded` – Wallet credited successfully
* `failed` – Payout failed; funds are returned to your account

  * Failure reason available in `status_description`

## Tazapay sends webhook notifications to your configured endpoint for all payout state changes.

## Sandbox Simulation

* All sandbox payouts move from `processing` → `succeeded`
* Payouts with `amount = 200000` move to `failed`

***

## Suggested Test Wallet Accounts

| ewallet\_provider | account\_number |
| ----------------- | --------------- |
| GoPay             | `081987654321`  |
| OVO               | `081223344556`  |
| ShopeePay         | `081888777666`  |

***
