APIDOC MPN v2.0

API Information

Title

MPN

Version

v2.0

URL Sandbox

https://sandbox.partner.api.bri.co.id/

URL Production

https://partner.api.bri.co.id/

Kendali Versi

API Version

Date

Link to document

Description

v1.1

26 Desember 2022

Halaman ini Initial version
v1.1 17 Januari 2023 Halaman ini Update Response Code

v2.0

11 Desember 2023

Halaman ini

Perubahan payload request response endpoint payment dan inquiry billing

v2.0

18 Maret 2024

Halaman ini

Perubahan payload request response untuk fitur Inquiy NPWP, Create Billing CTAS, Reinquiry, Create Sign Approver, Inquiry SSP & BPN

Deskripsi Produk

Gambaran Produk

Dalam menjalani sebuah bisnis, pembayaran tagihan Modul Penerimaan Negara (MPN) merupakan salah satu aktivitas operasional perusahaan yang secara rutin harus dilakukan. Semenjak hadirnya open banking dari BRI atau BRIAPI, seluruh kegiatan transaksi untuk memenuhi kebutuhan bisnis dapat dilakukan secara praktis dan mudah, langsung dasbor bisnis Anda. Hal tersebut bisa direalisasikan dengan penggunaan API MPN. Dengan API ini, Anda dapat menyelesaikan segala hal terkait kewajiban pembayaran tagihan MPN cukup dengan beberapa klik saja, tanpa perlu bepergian ke kantor cabang.

Endpoint

A. Inquiry NPWP CTAS

Endpoint Description

Service yang disediakan untuk inquiry NPWP.

General Information

HTTP Method

POST

Path Sandbox

/v2.0/mpn/inquiryNpwpCTAS

Path Production 

NOT READY PROD

Tipe Format

JSON

Authentication Token & Signature

Header Request Structure 

Key

Value

Mandatory

Lenght 

Description

BRI-ExternalId

Numeric

M

9

Random number from each application is a maximum of 9 digits. Cannot be repeated because of external_id checking)

Content-Type string M   application/json
BRI-Signature string M   https://developers.bri.co.id/id/docs/authentication
BRITimestamp string M   TIMESTAMP (yyyy-MM-dd hh:mm:ss.SSSZ)

Request Structure & Sample

Field

Data Type

Mandatory

Length

Description

Example

branchID

String

M

6 As per Branch ID list

 

npwp

String

M

16 Number NIK

 

kdMAP String M 6 Tax account line code  
kjs String M 3 Deposit type code  

Response Structure & Sample

Field

Data Type

Mandatory

Length

Description

Example

responseCode

String

M

  Response code

 

responseMessage

String

M

  Message response

 

requestDate String M   Date BP/TP system sent the request (YYYY-MM-DD hh:mm:ss)  
bankID String M 4 According to the bank code list  
branchID String M 6 According to the Branch ID list  
npwp String M 16    
namaWP String M   Taxpayer Name  
alamatWP String M   Taxpayer's address  
namaKdMap String M   MAP code description  
namaKjs Stirng M   Description of deposit type code  
traceId String M      

Request & Response Payload Sample

Request

{
 "branchID": "0206",
 "npwp": "4061969573847377",
 "kdMAP": "411121",
 "kjs": "100"
}

Normal Response :

{
 "responseCode": "00",
 "responseMessage": "Sukses",
 "requestDate": "2023-04-27T10:19:17",
 "bankID": "0002",
 "branchID": "000206",
 "npwp": "4061969573847377",
 "namaWP": "Taxpayer E",
 "alamatWP": "jl testing 3, RT001/RW002, LIMA PULUH KOTA, LIMA PULUH, KAB. BATU BARA, SUMATERA UTARA, 21255",
 "namaKdMap": "Pendapatan PPh Pasal 21",
 "namaKjs": "Masa",
 "traceId": "230427636844"
}

Error Response :

{
 "responseCode": "99",
 "responseMessage": "Failed (undefined atau error lebih dari satu kombinasi)",
 "requestDate": "2024-03-14 10:12:29",
 "bankID": "0002",
 "branchID": "0206",
 "npwp": "4061969573847377",
 "namaWP": "",
 "alamatWP": "",
 "namaKdMap": "Pendapatan PPh Pasal 21",
 "namaKjs": "Pembayaran Masa",
 "traceId": "240314203707"
}

List of Error/Response Code

HTTP Status

Code Status

Response Description

Description
200 00 Success Success  
200 01 Failed NPWP is not 16 digits, including NPWP not in the database  
200 02 Failed The combination of BankID and Branch ID is not registered  
200 04 Failed CurrencyCode not listed (unknown)  
200 05 Failed NumRecordDetail is not equal to the number of details  
200 06 Failed billingAmount is empty or minus  
200 07 Failed Empty traceid  
200 08 Failed The traceID in the header is not the same as the detail  
200 10 Failed NumrecordDetail is not equal to 1  
200 11 Failed MAP code not 6 digits  
200 12 Failed MAP code not listed (unknown)  
200 13 Failed KJS is not 3 digits  
200 14 Failed Period not 8 digits  
200 17 Failed numAccount empty or minus  
200 18 Failed Code MAP 411128 – 402 and 411211-103 NOP not 18 digits  
200 19 Failed Code MAP 411128 – 402 and 411211-103 for Kelurahan, Kecamatan, Kab/Kota and/or Province is empty  
200 20 Failed Code MAP 4113XX NOP does not exist in the database  
200 21 Failed requestDate is greater than the current date  
200 22 Failed The ‘confirm’ field is filled with 1 but the traceID is different from the initial request  
200 23 Failed KAP-KJS cannot be created through self-service  
200 24 Failed KAP-KJS cannot be used for these types of taxpayers  
200 25 Failed Period does not match the validation of KAP-KJS combination  
200 26 Failed Currency does not match the validation of the KAP-KJS combination / Active certificate  
200 27 Failed Inactive taxpayer status  
200 88 Failed Confirmation of billing code generation because there has been a payment of TIN + MAP Code + KJS + Period concerned  
200 73 Failed Unauthorised. Please enter your username and password correctly  
200 99 Failed

General Error

Failed (undefined or error more than one combination)

 

B.Create Billing CTAS

Endpoint Description

Service yang disediakan untuk create billing untuk Wajib Pungut yang memiliki NPWP.

General Information

HTTP Method

POST

Path Sandbox

/v2.0/mpn/createBillingCTAS

Path Production

NOT READY PROD

Tipe Format

JSON

Authentication Token & Signature

Header Request Structure 

Key

Value

Mandatory

Lenght 

Description

BRI-ExternalId

Numeric

M

9

Random number from each application is a maximum of 9 digits. Cannot be repeated because of external_id checking)

Content-Type string M   application/json
BRI-Signature string M   https://developers.bri.co.id/id/docs/authentication
BRITimestamp string M   TIMESTAMP (yyyy-MM-dd hh:mm:ss.SSSZ)

Request Structure & Sample

Field

Data Type

Mandatory

Length

Description

Example

branchCode

String

M

4 branch code channel

 

npwp

String

M

16  

 

currencyCode String M 3 Rupiah = IDR, Dollar = USD  
billingAmount String - 12 Total value in one billing code  
numRecordDetail String M 1 Contains = 1  
uraian String M 255 Description of transaction  
confirm String M 1

0 = default, 1 = keep making

billing despite having received confirmation

 
detail String M   The contents of this detail object are explained in the table below  
traceId String M 255 Trace ID  

Object: detail

Field

Data Type

Mandatory

Length

Description

Example

kdMAP

String

M

  Tax deposit account code

 

kjs

String

M

3 Tax deposit type code

 

periode String M 8

Consists of: Tax period1 (2) + Tax period2 (2)

+ Tax Year (4).

Example: 01012022

 
noSK String M   Decree Number  
nop String C  

Tax object number

Code MAP & Kode Jenis Setoran (KJS) :

  1. 411128 - 402
  2. 411211 - 103

NOP, tax object address, kelurahan, kecamatan,

kabKota, and provinsi required.

=================================

Code MAP :

  1. 4113XX

NOP must be filled in with 18 digit numbers while other data elements, namely, taxobject address, sub-district, district, city, and province are not filled in.

 
taxObjectAddress String C  

Tax object address (related to NOP)

Code MAP & Kode Jenis Setoran (KJS) :

  1. 411128 - 402
  2. 411211 - 103

NOP, tax object address, kelurahan, kecamatan,

kabKota, and provinsi required.

