Skip to main content

Disbursement

Ewallet Channels

Berikut ini adalah channel yang kami dukung untuk disbursement via E-Wallet channel:

NameChannel Code
DANADANA

Bank Code

Bank NameSwift CodeBank Code
Bank MayapadaMAYAIDJA097
Bank Ekspor IndonesiaBEXIIDJA003
Bank Arta Niaga KencanaARNKIDJ1020
Bank Sumitomo Mitsui IndonesiaSUNIIDJA045
Deutsche Bank AG.DEUTIDJA067
Bank Sri ParthaSIPAIDB10B3466
Bank Akita525
Bank Fama Internasional562
Allo Bank/Bank Harda InternasionalHRDAIDJ1567
ANZ IndonesiaANZBIDJX061
Bank Aceh116
Bank Aceh SyariahPDACIDJ1116
Bank Aladin SyariahNETBIDJA947
Bank Amar Indonesia / AnglomasLOMAIDJ1531
Bank Antardaerah088
Bank Artha Graha InternasionalARTGIDJA037
Bank BengkuluPDBKIDJ1133
Bank BPD DIYPDYKIDJ1112
Bank BPD DIY SyariahSYYKIDJ1112
Bank BTPN SyariahPUBAIDJ1547
Bank BukopinBBUKIDJA441
Bank Bukopin SyariahSDOBIDJ1521
Bank Bumi ArtaBBAIIDJA076
Bank Capital IndonesiaBCIAIDJA054
Bank Central AsiaCENAIDJA014
Bank China Construction Bank IndonesiaMCORIDJA036
Bank CNB (Centratama Nasional Bank)MEEKIDJ1559
Bank DanamonBDINIDJA011
Bank Danamon SyariahSYBDIDJ1722
Bank Dinar Indonesia / Oke BankLMANIDJ1526
Bank DKIBDKIIDJ1111
Bank DKI SyariahSYDKIDJ1724
Bank GaneshaGNESIDJA161
Bank IBK Indonesia / AgrisIBKOIDJA945
Bank Ina PerdanaIAPTIDJA513
Bank Index SelindoBIDXIDJA555
Bank Jago / ArtosATOSIDJ1542
Bank Jago SyariahSYATIDJ1542
Bank JambiPDJMIDJ1115
Bank Jambi SyariahSYJMIDJ1115
Bank Jasa JakartaJSABIDJ1472
Bank JatengPDJGIDJ1113
Bank Jateng SyariahSYJGIDJ1725
Bank JatimPDJTIDJ1114
Bank Jatim SyariahSYJTIDJ1114
Bank KalbarPDKBIDJ1123
Bank Kalbar SyariahSYKBIDJ1123
Bank KalselPDKSIDJ1122
Bank Kalsel SyariahSYKSIDJ1122
Bank KaltengPDKGIDJ1125
Bank Kaltim SyariahSYKTIDJ1124
Bank Kaltim / KaltimtaraPDKTIDJ1124
Bank LampungPDLPIDJ1121
Bank MalukuPDMLIDJ1131
Bank MandiriBMRIIDJA008
Bank MANTAP (Mandiri Taspen)SIHBIDJ1564
Bank Maspion IndonesiaMASDIDJ1157
Bank Mayora IndonesiaMAYOIDJA553
Bank MegaMEGAIDJA426
Bank Mega SyariahBUTGIDJ1506
Bank Mestika DharmaMEDHIDS1151
Bank Mizuho IndonesiaMHCCIDJA048
Bank Multi Arta Sentosa / Bank MasBMSEIDJA548
Bank Mutiara (Jtrust)CICTIDJA095
Bank Sumbar/NagariPDSBIDJ1118
Bank Sumbar/Nagari SyariahSYSBIDJ1118
Bank NTB SyariahPDNBIDJ1128
Bank NTTPDNTIDJA130
Bank Nusantara Parahyangan145
Bank OCBC NISPNISPIDJA028
Bank OCBC NISP SyariahSYONIDJ1028
Bank of America NABOFAID2X033
Bank of China (Hong Kong) LimitedBKCHIDJA069
Bank of India Indonesia / Swadesi146
Bank of Tokyo Mitsubishi UFJBOTKIDJX042
Bank PapuaPDIJIDJ1132
Bank Rakyat IndonesiaBRINIDJA002
Bank Riau KepriPDRIIDJA119
Bank Riau Kepri Syariah119
Bank Sahabat SampoernaBDIPIDJ1523
Bank Shinhan Indonesia152
Bank SinarmasSBJKIDJA153
Bank Sinarmas SyariahSYTBIDJ1734
Bank SulselbarPDWSIDJA126
Bank Sulselbar SyariahSYWSIDJ1126
Bank Sulteng (Sulawesi Tengah)PDWGIDJ1134
Bank SultraPDWRIDJ1135
Bank SulutGoPDWUIDJ1127
Bank Sumsel BabelBSSPIDSP120
Bank Sumsel Babel SyariahSYSSIDJ1120
Bank SumutPDSUIDJ1117
Bank Sumut SyariahSYSUIDJ1117
Bank Resona PerdaniaBPIAIDJA047
Bank Victoria InternationalVICTIDJ1566
Bank Victoria Syariah405
Bank Woori Saudara (HS 1906)BSDRIDJA212
BCA (Bank Central Asia) SyariahSYCAIDJ1536
BJB110
BJB SyariahSYJBIDJ1425
Blu/BCA DigitalBBLUIDJA501
BNI (Bank Negara Indonesia)BNINIDJA009
BNP Paribas IndonesiaBNPAIDJA057
BPD BaliABALIDBS129
BPD BantenPDBBIDJ1137
BPR EKA (Bank Eka)867
BRI Agroniaga494
BSI (Bank Syariah Indonesia)BSMDIDJA451
BTNBTANIDJA200
BTN SyariahSYBTIDJ1200
BTPNSUNIIDJA213
CIMB NiagaBNIAIDJA022
CIMB Niaga SyariahSYNAIDJ1022
CitibankCITIIDJX031
Commonwealth BankBICNIDJA950
CTBC (Chinatrust) IndonesiaCTCBIDJA949
DBS IndonesiaDBSBIDJA046
ICBC IndonesiaICBKIDJA164
LINE Bank/KEB HanaHNBNIDJA484
Maybank IndonesiaIBBKIDJA016
Maybank SyariahSYBKIDJ1016
Motion/MNC BankBUMIIDJA485
MuamalatMUABIDJA147
Neo Commerce/Yudha BhaktiYUDBIDJ1490
Nobu (Nationalnobu) BankLFIBIDJ1503
Panin BankPINBIDJA019
Panin Dubai SyariahARFAIDJ1517
PermataBBBAIDJA013
Permata SyariahSYBBIDJ1013
QNB IndonesiaAWANIDJA167
Rabobank International Indonesia060
SBI Indonesia498
Seabank/Bank Kesejahteraan EkonomiSSPIIDJA535
Standard Chartered BankSCBLIDJX050
TMRW/UOBBBIJIDJA023
HSBC IndonesiaHSBCIDJA041
Bank IndonesiaINDOIDJA
BPR KS688

