Credit Card
Create Credit Card Payment
API Create Credit Card Payment adalah layanan API yang dapat digunakan oleh Merchant untuk menerima pembayaran melalui channel Credit Card 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 Credit Card 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 Credit Card 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 |
| 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 N | N |
additionalInfo request
| Parameter | Tipe | Mandatori | Keterangan | Contoh |
|---|---|---|---|---|
| channel | string | ✓ | Kanal transaksi | CC |
| customerPhone | string | ✓ | Nomor telepon pelanggan | 081234567890 |
| customerName | string | ✓ | Nama lengkap pelanggan | John Doe |
| customerEmail | string | ✓ | Alamat email pelanggan | john.doe@example.com |
Example Credit Card 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",
"additionalInfo": {
"channel": "CC",
"customerPhone": "081234567890",
"customerName": "John Doe",
"customerEmail": "john.doe@example.com"
}
}
Response Credit Card 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.credit card.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 credit card | EW123456789 |
| expiredTime | string | Waktu kedaluwarsa transaksi | 2024-12-09T23:59:59+07:00 |
| channelCode | string | Kode kanal credit card | CC |
Check Payment Status Credit Card
API Check Payment Status Credit Card adalah layanan API yang dapat digunakan oleh Merchant untuk mengetahui status pembayaran dari Credit Card 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 | ORDER123456789 |
| additionalInfo | object | ✓ | Informasi tambahan query | Lihat additionalInfo |
additionalInfo Check Payment
| Parameter | Tipe | Keterangan | Contoh |
|---|---|---|---|
| originalReferenceNo | string | Nomor referensi credit card | EW123456789 |
Example Check Payment
{
"originalPartnerReferenceNo": "ORDER123456789",
"additionalInfo": {
"originalReferenceNo": "EW123456789"
}
}
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 credit card 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 credit card | EW123456789 |
Credit Card 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 credit card | 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 credit card | CC |
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 Credit Card. |
| 409XX00 | Conflict external ID saat membuat credit card. Dimana XX adalah service code untuk setiap API Credit Card. |
| 400XX01 | Invalid field format. Dimana XX adalah service code untuk setiap API Credit Card. |
| 400XX02 | Missing mandatory field. Dimana XX adalah service code untuk setiap API Credit Card. |
| 401XX00 | Unauthorized Signature. Dimana XX adalah service code untuk setiap API Credit Card. |
| 401XX01 | Invalid Access Token. Dimana XX adalah service code untuk setiap API Credit Card. |
| 500XX00 | Terjadi kesalahan sistem di doitpay, mohon dibantu menghubungi doitpay untuk mendapatkan detail. Dimana XX adalah service code untuk setiap API Credit Card |
Change Log
| Version | Description | Changed by | Date |
|---|---|---|---|
| 1.0.0 | Initial Document | Fijar Lazuardy | 15 January 2025 |