Dana Subscription

Dana Subscription Payment Notification

Notifikasi asynchronous pembayaran langganan DANA.

Request URL

URL: notifyUrl (menggunakan nilai yang dikirim saat create subscription)

HTTPMethod: POST

EndpointUrl: Path sesuai URL callback, contoh: jika URL=https://merchant-domain.com/v2.2/dana/notify maka Path=/v2.2/dana/notify

Subscription Payment Notification Request Parameters (dari Paylabs ke Merchant)

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
serviceCodeString(64)NoService Code, fixed value: sub.payment
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)YesTipe Pembayaran, silahkan lihat Tipe Pembayaran
amountDecimal(12,2)YesNominal dalam Rupiah Indonesia, with 2 decimal places
merchantTradeNoString(32)YesNomor Transaksi Merchant, unique subscription ID
platformTradeNoString(32)NoNomor order di platform Paylabs
createTimeString(16)NoyyyyMMddHHmmss
successTimeString(16)NoyyyyMMddHHmmss
statusString(32)No01 PENDING 09 FAILED 02 SUCCEEDED
productNameString(100)NoNama produk yang dibeli pengguna
transFeeRateDecimal(6,6)NoTarif biaya transaksi
transFeeAmountDecimal(12,2)NoBiaya Transaksi Tunggal
totalTransFeeDecimal(12,2)NoTotal biaya transaksi (tidak termasuk PPN)
vatFeeDecimal(12,2)NoBiaya PPN

Subscription Payment Notification Response (Merchant ke Paylabs)

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)Yes0 adalah sukses, untuk lainnya bisa lihat tabel
errCodeDesString(128)NoDeskripsi terkait error
merchantIdString(20)YesMerchant ID
storeIdString(30)NoJika Merchant memiliki cabang dan ingin membuat order dengan ID cabang

Example

Request

POST URL yang diberikan Merchant
# 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": "N01000120251022001000000641761133472132",
  "serviceCode": "sub.payment",
  "paymentType": "StaticDanaSub",
  "amount": 15000.0,
  "merchantSubId": "PY-1761114620.5313134",
  "platformTradeNo": "2025102200100000064",
  "createTime": "20251022175231",
  "successTime": "20251022175230",
  "status": "02",
  "productName": "test subTitle",
  "transFeeRate": 0.0,
  "transFeeAmount": 2500.0,
  "totalTransFee": 2500.0,
  "vatFee": 275.0
}

Response

POST URL yang diberikan Merchant
# 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": "N01029020230619290000003911687350380290",
  "errCode": "0"
}