Untuk testing di sandbox, mohon menggunakan bank code: 002.

Validate (Inquiry) Bank Account

API Validate (Inquiry) Bank Account adalah layanan API yang memungkinkan Merchant untuk memverifikasi keabsahan nomor rekening bank tujuan sebelum melakukan transaksi disbursement. Melalui layanan ini, Merchant dapat memasukkan nomor rekening dan kode bank penerima untuk memastikan bahwa detail rekening tersebut valid dan terdaftar. API ini memberikan informasi mengenai nama pemilik rekening sebagai konfirmasi kepada Merchant sebelum melanjutkan proses transfer.

  • Method: POST
  • Type:application/json
  • Path: /disbursement/v1.0/account-inquiry-external
  • Service Code: 16

Header Validate (Inquiry)

ParameterTipeMandatoriKeteranganContoh
Content-TypestringString yang menunjukkan jenis media.application/json
X-TIMESTAMPstringISO-86012022-09-16T13:00:00+07:00
X-SIGNATUREstringLihat Disini bagian symmetric signature
X-PARTNER-IDstringDisbursement secret key dari dashboard Doitpay01JP4QP4R908GVK9X5KN7YCJEG
X-EXTERNAL-IDstring(64)Request ID yang unik.
CHANNEL-IDstringNilai seharusnya DOITPAY
AuthorizationstringOtentikasi dengan bearer token lihat disini pada bagian access tokenBearer ZGMyNDA3NWQtNmM4Ny00NGNiLTQ2NTAtMDhkYWMxNTAzNzY0

