API ANESA STORE
Prepaid
POSTMembuat transaksi prepaid. Setelah request diterima, transaksi diproses dan status awalnya pending.
POST
/v1/developer/prepaid01
REQUEST
Autentikasi
Setiap request harus menyertakan header autentikasi berikut.
Simpan API Key dengan aman.Gunakan API Key hanya di sisi server dan jangan masukkan ke kode frontend.
HeaderDeskripsi
X-usernameUsername yang digunakan untuk mengakses Developer API.X-API-KeyAPI Key aktif untuk autentikasi dan pembuatan signature.X-TimestampUnix timestamp saat request dibuat.X-SignatureSignature HMAC-SHA256 dengan prefix sha256=.Content-TypeWajib application/json.JSON body
FieldDeskripsi
ref_idWajib. Reference ID dari sistem developer. Maksimal 100 karakter dan harus unik untuk setiap transaksi.anesa_sku_codeWajib. SKU produk yang tersedia di Anesa Store.customer_noNomor tujuan. Digunakan untuk produk yang memakai nomor pelanggan; produk tertentu dapat menggunakan field pada extra.extraOpsional. Dipakai oleh produk tertentu, misalnya untuk game_id atau server_id.02
SIGNATURE
Signature
Gunakan formula berikut untuk membuat signature HMAC-SHA256.
MESSAGE
USERNAME + API_KEY + REF_ID + TIMESTAMPHMAC-SHA256
HMAC-SHA256(message, API_KEY)IP server developer harus sudah terdaftar pada whitelist.
Timestamp request harus masih dalam batas waktu yang diterima API.
Scope yang diperlukan:
transaction.create.03
CONTOH REQUEST
cURL
Contoh request menggunakan endpoint dan parameter yang tersedia di API Anesa Store.
cURLbash
curl -i -X POST "https://api.showanesa.my.id/v1/developer/prepaid" -H "Content-Type: application/json" -H "X-username: USERNAME_ANDA" -H "X-API-Key: API_KEY_ANDA" -H "X-Timestamp: TIMESTAMP_ANDA" -H "X-Signature: sha256=SIGNATURE_ANDA" -d '{
"ref_id": "REF-PREPAID-001",
"anesa_sku_code": "SKU_ANESA",
"customer_no": "081234567890"
}'04
RESPONSE
Response
Berikut contoh response yang dikembalikan setelah request berhasil.
HTTP 202 — transaction accepted
application/jsonjson
{
"rc": 202,
"status": "success",
"message": "transaction accepted",
"data": {
"ref_id": "REF-PREPAID-001",
"order_number": "ORDER_NUMBER",
"status": "pending",
"anesa_sku_code": "SKU_ANESA",
"customer_no": "081234567890"
}
}FieldKeterangan
ref_idReference ID yang dikirim developer.order_numberNomor order yang dibuat Anesa Store.statusStatus awal transaksi. Response 202 berarti transaksi diterima dan status awalnya pending.anesa_sku_codeSKU produk yang diproses.customer_noNomor tujuan yang sudah diproses oleh sistem.Contoh response lainnya
Format detail pada response dapat berbeda sesuai jenis produk. Contoh berikut memakai field yang tersedia pada masing-masing produk.
Pending
Webhook — transaction.updated
application/jsonjson
{
"event": "transaction.updated",
"data": {
"ref_id": "REF-PREPAID-001",
"order_number": "ORDER_NUMBER",
"status": "pending",
"anesa_sku_code": "SKU_ANESA",
"customer_no": "081234567890",
"rc": "",
"message": "Transaksi masih diproses",
"sn": "",
"price": 10000,
"selling_price": 10000,
"transaction_type": "prepaid",
"updated_at": "2026-10-06T13:01:00Z"
}
}Success
Webhook — transaction.updated
application/jsonjson
{
"event": "transaction.updated",
"data": {
"ref_id": "REF-PREPAID-001",
"order_number": "ORDER_NUMBER",
"status": "success",
"anesa_sku_code": "SKU_ANESA",
"customer_no": "081234567890",
"rc": "00",
"message": "Sukses",
"sn": "SERIAL_NUMBER",
"price": 10000,
"selling_price": 10000,
"transaction_type": "prepaid",
"updated_at": "2026-10-06T13:02:00Z"
}
}Failed
Webhook — transaction.updated
application/jsonjson
{
"event": "transaction.updated",
"data": {
"ref_id": "REF-PREPAID-001",
"order_number": "ORDER_NUMBER",
"status": "failed",
"anesa_sku_code": "SKU_ANESA",
"customer_no": "081234567890",
"rc": "02",
"message": "Transaksi gagal diproses",
"sn": "",
"price": 10000,
"selling_price": 10000,
"transaction_type": "prepaid",
"updated_at": "2026-10-06T13:02:00Z"
}
}Timeout
Webhook — transaction.updated
application/jsonjson
{
"event": "transaction.updated",
"data": {
"ref_id": "REF-PREPAID-001",
"order_number": "ORDER_NUMBER",
"status": "timeout",
"anesa_sku_code": "SKU_ANESA",
"customer_no": "081234567890",
"rc": "70",
"message": "Transaksi timeout",
"sn": "",
"price": 10000,
"selling_price": 10000,
"transaction_type": "prepaid",
"updated_at": "2026-10-06T13:03:00Z"
}
}05
CATATAN
Catatan
Beberapa hal yang perlu diperhatikan saat menggunakan endpoint ini.
ref_id wajib unik untuk setiap transaksi. Jangan gunakan kembali ref_id yang sudah dipakai oleh transaksi yang selesai.
Jika ref_id yang sama dikirim saat transaksi sebelumnya masih berjalan, sistem tidak membuat transaksi baru.
Jika ref_id sudah digunakan oleh transaksi yang selesai, request akan ditolak dengan HTTP 409.
HTTP 202 dengan status pending berarti request sudah diterima, bukan berarti transaksi sudah berhasil.
Perubahan status transaksi dikirim melalui Webhook Anesa Store. Status yang digunakan adalah pending, success, failed, dan timeout.
Signature menggunakan REF_ID pada message: USERNAME + API_KEY + REF_ID + TIMESTAMP.
Untuk produk game, isi extra sesuai kebutuhan produk, misalnya game_id dan server_id.