=================================

Code MAP :

  1. 4113XX

NOP must be filled in with 18 digit numbers while other data elements, namely, taxobject address, sub-district, district, city, and province are not filled in.

 
kelurahan String C  

Related to NOP

Code MAP & Kode Jenis Setoran (KJS) :

  1. 411128 - 402
  2. 411211 - 103

NOP, tax object address, kelurahan, kecamatan,

kabKota, and provinsi required.

=================================

Code MAP :

  1. 4113XX

NOP must be filled in with 18 digit numbers while other data elements, namely, taxobject address, sub-district, district, city, and province are not filled in.

 
kecamatan String C  

Related to NOP

Code MAP & Kode Jenis Setoran (KJS) :

  1. 411128 - 402
  2. 411211 - 103

NOP, tax object address, kelurahan, kecamatan,

kabKota, and provinsi required. 

=================================

Code MAP :

  1. 4113XX

NOP must be filled in with 18 digit numbers while other data elements, namely, taxobject address, sub-district, district, city, and province are not filled in.

 
kabkota String C  

Related to NOP

Code MAP & Kode Jenis Setoran (KJS) :

  1. 411128 - 402
  2. 411211 - 103

NOP, tax object address, kelurahan, kecamatan,

kabKota, and provinsi required.

=================================

Code MAP :

  1. 4113XX

NOP must be filled in with 18 digit numbers while other data elements, namely, taxobject address, sub-district, district, city, and province are not filled in.

 
provinsi String C  

Related to NOP

Code MAP & Kode Jenis Setoran (KJS) :

  1. 411128 - 402
  2. 411211 - 103

NOP, tax object address, kelurahan, kecamatan,

kabKota, dan provinsi wajib terisi

=================================

Code MAP :

  1. 4113XX

NOP must be filled in with 18 digit numbers while other data elements, namely, taxobject address, sub-district, district, city, and province are not filled in.

 
numAccount String M  

Total unit value per MAP code in

one billing code

 

Response Structure & Sample

Field

Data Type

Mandatory

Length

Description

Example

responseCode

String

M

  Response code

 

responseMessage

String

M

  Message response

 

requestDate String M   Date BP/TP system sent the request (YYYY-MM-DD hh:mm:ss)  
bankID String M   As per bank code list  
branchID String M 6 As per Branch ID list  
npwp String M 16    
namaWP String M      
alamatWP String M      
currencyCode String M 3 Rupiah = IDR, Dollar = USD  
billingAmount Stirng M 12 Total value in one billing code  
numRecordDetail String M 1 Contains = 1  
uraian String M 1 Description of transaction  
traceId String M 255    
idBilling String M 15 Billing code created by DJP  
tglKadaluarsa String M   Billing code expiry date (YYYY-MMDD hh:mm:ss)  
billingCreationDate String M   Date of billing code generation (YYYY-MMDD hh:mm:ss)  
type String M  

0 = default

1 = notification (for certain conditions according to with MAP Code validation)

 
detail String M   The contents of this detail object are explained in the table below  

Array: detail

Field

Data Type

Mandatory

Length

Description

Example

kdMAP

Integer

M

  Tax deposit account code

 

kjs

String

M

3 Tax deposit type code

 

periode String M 8

Consists of: Tax period1 (2) + Tax period2 (2)

+ Tax Year (4).

Example: 01012022

 
noSK String M   Decree Number  
nop String M   Tax object number  
taxObjectAddress String M   Tax object address (related to NOP)  
kelurahan String M   Related to NOP  
kecamatan String M   Related to NOP  
kabKota String M   Related to NOP  
provinsi Stirng M   Related to NOP  
numAccount Integer M  

Total unit value per MAP code in

one billing code

 
traceId String M 255    

Request & Response Payload Sample

Request

{
   "branchCode":"0008",
   "npwp":"1234567890123456",
   "currencyCode":"IDR",
   "billingAmount":"1000",
   "numRecordDetail":1,
   "uraian":"insentif terkait pandemic covid-19",
   "confirm":"0",
   "detail":[
      {
         "kdMAP":411128,
         "kjs":"402",
         "periode":"02022021",
         "noSK":"01234567890",
         "nop":"123456789012345678",
         "taxObjectAddress":"alamat",
         "kelurahan":"contoh kelurahan",
         "kecamatan":"contoh kecamatan",
         "kabKota":"contoh kab",
         "provinsi":"contoh provinsi",
         "numAccount":1000
      }
   ],
   "traceId":"231030949597"
}

Normal Response :

{
   "responseCode":"00",
   "responseMessage":"Sukses",
   "requestDate":"2023-05-23T07:28:39Z",
   "bankID":"0002",
   "branchID":"000374",
   "npwp":"1234567890123456",
   "namaWP":"Glenn CM",
   "alamatWP":"Jalan Pos I, RT000/RW000, PASAR BARU, SAWAH BESAR, KOTA ADM. JAKARTA PUSAT, DKI JAKARTA, 10710",
   "currencyCode":"IDR",
   "billingAmount":"1000",
   "numRecordDetail":1,
   "uraian":"insentif terkait pandemic covid-19",
   "idBilling":"167655208268722",
   "idSispen":"230523639406",
   "tglKadaluarsa":"2023-05-30T07:28:41Z",
   "billingCreationDate":"2023-05-23T07:28:41Z",
   "type":"0",
   "detail":[
      {
         "kdMAP":411128,
         "kjs":"402",
         "periode":"02022021",
         "noSK":"01234567890",
         "nop":"123456789012345678",
         "taxObjectAddress":"alamat",
         "kelurahan":"contoh kelurahan",
         "kecamatan":"contoh kecamatan",
         "kabKota":"contoh kab",
         "provinsi":"contoh provinsi",
         "numAccount":"1000",
         "traceId":"230523639406"
      }
   ]
}

Error Response :

{
   "responseCode":"01",
   "responseMessage":"NPWP tidak 16 digit, termasuk NPWP tidak ada dalam database"
}

List of Error/Response Code

HTTP Status

Code Status

Response Description

Description
200 00 Success Success  
200 01 Failed NPWP is not 16 digits, including NPWP not in the database  
200 02 Failed The combination of BankID and Branch ID is not registered  
200 04 Failed CurrencyCode not listed (unknown)  
200 05 Failed NumRecordDetail is not equal to the number of details  
200 06 Failed billingAmount is empty or minus  
200 07 Failed Empty traceid  
200 08 Failed The traceID in the header is not the same as the detail  
200 10 Failed NumrecordDetail is not equal to 1  
200 11 Failed MAP code not 6 digits  
200 12 Failed MAP code not listed (unknown)  
200 13 Failed KJS is not 3 digits  
200 14 Failed Period not 8 digits  
200 17 Failed numAccount empty or minus  
200 18 Failed Code MAP 411128 – 402 and 411211-103 NOP not 18 digits  
200 19 Failed Code MAP 411128 – 402 and 411211-103 for Kelurahan, Kecamatan, Kab/Kota and/or Province is empty  
200 20 Failed Code MAP 4113XX NOP does not exist in the database  
200 21 Failed requestDate is greater than the current date  
200 22 Failed The ‘confirm’ field is filled with 1 but the traceID is different from the initial request  
200 23 Failed KAP-KJS cannot be created through self-service  
200 24 Failed KAP-KJS cannot be used for these types of taxpayers  
200 25 Failed Period does not match the validation of KAP-KJS combination  
200 26 Failed Currency does not match the validation of the KAP-KJS combination / Active certificate  
200 27 Failed Inactive taxpayer status  
200 88 Failed Confirmation of billing code generation because there has been a payment of TIN + MAP Code + KJS + Period concerned  
200 73 Failed Unauthorised. Please enter your username and password correctly  
200 99 Failed

General Error

Failed (undefined or error more than one combination)

 

C. Create Billing Non NPWP

Endpoint Description

Service yang disediakan untuk Wajib Pungut yang belum memiliki NPWP.

General Information

HTTP Method

POST

Path Sandbox

/v2.0/mpn/createBillingnonNPWP

Path Production

/v2.0/mpn/createBillingnonNPWP

Tipe Format

JSON

Authentication Token & Signature

Header Request Structure 

Key

Value

Mandatory

Lenght 

Description

BRI-ExternalId

Numeric

M

9

Random number from each application is a maximum of 9 digits. Cannot be repeated because of external_id checking)

Content-Type string M   application/json
BRI-Signature string M   https://developers.bri.co.id/id/docs/authentication
BRITimestamp string M   TIMESTAMP (yyyy-MM-dd hh:mm:ss.SSSZ)

