{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://artifacts.apis.io/quickbooks/json-schema/quickbooks-paymentrequest-schema.json",
  "title": "paymentrequest",
  "x-generated": "2026-11-10",
  "x-method": "derived",
  "x-generator": "derive-json-schema.py",
  "x-source": "openapi/quickbooks-payment-api-openapi.yml#/components/schemas/paymentrequest",
  "type": "object",
  "properties": {
    "TotalAmt": {
      "type": "number",
      "description": "Indicates the total amount of the transaction. This includes the total of all the charges, allowances, and taxes.",
      "x-intuit-required": "Required",
      "x-intuit-filterable": true,
      "x-intuit-sortable": true
    },
    "ProjectRef": {
      "allOf": [
        {
          "$ref": "#/$defs/referencetype"
        }
      ],
      "description": "Reference to the Project ID associated with this transaction.",
      "x-intuit-required": "Conditionally required",
      "x-intuit-filterable": true
    },
    "CustomerRef": {
      "allOf": [
        {
          "$ref": "#/$defs/referencetype"
        }
      ],
      "description": "Reference to a customer or job. Query the Customer name list resource to determine the appropriate Customer object for this reference. Use Customer.Id and Customer.DisplayName from that object for CustomerRef.value and CustomerRef.name, respectively.",
      "x-intuit-required": "Required",
      "x-intuit-filterable": true
    },
    "CurrencyRef": {
      "type": "object",
      "x-intuit-type": "CurrencyRefType",
      "description": "Reference to the currency in which all amounts on the associated transaction are expressed. This must be defined if multicurrency is enabled for the company.\n\nMulticurrency is enabled for the company if Preferences.MultiCurrencyEnabled is set to true. Read more about multicurrency support here. Required if multicurrency is enabled for the company.",
      "x-intuit-required": "Conditionally required"
    }
  },
  "required": [
    "CustomerRef",
    "TotalAmt"
  ],
  "$defs": {
    "referencetype": {
      "type": "object",
      "title": "referencetype",
      "properties": {
        "name": {
          "type": "string",
          "description": "An identifying name for the object being referenced by value and is derived from the field that holds the common name of that object. This varies by context and specific type of object referenced. For example, references to a Customer object use Customer.DisplayName to populate this field. Optionally returned in responses, implementation dependent.",
          "x-intuit-required": "Optional"
        },
        "value": {
          "type": "string",
          "description": "The ID for the referenced object as found in the Id field of the object payload. The context is set by the type of reference and is specific to the QuickBooks company file.",
          "x-intuit-required": "Required"
        }
      },
      "required": [
        "value"
      ]
    }
  }
}