---
updatedAt: 2025-06-05T01:01:27.000Z
agentTools:
  projectIndex: https://docs.shopback.com/llms.txt
---

# Acknowledge notification

This API is implemented by the payment partner. ShopBack will send the following request parameters to the `webhookUrl` supplied by the payment partner during onboarding.

# OpenAPI definition

```json
{
  "openapi": "3.0.1",
  "info": {
    "title": "In-Store Payments API",
    "version": "1.4"
  },
  "servers": [
    {
      "url": "https://integrations-sandbox.shopback.com",
      "description": "Sandbox"
    }
  ],
  "x-readme": {
    "metrics-enabled": false
  },
  "paths": {
    "/<webhookUrl>": {
      "post": {
        "tags": [
          "Notification"
        ],
        "operationId": "Notification",
        "summary": "Acknowledge notification",
        "description": "This API is implemented by the payment partner. ShopBack will send the following request parameters to the `webhookUrl` supplied by the payment partner during onboarding.",
        "parameters": [
          {
            "name": "Authorization",
            "in": "header",
            "description": "Header provided for authorization. This is provided for optional HMAC verification when ShopBack calls the `webhookUrl`. Please refer to **Generating an HMAC Signature** for a step by step guide to generating the Authorization signature.",
            "required": true,
            "schema": {
              "example": "SB1-HMAC-SHA256 <accessKeyId>:<hmacSignature>",
              "type": "string"
            }
          },
          {
            "name": "Date",
            "in": "header",
            "description": "The date and time of request in <a href=https://en.wikipedia.org/wiki/ISO_8601 target=\"_blank\">ISO-8601</a> format. This is the same value used in the generation of the HMAC signature",
            "required": true,
            "schema": {
              "type": "string",
              "example": "2022-08-22T02:29:33.123Z"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/NotificationWebhookReqDto"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "ShopBack will record non-200 cases.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/NotificationWebhookResDto"
                }
              }
            }
          }
        }
      }
    }
  },
  "components": {
    "schemas": {
      "NotificationWebhookReqDto": {
        "type": "object",
        "properties": {
          "traceId": {
            "type": "string",
            "description": "A unique identifier for this API request. This will be used for reconciliation as necessary.",
            "example": "0dc44317-1c4b-4b62-83a8-8997435511e4"
          },
          "shopbackOrderId": {
            "type": "string",
            "description": "This is a unique ID generated by ShopBack, returned when the order status has reached either `CAPTURED` or `FAILED` from `PROCESSING`. This ID is displayed on the consumer ShopBack mobile app. Keeping track of this ShopBack Order ID on POS terminal displays can help with in-store refunds. This will also be displayed on ShopBack’s Merchant Portal.",
            "example": "220801-0679-YVUY"
          },
          "status": {
            "type": "string",
            "description": "Order status provided by ShopBack.\n\n| Status     | Description                                                                                                                                                               |\n| ---------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |\n| CREATED    | Order has been created.                                                                                                                                                   |\n| PENDING    | The payment is pending action from the customer. This indicates that the customer has scanned the QR code on ShopBack’s mobile application but has not yet swiped to pay. |\n| PROCESSING | The payment is being processed. This indicates that the customer has swiped to pay on ShopBack’s mobile application and the payment is being completed.                   |\n| CANCELLED  | The order was cancelled before the customer swiped to pay.                                                                                                                |\n| CAPTURED   | ShopBack has approved the payment and it has been successful.                                                                                                             |\n| FAILED     | ShopBack has declined the payment (there could be a number of reasons including the customer’s underlying payment method not having a sufficient balance).                |\n| REFUNDED   | Order has been refunded in full (refund amount equal to order amount).                                                                                                    |\n      ",
            "enum": [
              "CREATED",
              "PENDING",
              "PROCESSING",
              "CANCELLED",
              "CAPTURED",
              "FAILED",
              "REFUNDED",
              "ABANDONED"
            ],
            "example": "CAPTURED"
          },
          "createdAt": {
            "format": "date-time",
            "type": "string",
            "description": "The timestamp of the order creation time, according to <a href=https://en.wikipedia.org/wiki/ISO_8601 target=\"_blank\">ISO-8601</a> format.",
            "example": "2022-08-01T02:29:33.123Z"
          },
          "updatedAt": {
            "format": "date-time",
            "type": "string",
            "description": "The timestamp of the order’s latest update, according to <a href=https://en.wikipedia.org/wiki/ISO_8601 target=\"_blank\">ISO-8601</a> format.",
            "example": "2022-08-01T02:29:33.123Z"
          },
          "orderAmount": {
            "type": "number",
            "description": "The original authorised amount of the order.",
            "example": 1000
          },
          "refundAmount": {
            "type": "number",
            "description": "Total refunded amount for order, only provided if there has been a successful refund. ",
            "example": 1000
          },
          "failureReason": {
            "type": "string",
            "description": "Reason for order failure, only provided if an order failed.",
            "example": "352c530dd7f747161a5e6c990c720bec"
          },
          "referenceId": {
            "type": "string",
            "description": "A unique order identifier generated by the POS terminal.",
            "example": "352c530dd7f747161a5e6c990c720bec"
          },
          "currency": {
            "type": "string",
            "description": "Currency that is associated with the payment amount. Specify the three-letter ISO currency code following <a href=https://en.wikipedia.org/wiki/ISO_4217 target=\"_blank\">ISO-4217</a> standard.",
            "example": "SGD"
          },
          "posId": {
            "type": "string",
            "description": "Unique Id for the POS terminal given during onboarding.",
            "example": "802c987em7f747269a5e6c260c630kpl"
          },
          "paymentType": {
            "type": "string",
            "description": "Customer’s payment type. Populated for completed and refunded orders only.\n`PAYLATER` `PAY`",
            "example": "PAY"
          }
        },
        "required": [
          "traceId",
          "shopbackOrderId",
          "status",
          "createdAt",
          "updatedAt",
          "orderAmount",
          "refundAmount",
          "currency",
          "posId",
          "paymentType"
        ]
      },
      "NotificationWebhookResDto": {
        "type": "object",
        "properties": {
          "referenceId": {
            "type": "string",
            "description": "(Required only for static QR orders) A unique order identifier generated by the POS terminal. If the `referenceId` has not been previously supplied, this response `referenceId` will be recorded in the ShopBack order that was created through a static QR flow.",
            "example": "352c530dd7f747161a5e6c990c720bec"
          }
        },
        "required": [
          "referenceId"
        ]
      }
    }
  }
}
```