API Reference
DOKU DocsChangelogDOKU Github
  • Getting Started with DOKU API
    • User Registration
    • Idempotency Request
    • Notification
      • Setup Notification URL
      • HTTP Notification Sample for SNAP
      • HTTP Notification Sample - Non SNAP
      • Best Practice
      • Retry Notification
      • Override Notification URL
    • Signature Component
      • Non-SNAP
        • Signature Component from Request Header
        • Signature Componen from Response Header
        • Signature from API Get Method
        • Sample Code
      • SNAP
        • Symmetric Signature
        • Asymmetric Signature
    • Response Code
      • HTTP Status and Case Code
    • Check Status API
      • Non-SNAP
      • SNAP
    • Retrieve Payment Credential
  • Accept Payment
    • DOKU Checkout
      • Integration Guide
        • Backend Integration
        • Frontend Integration
        • Simulate payment and Notification
      • Supported Payment Methods
      • Status Order
      • Additional Feature
        • Tokenization
        • Promo on DOKU Checkout Page
        • Track Campaign Source on Google Analytics
      • Checkout Settings
    • Direct API
      • Non-SNAP
        • Cards
          • Payment Page Integration Guide
          • Host-To-Host Integration Guide
          • Mastercard Automatic Billing Updater (ABU) Integration Guide
            • Backend Integration
        • e-Wallet
          • Overview
          • DOKU e-Wallet
          • OVO Push Payment
          • ShopeePay
          • LinkAja
        • Paylater
          • Akulaku
          • Kredivo
          • Indodana
        • Digital Banking
          • Jenius Pay
        • Convenience Store
          • Alfa Group
          • Indomaret
      • SNAP
        • Integration Guide
          • Get Token API
            • B2B
            • B2B2C
          • Virtual Account
            • CIMB Virtual Account
            • BSI Virtual Account
            • BCA Virtual Account
            • BNC Virtual Account
            • BNI Virtual Account
            • Mandiri Virtual Account
            • BRI Virtual Account
            • BTN Virtual Account
            • Permata Virtual Account
            • Danamon Virtual Account
            • BSS Virtual Account
          • E-Wallet
            • DOKU Wallet
            • DANA
            • OVO
            • ShopeePay
          • Direct Debit
            • Allo Bank Direct Debit
            • BRI Direct Debit
            • CIMB Direct Debit
            • Mandiri Direct Debit
          • Kartu Kredit Indonesia Cepat Secure(KKI CPTS)
            • Host to Host Integration
          • QRIS
    • Finance and Settlement
      • Split Settlement
      • Custom Settlement Report
      • Hold and Release Settlement
      • Bulk Registration Bank
    • Test on DOKU Demo Site
    • DOKU Payment Simulator
  • Developer Kit
    • Postman Collection
    • Libraries and SDK
  • Wallet As A Service
    • Sub Account
  • Partnership
    • Partner API
      • Check Requirements API
      • Generate Token API
      • Upload File API
      • Business Registration API
      • Create Business Lite API
      • Get Business Data API
  • Payout
    • Kirim DOKU
  • FLEXIBILL
    • Account Billing
      • Batch Upload
    • DOKU Biller
      • Response Code
      • Samples
  • PAYCHAT API
    • Send WhatsApp Message
  • Archive
    • Non-SNAP
      • Tokenization V1
      • e-Wallet
        • OVO Recurring
        • OVO Open API
    • SNAP
      • Virtual Account
        • BCA v1.0
        • BRI v1.0
        • BNI v1.0
        • BNC v1.0
        • Mandiri v1.0
        • BTN v1.0
        • Permata v1.0
        • Danamon Virtual Account
      • e-Wallet
        • OVO Open API
        • DANA
        • ShopeePay
      • Direct Debit
        • CIMB Direct Debit
        • BRI Direct Debit
        • Allobank
Powered by GitBook

DOKU API

  • Legacy Documentation
On this page
  • Virtual Account
  • Credit Card
  • Convenience Store
  • E-wallet
  • Direct Debit
  • Paylater

Was this helpful?

  1. Getting Started with DOKU API
  2. Notification

HTTP Notification Sample - Non SNAP

HTTP Notification Sample for Payment Method Non SNAP

After setting up your Notification URL, we will send the notification for certain events such as when the Virtual Account has been paid by your customers, Credit Card has been charged, Credit Card failed, and etc.

Once the customers finish the payment, DOKU will send the notification to your defined Notification URL.

Virtual Account

Here is the sample notification that DOKU will send to merchant's server :

Type
Value

HTTP Method

POST

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=
Parameter
Description

Client-Id

Client ID you retrieved from DOKU Back Office