Request Body Validate (Inquiry)

ParameterTipeMandatoriKeteranganContoh
beneficiaryBankCodestringThe bank code of the account. (work with swift code or BI code)002/BRINIDJA
beneficiaryAccountNostringThe account number of the recipient.1234567890
partnerReferenceNostringTransaction identifier on customers' service11223344

additionalInfo Validate (Inquiry)

ParameterTipeMandatoriKeteranganContoh
deviceIdstringdevice id of the request source123456789
channelstringchannel of the request sourcemobilephone

Example Validate (Inquiry)

{
"beneficiaryAccountNo": "087783146495",
"beneficiaryBankCode": "002",
"partnerReferenceNo": "11223344",
"additionalInfo": {
"deviceId": "12345679237",
"channel": "mobilephone"
}
}

Response Body Validate (Inquiry)

ParameterTipeKeterangan
responseCodestringKode response, lihat bagian daftar Response Code di bawah
responseMessagestringPenjelasan terhadap response code yang diterima
beneficiaryAccountNamestringNama pemilik akun bank yang sudah divalidasi
beneficiaryAccountNostringNomor bank account yang sudah divalidasi
beneficiaryBankCodestringBank code
beneficiaryBankNamestringNama bank
{
"responseCode": "2001600",
"responseMessage": "Success",
"partnerReferenceNo": "20201029000000000001",
"beneficiaryAccountName": "NAMAKU",
"beneficiaryAccountNo": "7647654564346543",
"beneficiaryBankCode": "002",
"beneficiaryBankName": "bri",
"currency": "IDR",
"additionalInfo": {
"emoneySourceAccountNo": ""
}
}

Create Disbursement

API Create Disbursement adalah layanan API yang memungkinkan Merchant untuk melakukan proses transfer dana ke rekening bank tujuan penerima (beneficiary). Dalam layanan ini, Merchant dapat membuat permintaan disbursement baru dengan memasukkan nomor rekening penerima (bankAccountNo), kode bank (bankCode), dan jumlah yang akan ditransfer (amount). Setiap permintaan disbursement akan menghasilkan ID transaksi unik (referenceNo) yang berfungsi sebagai identifikasi transaksi.

  • Method: POST
  • Type:application/json
  • Path: /disbursement/v1.0/transfer-interbank
  • Service Code: 18

Header Create Disbursement

ParameterTipeMandatoriKeteranganContoh
Content-TypestringString yang menunjukkan jenis media.application/json
X-TIMESTAMPstringISO-86012022-09-16T13:00:00+07:00
X-SIGNATUREstringLihat Disini bagian symmetric signature
X-PARTNER-IDstringDisbursement secret key dari dashboard Doitpay01JP4QP4R908GVK9X5KN7YCJEG
X-EXTERNAL-IDstring(64)Request ID yang unik.
CHANNEL-IDstringNilai seharusnya DOITPAY
AuthorizationstringOtentikasi dengan bearer token lihat disini pada bagian access tokenBearer ZGMyNDA3NWQtNmM4Ny00NGNiLTQ2NTAtMDhkYWMxNTAzNzY0

Request Body Create Disbursement

ParameterTipeMandatoriKeteranganContoh
partnerReferenceNostringUnique transaction identifier on merchant system which assigned to each transaction1234
beneficiaryAccountNostringNomor rekening tujuan1234567890
beneficiaryAccountNamestringNama pemilik rekening tujuan
beneficiaryBankCodestringKode bank tujuan transfer (bisa menggunakan BI code atau swift code)0001
beneficiaryAddressstringalamat dari rekening tujuan
beneficiaryBankNamestringNama bank tujuan
beneficiaryEmailstringEmail dari rekening tujuan
transactionDatestringtanggal transaksi dengan format ISO8601
additionalInfoobjectlihat tabel di bawah
amountobjectlihat tabel di bawah
sourceAccountNostringID dari balance business (dapat diambil di dashboard)01H84J9X0R6T8GQ1Z4BRQYNPZX

