# Settlement Notification V2

# Description

  • This interface is implemented by the merchant side.
  • Bluepay calls this interface after all transactions under a settlement date are fully settled.
  • For the J&T master-sub merchant model, Bluepay only notifies the master merchant. The payload uses settlementDetailList to carry the related master and sub merchant appId values with their transaction dates.
  • After receiving this notification, the merchant can call /open-api/report/download to download the latest reconciliation package.
  • The current event name is fixed as settle.payment.success.

# URL

  • Provided by the merchant

# Method

  • POST

# Request Header

Parameter name Required Type Description
Content-Type Yes string application/json

# Request body parameters

Parameter name Required Type Description
param Yes string request payload
sign Yes string signature

# param

Parameter name Required Type Description
eventName Yes string event name, fixed as settle.payment.success
countryCode Yes string country code, for example TH
settlementDetailList Yes array[object] reconciliation detail list related to this notification
settlementDetailList.appId Yes string merchant appId in Bluepay
settlementDetailList.settlementDate Yes string settlement date, format yyyy-MM-dd
settlementDetailList.transDateList Yes array[string] transaction date list for this appId, each item format is yyyy-MM-dd
notifyTime Yes string notification send time, format yyyy-MM-dd HH:mm:ss

# Request example

# param content

{
  "eventName": "settle.payment.success",
  "countryCode": "TH",
  "settlementDetailList": [
    {
      "appId": "349094b672f347969422ca70123790477a8af",
      "settlementDate": "2026-05-21",
      "transDateList": [
        "2026-05-20"
      ]
    },
    {
      "appId": "sub_app_id_001",
      "settlementDate": "2026-05-21",
      "transDateList": [
        "2026-05-20"
      ]
    },
    {
      "appId": "sub_app_id_002",
      "settlementDate": "2026-05-21",
      "transDateList": [
        "2026-05-19",
        "2026-05-20"
      ]
    }
  ],
  "notifyTime": "2026-05-21 15:39:39"
}

How Bluepay constructs the request body

# Request body

{
  "sign": "V6HQvEZaLF5MSH8TcOVdqPj7fLyvdrAOPm74rW9svpclBIVPlokyiZqPXl09/yAOS8PNnganUtvRvie9MAxJwtYOkDMXxxi4gWjPl3D9L6W4fnVeC28HjhZhWrSgwlecJG6SuHM3odTHAxr5WQUuOxsYFtx+c74Ew+ZzuICCH3dA4+uzNEbDyB8QmBF94nM1LFhDId/VEMxdbj8xKJuOMiSBgwAWaFElm5YCfgmrZpU/qLnuGX2hNxQAMKY2GAw+4VpphYpHG8Xak5+PlqFWKp8mKJ9DgyphVf0ACGpcjOQp0S1V+S1HMMVU0AkW6c8n0weOMu3l6k6cPHsjEe/jSQ==",
  "param": "{\"eventName\":\"settle.payment.success\",\"countryCode\":\"TH\",\"settlementDetailList\":[{\"appId\":\"349094b672f347969422ca70123790477a8af\",\"settlementDate\":\"2026-05-21\",\"transDateList\":[\"2026-05-20\"]},{\"appId\":\"sub_app_id_001\",\"settlementDate\":\"2026-05-21\",\"transDateList\":[\"2026-05-20\"]},{\"appId\":\"sub_app_id_002\",\"settlementDate\":\"2026-05-21\",\"transDateList\":[\"2026-05-19\",\"2026-05-20\"]}],\"notifyTime\":\"2026-05-21 15:39:39\"}"
}

# Response parameters

Parameter name Type Description
code integer response code, success is fixed as 10000
message string response message, success is fixed as Success

# Response example

{
  "code": 10000,
  "message": "Success"
}

# Business notes

  • The notification is triggered once for the same master merchant and settlement date after the conditions are met.
  • Bluepay sends this notification only after the related master and sub merchant transactions are fully settled.
  • After receiving the notification, the merchant should call the ReportDownload interface by appId + settlementDate + transDateList from settlementDetailList to download the latest reconciliation package as soon as possible.
  • If the merchant returns non-200 OK or times out, Bluepay will handle it according to the internal retry mechanism.