Dana Subscription

Dana Subscription Query API

Panduan untuk mengecek status langganan DANA.

Request URL

URL: ${ROOT_URL}/dana/v1/sub/querysub

HTTPMethod: POST

EndpointUrl: /dana/v1/sub/querysub

Subscription Query Request Parameters

Cara Membuat Signature

Field NameTypeValueRequired
Content-TypeString(30)Isi dengan nilai "application/json;charset=utf-8"Yes
X-TIMESTAMPString(29)Waktu saat ini, dengan format 2022-09-16T16:58:47.964+07:00Yes
X-SIGNATUREString(64)Signature. Untuk selengkapnya cekYes
X-PARTNER-IDString(20)Merchant IDYes
X-REQUEST-IDString(64)ID unik merepresentasikan setiap request yang dikirimYes

Body

ParameterTypeRequiredRemarks
requestIdString(64)YesKode unik untuk setiap request
merchantIdString(20)YesID unik yang disediakan oleh payment gateway ke merchant
storeIdString(30)NoJika Merchant memiliki cabang dan ingin membuat order dengan ID cabang
paymentTypeString(20)YesNama tipe pembayaran, cek tabel Tipe Pembayaran
merchantTradeNoString(32)YesKode unik yang dibuat oleh Merchant untuk setiap transaksi

paymentType

Payment TypeCode
DANA E-Wallet (supports refund)StaticDanaSub,DynamicDanaSub

Subscription Query Response Parameters

Header

Cara Membuat Signature

Field NameTypeValueRequired
Content-TypeString(30)Isi dengan nilai "application/json;charset=utf-8"Yes
X-TIMESTAMPString(29)Waktu saat ini, dengan format 2022-09-16T16:58:47.964+07:00Yes
X-SIGNATUREString(64)Signature. Untuk selengkapnya cekYes
X-PARTNER-IDString(20)Merchant IDYes
X-REQUEST-IDString(64)ID unik merepresentasikan setiap request yang dikirimYes

Body

Kode Error

ParameterTypeRequiredRemarks
requestIdString(64)YesKode unik untuk setiap request
errCodeString(32)No0 adalah sukses, untuk lainnya bisa lihat tabel
errCodeDesString(128)NoDeskripsi terkait error
merchantIdString(20)YesID unik yang disediakan oleh payment gateway ke merchant
storeIdString(30)NoJika Merchant memiliki cabang dan ingin membuat order dengan ID cabang
paymentTypeString(20)YesJenis pembayaran, lihat Jenis Pembayaran
requestAmountDecimal(12,2)NoNominal pada saat permintaan
amountdecimal(12,2)YesJumlah dalam Rupiah Indonesia, dengan 2 angka desimal
merchantTradeNoString(32)YesNomor Transaksi Merchant, unique subscription ID
createTimeString(16)NoyyyyMMddHHmmss
statusString(32)No01: Subscription created 02: Payment successful 06: Subscription canceled 09: Subscription creation failed
expiredTimeString(v)NoyyyyMMddHHmmss (setelah kedaluwarsa, checkoutUrl tidak dapat digunakan lagi)
notifyUrlString(200)NoURL untuk menerima pengingat pembayaran, pembatalan, atau pemberitahuan penyelesaian.
returnUrlString(200)NoURL pengembalian frontend untuk langganan awal.
subTitleString(128)YesJudul langganan, ditampilkan kepada pengguna.
subMessageString(256)NoDeskripsi langganan, ditampilkan kepada pengguna.
+subIntervalObjectYesDAILY: Harian, WEEKLY: Mingguan, MONTHLY: Bulanan.
a?OtypeString(10)YesDAILY: Day, WEEKLY: Week, MONTHLY: Month
a?OvalueNumber(2)YesInterval value, from 1 to 99
+productInfoObjectYesRincian produk/layanan untuk pembayaran berulang.
a?OidString(10)YesProduct ID
a?OnameString(32)YesProduct Name
a?Opricedecimal(12,2)YesNilai dalam Rupiah, mendukung dua angka belakang koma
a?OtypeString(20)YesProduct Type
a?OurlString(200)NoProduct URL
a?OquantityNumber(4)YesProduct Quantity
+paymentInfoArray<Object>NoTransaksi terakhir
a?OsuccessTimeString(16)NoFormat: yyyyMMddHHmmss
a?OplatformTradeNoString(32)NoNomor order di platform Paylabs
a?OamountDecimal(12,2)NoNominal dalam Rupiah Indonesia, with 2 decimal places
a?OstatusString(32)No01 PENDING 09 FAILED 02 SUCCEEDED
a?OtransFeeRateDecimal(6,6)NoRate Transaksi, mendukung enam angka belakang koma
a?OtransFeeAmountDecimal(12,2)NoBiaya, mendukung dua angka belakang koma
a?OtotalTransFeeDecimal(12,2)NoTotal biaya transaksi (tidak termasuk PPN)
a?OvatFeeDecimal(12,2)NoBiaya PPN

Example

Request

POST  /dana/v1/sub/querysub
# HTTP Header
Content-Type: application/json;charset=utf-8
X-TIMESTAMP: 2022-09-16T16:58:47.964+07:00
X-SIGNATURE: xxxxxxxxx
X-PARTNER-ID: 010001
X-REQUEST-ID: xxxxxxxxxxxxxxxxxxxxxxxx

# HTTP Body
{
  "merchantId": "010001",
  "requestId": "PY822c7f0f-bd43-4503-b569-1793cdc8de63",
  "paymentType": "StaticDanaSub",
  "merchantSubId": "PY-1761114620.5313134"
}

Response

POST /dana/v1/sub/querysub
# HTTP Header
Content-Type: application/json;charset=utf-8
X-TIMESTAMP: 2022-09-16T16:58:47.964+07:00
X-SIGNATURE: xxxxxxxxx
X-PARTNER-ID: 010001
X-REQUEST-ID: xxxxxxxxxxxxxxxxxxxxxxxx

# HTTP Body
{
  "merchantId": "010001",
  "requestId": "PY822c7f0f-bd43-4503-b569-1793cdc8de63",
  "errCode": "0",
  "paymentType": "StaticDanaSub",
  "requestAmount": 15000.0,
  "amount": 15000.0,
  "merchantSubId": "PY-1761114620.5313134",
  "createTime": "20251022133042",
  "status": "02",
  "expiredTime": "20251022134042",
  "notifyUrl": "https://merchant-domain.com/xxx",
  "redirectUrl": "https://paylabs.co.id/home.html",
  "subTitle": "test subTitle",
  "subMessage": "test subMessage",
  "productInfo": {
    "id": "1",
    "name": "test",
    "price": 15000,
    "type": "1",
    "quantity": 1
  },
  "subInterval": {
    "type": "WEEKLY",
    "value": 1
  },
  "paymentInfo": [
    {
      "successTime": "20251024055400",
      "platformTradeNo": "2025102400100000010",
      "amount": 15000.0,
      "status": "02",
      "transFeeRate": 0.0,
      "transFeeAmount": 2500.0,
      "totalTransFee": 2500.0,
      "vatFee": 275.0
    }
  ]
}