TurboPulsa DOCS

REFERENSI API · PRODUKSI DAN SANDBOX

Konfirmasi dan bayar dari Saldo Rupiah

POST /orders/{id}/confirm

Scope: orders:confirm. Transaksi produksi mengikuti status layanan dan batas akun.

Parameter

NamaLokasiWajibKetentuan
idpathYaLihat tipe pada OpenAPI.
Idempotency-KeyheaderYaPertahankan UUID yang sama untuk retry payload yang sama.

JSON body

FieldTipeWajibKetentuan
confirmation_tokenstringYaIkuti nilai dari katalog atau respons backend.

Contoh request

curl
# Simpan API key di environment server. Pertahankan reference dan UUID untuk retry usaha yang sama.
curl --fail-with-body 'https://api.turbopulsa.com/sandbox/v1/orders/ORDER_UUID/confirm' \
  -H "Authorization: Bearer $TURBOPULSA_API_KEY" \
  -H 'Accept: application/json' \
  -H "Idempotency-Key: $TURBOPULSA_REQUEST_UUID" \
  -H 'Content-Type: application/json' \
  --request POST --data '{
  "confirmation_token": "00000000000000000000000000000000"
}'

Ganti placeholder dengan ID/kode dari respons API. Gunakan UUID yang sama untuk retry usaha yang sama. Nilai tujuan tidak masuk URL, log, atau analytics.

Struktur respons

Ilustrasi · kontrak lengkap tersedia di OpenAPI
{
  "data": {
    "id": "20000000-0000-4000-8000-000000000001",
    "client_reference": "ORDER-CONTOH-1001",
    "product_code": "KODE_DARI_KATALOG",
    "name": "Pulsa simulasi 5.000",
    "destination": "********0000",
    "price": 5050,
    "charged": 5050,
    "currency": "IDR",
    "transaction_kind": "prepaid",
    "channel": "api",
    "environment": "sandbox",
    "status": "succeeded",
    "created_at": "2030-01-01T00:00:00Z",
    "expires_at": "2030-01-01T00:05:00Z",
    "confirmation_token": null,
    "version": 2,
    "bill": null
  },
  "meta": {
    "environment": "sandbox",
    "request_id": "10000000-0000-4000-8000-000000000001"
  }
}

HTTP 202 berarti diproses/pending. HTTP 409 dengan quote_changed memerlukan pemeriksaan harga dan konfirmasi baru. Timeout harus memeriksa order yang sama.