Skip to main content

Verification

Only For Merchant with Full FDS Services & Chargeback Insurance.

When to use Verification

If the merchant wants to use the chargeback insurance feature, and the transaction has not received an auto-approval response from Doku's Fraud Detection System (Risk Engine), the transaction will be manually verified by the EDU (Early Detection Unit) team. the transaction wants to be approved / rejected, this process will trigger the notification above.


How to use Verification

Once the EDU Team finish verify the transaction, we will send the notification to your defined EDU Notification URL, please inform your EDU Notification URL to your technical account manager. Here is the sample notification that we will send to merchant's server:

TypeValue
HTTP MethodPOST

Here is the sample of notification request header:

Client-Id: MCH-0001-10791114622547
Request-Id: 479b663f-5c9d-400d-8e80-3e548a8f7639
Request-Timestamp: 2020-08-11T08:45:42Z
Signature: HMACSHA256=vl9DBTX5KhEiXmnpOD0TSm8PYQknuHPdyHSTSc3W6Ps=
Request Header Explanation
ParameterDescription
Client-IdClient ID you retrieved from DOKU Back Office
Request-IdUnique random string (max 128 characters) that generated by DOKU to make sure no duplicate notification
Request-TimestampTime Stamp request on UTC time in ISO8601 format
SignatureVerify the Signature to ensure the Notification Authenticity coming from DOKU. Please refer to this section

Here is the sample of notification request body:

{
"order": {
"invoice_number": "INV-20201109-002",
"amount": 500000
},
"verification": {
"status": "APPROVE",
"date": "2020-08-11T08:45:42Z",
"original_request_id": "b266c265-3d61-4708-9860-c0d5b9a98f8c"
}
}
EDU Notification Explanation
ParameterTypeMandatoryDescription
order.invoice_numberstringMandatoryThe invoice number that sent when initate the payment
order.amountnumberMandatoryThe amount of the transaction
verification.statusstringMandatoryThe verification status to be use to update the status on merchant side.
Possible value: APPROVE, REJECT
verification.datestringMandatoryThe date when the verification is completed by the customer in ISO 8601 format (UTC + 0)
verification.original_request_idstringMandatoryThe request ID that sent when initiate the payment