Payments8 min read

Set Up DOKU QRIS: Client ID, Merchant ID, Shared Key, and Webhook

A practical guide for collecting DOKU Production credentials, setting the Notification URL, and avoiding QRIS signature errors in OurBooth.

What you need before enabling QRIS

OurBooth generates Dynamic QRIS through DOKU SNAP BI. To create QRIS and receive paid status quickly on Android, prepare a complete Production credential set from DOKU Back Office.

  • Client ID from QRIS Credential Settings or API Keys.
  • Active Secret Key from API Keys, not the API Key field.
  • Merchant ID/Credential mall ID from QRIS Credential Settings.
  • Terminal ID from QR Payment or QRIS Credential Settings, commonly A01.
  • Five-digit QRIS merchant postal code.
  • QRIS Fee Type, use 1 unless DOKU gives a different value.
  • Shared Key from Settings > API Key for webhook verification.
  • OurBooth Notification URL configured in Settings > QR Payment > Edit.
  • RSA Public Key from OurBooth uploaded to Edit Merchant Public Key in DOKU.

Do not mix Sandbox and Production

Every value in the OurBooth form must come from DOKU Production. Mixing Production Client ID with Sandbox Secret Key can produce signature mismatch or unauthorized errors.

Find Client ID, Merchant ID, MPAN, and NMID

  1. 1Log in to DOKU Back Office Production.
  2. 2Open Settings > Checkout Appearance.
  3. 3Find QRIS Credential Settings.
  4. 4Copy the Client ID shown there, usually starting with BRN- or MCH-.
  5. 5Copy the numeric Merchant ID. Do not fill Merchant ID with the Client ID.
  6. 6Copy MPAN and NMID if they appear on the page or QRIS certificate. These are useful for merchant audit and matching.

Find the Active Secret Key

  1. 1Open Settings > API Keys.
  2. 2Find the Active Secret Key box.
  3. 3Click Reveal Key, then copy it into OurBooth.
  4. 4Ignore API Key and Public Key when filling Active Secret Key.

Find the Shared Key

OurBooth uses the Shared Key to verify that payment webhooks really come from DOKU. In some DOKU Back Office layouts, it appears under Settings > API Key in the merchant/public DOKU section. Copy the Shared Key exactly; do not replace it with Public Key or API Key.

Set the Notification URL

The Notification URL lets DOKU send payment status to OurBooth immediately after the customer pays. Without it, QRIS may still be generated, but Android has to wait for polling or inquiry fallback, which feels slower.

  1. 1Copy the Notification URL from OurBooth tenant settings.
  2. 2In DOKU Back Office, open Settings > QR Payment > Edit.
  3. 3Paste the URL into Notification URL.
  4. 4Save the change in DOKU, then run a small QRIS test to confirm paid status arrives.

OurBooth Notification URL

Use https://ourbooth-upload-signer.edison-thomas52.workers.dev/v1/webhooks/doku. The URL must be public HTTPS, not localhost, VPN-only, or protected by login.

Upload the Public Key generated by OurBooth

When you click Save Credentials in OurBooth, the system creates an RSA keypair. The Private Key is stored encrypted, while the Public Key must be copied to DOKU.

  1. 1Copy the Public Key shown after saving credentials.
  2. 2Open DOKU Back Office Production > Settings > API Keys.
  3. 3Click Edit Merchant Public Key.
  4. 4Paste the full Public Key, including BEGIN PUBLIC KEY and END PUBLIC KEY lines.
  5. 5Save, then run a connection test or test QRIS from OurBooth.
OurBooth fieldDOKU locationNotes
Client IDSettings > Checkout Appearance > QRIS Credential Settings or API KeysUsually BRN- or MCH-
Active Secret KeySettings > API KeysClick Reveal Key. Do not use API Key.
Merchant IDQRIS Credential SettingsNumeric merchant/credential mall ID.
Terminal IDQR Payment or QRIS Credential SettingsUsually A01.
Postal CodeQR Payment or merchant outlet dataMust be 5 digits.
Fee TypeQR Payment or DOKU instructionUsually 1.
Shared KeySettings > API Key, merchant/public DOKU sectionUsed for webhook verification.
MPAN/NMIDQRIS Credential Settings or QRIS certificateUsed for merchant audit/matching.

Ready to finish setup?

Open tenant settings, enable QRIS Gateway, save DOKU credentials, set the Notification URL in DOKU, then run a test QRIS before your event.

Open Tenant Settings