amount Create Disbursement

ParameterTypeMandatoriKeteranganContoh
valuestringJumlah yang ingin ditransfer dengan format ISO 421710000.00
currencystringcurrency of transferIDR

additionalInfo Create Disbursement

ParameterTypeMandatoriKeteranganContoh
deviceIdstringdevice id of the request source123456789
channelstringchannel of the request sourcemobilephone
validationReferenceNostringpartnerReferenceNo sent during account validation1122334455
remarkstringdeskripsi transfer yang akan muncul di sisi penerimatesting

Example Create Disbursement

{
"additionalInfo": {
"remark": "testing",
"validationReferenceNo": "69ff0334-ad89-4035-82ee-67ceedb74f4a"
},
"amount": { "currency": "IDR", "value": "11243.00" },
"beneficiaryAccountName": "test",
"beneficiaryAccountNo": "test",
"beneficiaryBankCode": "008",
"partnerReferenceNo": "dbede4ba-408b-4fa9-9b1f-70cd226d0e12",
"sourceAccountNo": "test",
"transactionDate": "2025-03-18T12:19:23+07:00"
}

Response Body Create Disbursement

ParameterTypeKeterangan
responseCodestringKode response, lihat bagian daftar Response Code di bawah
responseMessagestringPenjelasan terhadap response code yang diterima
beneficiaryAccountNostringLihat tabel di bawah ini
beneficiaryBankCodestringKode bank tujuan transfer (bisa menggunakan BI code atau swift code)
partnerReferenceNostringreference number yang merchant kirim ke doitpay
referenceNostringreference number yang doitpay kembalikan kepada merchant
sourceAccountNostringID dari balance business (dapat diambil di dashboard)u
additionalInfoobject

additionalInfo Create Disbursement

KeyValueDescriptionContoh
deviceIdstring123456567
channelstringtrx_123
validationReferenceNostringreferenceNo yang merchant kirim saat melakukan account validation12345
remarkstringtesting
{
"additionalInfo": {
"remark": "testing",
"validationReferenceNo": "69ff0334-ad89-4035-82ee-67ceedb74f4a"
},
"amount": {
"currency": "IDR",
"value": "12345678.00"
},
"beneficiaryAccountNo": "888801000003301",
"beneficiaryBankCode": "002",
"partnerReferenceNo": "111111111",
"referenceNo": "01G4C9YXKRQ4Q9N8A7CG89BZ6B",
"responseCode": "2021800",
"responseMessage": "Successful",
"sourceAccountNo": "01H84J9X0R6T8GQ1Z4BRQYNPZX"
}

Validate (Inquiry) E-Money Account

API Validate (Inquiry) E-Money Account adalah layanan API yang memungkinkan Merchant untuk memverifikasi keabsahan nomor akun e-money tujuan sebelum melakukan transaksi top-up. Melalui layanan ini, Merchant dapat memasukkan nomor customer dan platform code untuk memastikan bahwa detail akun tersebut valid dan terdaftar. API ini memberikan informasi mengenai nama pemilik akun sebagai konfirmasi kepada Merchant sebelum melanjutkan proses top-up.

  • Method: POST
  • Type:application/json
  • Path: /disbursement/v1.0/emoney/account-inquiry
  • Service Code: 37

Header Validate (Inquiry)

ParameterTipeMandatoriKeteranganContoh
Content-TypestringString yang menunjukkan jenis media.application/json
X-TIMESTAMPstringISO-86012025-05-28T14:36:38+07:00
X-SIGNATUREstringLihat Disini bagian symmetric signature
X-PARTNER-IDstringDisbursement secret key dari dashboard Doitpay01JA9X86Z8KHZ6WP6JAJGGXJPC
X-EXTERNAL-IDstring(64)Request ID yang unik.6365552
CHANNEL-IDstringNilai seharusnya DOITPAY
AuthorizationstringOtentikasi dengan bearer token lihat disini pada bagian access tokenBearer eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9...

