Roku · JSON Structure

Pay Web Services Transaction Validation Structure

Result of a transaction-validation request.

Type: object Properties: 16
StreamingTelevisionMediaEntertainmentConnected TVConsumer Electronics

TransactionValidation is a JSON Structure definition published by Roku, describing 16 properties. It conforms to the https://json-structure.org/meta/core/v0/# meta-schema.

Properties

status errorCode errorMessage transactionId productId productName purchaseDate expirationDate purchaseStatus isEntitled purchaseChannel purchaseContext rokuCustomerId amount currency tax

Meta-schema: https://json-structure.org/meta/core/v0/#

JSON Structure

Raw ↑
{
  "$schema": "https://json-structure.org/meta/core/v0/#",
  "$id": "https://raw.githubusercontent.com/api-evangelist/roku/refs/heads/main/json-structure/pay-web-services-transaction-validation-structure.json",
  "name": "TransactionValidation",
  "description": "Result of a transaction-validation request.",
  "type": "object",
  "properties": {
    "status": {
      "type": "string",
      "description": "Operation status (Success, Failure)."
    },
    "errorCode": {
      "type": "int32",
      "description": "Numeric Roku error code on failure."
    },
    "errorMessage": {
      "type": "string"
    },
    "transactionId": {
      "type": "string",
      "description": "The transaction identifier that was validated."
    },
    "productId": {
      "type": "string",
      "description": "The Roku product code for the entitled product."
    },
    "productName": {
      "type": "string"
    },
    "purchaseDate": {
      "type": "datetime"
    },
    "expirationDate": {
      "type": "datetime",
      "description": "When the entitlement expires (for subscriptions and time-limited rentals)."
    },
    "purchaseStatus": {
      "type": "string",
      "enum": [
        "Active",
        "Inactive",
        "Pending_Active",
        "Pending_Inactive"
      ]
    },
    "isEntitled": {
      "type": "boolean",
      "description": "Whether the customer currently has access to the product."
    },
    "purchaseChannel": {
      "type": "string",
      "description": "How the purchase was initiated (e.g., Device, Web, InstantSignup)."
    },
    "purchaseContext": {
      "type": "string",
      "description": "Context flags identifying the purchase source."
    },
    "rokuCustomerId": {
      "type": "string",
      "description": "The Roku-issued anonymized customer identifier."
    },
    "amount": {
      "type": "float"
    },
    "currency": {
      "type": "string"
    },
    "tax": {
      "type": "float"
    }
  }
}