Before validating Signature, merchant need to prepare all the component required.Set Client-Id, Request-Id, Response-Timestamp.Use the Client-Id, Request-Id, Response-Timestamp that is placed on the Response Header.Set Request-TargetThe Request-Target is depending on who is sending the request:
1.
When merchant hits DOKU endpoints: The Request-Target is the path of the DOKU API that merchant hits.
After merchant send request to DOKU and generate signature in request header, DOKU will send response and generate signature in response header. Then merchant can verify this response is coming from DOKU by Signature.
1.
Arrange the signature components to one component and its value per line by adding escape character. Don't add at the end of the string. Sample of the raw format:
This is how merchant see it:
2.
Calculate HMAC-SHA256 base64 from all the components above using the Secret Key from DOKU Back Office
3.
Put encoded value and prepend HMACSHA256= to the Signature. Sample:
INFO!To make sure every response API from DOKU, just verify in Signature that you get from Response Header!