Request Structure & Sample

Field

Data Type

Mandatory

Length

Description

Example

mapCode

String

M

6 Tax Type Code

 

depositType

String

M

3 Types of Tax Payments

 

trxAmt String M max 12 Amount Transaksi  
nop String M 18 Tax Object Number  
npwpDepositor String - 15 Depositor NPWP  
period1 String M 2 Tax Period 1  
period2 String M 2 Tax Period 2  
taxYear String M 4 Tax Year  
skNum String M 15 SK Number  
currCode String M 3 Currency code (default 360:IDR) (Valas (840: USD)  
note String M max 255 Description  
userId   M 7 User ID  
merchantType   M 4 Type Merchant  
wpIdentity   M 16 Taxpayer's Identity  
wpName   M max 255 Taxpayer's Name  
wpAddress   M max 255 Taxpayer's Address  
kppCode   M 3 Code KPP  
wpCity   M max 255 Taxpayer's City  

Response Structure & Sample

Field

Data Type

Mandatory

Length

Description

Example

responseCode

String

M

  Response code

 

responseMessage

String

M

  Message response

 

data String M  

List response data :

  • billingId
  • npwpDepositor
  • mapCode
  • depositType
  • period1
  • period2
  • taxYear
  • skNum
  • nop
  • currCode
  • trxAmt
  • createdDate
  • expiredDate
 

Request & Response Payload Sample

Request

{
   "npwpDepositor":"023901556417000",
   "mapCode":"411211",
   "depositType":"102",
   "trxAmt":"150",
   "nop":"000000000000000000",
   "period1":"01",
   "period2":"01",
   "taxYear":"2020",
   "skNum":"000000000000000",
   "currCode":"360",
   "note":"create",
   "userId":"0206891",
   "merchantType":"7014",
   "wpIdentity":"3374131407890005",
   "wpName":"Rafli",
   "wpAddress":"Ragunan",
   "kppCode":"075",
   "wpCity":"Jakarta Selatan"
}

Normal Response :

{
   "responseCode":"00",
   "responseMessage":"Create Billing Successfully",
   "data":{
      "billingId":"124205971165091",
      "npwpDepositor":"023901556417000",
      "mapCode":"411211",
      "depositType":"102",
      "period1":"01",
      "period2":"01",
      "taxYear":"2020",
      "skNum":"000000000000000",
      "nop":"000000000000000000",
      "currCode":"360",
      "trxAmt":"150",
      "createdDate":"2020-07-23 17:15:07",
      "expiredDate":"2020-08-22 17:17:57",
      "wpAddress":"Ragunan "
   }
}

Error Response :

{
   "responseCode":"V27",
   "responseMessage":"Length npwpDepositor Must be 15"
}

List of Error/Response Code

HTTP Status

Code Status

Response Description

Description
200 00 Success Create billing successfully  
200 07 Failed Inappropriate data format  
200 08 Failed The depositor must have a taxpayer identification number (NNPWP)  
200 02 Failed mapCode is blank  
200 03 Failed depositType is blank  
200 04 Failed Length depositType Must be 3  
200 06 Failed depositType Must be Number 0-9  
200 07 Failed npwpNum Must be Number 0-9  
200 08 Failed Length mapCode Must be 6  
200 09 Failed mapCode Must be Number 0-9  
200 16 Failed trxAmt is blank  
200 17 Failed nop is blank  
200 18 Failed period1 is blank  
200 19 Failed period2 is blank  
200 20 Failed taxYear is blank  
200 21 Failed skNum is blank  
200 22 Failed currCode is blank  
200 23 Failed note is blank  
200 24 Failed trxAmt Must be Number 0-9  
200 25 Failed Length nop Must be 18  
200 26 Failed nop Must be Number 0-9  
200 27 Failed Length npwpDepositor Must be 15  
200 28 Failed npwpDepositor Must be Number 0-9  
200 29 Failed Length period1 Must be 2  
200 30 Failed Period1 Must be Number 0-9  
200 31 Failed Length period2 Must be 2  
200 32 Failed

period2 Must be Number 0-9

 
200 33 Failed Length taxYear Must be 4  
200 34 Failed taxYear Must be Number 0-9  
200 35 Failed Length skNum Must be 15  
200 36 Failed skNum Must be Number 0-9  
200 37 Failed Length currCode Must be 3  
200 39 Failed wpIdentify is blank  
200 40 Failed wpName is blank  
200 41 Failed wpAddress is blank  
200 42 Failed kppCode is blank  
200 43 Failed wpCity is blank  
200 44 Failed Length wpIdentify Must be 16  
200 45 Failed wpIdentify Must be Number 0-9  
200 46 Failed Length kppCode Must be 3  
200 47 Failed kppCode Must be Number 0-9  
200 48 Failed max Length trxAmt is 12  
200 49 Failed Length wp_name Max 255  
200 50 Failed Length wp_address Max 255  
200 51 Failed Length WP City Max 255  
200 52 Failed Length Note Max 255  

D. Inquiry Billing

Endpoint Description

Service yang disediakan untuk inquiry kode billing NPWP yang sudah terbentuk.

General Information

HTTP Method

POST

Path Sandbox

/v2.0/mpn/inquiryBilling

Path Production

/v2.0/mpn/inquiryBilling

Tipe Format

JSON

Authentication Token & Signature

Header Request Structure 

Key

Value

Mandatory

Lenght 

Description

BRI-ExternalId

Numeric

M

9

Random number from each application is a maximum of 9 digits. Cannot be repeated because of external_id checking)

Content-Type string M   application/json
BRI-Signature string M   https://developers.bri.co.id/id/docs/authentication
BRITimestamp string M   TIMESTAMP (yyyy-MM-dd hh:mm:ss.SSSZ)

Request Structure & Sample

Field

Data Type

Mandatory

Length

Description

Example

accountNumber

String

M

15 Account number

 

productCode

String

M

5

Product code

91200

 

custNumber String M 20 ID Billing MPN  
amount String O 18,2 Identifier biller (amount-fill in if purchase)  
billData String M   The contents of this billData object are described in the table below  

Object: billData

Field

Data Type

Mandatory

Length

Description

kodeKurs

String

M

3 IDR/USD
messageType

String

M

10 Outgoing

Response Structure & Sample

Field

Data Type

Mandatory

Length

Description

Example

responseCode

String

M

2 Response Code hasil inquiry billing

 

responseMessage

String

M

255 Response Message hasil inquiry billing

 

errorCode String M  

Identification error code backend

Ex

"PE-000"

 
data Object M      
billData Object M      

Object: data

Field

Data Type

Mandatory

Length

Description

Example

inquiryId

String

M

40 Key inquiry response

 

billerCode

String

M

   

 

responseTime String O  

yyyy-MM-dd HH:mm:ss

 
custNumber String M 20 ID Billing / ID Setoran  
amount String M 18,2 Nominal billing  
fee String O 12,2 Admin fee  
productCode String O 5 Product code  
productName String O 99 Product Name  
category String O 50

Category

Pulsa

Transportation

 
paymentType Stirng O 1

Payment type :

all bill = 2

single bill = 1

multiple bill = 0

 

Object: billData

Field

Data Type

Mandatory

Length

Description

Example

idSispen

String

 

   

DJBC, DJA, DJP

transactionCurrencyCode

String

 

3 Konfirmasi Currency code

DJBC, DJA, DJP

systemTraceAuditNumber String   6 STAN hasil generate di MPN DJBC, DJA, DJP
merchantTypes String   4 Merchant type based on input channel id DJBC, DJA, DJP
retrievalReferenceNumber String   12 IDSISPEN DJBC, DJA, DJP
namaWP String   125 Taxpayer Name DJBC, DJA, DJP
alamatWP String   50 Taxpayer's address DJP
npwp String   16 NIK/NPWP of the entity DJBC, DJP
jumlahDetail String   2 Number of billing details in 1 billing DJBC, DJA, DJP
jenisDokumen String   2 Document Type DJBC
nomorDokumen String   30 Document Number DJBC
tanggalDokumen String   10 Document Date DJBC
kodeKpbc String   30 Code KPBC DJBC
idPeserta String   16 NPWP Depositor DJBC, DJA, DJP
kodeNTB String   12 IDSISPEN DJBC, DJA, DJP
kodeKL String   4 Code KL DJA
unitEselon1 String   4 Unit Eselon 1 DJA
satker String   6 Satker DJA

