Ewallet
Ewallet Channels
| Name | Channel Code |
|---|---|
| OVO | OVO |
| DANA | DANA |
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
| Parameter | Tipe | Mandatori | Keterangan | Contoh |
|---|---|---|---|---|
| Content-Type | string | ✓ | string yang menunjukkan jenis media. | application/json |
| X-TIMESTAMP | string | ✓ | ISO-8601 | 2022-09-16T13:00:00+07:00 |
| X-SIGNATURE | string | ✓ | Lihat bagian symmetric signature | |
| X-PARTNER-ID | string | ✓ | Merchant Ref dari dashboard Doitpay | 01JP4QP4R908GVK9X5KN7YCJEG |
| X-EXTERNAL-ID | string(64) | ✓ | Request ID yang unik. | |
| CHANNEL-ID | string | ✓ | Nilai seharusnya DOITPAY | |
| Authorization | string | ✓ | Otentikasi dengan bearer token,Lihat pada bagian access token | Bearer ZGMyNDA3NWQtNmM4Ny00NGNiLTQ2NTAtMDhkYWMxNTAzNzY0 |
Request Body Ewallet Payment
| Parameter | Tipe | Mandatori | Keterangan | Contoh |
|---|---|---|---|---|
| partnerReferenceNo | string | ✓ | Nomor referensi unik dari partner | ORDER123456789 |
| amount | object | ✓ | Detail jumlah transaksi | Lihat amount |
| urlParams | array of object | ✓ | Konfigurasi URL | Lihat urlParams |
| validUpTo | string | ✓ | Waktu kedaluwarsa transaksi | 2024-12-09T23:59:59+07:00 |
| pointOfInitiation | string | ✓ | Awal mula transaksi dimulai | Mobile App |
| additionalInfo | object | ✓ | Informasi tambahan transaksi | Lihat additionalinfo |
amount request
| Parameter | Tipe | Mandatori | Keterangan | Contoh |
|---|---|---|---|---|
| value | string | ✓ | ISO4217 dengan 2 desimal | 100000.00 |
| currency | string | ✓ | Kode mata uang, hanya menerima IDR. | IDR |
urlParams request
| Parameter | Tipe | Mandatori | Keterangan | Contoh |
|---|---|---|---|---|
| url | string | ✓ | URL pengalihan | https://merchant.com/notify |
| type | string | ✓ | Tipe URL; PAY_NOTIFY dan PAY_RETURN | PAY_NOTIFY |
| isDeeplink | string | ✓ | Penanda deeplink, saat ini hanya bisa N | N |
additionalInfo request
| Parameter | Tipe | Mandatori | Keterangan | Contoh |
|---|---|---|---|---|
| channel | string | ✓ | Kanal transaksi | DANA |
| customerPhone | string | ✓ | Nomor telepon pelanggan | 081234567890 |
| customerName | string | ✓ | Nama lengkap pelanggan | John Doe |
| customerEmail | string | ✓ | Alamat email pelanggan | john.doe@example.com |
Example Ewallet Payment
{
"partnerReferenceNo": "ORDER123456789",
"amount": {
"value": "100000.00",
"currency": "IDR"
},
"urlParams": [
{
"url": "https://merchant.com/return",
"type": "PAY_RETURN",
"isDeeplink": "N"
},
{
"url": "https://merchant.com/notify",
"type": "PAY_NOTIFY",
"isDeeplink": "N"
}
],
"validUpTo": "2024-12-09T23:59:59+07:00",
"pointOfInitiation": "STATIC",
"additionalInfo": {
"channel": "DANA",
"customerPhone": "081234567890",
"customerName": "John Doe",
"customerEmail": "john.doe@example.com"
}
}
Response Ewallet Payment
| Parameter | Tipe | Keterangan | Contoh |
|---|---|---|---|
| responseCode | string | Kode respons API | 2005500 |
| responseMessage | string | Deskripsi respons | Successful |
| partnerReferenceNo | string | Nomor referensi asli | ORDER123456789 |
| appRedirectUrl | string | URL pengalihan aplikasi mobile | |
| webRedirectUrl | string | URL pengalihan web | https://payment.ewallet.com/pay?token=xyz789 |
| additionalInfo | object | Informasi tambahan respons | Lihat additionalInfo |
amount response
| Parameter | Tipe | Mandatori | Keterangan | Contoh |
|---|---|---|---|---|
| value | string | ✓ | ISO4217 dengan 2 desimal | 100000.00 |
| currency | string | ✓ | Kode mata uang, hanya menerima IDR. | IDR |
additionalInfo response
| Parameter | Tipe | Keterangan | Contoh |
|---|---|---|---|
| originalReferenceNo | string | Nomor referensi e-wallet | EW123456789 |
| expiredTime | string | Waktu kedaluwarsa transaksi | 2024-12-09T23:59:59+07:00 |
| channelCode | string | Kode kanal e-wallet | DANA |
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
| Parameter | Tipe | Mandatori | Keterangan | Contoh |
|---|---|---|---|---|
| Content-Type | string | ✓ | string yang menunjukkan jenis media. | application/json |
| X-TIMESTAMP | string | ✓ | ISO-8601 | 2022-09-16T13:00:00+07:00 |
| X-SIGNATURE | string | ✓ | Lihat bagian symmetric signature | |
| X-PARTNER-ID | string | ✓ | Merchant Ref dari dashboard Doitpay | 01JP4QP4R908GVK9X5KN7YCJEG |
| X-EXTERNAL-ID | string(64) | ✓ | Request ID yang unik. | |
| CHANNEL-ID | string | ✓ | Nilai seharusnya DOITPAY | |
| Authorization | string | ✓ | Otentikasi dengan bearer token ,Lihat pada bagian access token | Bearer ZGMyNDA3NWQtNmM4Ny00NGNiLTQ2NTAtMDhkYWMxNTAzNzY0 |
Request Body Check Payment
| Parameter | Tipe | Mandatori | Keterangan | Contoh |
|---|---|---|---|---|
| originalPartnerReferenceNo | string | ✓ | Referensi transaksi asli | ORDER12345678 9 |
| additionalInfo | object | ✓ | Informasi tambahan query | Lihat additionalInfo |
additionalInfo Check Payment
| Parameter | Tipe | Keterangan | Contoh |
|---|---|---|---|
| originalReferenceNo | string | Nomor referensi e-wallet | EW123456789 |
| channelCode | string | Kode kanal e-wallet | DANA |
Example Check Payment
{
"originalPartnerReferenceNo": "ORDER123456789",
"additionalInfo": {
"originalReferenceNo": "EW123456789",
"channelCode": "DANA"
}
}
Response Body Check Payment
| Parameter | Tipe | Keterangan | Contoh |
|---|---|---|---|
| responseCode | string | Kode respons API | 2005500 |
| responseMessage | string | Deskripsi respons | Successful |
| originalPartnerReferenceNo | string | Referensi transaksi asli | ORDER123456789 |
| serviceCode | string | Kode tipe layanan untuk service yang digunakan, untuk ewallet diisi 54 | 54 |
| latestTransactionStatus | string | Status transaksi terkini | 00 |
| • 00: Success | |||
| • 01: Initiated | |||
| • 02: Paying | |||
| • 03: Pending | |||
| • 04: Refunded | |||
| • 05: Canceled | |||
| • 06: Failed | |||
| • 07: Not found | |||
| additionalInfo | object | Informasi tambahan respons | Lihat additionalInfo |
amount Response Body Check Payment
| Parameter | Tipe | Keterangan | Contoh |
|---|---|---|---|
| value | string | ISO4217 dengan 2 desimal | 1000.00 |
| currency | string | Kode mata uang, hanya menerima IDR. | IDR |
additionalInfo Response Body Check Payment
| Parameter | Tipe | Keterangan | Contoh |
|---|---|---|---|
| originalReferenceNo | string | Nomor referensi e-wallet | EW123456789 |
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.
-
HttpMethodadalah string nama metode yang sedang digunakan. Bisa sajaPOST,PUT, atauDELETE. -
Endpointadalah relative URL atau full path URL yang mana tanpa host atau domainnya. -
MerchantRefadalah nilai token yang Anda dapatkan dari Merchant Reference. -
RequestBodyadalah payload yang ingin Anda kirim. -
Timestampmenggunakan ISO-8601. -
secretKeyadalah 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
| Parameter | Tipe | Mandatori | Keterangan | Contoh |
|---|---|---|---|---|
| X-TIMESTAMP | string | ✓ | ISO-8601 | 2022-09-16T13:00:00+07:00 |
| X-SIGNATURE | string | ✓ | Lihat Symmetric Signature Payment Notification | |
| X-PARTNER-ID | string | ✓ | Merchant Ref dari dashboard Doitpay | 01JP4QP4R908GVK9X5KN7YCJEG |
| X-EXTERNAL-ID | string(64) | ✓ | Request ID yang unik. | |
| CHANNEL-ID | string | ✓ |
Request Body Payment Notification
| Parameter | Tipe | Mandatori | Keterangan | Contoh |
|---|---|---|---|---|
| originalPartnerReferenceNo | string | ✓ | Referensi transaksi asli | ORDER123456789 |
| originalReferenceNo | string | ✓ | Nomor referensi e-wallet | EW123456789 |
| latestTransactionStatus | string | ✓ | Status akhir transaksi | 00 |
| • 00: Success | ||||
| • 01: Initiated | ||||
| • 02: Paying | ||||
| • 03: Pending | ||||
| • 04: Refunded | ||||
| • 05: Canceled | ||||
| • 06: Failed | ||||
| • 07: Not found | ||||
| amount | object | ✓ | Detail jumlah transaksi | Lihat amount |
| additionalInfo | object | ✓ | Informasi tambahan notifikasi | Lihat additionalInfo |
amount Request Body Payment Notification
| Parameter | Tipe | Keterangan | Contoh |
|---|---|---|---|
| value | string | ISO4217 dengan 2 desimal. Menunjukkan nominal pembayaran. | 1000.00 |
| currency | string | Kode mata uang, hanya menerima IDR. | IDR |
additionalInfo Request Body Payment Notification
| Parameter | Tipe | Keterangan | Contoh |
|---|---|---|---|
| channelCode | string | Kode kanal e-wallet | DANA |
Response Body
| Parameter | Tipe | Keterangan | Contoh |
|---|---|---|---|
| responseCode | string | Kode response, lihat bagian daftar Response Code di bawah | 2005600 |
| responseMessage | string | Penjelasan terhadap response code yang diterima | Successful |
Response Code Payment Notification
| Kode | Keterangan |
|---|---|
| 200XX00 | Berhasil membuat request. Dimana XX adalah service code untuk setiap API Ewallet. |
| 409XX00 | Conflict external ID saat membuat ewallet. Dimana XX adalah service code untuk setiap API Ewallet. |
| 400XX01 | Invalid field format. Dimana XX adalah service code untuk setiap API Ewallet. |
| 400XX02 | Missing mandatory field. Dimana XX adalah service code untuk setiap API Ewallet. |
| 401XX00 | Unauthorized Signature. Dimana XX adalah service code untuk setiap API Ewallet. |
| 401XX01 | Invalid Access Token. Dimana XX adalah service code untuk setiap API Ewallet. |
| 500XX00 | Terjadi kesalahan sistem di doitpay, mohon dibantu menghubungi doitpay untuk mendapatkan detail. Dimana XX adalah service code untuk setiap API Ewallet |