Request Body Validate (Inquiry)

ParameterTipeMandatoriKeteranganContoh
customerNumberstringNomor customer e-money yang akan diverifikasi62811742234
partnerReferenceNostringTransaction identifier on customers' service34173491-36d9-4ab0-b5ad-7e92c7a48244
additionalInfoobjectlihat tabel di bawah

additionalInfo Validate (Inquiry)

ParameterTipeMandatoriKeteranganContoh
platformCodestringKode platform e-money (DANA)DANA

Example Validate (Inquiry)

{
"additionalInfo": {
"platformCode": "DANA"
},
"customerNumber": "62811742234",
"partnerReferenceNo": "34173491-36d9-4ab0-b5ad-7e92c7a48244"
}

Response Body Validate (Inquiry)

ParameterTipeKeterangan
responseCodestringKode response, lihat bagian daftar Response Code di bawah
responseMessagestringPenjelasan terhadap response code yang diterima
customerNamestringNama pemilik akun e-money yang sudah divalidasi
customerNumberstringNomor customer e-money yang sudah divalidasi
additionalInfoobjectInformasi tambahan terkait validasi
{
"additionalInfo": {
"isFeeChargedToUser": false
},
"customerName": "DNID dXX",
"customerNumber": "62811742234",
"responseCode": "2003700",
"responseMessage": "Request has been processed successfully"
}

Create E-Money Top-Up

API Create E-Money Top-Up adalah layanan API yang memungkinkan Merchant untuk melakukan proses top-up dana ke akun e-money tujuan penerima (customer). Dalam layanan ini, Merchant dapat membuat permintaan top-up baru dengan memasukkan nomor customer, platform code, dan jumlah yang akan di-top-up (amount). Setiap permintaan top-up akan menghasilkan ID transaksi unik (referenceNo) yang berfungsi sebagai identifikasi transaksi.

  • Method: POST
  • Type:application/json
  • Path: /disbursement/v1.0/emoney/topup
  • Service Code: 38

Header Create E-Money Top-Up

ParameterTipeMandatoriKeteranganContoh
Content-TypestringString yang menunjukkan jenis media.application/json
X-TIMESTAMPstringISO-86012025-05-28T14:36:44+07:00
X-SIGNATUREstringLihat Disini bagian symmetric signature
X-PARTNER-IDstringDisbursement secret key dari dashboard Doitpay01JA9X86Z8KHZ6WP6JAJGGXJPC
X-EXTERNAL-IDstring(64)Request ID yang unik.6365552
CHANNEL-IDstringNilai seharusnya DOITPAY
AuthorizationstringOtentikasi dengan bearer token lihat disini pada bagian access tokenBearer eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9...

Request Body Create E-Money Top-Up

ParameterTipeMandatoriKeteranganContoh
partnerReferenceNostringUnique transaction identifier on merchant system which assigned to each transaction333e6bad-15b2-450e-a218-150372f1c6cb
customerNumberstringNomor customer e-money tujuan62811742234
customerNamestringNama pemilik akun e-money tujuanDNID dXX
additionalInfoobjectlihat tabel di bawah
amountobjectlihat tabel di bawah

amount Create E-Money Top-Up

ParameterTypeMandatoriKeteranganContoh
valuestringJumlah yang ingin ditransfer dengan format ISO 421710005.00
currencystringcurrency of transferIDR

additionalInfo Create E-Money Top-Up

ParameterTypeMandatoriKeteranganContoh
emoneySourceAccountNostringID dari balance business (dapat diambil di dashboard)01J7MQEXHT8PTAKTHSW077V70T
platformCodestringKode platform e-money (DANA, OVO, dll)DANA
validationReferenceNostringpartnerReferenceNo sent during account validation34173491-36d9-4ab0-b5ad-7e92c7a48244
remarkstringdeskripsi transfer yang akan muncul di sisi penerimatesting bifast doitpay

Example Create E-Money Top-Up