Request & Response Payload Sample

Request

{
   "accountNumber":"020601075566508",
   "productCode":"91200",
   "custNumber":"127606981808151",
   "billData":{
      "kodeKurs":"IDR",
      "messageType":"Outgoing"
   }
}

Normal Response for DJBC :

{
   "responseCode":"00",
   "errorCode":"MPN-00",
   "responseMessage":"Transaction Success",
   "data":{
      "inquiryId":"4d504e5f317c39313230307c323030303230313132303135",
      "billerCode":"MPN_1",
      "amount":"7920000",
      "custNumber":"520211100000285",
      "billData":{
         "idSispen":"230523676600",
         "npwp":"735080640808000",
         "namaWp":"ENTRI, PR.",
         "merchantTypes":"7015",
         "systemTraceAuditNumber":"491962",
         "jenisDokumen":"69",
         "nomorDokumen":"000192",
         "tanggalDokumen":"2021-11-01",
         "kodeKpbc":"110300"
      }
   }
}

Normal Response for DJP:

{
   "responseCode":"00",
   "errorCode":"MPN-00",
   "responseMessage":"Transaction Success",
   "data":{
      "inquiryId":"4d504e5f317c39313230307c323030303230313132303134",
      "billerCode":"MPN_1",
      "amount":"110000",
      "custNumber":"127106940517133",
      "billData":{
         "idSispen":"230523676599",
         "npwp":"0239865570310888",
         "namaWp":"MITRA PAJAKKU",
         "alamatWp":"JL KEMANGGISAN UTAMA RAYA - KOTA ADM. JAKARTA BARA",
         "jumlahDetail":"1",
         "transactionCurrencyCode":"IDR",
         "merchantTypes":"7015",
         "systemTraceAuditNumber":"491961"
      }
   }
}

Normal Response for DJA:

{
   "responseCode":"00",
   "errorCode":"MPN-00",
   "responseMessage":"Transaction Success",
   "data":{
      "inquiryId":"4d504e5f317c39313230307c323030303230313132303133",
      "billerCode":"MPN_1",
      "amount":"8244700",
      "custNumber":"820190701528669",
      "billData":{
         "idSispen":"230523676597",
         "namaWp":"ABDUL KHOBIR",
         "merchantTypes":"7015",
         "systemTraceAuditNumber":"491955",
         "kodeKL":"056",
         "unitEselon1":"01",
         "satker":"429621"
      }
   }
}

Error Response :

{
   "responseCode":"01",
   "responseMessage":"Tagihan Tidak Tersedia"
}

List of Error/Response Code

HTTP Status

Code Status

Response Description

Description
200 00 Success Successfully  
200 01 Failed Unavailable Bills  
200 02 Failed corpName must not contain . and spaces  
200 02 Failed invalid corpname  
200 02 Failed Invalid signature format  
200 32 Failed Currency Code Not Found  
200 88 Failed The bill has already been paid  
400 90 Failed Invalid Field Format {{fieldName}}  
400 91 Failed Invalid Mandatory Field {{fieldName}}  
200 98 Failed MPN System Error : Long Message Not suitable  
200 99 Failed General Error  

E. Payment

Endpoint Description

Service yang disediakan untuk payment dari ID Billing yang terbentuk.

General Information

HTTP Method

POST

Path Sandbox

/v2.0/mpn/payment

Path Production

/v2.0/mpn/payment

Tipe Format

JSON

Authentication Token & Signature

Header Request Structure 

Key

Value

Mandatory

Lenght 

Description

BRI-ExternalId

Numeric

M

9

Random number from each application is a maximum of 9 digits. Cannot be repeated because of external_id checking)

Content-Type string M   application/json
BRI-Signature string M   https://developers.bri.co.id/id/docs/authentication
BRITimestamp string M   TIMESTAMP (yyyy-MM-dd hh:mm:ss.SSSZ)

Request Structure & Sample

Field

Data Type

Mandatory

Length

Description

Example

requestTime

Datetime

yyyy-MM-dd HH:mm:ss

M

  Request date time transactionsnumber

 

inquiryId

String

C

40

Key inquiry response, If need look up inquiry transaction

 

productCode String M  

Product code

91200

 
amount String O 12,2 nominal transaksi, sample : 10000.00  
custNumber String M   ID Billing  
accountNumber String M 15 SA, CA, VA (Multicurrency not allowed)  
stan String O      
billData Object M   The contents of this data object are described in the table below  

Object: billData

Field

Data Type

Mandatory

Length

Description

Example

idSispen

String

M

12 IDSISPEN dari proses Inquiry Billing MPNG2- 003 | 00
namaWP

String

M

50 Name of taxpayer  
alamatWP String C 200 Taxpayer's address  
kodeKurs String M 3 IDR/USD  
npwp String C 16 NIK/NPWP bbdy  
systemTraceAuditNumber String O 6 STAN  
jenisDokumen String C 2 Document Type  
nomorDokumen String C 30 Document Number  
tanggalDokumen String C 10 Document Date, format : yyyy-MM-dd  
kodeKPBC String C 30 Code KPBC  
kodeKL String C 4 Code KL  
kodeNTB String M 12 IDSISPEN of Inquiry Billing  
unitEselon1 String C 4 Unit Eselon 1  
satker String C 6 Satker  
email String O 150
  • Can be filled in with email if you want the BPN doc to be sent to email, but cannot use the SSP Inquiry API.
  • Can be replaced with the company name registered with API MPN if you want to use API Inquiry SSP and BPN.
 
approver String O 150 Mandatory if email address = company name  
userIdHostSPV String O 7    
tglHostApprv String O      
jamHostAprv String O      
alasanHostAprv String O 255 Reason for Host Approval  
keteranganHostAprv String O 255 Host Approval Description  
userIdLocSPV String O      
tglLocalApprv String O      
jamLocalAprv String O      
alasanLocalAprv String O 255 Reason for Local Approval  
keteranganLocalAprv String O 255 Description Local Approval  
jumlahTransaksi String C 16 Detailed number of results from inquiry  

Response Structure & Sample

Field

Data Type

Mandatory

Length

Description

Example

responseCode

String

M

2  

MPNG2-003 | 00

responseMessage

String

M

   

 

errorCode String M  

The contents of this ‘data’ object are described in the table below

 
journalSequence String O 7    
productCode String M      
productName String M      
custNumber String M      
amount String M      
category String M      
responseTime String M      
needApproval String O      
approvalReason Array O      
billData object M      

Object: billData

Field

Data Type

Mandatory

Length

Description

Example

ntb

String

 

  NTPN response from MPN

 

ntpn

String

 

   

 

idSetoran String     System Audit Trace Number  
systemTraceAuditNumber String     Date of Book Transfer from BRI to MPN  
tanggalSettlement String     Date Hour Transaction sent to MPN  
tanggalTransaksi String     Hours of transaction  
jamTransaksi String     IDSISPEN  
idSispen String     Transaction Branch Code  
transCabang String    

 

 

Request & Response Payload Sample

Request IDR :

{
   "inquiryId":"4d504e5f317c39313230307c303030313939303030363330",
   "cardNumber":"",
   "requestTime":"2023-12-06 16:13:51",
   "terminalId":"00006699",
   "iccData":"",
   "stan":"006699000636",
   "channelCode":"6011",
   "posEntryMode":"051",
   "currencyCode":"360",
   "accountNumber":"020601002032300",
   "productCode":"91200",
   "custNumber":"919100992622168",
   "amount":"150000.00",
   "pinData":"5BB7F2A4263C14D7",
   "track2Data":"",
   "billData":{
      "alamatWP":"JL. LEMBAYUNG SENJA NO.88 KOTA RANTING CEMARA",
      "email":"",
      "idSispen":"231214754052",
      "jenisDokumen":"",
      "jumlahDetail":"1",
      "kodeKL":"999",
      "kodeKPBC":"",
      "kodeKurs":"IDR",
      "merchantTypes":"7014",
      "namaWP":"DJA INDAH SEROJA",
      "nomorDokumen":"",
      "npwp":"3469416025488888",
      "satker":"960186",
      "systemTraceAuditNumber":"647600",
      "tanggalDokumen":"",
      "transactionCurrencyCode":"IDR",
      "unitEselon1":"01",
      "rekeningNasabah":"324324324",
      "kodeNTB":"A"
   }
}

Request USD :

