Skip to main content

Ewallet

Ewallet Channels

NameChannel Code
OVOOVO
DANADANA

Create Ewallet Payment

API Create Ewallet Payment adalah layanan API yang dapat digunakan oleh Merchant untuk menerima pembayaran melalui channel Ewallet dengan fitur Direct Debit Host to Host. Merchant nantinya akan menerima link untuk diakses pelanggan menggunakan aplikasi penyelenggara.

  • Method: POST
  • Type:application/json
  • Path: /api/v1.0/debit/payment-host-to-host
  • Service Code: 54

Header Ewallet Payment

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

Request Body Ewallet Payment

ParameterTipeMandatoriKeteranganContoh
partnerReferenceNostringNomor referensi unik dari partnerORDER123456789
amountobjectDetail jumlah transaksiLihat amount
urlParamarray of objectKonfigurasi URLLihat urlParam
validUpTostringWaktu kedaluwarsa transaksi2024-12-09T23:59:59+07:00
pointOfInitiationstringAwal mula transaksi dimulaiMobile App
additionalInfoobjectInformasi tambahan transaksiLihat additionalinfo

amount request

ParameterTipeMandatoriKeteranganContoh
valuestringISO4217 dengan 2 desimal100000.00
currencystringKode mata uang, hanya menerima IDR.IDR

urlParam request

ParameterTipeMandatoriKeteranganContoh
urlstringURL pengalihanhttps://merchant.com/notify
typestringTipe URL; PAY_NOTIFY dan PAY_RETURNPAY_NOTIFY
isDeeplinkstringPenanda deeplink, saat ini hanya bisa falsefalse

additionalInfo request

ParameterTipeMandatoriKeteranganContoh
channelstringKanal transaksiDANA
customerPhonestringNomor telepon pelanggan081234567890
customerNamestringNama lengkap pelangganJohn Doe
customerEmailstringAlamat email pelanggan[email protected]

Example Ewallet Payment

{
"partnerReferenceNo": "ORDER123456789",
"amount": {
"value": "100000.00",
"currency": "IDR"
},
"urlParam": [
{
"url": "https://merchant.com/return",
"type": "PAY_RETURN",
"isDeeplink": false
},
{
"url": "https://merchant.com/notify",
"type": "PAY_NOTIFY",
"isDeeplink": false
}
],
"validUpTo": "2024-12-09T23:59:59+07:00",
"pointOfInitiation": "STATIC",
"additionalInfo": {
"channel": "DANA",
"customerPhone": "081234567890",
"customerName": "John Doe",
"customerEmail": "[email protected]"
}
}

Response Ewallet Payment

ParameterTipeKeteranganContoh
responseCodestringKode respons API2005500
responseMessagestringDeskripsi responsSuccessful
partnerReferenceNostringNomor referensi asliORDER123456789
appRedirectUrlstringURL pengalihan aplikasi mobile
webRedirectUrlstringURL pengalihan webhttps://payment.ewallet.com/pay?token=xyz789
additionalInfoobjectInformasi tambahan responsLihat additionalInfo

amount response

ParameterTipeMandatoriKeteranganContoh
valuestringISO4217 dengan 2 desimal100000.00
currencystringKode mata uang, hanya menerima IDR.IDR

additionalInfo response

ParameterTipeKeteranganContoh
originalReferenceNostringNomor referensi e-walletEW123456789
expiredTimestringWaktu kedaluwarsa transaksi2024-12-09T23:59:59+07:00
channelCodestringKode kanal e-walletDANA

Check Payment Status Ewallet

API Check Payment Status Ewallet adalah layanan API yang dapat digunakan oleh Merchant untuk mengetahui status pembayaran dari Ewallet menggunakan ID transaksi.

  • Method: POST
  • Type:application/json
  • Path: /api/v1.0/debit/status
  • Service Code: 55

Header Check Payment

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

Request Body Check Payment

ParameterTipeMandatoriKeteranganContoh
originalPartnerReferenceNostringReferensi transaksi asliORDER12345678 9
additionalInfoobjectInformasi tambahan queryLihat additionalInfo