{
"additionalInfo": {
"emoneySourceAccountNo": "01J7MQEXHT8PTAKTHSW077V70T",
"platformCode": "DANA",
"remark": "testing",
"validationReferenceNo": "34173491-36d9-4ab0-b5ad-7e92c7a48244"
},
"amount": {
"currency": "IDR",
"value": "10005.00"
},
"customerName": "DNID dXX",
"customerNumber": "62811742234",
"partnerReferenceNo": "333e6bad-15b2-450e-a218-150372f1c6cb"
}

Response Body Create E-Money Top-Up

ParameterTypeKeterangan
responseCodestringKode response, lihat bagian daftar Response Code di bawah
responseMessagestringPenjelasan terhadap response code yang diterima
customerNumberstringNomor customer e-money yang sudah di-top-up
partnerReferenceNostringreference number yang merchant kirim ke doitpay
referenceNostringreference number yang doitpay kembalikan kepada merchant
amountobjectJumlah dan mata uang yang di-top-up
additionalInfoobjectInformasi tambahan terkait transaksi
{
"additionalInfo": {
"isFeeChargedToUser": false
},
"amount": {
"value": "10005.00",
"currency": "IDR"
},
"customerNumber": "62811742234",
"partnerReferenceNo": "",
"referenceNo": "DIS_01JWAX4Y2EJNK0YHG4QKBTPZRM",
"responseCode": "2023800",
"responseMessage": "Request has been processed successfully"
}

Check Disbursement Status

API Check Disbursement Status adalah layanan API yang memungkinkan Merchant untuk mengetahui status dari transaksi disbursement yang telah dibuat sebelumnya. Dengan menggunakan refereceNo atau partnerReferenceNo yang terkait dengan disbursement tersebut, Merchant dapat memeriksa apakah proses disbursement telah berhasil, sedang diproses, atau mengalami kendala. Layanan ini membantu Merchant memantau status terkini dari setiap transaksi transfer dana yang dilakukan ke rekening bank tujuan.

  • Method: POST
  • Type:application/json
  • Path: /disbursement/v1.0/transfer/status
  • Service Code: 36

Header Check Disbursement

ParameterTipeMandatoriKeteranganContoh
Content-TypestringString yang menunjukkan jenis media.application/json
X-TIMESTAMPstringISO-86012022-09-16T13:00:00+07:00
X-SIGNATUREstringLihat Disini bagian symmetric signature
X-PARTNER-IDstringDisbursement secret key dari dashboard Doitpay01JP4QP4R908GVK9X5KN7YCJEG
X-EXTERNAL-IDstring(64)Request ID yang unik.
CHANNEL-IDstringNilai seharusnya DOITPAY
AuthorizationstringOtentikasi dengan bearer token lihat disini pada bagian access tokenBearer ZGMyNDA3NWQtNmM4Ny00NGNiLTQ2NTAtMDhkYWMxNTAzNzY0

Request Body Check Disbursement

ParameterTypeMandatoriKeteranganContoh
originalPartnerReferenceNostringreference number yang merchant kirim ke doitpay1234
originalReferenceNostringreference number yang doitpay kembalikan kepada merchant1234567890
serviceCodestringNilai seharusnya 18
transactionDatestringwaktu disbursement yang merchant kirim0001
additionalInfoobject
amountobject

Example Check Disbursement

{
"originalPartnerReferenceNo": "test_fee_9",
"serviceCode": "18",
"transactionDate": "2019-07-03T12:08:56-07:00",
"amount": {
"value": "12345678",
"currency": "IDR"
}
}

Response Body Check Disbursement

ParameterTypeKeterangan
responseCodestringKode response, lihat bagian daftar Response Code di bawah
responseMessagestringPenjelasan terhadap response code yang diterima
beneficiaryAccountNostring
beneficiaryBankCodestring
latestTransactionStatusstringstatus saat ini. 00 = success, 03 = pending, 06 = failed
transactionStatusDescstringdeskripsi dari status
originalPartnerReferenceNostringreference number yang merchant kirim ke sistem doitpay
originalReferenceNostringreference number dari doitpay
currencystringmata uang yang digunakan pada disbursement
amountobjectlihat tabel di bawah
sourceAccountNostringID dari balance yang digunakan untuk disbursement

amount Check Disbursement