{
   "inquiryId":"4d504e5f317c39313230307c303030313939303030363330",
   "cardNumber":"",
   "requestTime":"2023-12-06 16:13:51",
   "terminalId":"00006699",
   "iccData":"",
   "stan":"006699000636",
   "channelCode":"6011",
   "posEntryMode":"051",
   "currencyCode":"360",
   "accountNumber":"020601002032300",
   "productCode":"91200",
   "custNumber":"919100992622168",
   "amount":"150000.00",
   "pinData":"5BB7F2A4263C14D7",
   "track2Data":"",
   "billData":{
      "alamatWP":"JL. LEMBAYUNG SENJA NO.88 KOTA RANTING CEMARA",
      "email":"",
      "idSispen":"231214754052",
      "jenisDokumen":"",
      "jumlahDetail":"1",
      "kodeKL":"999",
      "kodeKPBC":"",
      "kodeKurs":"IDR",
      "merchantTypes":"7014",
      "namaWP":"DJA INDAH SEROJA",
      "nomorDokumen":"",
      "npwp":"3469416025488888",
      "satker":"960186",
      "systemTraceAuditNumber":"647600",
      "tanggalDokumen":"",
      "transactionCurrencyCode":"IDR",
      "unitEselon1":"01",
      "rekeningNasabah":"324324324",
      "kodeNTB":"A"
   }
}

Normal Response IDR :

{
   "responseCode":"00",
   "errorCode":"MPN-00",
   "responseMessage":"Transaction Success",
   "data":{
      "journalSequence":"7906032",
      "billerCode":"MPN_1",
      "fee":"0.00",
      "billData":{
         "idSispen":"230411675303",
         "merchantType":"7015",
         "debetJumlah":"1000",
         "creditJumlah":"0",
         "transCabang":"0329",
         "transJumlah":"1000",
         "systemTraceAuditNumber":"454799",
         "tanggalTransaksi":"13042023",
         "jamTransaksi":"171615",
         "tanggalSettlement":"14042023",
         "ntpn":"C59251SEUJ8QIKPU",
         "ntb":"230411675303",
         "biaya":"0"
      }
   }
}

Normal Response USD:

{
   "responseCode":"00",
   "errorCode":"MPN-00",
   "responseMessage":"Transaction Success",
   "data":{
      "journalSequence":"5482076",
      "billerCode":"MPN_1",
      "fee":"0.00",
      "billData":{
         "idSispen":"231016702790",
         "merchantType":"7015",
         "debetJumlah":"100.00",
         "creditJumlah":"0",
         "transCabang":"0888",
         "transJumlah":"100",
         "systemTraceAuditNumber":"583784",
         "tanggalTransaksi":"16102023",
         "jamTransaksi":"141547",
         "tanggalSettlement":"15102023",
         "ntpn":"B09DF5E5FCM995BP",
         "ntb":"231016702790",
         "biaya":"0"
      }
   }
}

Error Response :

{
 "responseCode": "01,
 "errorCode": "Pembukuan gagal"
}

List of Error/Response Code

HTTP Status

Code Status

Response Description

Description
200 00 Success Payment Success  
200 01 Failed Bookkeeping fails  
200 02 Failed Invoice close | Reversal success  
200 08 Failed Payment data does not match | Reversal successl  
200 09 Failed Payment data does not match | Reversal Success  
200 27 Failed Bill Paid through another CA | Reversal Success  
200 88 Failed Transaction has already been done  
200 67 Failed Timeout (suspend)  
200 68 Failed Timeout WS (suspend)  
400 90 Failed Invalid Field Format {{fieldName}}  
400 91 Failed Invalid Mandatory Field {{fieldName}}  
400 98 Failed Account is not found  
200 98 Failed Message length is not appropriatei | Reversal success  
200 99 Failed General Error  

F. Reinquiry

Endpoint Description

Service yang disediakan untuk reinquiry status payment kode billing.

General Information

HTTP Method

POST

Path Sandbox

/v2.0/mpn/reinquiry

Path Production

/v2.0/mpn/reinquiry

Tipe Format

JSON

Authentication Token & Signature

Header Request Structure 

Key

Value

Mandatory

Lenght 

Description

BRI-ExternalId

Numeric

M

9

Random number from each application is a maximum of 9 digits. Cannot be repeated because of external_id checking)

Content-Type string M   application/json
BRI-Signature string M   https://developers.bri.co.id/id/docs/authentication
BRITimestamp string M   TIMESTAMP (yyyy-MM-dd hh:mm:ss.SSSZ)

Request Structure & Sample

Field

Data Type

Mandatory

Length

Description

Example

idSetoran

String

M

15 Numeric

 

transactionCurrencyCode

String

M

3 Must be IDR or USD

 

Response Structure & Sample

Field

Data Type

Mandatory

Length

Description

Example

responseCode

String

M

2 Inquiry billing result response code

 

responseMessage

String

M

255 Inquiry billing result response code

 

data Object    

 

 
idSetoran String   15 Confirm Billing ID  
transactionCurrencyCode String   3 Currency code confirmation  
transactionAmount String   16 Nominal billing  
systemTraceAuditNumber String   6 STAN results generated at MPN  
merchantTypes String   4 Merchant type based on input channel id  
retrievalReferenceNumber String   12 IDSISPEN  
namaWP String   125 Taxpayer Name  
alamatWP String   50 Taxpayer's address  
npwp String   16 NIK/NPWP body  
jumlahDetail String   2 Number of billing details in 1 billing  
jenisDokumen String   2 Document Type  
nomorDokumen String   30 Document Number  
tanggalDokumen String   10 Document Date  
kodeKpbc String   30 Code KPBC  
idPeserta String   16 NPWP Penyetor (Depositor)  
kodeNTB String   12 IDSISPEN  
kodeKL String   4 Code KL  
unitEselon1 String   4 Unit Eselon 1  
satker String   6 Satker  
kodeNTPN String   16 NTPN  
rcMPN String   2 Response Code MPN  
responseMessageMPN String   255 Response Message MPN  
tglBuku String   8 Date Book  
transCabang String   4 Branch Transactions  
tanggalSettlement String   8 Date Settlement  
tanggalTransaksi String   8 Date Transaksi  
jamTransaksi String   6 Time Transaksi  
journalSeq1 String   7 Journal Sequence 1  
journalSeq2 String   7 Journal Sequence 2  

Request & Response Payload Sample

Request :

{
   "idSetoran":"000000000003404",
   "transactionCurrencyCode":"IDR"
}

Normal Response DJBC :

{
   "responseCode":"00",
   "responseMessage":"Data Ditemukan",
   "data":{
      "idSetoran":"127306958506102",
      "transactionCurrencyCode":"IDR",
      "transactionAmount":"350000.00",
      "systemTraceAuditNumber":"493578",
      "merchantTypes":"7015",
      "retrievalReferenceNumber":"230224655997",
      "namaWP":"WP BADAN",
      "alamatWP":"JL. INI ALAMATNYA - KAB. TANGERANG",
      "npwp":"0024191678418000",
      "jumlahDetail":"1",
      "jenisDokumen":"",
      "nomorDokumen":"",
      "tanggalDokumen":"",
      "kodeKpbc":"",
      "idPeserta":"",
      "kodeNTB":"",
      "kodeKL":"",
      "unitEselon1":"",
      "satker":"",
      "kodeNTPN":"",
      "rcMPN":"98",
      "responseMessageMPN":"Panjang message tidak sesuai (Reversal)",
      "tglBuku":"25022023",
      "tanggalSettlement":"06032024",
      "tanggalTransaksi":"06032024",
      "jamTransaksi":"100525",
      "transCabang":"0888",
      "journalSeq1":"8952018",
      "journalSeq2":""
   }
}

Normal Response DJP:

{
   "responseCode":"00",
   "responseMessage":"Data Ditemukan",
   "data":{
      "idSetoran":"119100190013624",
      "transactionCurrencyCode":"IDR",
      "transactionAmount":"5561.00",
      "systemTraceAuditNumber":"592861",
      "merchantTypes":"7019",
      "retrievalReferenceNumber":"231108706465",
      "namaWP":"RIMBUN ILALANG",
      "alamatWP":"JL. LEMBAYUNG SENJA NO.88 KOTA RANTING CEMARA",
      "npwp":"3469416025488888",
      "jumlahDetail":"3",
      "jenisDokumen":"",
      "nomorDokumen":"",
      "tanggalDokumen":"",
      "kodeKpbc":"",
      "idPeserta":"",
      "kodeNTB":"123456789112",
      "kodeKL":"",
      "unitEselon1":"",
      "satker":"",
      "kodeNTPN":"FD6805DT984INE5O",
      "rcMPN":"00",
      "responseMessageMPN":"Success",
      "tglBuku":"11082023",
      "tanggalSettlement":"11082023",
      "tanggalTransaksi":"11082023",
      "jamTransaksi":"11:12:19",
      "transCabang":"0206",
      "tanggalSettlement":"06032024",
      "tanggalTransaksi":"06032024",
      "jamTransaksi":"100525",
      "transCabang":"0888",
      "journalSeq1":"8952018",
      "journalSeq2":""
   }
}