Request-Id

Unique random string (max 128 characters) that generated by DOKU to make sure no duplicate notification

Request-Timestamp

Time Stamp request on UTC time in ISO8601 format

Signature

Here is the sample notification request body :

{
    "service": {
        "id": "VIRTUAL_ACCOUNT"
    },
    "acquirer": {
        "id": "BCA"
    },
    "channel": {
        "id": "VIRTUAL_ACCOUNT_BCA"
    },
    "transaction": {
        "status": "SUCCESS",
        "date": "2021-01-27T03:24:23Z",
        "original_request_id": "15022aab-444f-4b04-afa8-ddfce89432ec"
    },
    "order": {
        "invoice_number": "INV-20210124-0001",
        "amount": 150000
    },
    "virtual_account_info": {
        "virtual_account_number": "1900600000000046"
    },
    "virtual_account_payment": {
        "identifer": [
            {
                "name": "REQUEST_ID",
                "value": "7892931"
            },
            {
                "name": "REFERENCE",
                "value": "6769200"
            },
            {
                "name": "CHANNEL_TYPE",
                "value": "6010"
            }
        ]
    }
}
{
    "service": {
        "id": "VIRTUAL_ACCOUNT"
    },
    "acquirer": {
        "id": "BANK_MANDIRI"
    },
    "channel": {
        "id": "VIRTUAL_ACCOUNT_BANK_MANDIRI"
    },
    "transaction": {
        "status": "SUCCESS",
        "date": "2021-01-27T07:24:50Z",
        "original_request_id": "cc682442-6c22-493e-8121-b9ef6b3fa728"
    },
    "order": {
        "invoice_number": "INV-20210124-0001",
        "amount": 150000
    },
    "virtual_account_info": {
        "virtual_account_number": "8889940000000213"
    },
    "virtual_account_payment": {
        "identifier": [
            {
                "name": "TRANSACTION_ID",
                "value": "8341422"
            },
            {
                "name": "CHANNEL_ID",
                "value": "001"
            }
        ]
    }
}
{
    "service": {
        "id": "VIRTUAL_ACCOUNT"
    },
    "acquirer": {
        "id": "BANK_SYARIAH_MANDIRI"
    },
    "channel": {
        "id": "VIRTUAL_ACCOUNT_BANK_SYARIAH_MANDIRI"
    },
    "transaction": {
        "status": "SUCCESS",
        "date": "2021-01-27T06:00:20Z",
        "original_request_id": "d24a5644-6078-4249-8740-4a6dcd92df5a"
    },
    "order": {
        "invoice_number": "INV-20210124-0001",
        "amount": 150000
    },
    "virtual_account_info": {
        "virtual_account_number": "6059000000000205"
    },
    "virtual_account_payment": {
        "identifier": [
            {
                "name": "PAY_TERMINAL_ID",
                "value": ""
            },
            {
                "name": "BANK_REFERENCE",
                "value": "1232990188"
            },
            {
                "name": "PAY_CHANNEL",
                "value": "6019"
            }
        ]
    }
}
{
    "service": {
        "id": "VIRTUAL_ACCOUNT"
    },
    "acquirer": {
        "id": "BRI"
    },
    "channel": {
        "id": "VIRTUAL_ACCOUNT_BRI"
    },
    "transaction": {
        "status": "SUCCESS",
        "date": "2020-08-11T09:06:18Z",
        "original_request_id": "e5a8a8b8-7eab-4be3-91d8-5e2d7ab7cc25"
    },
    "order": {
        "invoice_number": "INV-20210124-0001",
        "amount": 150000
    },
    "virtual_account_info": {
        "virtual_account_number": "1236260000000004"
    },
    "virtual_account_payment": {
        "identifier": [
            {
                "name": "TRANSAKSI_ID",
                "value": "127503812"
            },
            {
                "name": "TERMINAL_ID",
                "value": "1"
            }
        ]
    }
}
{
  "service": {
    "id": "VIRTUAL_ACCOUNT"
  },
  "acquirer": {
    "id": "BNI"
  },
  "channel": {
    "id": "VIRTUAL_ACCOUNT_BNI"
  },
  "order": {
    "invoice_number": "INV-1640337742",
    "amount": 20000
  },
  "virtual_account_info": {
    "virtual_account_number": "8803300000000098",
    "merchant_unique_reference": "UNIQUE_00003",
    "billing_type": "FIXED",
    "identifier":[
      {
        "name": "BILLING_NUMBER",
        "value": "3280300000000001234"
      }
    ]
  },
  "virtual_account_payment": {
    "identifier": [
      {
        "name": "TRX_ID",
        "value": "11901640337564039UNIQUE_00003"
      },
      {
        "name": "PAYMENT_NTB",
        "value": "228853"
      }
    ]
  },
  "transaction": {
    "status": "SUCCESS",
    "date": "2021-12-24T16:23:39Z",
    "original_request_id": "456b001e-adc8-4fb8-a976-95831fb61468"
  }
}
{
    "service": {
        "id": "VIRTUAL_ACCOUNT"
    },
    "acquirer": {
        "id": "DOKU"
    },
    "channel": {
        "id": "VIRTUAL_ACCOUNT_DOKU"
    },
    "transaction": {
        "status": "SUCCESS",
        "date": "2021-01-22T07:06:28Z",
        "original_request_id": "09e0defe-a071-45b3-9feb-ac134374628c"
    },
    "order": {
        "invoice_number": "INV-20210124-0001",
        "amount": 150000
    },
    "virtual_account_info": {
        "virtual_account_number": "8000100000000323"
    },
    "virtual_account_payment": {
        "identifier": [
            {
                "name": "TRACE_NUMBER",
                "value": "19832"
            },
            {
                "name": "TRANSACTION_NUMBER",
                "value": "d094700e379f0fb3b543e25c77f8e4b3e068f057"
            },
            {
                "name": "HOST_REFERENCE_NUMBER",
                "value": ""
            }
        ]
    }
}
{
    "service": {
        "id": "VIRTUAL_ACCOUNT"
    },
    "acquirer": {
        "id": "CIMB"
    },
    "channel": {
        "id": "VIRTUAL_ACCOUNT_BANK_CIMB"
    },
    "transaction": {
        "status": "SUCCESS",
        "date": "2020-08-11T09:06:18Z",
        "original_request_id": "e5a8a8b8-7eab-4be3-91d8-5e2d7ab7cc25"
    },
    "order": {
        "invoice_number": "INV-20210124-0001",
        "amount": 150000
    },
    "virtual_account_info": {
        "virtual_account_number": "1236260000000004"
    },
    "virtual_account_payment": {
        "identifier": [
            {
                "name": "TRANSAKSI_ID",
                "value": "127503812"
            },
            {
                "name": "TERMINAL_ID",
                "value": "1"
            }
        ]
    }
}
{
    "service": {
        "id": "VIRTUAL_ACCOUNT"
    },
    "acquirer": {
        "id": "BANK_PERMATA"
    },
    "channel": {
        "id": "VIRTUAL_ACCOUNT_BANK_PERMATA"
    },
    "transaction": {
        "status": "SUCCESS",
        "date": "2020-08-11T09:06:18Z",
        "original_request_id": "e5a8a8b8-7eab-4be3-91d8-5e2d7ab7cc25"
    },
    "order": {
        "invoice_number": "INV-20210124-0001",
        "amount": 150000
    },
    "virtual_account_info": {
        "virtual_account_number": "1236260000000004"
    },
    "virtual_account_payment": {
        "identifier": [
            {
                "name": "TRANSAKSI_ID",
                "value": "127503812"
            },
            {
                "name": "TERMINAL_ID",
                "value": "1"
            }
        ]
    }
}
{
  "acquirer": {
    "id": "BANK_DANAMON",
    "name": "Bank Danamon"
  },
  "service": {
    "id": "VIRTUAL_ACCOUNT",
    "name": "Virtual Account"
  },
  "channel": {
    "id": "VIRTUAL_ACCOUNT_BANK_DANAMON",
    "name": "Virtual Account Bank Danamon"
  },
  "order": {
    "invoice_number": "INV-1635748123946513",
    "amount": 20000
  },
  "virtual_account_info": {
    "virtual_account_number": "8922600000000063"
  },
  "virtual_account_payment": {
    "reference_number": "AFNGf6wAWrFe2LSmpfXviRXYv7nPK1LOsao9TtLC",
    "date": "20211206152845",
    "identifier": [
      {
        "name": "USER_REF_NO",
        "value": "AFNGf6wAWrFe2LSmpfXviRXYv7nPK1LOsao9TtLC"
      },
      {
        "name": "PAY_ACCOUNT",
        "value": "706913838473"
      },
      {
        "name": "PAY_BANK",
        "value": "Danamon"
      },
      {
        "name": "PAY_DESC",
        "value": "Payment Simulator for 8922600000000063"
      },
      {
        "name": "PAY_AMOUNT",
        "value": "20000"
      },
      {
        "name": "BILL_AMOUNT",
        "value": "20000"
      }
    ]
  },
  "transaction": {
    "status": "SUCCESS",
    "original_request_id": "b693d940-bd15-4b85-9d02-57844c4039e3",
    "date": "2021-12-06T08:28:45Z"
  }
}

