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 |
urlParam | array of object | ✓ | Konfigurasi URL | Lihat urlParam |
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 |
urlParam 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 false | false |
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 | [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
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
.
-
HttpMethod
adalah string nama metode yang sedang digunakan. Bisa sajaPOST
,PUT
, atauDELETE
. -
Endpoint
adalah relative URL atau full path URL yang mana tanpa host atau domainnya. -
MerchantRef
adalah nilai token yang Anda dapatkan dari Merchant Reference. -
RequestBody
adalah payload yang ingin Anda kirim. -
Timestamp
menggunakan ISO-8601. -
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
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 |