Normal Response DJA:

{
   "responseCode":"00",
   "responseMessage":"Data Ditemukan",
   "data":{
      "idSetoran":"127306958506102",
      "transactionCurrencyCode":"IDR",
      "transactionAmount":"1000.00",
      "systemTraceAuditNumber":"489999",
      "merchantTypes":"7015",
      "retrievalReferenceNumber":"230504675804",
      "namaWP":"WP BADAN",
      "npwp":"0024191678418000",
      "kodeNTB":"230504675804",
      "kodeKL":"",
      "unitEselon1":"",
      "satker":"",
      "kodeNTPN":"",
      "rcMPN":"98",
      "responseMessageMPN":"Panjang message tidak sesuai (Reversal)",
      "tglBuku":"25022023",
      "tanggalSettlement":"06032024",
      "tanggalTransaksi":"06032024",
      "jamTransaksi":"100525",
      "transCabang":"0888",
      "journalSeq1":"8952018",
      "journalSeq2":""
   }
}

Error Response :

{
   "responseCode":"01",
   "responseMessage":"Data Tidak Ditemukan"
}

List of Error/Response Code

HTTP Status

Code Status

Response Description

Description
200 00 Success Data Found  
200 01 Failed Data Not Found  
200 02 Failed corpName must not contain . and spaces  
200 02 Failed invalid corpname  
200 02 Failed Format signature invalid  
200 72 Failed Validation Error  
200 73 Failed Unauthorised. Please enter your username and password correctly  
200 99 Failed General Error  

RCMPN

DESCRIPTION
00 Success
02 Invoice close (Reversal)
03 Payment data does not match (Reversal)
27 Bill Paid through another CA (Reversal)
77 Billing Expired (Reversal)
90 Timeout to MPN
98 Inappropriate message length (Reversal)

G. Create Sign Approver

Endpoint Description

Service yang disediakan untuk mendaftarkan tanda tangan digital milik partner.

General Information

HTTP Method

POST

Path Sandbox

/v2.0/mpn/createSignApprover

Path Production

/v2.0/mpn/createSignApprover

Tipe Format

JSON

Authentication Token & Signature

Header Request Structure 

Key

Value

Mandatory

Lenght 

Description

Content -Type

String

M

 

application/json

BRISignature string M   https://developers.bri.co.id/id/docs/authentication
BRITimestamp string M   TIMESTAMP (yyyy-MM-dd hh:mm:ss.SSSZ)
BRIExternal-Id string M 9

Random number from each application is a maximum of 9 digits. Cannot be repeated because of external_id checking)

Random number from each application is a maximum of 9 digits. Cannot be repeated because of external_id checking)

Request Structure & Sample

Field

Data Type

Mandatory

Length

Description

Example

corpname

String

M

50 Company name

PERTAMINA

approverName

String

M

255 Approver's name

Dummy

approverSignature String M   Base64  
status String M 1   1

Response Structure & Sample

Field

Data Type

Mandatory

Length

Description

Example

responseCode

String

M

2  

00

responseMessage

String

M

255  

Successfully

Request & Response Payload Sample

Request :

{
 "corpname":"PT. PERTAMINA",
 "approverName":"Sopian",
 "approverSgnature":"/9j/4AAQSkZJRgABAQAAAQABAAD/7AARRHVja3kAAQAEAAAAPAAA/+EAGEV4aWYAAElJKgAIAAAAAAAA
AAAAAAD/4QMraHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLwA8P3hwYWNrZXQgYmVnaW49Iu+7vyIgaWQ9Ilc1TTBNcENlaGlIe
nJlU3pOVGN6a2M5ZCI/PiA8eDp4bXBtZXRhIHhtbG5zOng9ImFkb2JlOm5zOm1ldGEvIiB4OnhtcHRrPSJBZG9iZSBYTVAgQ29yZSA1Lj
MtYzAxMSA2Ni4xNDU2NjEsIDIwMTIvMDIvMDYtMTQ6NTY6MjcgICAgICAgICI+IDxyZGY6UkRGIHhtbG5zOnJkZj0iaHR0cDovL3d3dy5
\3My5vcmcvMTk5OS8wMi8yMi1yZGYtc3ludGF4LW5zIyI+IDxyZGY6RGVzY3JpcHRpb24gcmRmOmFib3V0PSIiIHhtbG5zOnhtcD0iaHR0
cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOn
N0UmVmPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VSZWYjIiB4bXA6Q3JlYXRvclRvb2w9IkFkb2JlIFBob
3Rvc2hvcCBDUzYgKFdpbmRvd3MpIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjc4OEEyQTI1RDAyNTExRTdBMEFFQzg3OUI2MkJBQjF
EIiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOjc4OEEyQTI2RDAyNTExRTdBMEFFQzg3OUI2MkJBQjFEIj4gPHhtcE1NOkRlcml2ZWRGcm9tI
HN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6Nzg4QTJBMjNEMDI1MTFFN0EwQUVDODc5QjYyQkFCMUQiIHN0UmVmOmRvY3VtZW50SU
Q9InhtcC5kaWQ6Nzg4QTJBMjREMDI1MTFFN0EwQUVDODc5QjYyQkFCMUQiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC
94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz7/2wBDAAMCAgICAgMCAgIDAwMDBAYEBAQEBAgGBgUGCQgKCgkICQkKDA8MCgsOCwkJD
RENDg8QEBEQCgwSExIQEw8QEBD/wAALCAJsA4QBAREA/8QAHgAAAgMAAwEBAQAAAAAAAAAAAAUGBwgDBAkCAQr/xAB6EAABAgQEAQk
DBgQLDREMBwkBAgMABAUGBwgREiETFTFEZIKiwuEJFFEiNUFhY5EjMnGBFhcYJDhCUrG0tdMzQ1dYYnR2lqGywdHUGSUmNFNWcnV3kpSVl6
Sls9IoNzlGVFVlc5Ojw8QnNkdmZ4OEhfApSIaHRVnk/9oACAEBAAA/APVCCFVd6v3vLCmCJXBCqu9X73lhTBErghVXer97ywpgiVwQqrvV+95YUw
RK4IVV3q/e8sKYIlcEKq71fveWFMESuCFVd6v3vLCmCJXBCqu9X73lhTBErghVXer97ywpgiVwQqrvV+95YUwRK4IVV3q/e8sKYIlcEKq71fveWFMESuC
FVd6v3vLCmCJXBCqu9X73lhTBErghVXer97ywpgiVwQqrvV+95YUwRK4IVV3q/e8sKYIlcEKq71fveWFMESuCFVd6v3vLCmCJXBCqu9X73lhTBErgh
VXer97ywpgiVwQqrvV+95YUwRK4IIIIVV3q/e8sKYIlcEKq71fveWFMESuCFVd6v3vLCmCJXBCqu9X73lhTBErghVXer97ywpgiVwQqrvV+95YUwRK
4IVV3q/e8sKYIlcEKq71fveWFMESuCFVd6v3vLCmCJXBCqu9X73lhTBErghVXer97ywpgiVwQqrvV+95YUwRK4IVV3q/e8sKYIlcEKq71fveWFMESuC
FVd6v3vLCmCJXBCqu9X73lhTBErg",
 "status":"1"
}

Normal Response :

{
   "responseCode":"00",
   "responseMessage":"Sukses Insert Data"
}

Error Response :

{
   "responseCode":"02",
   "responseMessage":"corpName tidak boleh mengandung . dan spasi"
}

List of Error/Response Code

HTTP Status

Code Status

Response Description

Description
200 00 Success Success Insert Data  
200 02 Failed corpName must not contain . and spaces  
200 02 Failed invalid corpname  
200 02 Failed Invalid signature format  
200 72 Failed Validation Error  
200 73 Failed Unauthorised. Please enter your username and password correctly  
200 99 Failed General Error  

H. Create NPWP Depositor

Endpoint Description