Virtual Account Notification Explanation

Parameter
Type
Mandatory
Description

service.id

string

Mandatory

The service that is used for the transaction

acquirer.id

string

Mandatory

The acquirer that processed the transaction

channel.id

string

Mandatory

The channel of the transaction

transaction.status

string

Mandatory

The transaction status to be use to update the status on merchant side Possible value: SUCCESS since VA only notify when payment is success

transaction.date

string

Mandatory

The date when the transaction is completed by the customer in ISO 8601 format (UTC + 0)

transaction.original_request_id

string

Mandatory

The request ID that sent when initiate the payment

order.invoice_number

string

Mandatory

Same as the request that merchant sent on the payment initiation

order.amount

number

Mandatory

Same as the request that merchant sent on the payment initiation

virtual_account_info. virtual_account_number

string

Mandatory

The virtual account number that used for the transaction

virtual_account_payment.identifier

string

Optional

List of transaction identifier that coming from the acquiring. Merchant can save these data for reference

Credit Card

Here is the sample notification that DOKU will send to merchant's server.

Type
Value

HTTP Method

POST

Here is the sample notification request header :

Client-Id: MCH-0001-10791114622547
Request-Id: 370c993c-e5ee-4dfc-9e47-0474b55c7b4b
Request-Timestamp: 2020-08-11T08:45:42Z
Signature: HMACSHA256=vl9DBTX5KhEiXmnpOD0TSm8PYQknuHPdyHSTSc3W6Ps
Parameter
Description

