Credit Card Subscription
Credit Card Subscription Payment Notification
Notifikasi pembayaran untuk langganan kartu kredit.
Request URL
URL: notifyUrl (nilai dari field notifyUrl saat create order)
HTTPMethod: POST
EndpointUrl: Path sesuai URL callback, contoh: URL=https://merchant-domain.com/v2.2/cc/notify maka Path=/v2.2/cc/notify
Subscription Payment Notification Request Parameters (Paylabs ke Merchant)
Header
| Field Name | Type | Value | Required |
|---|---|---|---|
| Content-Type | String(30) | Isi dengan nilai "application/json;charset=utf-8" | Yes |
| X-TIMESTAMP | String(29) | Waktu saat ini, dengan format 2022-09-16T16:58:47.964+07:00 | Yes |
| X-SIGNATURE | String(64) | Signature. Untuk selengkapnya cek | Yes |
| X-PARTNER-ID | String(20) | Merchant ID | Yes |
| X-REQUEST-ID | String(64) | ID unik merepresentasikan setiap request yang dikirim | Yes |
Body
| Parameter | Type | Required | Remarks |
|---|---|---|---|
| requestId | String(64) | Yes | Kode unik untuk setiap request |
| serviceCode | String(64) | No | Service Code, fixed value: sub.payment |
| merchantId | String(20) | Yes | Merchant ID |
| storeId | String(30) | No | Jika Merchant memiliki cabang dan ingin membuat order dengan ID cabang |
| paymentType | String(20) | Yes | Nama tipe pembayaran, cek tabel Tipe Pembayaran |
| amount | Decimal(12,2) | Yes | Nominal dalam Rupiah Indonesia, with 2 decimal places |
| agreementId | String(32) | Yes | ID Perjanjian, diperoleh via kueri pesanan berlangganan |
| platformTradeNo | String(32) | No | Nomor order di platform Paylabs |
| createTime | String(16) | No | yyyyMMddHHmmss |
| successTime | String(16) | No | yyyyMMddHHmmss |
| status | String(32) | No | 01 PENDING 09 FAILED 02 SUCCEEDED |
| productName | String(100) | No | Nama layanan atau produk |
| transFeeRate | Decimal(6,6) | No | Rate Transaksi, mendukung enam angka belakang koma |
| transFeeAmount | Decimal(12,2) | No | Biaya, mendukung dua angka belakang koma |
| totalTransFee | Decimal(12,2) | No | Total rate biaya layanan transaksi (tidak termasuk vatFee), mendukung dua angka belakang koma |
| vatFee | Decimal(12,2) | No | Pajak, mendukung dua angka belakang koma |
Subscription Payment Notification Response (Merchant ke Paylabs)
Header
| Field Name | Type | Value | Required |
|---|---|---|---|
| Content-Type | String(30) | Isi dengan nilai "application/json;charset=utf-8" | Yes |
| X-TIMESTAMP | String(29) | Waktu saat ini, dengan format 2022-09-16T16:58:47.964+07:00 | Yes |
| X-SIGNATURE | String(64) | Signature. Untuk selengkapnya cek | Yes |
| X-PARTNER-ID | String(20) | Merchant ID | Yes |
| X-REQUEST-ID | String(64) | ID unik merepresentasikan setiap request yang dikirim | Yes |
Body
| Parameter | Type | Required | Remarks |
|---|---|---|---|
| requestId | String(64) | Yes | Kode unik untuk setiap request |
| errCode | String(32) | Yes | 0 adalah sukses, untuk lainnya bisa lihat tabel |
| errCodeDes | String(128) | No | Deskripsi error |
| merchantId | String(20) | Yes | Merchant ID |
| storeId | String(30) | No | Jika 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": "N01000120251031001000000101761881477153",
"serviceCode": "sub.payment",
"paymentType": "StaticCcSub",
"amount": 200000.0,
"agreementId": "PY-1762845307.595957",
"platformTradeNo": "2025103100100000010",
"createTime": "20251031100919",
"successTime": "20251031100919",
"status": "02",
"transFeeRate": 0.02,
"transFeeAmount": 0.0,
"totalTransFee": 4000.0,
"vatFee": 440.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"
}