Endpoint ini disediakan untuk mendaftarkan NPWP yang akan dijadikan dasar query list nama pemungut.

General Information

HTTP Method

POST

Path Sandbox

/v2.0/mpn/createNpwpPenyetor

Path Production

/v2.0/mpn/createNpwpPenyetor

Tipe Format

JSON

Authentication Token & Signature

Header Request Structure 

Key

Value

Mandatory

Lenght 

Description

Content -Type

String

M

 

application/json

BRISignature string M   https://developers.bri.co.id/id/docs/authentication
BRITimestamp string M   TIMESTAMP (yyyy-MM-dd hh:mm:ss.SSSZ)
BRIExternal-Id string M 9

Random number from each application is a maximum of 9 digits. Cannot be repeated because of external_id checking)

Request Structure & Sample

Field

Data Type

Mandatory

Length

Description

Example

corpname

String

M

50 Company name PTPERTAMINA
npwpPenyetor

String

M

16 Npwp of depositor

0024191678417999

Response Structure & Sample

Field

Data Type

Mandatory

Length

Description

Example

responseCode

String

M

2  

00

responseMessage

String

M

255  

Success

Request & Response Payload Sample

Request :

{
   "corpName":"PTPERTAMINA",
   "npwpPenyetor":"123457890123456"
}

Normal Response :

{
   "responseCode":"00",
   "responseMessage":"Sukses"
}

Error Response :

{
 "responseCode": "02",
 "responseMessage": "Data NPWP sudah terdaftar",
}

List of Error/Response Code

HTTP Status

Code Status

Response Description

Description
200 00 Success Success  
200 01 Failed corpName and npwpPetor cannot be empty  
200 01 Failed corpName cannot contain special characters  
200 01 Failed npwp of depositor must be 16 digits  
200 01 Failed The format of npwpPenetor must be numeric  
200 02 Failed NPWP data already registered  
200 73 Failed Unauthorised. Please enter your username and password correctly  
200 99 Failed General Error  

I. Get Report

Endpoint Description

Endpoint ini digunakan untuk generate report daftar pemungut.

General Information

HTTP Method

POST

Path Sandbox

/v2.0/mpn/getReport

Path Production

/v2.0/mpn/getReport

Tipe Format

JSON

Authentication Token & Signature

Header Request Structure 

Key

Value

Mandatory

Lenght 

Description

Content -Type

String

M

 

application/json

BRISignature string M   https://developers.bri.co.id/id/docs/authentication
BRITimestamp string M   TIMESTAMP (yyyy-MM-dd hh:mm:ss.SSSZ)
BRIExternal-Id string M 9

Random number from each application is a maximum of 9 digits. Cannot be repeated because of external_id checking)

Request Structure & Sample

Field

Data Type

Mandatory

Length

Description

Example

npwp

String

M

16 Number NPWP  
startDate

String

M

10 Start Date

 

endDate String M 10 End Date  

Response Structure & Sample

Field

Data Type

Mandatory

Length

Description

Example

responseCode

String

M

2  

00

responseMessage

String

M

255  

Success

responseData Array Object C   The contents of this data object array are described in the table below  

Object: responseData

Field

Data Type

Mandatory

Length

Description

Example

npwpPemungut

String

M

16   0024191678418000
namaNpwp

String

M

255   WP BADAN
kodeSetoran String M 30   127106947370040
kodeMAP String M 10   1
jumlahSetoran String M 20   100.00
currencySetoran String M 3   USD
uraianPembayaran String M 500   create
kodeObjekPajak String M 18    
nomorSuratKetetapan String M 50    
masaPajak String M 10    
tanggalTrans String M 10    

Request & Response Payload Sample

Request :

{
   "npwp":"0024191678418000",
   "startDate":"29-12-2022",
   "endDate":"29-12-2022"
}

Normal Response :

{
   "responseCode":"00",
   "responseMessage":"Sukses",
   "data":[
      {
         "npwpPemungut":"0024191678418000",
         "namaNpwp":"WP BADAN",
         "kodeSetoran":"127106947345108",
         "kodeMAP":"1",
         "jumlahSetoran":"150.00",
         "currencySetoran":"USD",
         "uraianPembayaran":"create",
         "kodeObjekPajak":"",
         "nomorSuratKetetapan":"",
         "masaPajak":"",
         "tanggalTrans":"29-12-2022"
      },
      {
         "npwpPemungut":"0024191678418000",
         "namaNpwp":"WP BADAN",
         "kodeSetoran":"127106947350020",
         "kodeMAP":"1",
         "jumlahSetoran":"100.00",
         "currencySetoran":"USD",
         "uraianPembayaran":"createoke",
         "kodeObjekPajak":"",
         "nomorSuratKetetapan":"",
         "masaPajak":"",
         "tanggalTrans":"29-12-2022"
      },
      {
         "npwpPemungut":"0024191678418000",
         "namaNpwp":"WP BADAN",
         "kodeSetoran":"127106947361155",
         "kodeMAP":"1",
         "jumlahSetoran":"100.00",
         "currencySetoran":"IDR",
         "uraianPembayaran":"create",
         "kodeObjekPajak":"",
         "nomorSuratKetetapan":"",
         "masaPajak":"",
         "tanggalTrans":"29-12-2022"
      },
      {
         "npwpPemungut":"0024191678418000",
         "namaNpwp":"WP BADAN",
         "kodeSetoran":"127106947370040",
         "kodeMAP":"1",
         "jumlahSetoran":"100.00",
         "currencySetoran":"USD",
         "uraianPembayaran":"create",
         "kodeObjekPajak":"",
         "nomorSuratKetetapan":"",
         "masaPajak":"",
         "tanggalTrans":"29-12-2022"
      }
   ]
}

Error Response :

{
   "responseCode":"01",
   "responseMessage":"npwp tidak boleh kosong"
}

List of Error/Response Code

HTTP Status

Code Status

Response Description

Description
200 00 Success Success  
200 01 Failed npwp cannot be empty  
200 01 Failed npwp must be 16 digits  
200 01 Failed The npwp format must be numeric  
200 01 Failed startDate and endDate cannot be empty  
200 01 Failed StartDate format does not match  
200 01 Failed The endDate format does not match  
200 01 Failed Dates must be in the same month and year  
200 73 Failed Unauthorised. Please enter your username and password correctly  
200 99 Failed General Error  

J. Inquiry SSP

Endpoint Description

Service yang disediakan untuk mendapatkan bukti Surat Setoran Pajak.

General Information

HTTP Method

POST

Path Sandbox

/v2.0/mpn/inquirySSP

Path Production

/v2.0/mpn/inquirySSP

Tipe Format

JSON

Authentication Token & Signature

Header Request Structure 

Key

Value

Mandatory

Lenght 

Description

Content -Type

String

M

 

application/json

BRISignature string M   https://developers.bri.co.id/id/docs/authentication
BRITimestamp string M   TIMESTAMP (yyyy-MM-dd hh:mm:ss.SSSZ)
BRIExternal-Id string M 9

Random number from each application is a maximum of 9 digits. Cannot be repeated because of external_id checking)

Request Structure & Sample

Field

Data Type

Mandatory

Length

Description

Example

corpname

String

M

50 Company name PTPERTAMINA
idBilling

String

M

30 Number biling

1234567890

Response Structure & Sample

Field

Data Type

Mandatory

Length

Description

Example

responseCode

String

M

2  

00

responseMessage

String

M

255  

 

responseDesc String O 255    
data JSON Object M      
file String M Base64    

Request & Response Payload Sample

Request :

{
   "corpname":"PTPERTAMINA",
   "idBilling":"1234567890"
}

Normal Response :