Client-Id

Client ID you retrieved from DOKU Back Office

Request-Id

Unique random string (max 128 characters) that generated by DOKU to make sure no duplicate notification

Request-Timestamp

Time Stamp request on UTC time in ISO8601 format

Signature

Here is the sample notification request body :

{
  "order": {
    "invoice_number": "INV-1672986414",
    "amount": 90000
  },
  "customer": {
    "id": "W7rbKhPYh76VSHYwHRaGDIbBhgTebgAoWtX",
    "name": "Anton Budiman",
    "email": "anton@doku.com"
  },
  "transaction": {
    "type": "SALE",
    "status": "SUCCESS",
    "date": "2023-01-06T06:27:14Z",
    "original_request_id": "a438194b-ed79-421a-adb6-062496b08c7b"
  },
  "service": {
    "id": "CREDIT_CARD"
  },
  "acquirer": {
    "id": "BANK_MANDIRI"
  },
  "channel": {
    "id": "CREDIT_CARD"
  },
  "card_payment": {
    "masked_card_number": "557338******1101",
    "approval_code": "448998",
    "response_code": "00",
    "response_message": "PAYMENT APPROVED",
    "issuer": "PT. BANK MANDIRI (PERSERO), Tbk"
  },
  "authorize_id": "16920747459243358",
}

Credit Card Notification Explanation

Parameter
Type
Mandatory
Description

order.invoice_number

string

Mandatory

Same as the request that merchant sent on the payment initiation

order.amount

number

Mandatory

Same as the request that merchant sent on the payment initiation

customer.id

string

Mandatory

Same as the request that merchant sent on the payment initiation

customer.name

string

Optional

Same as the request that merchant sent on the payment initiation

customer.email

string

Optional

Same as the request that merchant sent on the payment initiation

transaction.type

string

Mandatory

Transaction Type Possible value: SALE, INSTALLMENT, AUTHORIZE, MOTO

transaction.status

string

Mandatory

The transaction status to be use to update the status on merchant side Possible value: SUCCESS, FAILED

transaction.date

string

Mandatory

The date when the transaction is completed by the customer in ISO 8601 format (UTC + 0)

transaction.original_request_id

string

Mandatory

The request ID that sent when initiate the payment

service.id

string

Mandatory

The service that is used for the transaction

acquirer.id

string

Mandatory

The acquirer that processed the transaction

channel.id

string

Mandatory