ParameterTypeMandatoriKeteranganContoh
valuestringJumlah yang ingin ditransfer dengan format ISO 421710000.00
currencystringcurrency of transferIDR

additionalInfo Check Disbursement

KeyValueDescriptionContoh
deviceIdstring123456567
channelstringtrx_123
{
"additionalInfo": {},
"amount": {
"value": "10000.00",
"currency": "IDR"
},
"beneficiaryAccountNo": "7647654564346543",
"beneficiaryBankCode": "002",
"currency": "",
"latestTransactionStatus": "03",
"transactionStatusDesc": "PROCESSING",
"originalPartnerReferenceNo": "aasdawfrdfgsadsdf",
"originalReferenceNo": "01JBXP0F7J662E5RTCNJM76QCW",
"referenceNumber": "",
"serviceCode": "18",
"sourceAccountNo": "",
"transactionId": "",
"responseCode": "2003600",
"responseMessage": "Request has been processed successfully"
}

Balance Inquiry

API Balance Inquiry adalah layanan API yang memungkinkan Merchant untuk memeriksa saldo terbaru pada akun mereka. Dengan memanfaatkan layanan ini, Merchant dapat memantau ketersediaan dana sebelum melakukan transaksi lebih lanjut, seperti disbursement atau pembayaran lainnya. API ini memberikan respons berupa jumlah saldo yang tersedia saat ini, sehingga Merchant dapat memastikan dana yang cukup untuk setiap transaksi.

  • Method: POST
  • Type:application/json
  • Path: /disbursement/v1.0/balance-inquiry
  • Service Code: 11

Header Balance Inquiry

ParameterTipeMandatoriKeteranganContoh
Content-TypestringString yang menunjukkan jenis media.application/json
X-TIMESTAMPstringISO-86012022-09-16T13:00:00+07:00
X-SIGNATUREstringLihat Disini bagian symmetric signature
X-PARTNER-IDstringDisbursement secret key dari dashboard Doitpay01JP4QP4R908GVK9X5KN7YCJEG
X-EXTERNAL-IDstring(64)Request ID yang unik.
CHANNEL-IDstringNilai seharusnya DOITPAY
AuthorizationstringOtentikasi dengan bearer token lihat disini pada bagian access tokenBearer ZGMyNDA3NWQtNmM4Ny00NGNiLTQ2NTAtMDhkYWMxNTAzNzY0

Request Body Balance Inquiry

ParameterTypeMandatoriKeteranganContoh
accountNostringID dari balance business (dapat diambil di dashboard, digunakan sebagai sourceAccountNo pada disbursement)123456
{
"accountNo": "01J7MQEXE226T92AVDKQ44WQFG"
}

Response Balance Inquiry

ParameterTypeKeteranganContoh
responseCodestringKode response, lihat bagian daftar Response Code di bawah2001100
responseMessagestringPenjelasan terhadap response code yang diterimaSuccess
accountInfoarray of objectlihat table di bawah

accountInfo Balance Inquiry

ParameterTypeKeteranganContoh
availableBalanceobjectobject dari balance, lihat table di bawah

availableBalance Balance Inquiry

ParameterTypeKeteranganContoh
currencystringcurrency dari balanceIDR
valuestringISO4217 dari balance yang tersedia untuk melakukan disbursement100000.00
{
"accountInfo": [
{
"availableBalance": {
"currency": "IDR",
"value": "99960000.00"
}
}
],
"responseCode": "2001100",
"responseMessage": "Request has been processed successfully"
}

Single disbursement notify (callback)

API Single Disbursement Notify (Callback) adalah layanan notifikasi yang secara otomatis memberi tahu Merchant tentang perubahan status pada transaksi disbursement yang sebelumnya dibuat. Ketika status disbursement berubah (misalnya berhasil atau gagal), sistem akan mengirimkan pemberitahuan ke URL callback yang telah disediakan oleh Merchant. Notifikasi ini mencakup informasi status terbaru dan waktu disbursement berhasil sehingga Merchant dapat memantau dan memperbarui status transaksi secara real-time tanpa perlu melakukan pengecekan manual.

  • Method: POST
  • Type:application/json
  • URL: https://yourdomain.com/v1.0/transfer-interbank/notify
  • Service Code: 18

