{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://raw.githubusercontent.com/api-evangelist/clickatell/main/json-schema/clickatell-pay-by-link-transaction-log-response-schema.json",
  "title": "PayByLinkTransactionLogResponse",
  "x-generated": "2026-10-13",
  "x-method": "derived",
  "x-generator": "derive-json-schema.py",
  "x-source": "openapi/clickatell-chat-2-pay-api-openapi.json#/components/schemas/PayByLinkTransactionLogResponse",
  "type": "object",
  "properties": {
    "paymentLinkRef": {
      "type": "string",
      "description": "The unique reference number for the payment link generated"
    },
    "transactionStatus": {
      "type": "string",
      "description": "The status of the transaction",
      "enum": [
        "PAYMENT_LINK_REQUEST_RECEIVED",
        "PAYMENT_LINK_SENT",
        "PAYMENT_LINK_DELIVERED",
        "PAYMENT_STATUS_RECEIVED",
        "PAYMENT_STATUS_NOTIFICATION_SENT",
        "RECEIPT_LINK_REQUEST_RECEIVED",
        "RECEIPT_LINK_SENT",
        "PAYMENT_LINK_REQUEST_FAILED",
        "PAYMENT_LINK_SENT_FAILED",
        "PAYMENT_URL_EXPIRED",
        "PAYMENT_LINK_DELIVERY_FAILED",
        "PAYMENT_STATUS_NOTIFICATION_DELIVERY_SUCCESSFUL",
        "PAYMENT_STATUS_NOTIFICATION_DELIVERY_FAILED",
        "RECEIPT_LINK_REQUEST_FAILED",
        "RECEIPT_LINK_SENT_FAILED",
        "RECEIPT_LINK_DELIVERED",
        "RECEIPT_LINK_DELIVERY_FAILED",
        "PAYMENT_LINK_CANCELLED",
        "PAYMENT_LINK_CLICKED"
      ]
    },
    "transactionStatusId": {
      "type": "integer",
      "description": "The ID of the transaction status",
      "format": "int32"
    },
    "timestamp": {
      "type": "string",
      "description": "Timestamp generated by Clickatell’s application (in ISO 8601 format)",
      "format": "date-time"
    },
    "error": {
      "$ref": "#/$defs/ThirdPartySystemErrorResponse"
    },
    "paymentLink": {
      "type": "string",
      "description": "Contains the unique payment link for this payment. It will only return in the response if returnPaymentLink was set to true in the request."
    },
    "paymentLinkTTL": {
      "type": "integer",
      "description": "Time to live in minutes for the Payment Link",
      "format": "int32"
    },
    "paymentPageTTL": {
      "type": "integer",
      "description": "Time to live in minutes for the Payment Page",
      "format": "int32"
    }
  },
  "$defs": {
    "ThirdPartySystemErrorResponse": {
      "type": "object",
      "properties": {
        "code": {
          "type": "integer",
          "description": "The error code received from third-parties after interaction",
          "format": "int32"
        },
        "description": {
          "type": "string",
          "description": "The error code description received from third-parties after interaction"
        }
      },
      "description": "Error details if request failed"
    }
  }
}