The channel of the transaction`

authorize_id

string

Optional

Used to capture transaction in Authorize Capture transaction

card_payment.masked_card_number

string

Optional

The masked card number that charged for this transaction

card_payment.approval_code

string

Optional

Acquirer approval code for this transaction

card_payment.response_code

string

Optional

DOKU / Acquirer response code

card_payment.response_message

string

Optional

DOKU / Acquirer response message

card_payment.issuer

string

Optional

Card Issuer

Convenience Store

Here is the sample notification that DOKU will send to merchant's server.

Type
Value

HTTP Method

POST

Here is the sample notification request header :

Client-Id: MCH-0001-10791114622547
Request-Id: 370c993c-e5ee-4dfc-9e47-0474b55c7b4b
Request-Timestamp: 2020-08-11T08:45:42Z
Signature: HMACSHA256=vl9DBTX5KhEiXmnpOD0TSm8PYQknuHPdyHSTSc3W6Ps
Parameter
Description

Client-Id

Client ID you retrieved from DOKU Back Office

Request-Id

Unique random string (max 128 characters) that generated by DOKU to make sure no duplicate notification

Request-Timestamp

Time Stamp request on UTC time in ISO8601 format

Signature

Here is the sample notification request body :

{
    "service": {
        "id": "ONLINE_TO_OFFLINE"
    },
    "acquirer": {
        "id": "ALFA"
    },
    "channel": {
        "id": "ONLINE_TO_OFFLINE_ALFA"
    },
    "transaction": {
        "status": "SUCCESS",
        "date": "2021-08-12T07:06:28Z",
        "original_request_id": "5b8e438f-fac1-4103-9e0e-ebfdc38b5acb"
    },
    "order": {
        "invoice_number": "INV-20210125-0001",
        "amount": 150000
    },
    "online_to_offline_info": {
        "payment_code": "73"
    },
    "online_to_offline_payment": {
        "identifier": [
            {
                "name": "AGENT_ID",
                "value": "ALFAMART"
            },
            {
                "name": "AGENT_STORE_ID",
                "value": "store"
            },
            {
                "name": "AGENT_TRX_ID",
                "value": "1246"
            }
        ]
    }
}
{
    "service": {
        "id": "ONLINE_TO_OFFLINE"
    },
    "acquirer": {
        "id": "ALFA"
    },
    "channel": {
        "id": "ONLINE_TO_OFFLINE_ALFA"
    },
    "order": {
        "invoice_number": "INV-20210125-0001",
        "amount": 150000
    },
    "transaction": {
        "status": "SUCCESS",
        "date": "2021-01-22T07:06:28Z",
        "original_request_id": "2103"
    },
    "online_to_offline_info": {
        "payment_code": "8896512345678123"
    },
    "online_to_offline_payment": {
        "identifier": [
            {
                "name": "AGENT_ID",
                "value": "100001"
            },
            {
                "name": "AGENT_STORE_ID",
                "value": "10000232"
            },
            {
                "name": "AGENT_TRX_ID",
                "value": "c1aa04bf421e5b38c3d18933e9994d3f289def65"
            }
        ]
    },
    "additional_info": {
        "insurance_info": {
            "policy_type": "Dana Pendidikan",
            "policy_number": "9090901234",
            "policy_account_name": "Andreas",
            "policy_status": "aktif",
            "bill_due_date": "21 May 2021"
        }
    }
}
{
    "service": {
        "id": "ONLINE_TO_OFFLINE"
    },
    "acquirer": {
        "id": "INDOMARET"
    },
    "channel": {
        "id": "ONLINE_TO_OFFLINE_INDOMARET"
    },
    "transaction": {
        "status": "SUCCESS",
        "date": "2021-08-12T07:06:28Z",
        "original_request_id": "5b8e438f-fac1-4103-9e0e-ebfdc38b5acb"
    },
    "order": {
        "invoice_number": "INV-20210125-0001",
        "amount": 150000
    },
    "online_to_offline_info": {
        "payment_code": "73"
    },
    "online_to_offline_payment": {
        "identifier": [
            {
                "name": "AGENT_ID",
                "value": "INDOMARET"
            },
            {
                "name": "AGENT_STORE_ID",
                "value": "store"
            },
            {
                "name": "AGENT_TRX_ID",
                "value": "1246"
            }
        ]
    }
}

Convenience Store Notification Explanation

Parameter
Type
Mandatory
Description

service.id

string

Mandatory

The service that is used for the transaction

acquirer.id

string

Mandatory

The acquirer that processed the transaction

channel.id

string

Mandatory

The channel of the transaction

transaction.status

string

Mandatory

The transaction status to be use to update the status on merchant side Possible value: SUCCESS since Convenience Store only notify when payment is success

transaction.date

string

Mandatory

The date when the transaction is completed by the customer in ISO 8601 format (UTC + 0)

transaction.original_request_id

string

Mandatory

The request ID that sent when initiate the payment

order.invoice_number

string

Mandatory

The invoice number that sent when initate the payment

order.amount

string

Mandatory

The amount of the transaction

online_to_offline_info. payment_code

string

Mandatory

The payment code number that used for the transaction

online_to_offline_payment.identifier

array

Optional

Same as the inquiry response

additional_info

json

Optional

Same as the additional_info from the request

E-wallet

Here is the sample notification that DOKU will send to merchant's server.

Type
Value

HTTP Method

POST

Here is the sample notification request header :

Client-Id: MCH-0001-10791114622547
Request-Id: 370c993c-e5ee-4dfc-9e47-0474b55c7b4b
Request-Timestamp: 2020-08-11T08:45:42Z
Signature: HMACSHA256=vl9DBTX5KhEiXmnpOD0TSm8PYQknuHPdyHSTSc3W6Ps
Parameter
Description

Client-Id

Client ID you retrieved from DOKU Back Office

Request-Id

Unique random string (max 128 characters) that generated by DOKU to make sure no duplicate notification

Request-Timestamp

Time Stamp request on UTC time in ISO8601 format

Signature

Here is the sample notification request body :

{
    "service":{
        "id": "EMONEY"
    },
    "acquirer":{
        "id": "SHOPEE_PAY"
    },
    "channel":{
        "id": "EMONEY_SHOPEE_PAY"
    },
    "order":{
        "invoice_number": "INV-20210124-0001",
        "amount": 150000
    },
    "transaction":{
        "status": "SUCCESS",
        "date": "2021-07-09T02:06:14Z",
        "original_request_id": "24bb5232-3fe6-47a5-b0b0-d0fc3c6b5fdb"
    },
    "shopeepay_configuration":{
        "merchant_ext_id": "846609710695590",
        "store_ext_id": "99012984"
    },
    "shopeepay_payment":{
        "transaction_status": "3",
        "transaction_message": "SUCCESS",
        "identifier": [
            {
                "name": "PAYMENT_REFERENCE_ID",
                "value": "INV-20210124-0001"
            },
            {
                "name": "TRANSACTION_SN",
                "value": "5928618974087420594542231456745334310931540501886465026193020656"
            },
            {
                "name": "USER_ID_HASH",
                "value": "1933182965027045219980555801600298133716162755914500208775934992"
            }
        ]
    }
}

Shopeepay Notification Explanation

Parameter
Type
Mandatory
Description

service.id

string

Mandatory

The service that is used for the transaction

acquirer.id

string

Mandatory

The acquirer that processed the transaction

channel.id

string

Mandatory

The channel of the transaction

order.invoice_number

string

Mandatory

The invoice number that sent when initate the payment

order.amount

string

Mandatory

The amount of the transaction

transaction.status

string

Mandatory

The transaction status to be use to update the status on merchant side Possible value: SUCCESS, FAILED

transaction.date

string

Mandatory

The date when the transaction is completed by the customer in ISO 8601 format (UTC + 0)

transaction.original_request_id

string

Mandatory

The request ID that sent when initiate the payment

shopeepay_configuration. merchant_ext_id

string

Optional

The credential from ShopeePay

shopeepay_configuration. store_ext_id

string

Optional

The credential from ShopeePay

shopeepay_payment. transaction_status

string

Optional

The status code from ShopeePay Possible value: 3 for success, 4 for failed

shopeepay_payment. transaction_message

string

Optional

The status message from ShopeePay Possible value: SUCCESS, FAILED

shopeepay_payment.identifier

array

Optional

List of transaction identifier that coming from the acquiring. Merchant can save these data for reference

DOKU OVO Open API will publish 3 scenarios that are in the process before payment to after payment. Here are the cases that will be published :

Binding

{
    "service":{
        "id":"EMONEY"
    },
    "acquirer":{
        "id":"OVO"
    },
    "channel":{
        "id":"EMONEY_OVO"
    },
    "customer":{
        "id":"123123123",
        "name":"Joko",
        "email":"joko@gmail.com",
        "phone":"081287458232",
        "additional_info":"Test"
    },
    "wallet": {
        "issuer": "OVO",
        "token_id": "410d3bce942991550d81f20171234df3",
        "masked_phone_number": "****0621",
        "status":"SUCCESS"
    }
}

OVO Open API - Binding Notification Explanation

Parameter
Type
Mandatory
Description

service.id

string

Mandatory

The service that is used for the transaction

acquirer.id

string

Mandatory

The acquirer that processed the transaction

channel.id

string

Mandatory

The channel of the transaction

customer.id

string

Mandatory

Merchant customer ID

customer.name

string

Optional

Customer name that sent when initiate the payment

customer.email

string

Optional

Customer email that sent when initiate the payment

customer.phone

string

Optional

Customer phone that sent when initiate the payment

customer.additional_info

string

Mandatory

Customer additional_info that sent when initate the payment

wallet.issuer

string

Mandatory

Wallet issuer that receive on API Get List Token OVO Response

wallet.token_id

string

Mandatory

Wallet token ID that receive on API Get List Token OVO Response

wallet.masked_phone_number

string

Mandatory

Wallet Masked Phone Number that receive on API Get List Token OVO Response

wallet.status

string

Mandatory

Wallet Status

Payment

{
    "service":{
        "id":"EMONEY"
    },
    "acquirer":{
        "id":"OVO"
    },
    "channel":{
        "id":"EMONEY_OVO"
    },
    "customer":{
        "id":"123123123",
        "name":"Joko",
        "email":"joko@gmail.com",
        "phone":"081287458232",
        "additional_info":"Test"
    },
    "order":{
        "invoice_number":"INV-20210124-0001",
        "amount":200000
    },
    "transaction":{
        "status":"SUCCESS",
        "date":"2021-06-11T02:17:59Z",
        "original_request_id":"4bb5232-3fe6-47a5-b0b0-d0fc3c6b5fdb"
    },
    "ovo_payment": {
        "ovo_id":"08227631610000",
        "cash_used": 19000,
        "point_used": 1000,
        "response_code":OVO123213,
        "response_message":Blablabla
    },
    "additional_info":{
        "message":"no additional info",
        "test": "test"
    }
}

OVO Open API - Payment Notification Explanation

Parameter
Type
Mandatory
Description

service.id

string

Mandatory

The service that is used for the transaction

acquirer.id

string

Mandatory

The acquirer that processed the transaction

channel.id

string

Mandatory

The channel of the transaction

customer.id

string

Mandatory

Merchant customer id

customer.name

string

Optional

Customer name that sent when initiate the payment

customer.email

string

Optional

Customer email that sent when initiate the payment

customer.phone

string

Optional

Customer phone number that sent when initiate the payment

customer.additional_info

string

Optional

Customer additional_info that sent when initate the payment

order.invoice_number

string

Mandatory

Merchant transaction id unique per client id

order.amount

string

Mandatory

Total amount in IDR

transaction.status

string

Mandatory

Status of transaction Possible value :SUCCESS, FAILED

transaction.date

string

Mandatory

Transaction requested to Bank on UTC time in ISO8601 format

transaction.original_request_id

string

Mandatory

Request ID to DOKU API when generate payment / refund

transaction.message

string

Mandatory

Transaction message

additional_info.message

string

Mandatory

Additional info message

additional_info.test

string

Mandatory

Additional info test

Refund

{
    "service":{
        "id":"EMONEY"
    },
    "acquirer":{
        "id":"OVO"
    },
    "channel":{
        "id":"EMONEY_OVO"
    },
    "customer":{
        "id":"123123123"
    },
    "order":{
        "invoice_number":"INV-20210124-0001"
    },
    "transaction":{
        "status":"REFUNDED",
        "date":"2021-06-11T02:17:59Z",
        "original_request_id":"4bb5232-3fe6-47a5-b0b0-d0fc3c6b5fdb"
    },
    "ovo_payment": {
        "ovo_id":"08227631610000"
    },
    "refund": {
        "id": "864271549283077864271549287589",
        "amount": 6000,
        "ovo_cash": 5000,
        "ovo_point": 1000,
        "reason": "Cancel Order",
        "response_code": OVO123213,
        "response_message": Blablabla
    },
    "additional_info":{
        "message":"no additional info",
        "test":"test"
    }
}
Parameter
Type
Mandatory
Description

Direct Debit

Here is the sample notification that DOKU will send to merchant's server.

Type
Value

HTTP Method

POST

Here is the sample notification request header :

Client-Id: MCH-0001-10791114622547
Request-Id: af0fa6bf-5295-42ff-9291-8dfd51976bf0
Request-Timestamp: 2020-08-11T08:45:42Z
Signature: HMACSHA256=vl9DBTX5KhEiXmnpOD0TSm8PYQknuHPdyHSTSc3W6Ps=
Parameter
Description

Client-Id

Client ID you retrieved from DOKU Back Office

Request-Id

Unique random string (max 128 characters) that generated by DOKU to make sure no duplicate notification

Request-Timestamp

Time Stamp request on UTC time in ISO8601 format

Signature

Here is the sample notification request body :

{
    "order": {
        "invoice_number": "INV-20210118-0001",
        "amount": 90000
    },
    "transaction": {
        "status": "SUCCESS",
        "date": "2021-02-17T16:33:26.362464",
        "original_request_id": "b6a465ea-bb65-48b2-a22b-3e8fb51cf22e"
    },
    "service": {
        "id": "DIRECT_DEBIT"
    },
    "acquirer": {
        "id": "BRI"
    },
    "channel": {
        "id": "DIRECT_DEBIT_BRI"
    },
    "card_payment": {
        "masked_card_number": "************8232",
        "response_code": "0000",
        "response_message": "SUCCESS",
        "payment_id": "510119432113"
    }
}

Direct Debit Notification Explanation

Parameter
Type
Mandatory
Description

order.invoice_number

string

Mandatory

Same as the request that merchant sent on the payment initiation

order.amount

number

Mandatory

Same as the request that merchant sent on the payment initiation

transaction.status

string

Mandatory

The transaction status to be use to update the status on merchant side Possible value: SUCCESS, FAILED

transaction.date

string

Mandatory

The date when the transaction is completed by the customer in ISO 8601 format (UTC + 0)

transaction.original_request_id

string

Mandatory

The request ID that sent when initiate the payment

service.id

string

Mandatory

The service that is used for the transaction

acquirer.id

string

Mandatory

The acquirer that processed the transaction

channel.id

string

Mandatory

The channel of the transaction

card_payment.masked_card_number

string

Optional

The masked card number that charged for this transaction

card_payment.approval_code

string

Optional

Acquirer approval code for this transaction

card_payment.response_code

string

Optional

DOKU / Acquirer response code

card_payment.response_message

string

Optional

DOKU / Acquirer response code

Paylater

Here is the sample notification that DOKU will send to merchant's server.

Type
Value

HTTP Method

POST

Here is the sample notification request header :

Client-Id: MCH-0001-10791114622547
Request-Id: 370c993c-e5ee-4dfc-9e47-0474b55c7b4b
Request-Timestamp: 2020-08-11T08:45:42Z
Signature: HMACSHA256=vl9DBTX5KhEiXmnpOD0TSm8PYQknuHPdyHSTSc3W6Ps
Parameter
Description

Client-Id

Client ID you retrieved from DOKU Back Office

Request-Id

Unique random string (max 128 characters) that generated by DOKU to make sure no duplicate notification

Request-Timestamp

Time Stamp request on UTC time in ISO8601 format

Signature

Here is the sample notification request body :

{
    "service": {
        "id": "PEER_TO_PEER"
    },
    "acquirer": {
        "id": "AKULAKU"
    },
    "channel": {
        "id": "PEER_TO_PEER_AKULAKU"
    },
    "order": {
        "invoice_number": "INV-20210707-0001",
        "amount": 90000
    },
    "transaction": {
        "status": "SUCCESS",
        "date": "2021-07-07T08:48:42Z",
        "original_request_id": "baec7d95-f30a-4b78-b711-6ebe0ccdf50b"
    },
    "peer_to_peer_info": {
               "virtual_account_number": "2900800000000003",
               "created_date": "20200313095850",
               "expired_date": "20200313155850",
               "status": "SUCCESS",
               "merchant_unique_reference": "60123",
               "identifier": [
                  {
                     "name": "AKULAKU_UNIQUE_REFERENCE",
                     "value": "BRN-0288-1654748429432TEST-ABC-768"    
                  },
                  {
                     "name": "ORDER_ID",
                     "value": "BRN-0288-1654748429432TEST-ABC-768"
                  }
               ]
            },
    "payment": {
        "merchant_unique_reference": "MUR-20210707-0001"
    }
}

Akulaku Notification Explanation

Parameter
Type
Mandatory
Description

service.id

string

Mandatory

The service that is used for the transaction

acquirer.id

string

Mandatory

The acquirer that processed the transaction

channel.id

string

Mandatory

The channel of the transaction

order.invoice_number

string

Mandatory

Same as the request that merchant sent on the payment initiation

order.amount

number

Mandatory

Same as the request that merchant sent on the payment initiation

transaction.status

string

Mandatory

The transaction status to be use to update the status on merchant side Possible value: SUCCESS, FAILED

transaction.date

string

Mandatory

The date when the transaction is completed by the customer in ISO 8601 format (UTC + 0)

transaction.original_request_id

string

Mandatory

The request ID that sent when initiate the payment

payment. merchant_unique_reference

string

Mandatory

The merchant unique reference that sent when initiate the payment

PreviousHTTP Notification Sample for SNAP NextBest Practice

Last updated 10 months ago

Was this helpful?

Verify the Signature to ensure the Notification Authenticity coming from DOKU. Please refer to

Verify the Signature to ensure the Notification Authenticity coming from DOKU. Please refer to

Verify the Signature to ensure the Notification Authenticity coming from DOKU. Please refer to

Verify the Signature to ensure the Notification Authenticity coming from DOKU. Please refer to

Verify the Signature to ensure the Notification Authenticity coming from DOKU. Please refer to

Verify the Signature to ensure the Notification Authenticity coming from DOKU. Please refer to

Binding
Payment
Refund
this section
this section
this section
this section
this section
this section