{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://artifacts.apis.io/auraspay-com/json-schema/auraspay-com-payment-response-schema.json",
  "title": "PaymentResponse",
  "x-generated": "2026-11-02",
  "x-method": "derived",
  "x-generator": "derive-json-schema.py",
  "x-source": "openapi/auraspay-com-openapi.json#/components/schemas/PaymentResponse",
  "type": "object",
  "required": [
    "success",
    "data"
  ],
  "properties": {
    "success": {
      "const": true
    },
    "message": {
      "type": "string"
    },
    "data": {
      "$ref": "#/$defs/PaymentLink"
    }
  },
  "$defs": {
    "PaymentLink": {
      "type": "object",
      "required": [
        "id",
        "status"
      ],
      "properties": {
        "id": {
          "type": "string",
          "format": "uuid"
        },
        "publicId": {
          "type": "string"
        },
        "publicUrl": {
          "type": "string",
          "format": "uri",
          "description": "Returned by create/get/list; use the returned URL."
        },
        "label": {
          "type": "string"
        },
        "status": {
          "type": "string",
          "description": "Examples: PENDING, COMPLETED, FAILED, EXPIRED."
        },
        "amount": {
          "type": [
            "number",
            "string"
          ]
        },
        "currency": {
          "type": "string"
        },
        "network": {
          "type": "string"
        },
        "reference": {
          "type": [
            "string",
            "null"
          ],
          "description": "Merchant reference in create/get/list. Verify can return the on-chain reference instead; use GET to reconcile orders."
        },
        "recipientWallet": {
          "type": "string",
          "description": "Create response."
        },
        "recipientAddress": {
          "type": "string",
          "description": "Get response."
        },
        "transactionSignature": {
          "type": [
            "string",
            "null"
          ]
        },
        "transactionHash": {
          "type": [
            "string",
            "null"
          ]
        },
        "verifiedAt": {
          "type": [
            "string",
            "null"
          ],
          "format": "date-time"
        },
        "createdAt": {
          "type": "string",
          "format": "date-time"
        }
      },
      "additionalProperties": true
    }
  }
}