Symmetric Signature Disbursement Notification

Saat menerima notifikasi disbursement, API anda perlu melakukan validasi signature untuk menjamin proses keamanan data. Berikut penjelasannya:

Formula :

stringToSign = HttpMethod + “:” + Endpoint + “:” + DisbursementSecretKey + “:” +
LowerCase(HexEncode(SHA-256(Minify(RequestBody)))) + “:” + Timestamp
hash = HMAC_SHA512(stringToSign, secretKey)
signature = Base64(hash)

Buatlah sebuah variabel stringToSign.

  1. HttpMethod adalah string nama metode yang sedang digunakan. Bisa saja POST, PUT, atau DELETE.

  2. Endpoint adalah relative URL atau full path URL yang mana tanpa host atau domainnya.

  3. DisbursementSecretKey adalah nilai token yang Anda dapatkan dari Disbursement Secret Key.

  4. RequestBody adalah payload yang ingin Anda kirim.

  5. Timestamp menggunakan ISO-8601.

  6. secretKey adalah Disbursement Secret Key.

Hash stringToSign menggunakan HMAC_SHA512 cryptographic dan secret key (nama lain saat ini adalah API key). Kemudian, encode dengan Base 64.

Masukkan nilainya ke X-SIGNATURE.

Header Single disbursement

ParameterTipeMandatoriKeteranganContoh
X-TIMESTAMPstringISO-86012022-09-16T13:00:00+07:00
X-SIGNATUREstringLihat Symmetric Signature Disbursement Notification
X-EXTERNAL-IDstring(64)Request ID yang unik.
CHANNEL-IDstringChannel yang digunakanDOITPAY

Request Body Single disbursement

ParameterTipeKeteranganContoh
responseCodestringKode response, lihat bagian daftar Response Code di bawah
responseMessagestringPenjelasan terhadap response code yang diterima
originalReferenceNostringreference number dari doitpay
originalPartnerReferenceNostringreference number yang merchant kirim ke system doitpay
beneficiaryAccountNostringnomor rekening tujuan disbursement
beneficiaryBankCodestringkode bank tujuan disbursement
currencystringmata uang disbursement
latestTransactionStatusstringstatus saat ini- 00 = success - 03 = pending - 06 = failed
transactionStatusDescstringdeskripsi dari status
sourceAccountNostringID dari balance business (dapat diambil di dashboard)
amountobject

amount Single disbursement

ParameterTipeKeteranganContoh
valuestringISO4217 dengan 2 desimal. Menunjukkan nominal pembayaran.1000.00
currencystringKode mata uang, hanya menerima IDR.IDR

additionalInfo Single disbursement

{
"responseCode": "2021800",
"responseMessage": "Success",
"originalReferenceNo": "123456789",
"originalPartnerReferenceNo": "987654321",
"amount": {
"value": "10000.00",
"currency": "IDR"
},
"beneficiaryAccountNo": "9876543210",
"beneficiaryBankCode": "BANK123",
"currency": "IDR",
"latestTransactionStatus": "00",
"transactionStatusDesc": "Success",
"sourceAccountNo": "12345678"
}

Response Body Single disbursement

ParameterTipeKeteranganContoh
responseCodestringKode response, lihat bagian daftar Response Code di bawah
responseMessagestringPenjelasan terhadap response code yang diterima

Response Code Single disbursement

KodeKeterangan
200XX00Request success di mana XX adalah service code disbursement API
202XX00Request diterima dan diproses di mana XX adalah service code disbursement API
4091801Conflict partner reference no saat membuat disbursement
400XX01Invalid field format. Dimana XX adalah service code untuk setiap API Disbursement
400XX02Missing mandatory field. Dimana XX adalah service code untuk setiap API Disbursement.
401XX00Unauthorized Signature. Dimana XX adalah service code untuk setiap API Disbursement.
401XX01Invalid Access Token. Dimana XX adalah service code untuk setiap API Disbursement.
500XX00Terjadi kesalahan sistem di doitpay, mohon dibantu menghubungi doitpay untuk mendapatkan detail. Dimana XX adalah service code untuk setiap API Disbursement