additionalInfo Check Payment

ParameterTipeKeteranganContoh
originalReferenceNostringNomor referensi e-walletEW123456789
channelCodestringKode kanal e-walletDANA

Example Check Payment

{
"originalPartnerReferenceNo": "ORDER123456789",
"additionalInfo": {
"originalReferenceNo": "EW123456789",
"channelCode": "DANA"
}
}

Response Body Check Payment

ParameterTipeKeteranganContoh
responseCodestringKode respons API2005500
responseMessagestringDeskripsi responsSuccessful
originalPartnerReferenceNostringReferensi transaksi asliORDER123456789
serviceCodestringKode tipe layanan untuk service yang digunakan, untuk ewallet diisi 5454
latestTransactionStatusstringStatus transaksi terkini00
• 00: Success
• 01: Initiated
• 02: Paying
• 03: Pending
• 04: Refunded
• 05: Canceled
• 06: Failed
• 07: Not found
additionalInfoobjectInformasi tambahan responsLihat additionalInfo

amount Response Body Check Payment

ParameterTipeKeteranganContoh
valuestringISO4217 dengan 2 desimal1000.00
currencystringKode mata uang, hanya menerima IDR.IDR

additionalInfo Response Body Check Payment

ParameterTipeKeteranganContoh
originalReferenceNostringNomor referensi e-walletEW123456789

Ewallet Payment Notification (callback)

  • Method: POST
  • Type:application/json
  • Path: https://yourdomain.com/v1.0/debit/notify
  • Service Code: 56

Symmetric Signature Payment Notification

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

Formula :

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

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. MerchantRef adalah nilai token yang Anda dapatkan dari Merchant Reference.

  4. RequestBody adalah payload yang ingin Anda kirim.

  5. Timestamp menggunakan ISO-8601.

  6. secretKey adalah Merchant Reference.

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 Payment Notification

ParameterTipeMandatoriKeteranganContoh
X-TIMESTAMPstringISO-86012022-09-16T13:00:00+07:00
X-SIGNATUREstringLihat Symmetric Signature Payment Notification
X-PARTNER-IDstringMerchant Ref dari dashboard Doitpay01JP4QP4R908GVK9X5KN7YCJEG
X-EXTERNAL-IDstring(64)Request ID yang unik.
CHANNEL-IDstring

Request Body Payment Notification

ParameterTipeMandatoriKeteranganContoh
originalPartnerReferenceNostringReferensi transaksi asliORDER123456789
originalReferenceNostringNomor referensi e-walletEW123456789
latestTransactionStatusstringStatus akhir transaksi00
• 00: Success
• 01: Initiated
• 02: Paying
• 03: Pending
• 04: Refunded
• 05: Canceled
• 06: Failed
• 07: Not found
amountobjectDetail jumlah transaksiLihat amount
additionalInfoobjectInformasi tambahan notifikasiLihat additionalInfo

amount Request Body Payment Notification

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

additionalInfo Request Body Payment Notification

ParameterTipeKeteranganContoh
channelCodestringKode kanal e-walletDANA

Response Body

ParameterTipeKeteranganContoh
responseCodestringKode response, lihat bagian daftar Response Code di bawah2005600
responseMessagestringPenjelasan terhadap response code yang diterimaSuccessful

Response Code Payment Notification

KodeKeterangan
200XX00Berhasil membuat request. Dimana XX adalah service code untuk setiap API Ewallet.
409XX00Conflict external ID saat membuat ewallet. Dimana XX adalah service code untuk setiap API Ewallet.
400XX01Invalid field format. Dimana XX adalah service code untuk setiap API Ewallet.
400XX02Missing mandatory field. Dimana XX adalah service code untuk setiap API Ewallet.
401XX00Unauthorized Signature. Dimana XX adalah service code untuk setiap API Ewallet.
401XX01Invalid Access Token. Dimana XX adalah service code untuk setiap API Ewallet.
500XX00Terjadi kesalahan sistem di doitpay, mohon dibantu menghubungi doitpay untuk mendapatkan detail. Dimana XX adalah service code untuk setiap API Ewallet