Skip to main content

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

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 Credit Card 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
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 NN

additionalInfo request

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

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": "[email protected]"
}
}

Response Credit Card Payment

ParameterTipeKeteranganContoh
responseCodestringKode respons API2005500
responseMessagestringDeskripsi responsSuccessful
partnerReferenceNostringNomor referensi asliORDER123456789
appRedirectUrlstringURL pengalihan aplikasi mobile
webRedirectUrlstringURL pengalihan webhttps://payment.credit card.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 credit cardEW123456789
expiredTimestringWaktu kedaluwarsa transaksi2024-12-09T23:59:59+07:00
channelCodestringKode kanal credit cardCC

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

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 asliORDER123456789
additionalInfoobjectInformasi tambahan queryLihat additionalInfo

additionalInfo Check Payment

ParameterTipeKeteranganContoh
originalReferenceNostringNomor referensi credit cardEW123456789

Example Check Payment

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

Response Body Check Payment

ParameterTipeKeteranganContoh
responseCodestringKode respons API2005500
responseMessagestringDeskripsi responsSuccessful
originalPartnerReferenceNostringReferensi transaksi asliORDER123456789
serviceCodestringKode tipe layanan untuk service yang digunakan, untuk credit card 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 credit cardEW123456789

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.

  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 credit cardEW123456789
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 credit cardCC

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 Credit Card.
409XX00Conflict external ID saat membuat credit card. Dimana XX adalah service code untuk setiap API Credit Card.
400XX01Invalid field format. Dimana XX adalah service code untuk setiap API Credit Card.
400XX02Missing mandatory field. Dimana XX adalah service code untuk setiap API Credit Card.
401XX00Unauthorized Signature. Dimana XX adalah service code untuk setiap API Credit Card.
401XX01Invalid Access Token. Dimana XX adalah service code untuk setiap API Credit Card.
500XX00Terjadi kesalahan sistem di doitpay, mohon dibantu menghubungi doitpay untuk mendapatkan detail. Dimana XX adalah service code untuk setiap API Credit Card

Change Log

VersionDescriptionChanged byDate
1.0.0Initial DocumentFijar Lazuardy15 January 2025