{
 "responseCode": "00",
 "responseMessage": "Success get base64 BPN",
 "data": {
 "file": "JVBERi0xLjQKJeLjz9MKMyAwIG9iago8PC9MZW5ndGggOTE2L0ZpbHRlci9GbGF0ZURlY29kZT4+c3RyZWFtCniclVdLl6I4G
N3zK77FLGYWTSUhPMIujnSNL4oWnDq9TLU0RQk4hXrmzL+fIA+1u0mZo2D8Qm5u7vdIeDcmiUEQeIRAsjUQfLJc2rSCxPhivJ8vAnPZ8
Wgg04N/Ddc2bfAQhbJrypHFpVka2HMGc9wN6mxyFJF27EGdDn02ZgNi1z6PpcgbMK/tt5iu517mlBgdldY8cL2xXgb+Gqyd+La/JdD2Xwg
XV8/24362X8a2eHavInXtgU7TvnRfbKVBmPtT/8XWT9v3f2kcigHJDwZmm4yBhxEkpfHwGUPT+i4xiI2YBz/+1pnx+4SHC1jzxVee/JG8Sb9n
TShcYWI5NW6W6Qyg9EPQzSKZQRSEwXq24jyEMHjka/7rCShxTU+T9SJYBWEi0Xk4whpZJmXgMnI/6CycPoVBPBvhSSgxZSS7DA+Q
W5kb2JqCjIgMCBvYmoKPDwvVHlwZS9Gb250L1N1YnR5cGUvVHlwZTEvQmFzZUZvbnQvSGVsdmV0aWNhLU9ibGlxdWUvRW5jb2Rp
bmcvV2luQW5zaUVuY29kaW5nPj4KZW5kb2JqCjQgMCBvYmoKPDwvVHlwZS9QYWdlcy9Db3VudCAxL0tpZHNbNSAwIFJdL0lUWFQo
NS4wLjIpPj4KZW5kb2JqCjYgMCBvYmoKPDwvVHlwZS9DYXRhbG9nL1BhZ2VzIDQgMCBSPj4KZW5kb2JqCjcgMCBvYmoKPDwvUHJv
ZHVjZXIoaVRleHRTaGFycCA1LjAuMiBcKGNcKSAxVDNYVCBCVkJBKS9DcmVhdGlvbkRhdGUoRDoyMDI0MDMxMzExMzIxNSswNycwM
CcpL01vZERhdGUoRDoyMDI0MDMxMzExMzIxNSswNycwMCcpPj4KZW5kb2JqCnhyZWYKMCA4CjAwMDAwMDAwMDAgNjU1MzUgZi
AKMDAwMDAwMTE2NCAwMDAwMCBuIAowMDAwMDAxMjUyIDAwMDAwIG4gCjAwMDAwMDAwMTUgMDAwMDAgbiAKMDAwMDAwM
TM0OCAwMDAwMCBuIAowMDAwMDAwOTk4IDAwMDAwIG4gCjAwMDAwMDE0MTEgMDAwMDAgbiAKMDAwMDAwMTQ1NiAwMDAwM
CBuIAp0cmFpbGVyCjw8L1NpemUgOC9Sb290IDYgMCBSL0luZm8gNyAwIFIvSUQgWzxlZjgzZGFlOGRkMmYwZjM5NTcxMDRjYmQ2Mz
IxN2JlNj48Yjc0ZDk2NTU0YjZkMTYyODEzYTVhNmI3YzE2MjQ5MWE+XT4+CnN0YXJ0eHJlZgoxNTkxCiUlRU9GCg=="
 }
}

Error Response :

{
   "responseCode":"02",
   "responseMessage":"ID Billing tidak ditemukan"
}

List of Error/Response Code

HTTP Status

Code Status

Response Description

Description
200 00 Success Success  
200 02 Failed The following properties are invalid format: corpname,  
200 02 Failed The following properties are invalid format: idBilling,  
200 02 Failed Billing ID not found  
200 73 Failed Unauthorised. Please enter your username and password correctly  
200 99 Failed General Error  

K. Inquiry BPN

Endpoint Description

Service yang disediakan untuk mendapatkan Bukti Penerimaan Negara atas kode billing yang sudah dibayarkan.

General Information

HTTP Method

POST

Path Sandbox

/v2.0/mpn/inquiryBPN

Path Production

/v2.0/mpn/inquiryBPN

Tipe Format

JSON

Authentication Token & Signature

Header Request Structure 

Key

Value

Mandatory

Lenght 

Description

Content -Type

String

M

 

application/json

BRISignature string M   https://developers.bri.co.id/id/docs/authentication
BRITimestamp string M   TIMESTAMP (yyyy-MM-dd hh:mm:ss.SSSZ)
BRIExternal-Id string M 9

Random number from each application is a maximum of 9 digits. Cannot be repeated because of external_id checking)

Request Structure & Sample

Field

Data Type

Mandatory

Length

Description

Example

corpname

String

M

50 Company name PTPERTAMINA
idBilling

String

M

30 Number biling

1234567890

Response Structure & Sample

Field

Data Type

Mandatory

Length

Description

Example

responseCode

String

M

2  

00

responseMessage

String

M

255  

 

responseDesc String O 255    
data JSON Object M      
file String M Base64    

Request & Response Payload Sample

Request :

{
   "corpname":"PTPERTAMINA",
   "idBilling":"1234567890"
}

Normal Response :

{
 "responseCode": "00",
 "responseMessage": "Success get base64 BPN",
 "data": {
 "file": "JVBERi0xLjQKJeLjz9MKMyAwIG9iago8PC9MZW5ndGggOTE2L0ZpbHRlci9GbGF0ZURlY29kZT4+c3RyZWFtCniclVdLl6I4G
N3zK77FLGYWTSUhPMIujnSNL4oWnDq9TLU0RQk4hXrmzL+fIA+1u0mZo2D8Qm5u7vdIeDcmiUEQeIRAsjUQfLJc2rSCxPhivJ8vAnPZ8
Wgg04N/Ddc2bfAQhbJrypHFpVka2HMGc9wN6mxyFJF27EGdDn02ZgNi1z6PpcgbMK/tt5iu517mlBgdldY8cL2xXgb+Gqyd+La/JdD2Xwg
XV8/24362X8a2eHavInXtgU7TvnRfbKVBmPtT/8XWT9v3f2kcigHJDwZmm4yBhxEkpfHwGUPT+i4xiI2YBz/+1pnx+4SHC1jzxVee/JG8Sb9n
TShcYWI5NW6W6Qyg9EPQzSKZQRSEwXq24jyEMHjka/7rCShxTU+T9SJYBWEi0Xk4whpZJmXgMnI/6CycPoVBPBvhSSgxZSS7DA+Q
W5kb2JqCjIgMCBvYmoKPDwvVHlwZS9Gb250L1N1YnR5cGUvVHlwZTEvQmFzZUZvbnQvSGVsdmV0aWNhLU9ibGlxdWUvRW5jb2Rp
bmcvV2luQW5zaUVuY29kaW5nPj4KZW5kb2JqCjQgMCBvYmoKPDwvVHlwZS9QYWdlcy9Db3VudCAxL0tpZHNbNSAwIFJdL0lUWFQo
NS4wLjIpPj4KZW5kb2JqCjYgMCBvYmoKPDwvVHlwZS9DYXRhbG9nL1BhZ2VzIDQgMCBSPj4KZW5kb2JqCjcgMCBvYmoKPDwvUHJv
ZHVjZXIoaVRleHRTaGFycCA1LjAuMiBcKGNcKSAxVDNYVCBCVkJBKS9DcmVhdGlvbkRhdGUoRDoyMDI0MDMxMzExMzIxNSswNycwM
CcpL01vZERhdGUoRDoyMDI0MDMxMzExMzIxNSswNycwMCcpPj4KZW5kb2JqCnhyZWYKMCA4CjAwMDAwMDAwMDAgNjU1MzUgZi
AKMDAwMDAwMTE2NCAwMDAwMCBuIAowMDAwMDAxMjUyIDAwMDAwIG4gCjAwMDAwMDAwMTUgMDAwMDAgbiAKMDAwMDAwM
TM0OCAwMDAwMCBuIAowMDAwMDAwOTk4IDAwMDAwIG4gCjAwMDAwMDE0MTEgMDAwMDAgbiAKMDAwMDAwMTQ1NiAwMDAwM
CBuIAp0cmFpbGVyCjw8L1NpemUgOC9Sb290IDYgMCBSL0luZm8gNyAwIFIvSUQgWzxlZjgzZGFlOGRkMmYwZjM5NTcxMDRjYmQ2Mz
IxN2JlNj48Yjc0ZDk2NTU0YjZkMTYyODEzYTVhNmI3YzE2MjQ5MWE+XT4+CnN0YXJ0eHJlZgoxNTkxCiUlRU9GCg=="
 }
}

Error Response :

{
   "responseCode":"02",
   "responseMessage":"ID Billing tidak ditemukan"
}

List of Error/Response Code

HTTP Status

Code Status

Response Description

Description
200 00 Success Success  
200 02 Failed The following properties are invalid format: corpname,  
200 02 Failed The following properties are invalid format: idBilling,  
200 02 Failed Billing ID not found  
200 73 Failed Unauthorised. Please enter your username and password correctly  
200 99 Failed General Error