{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://artifacts.apis.io/quickbooks/json-schema/quickbooks-creditcardpaymentrequest-schema.json",
  "title": "creditcardpayment",
  "x-generated": "2026-11-10",
  "x-method": "derived",
  "x-generator": "derive-json-schema.py",
  "x-source": "openapi/quickbooks-creditcardpayment-api-openapi.yml#/components/schemas/creditcardpaymentrequest",
  "type": "object",
  "properties": {
    "PrivateNote": {
      "type": "string",
      "description": "User entered, organization-private note about the transaction. This field maps to the Memo field on the Pay down credit card form.",
      "x-intuit-required": "Optional"
    },
    "TxnDate": {
      "type": "string",
      "format": "date",
      "description": "Date of transaction.",
      "x-intuit-required": "Required"
    },
    "Amount": {
      "type": "number",
      "description": "Total amount of the payment. Denominated in the currency of the credit card account.",
      "x-intuit-required": "Required"
    },
    "BankAccountRef": {
      "allOf": [
        {
          "$ref": "#/$defs/referencetype"
        }
      ],
      "description": "Bank account used to pay the Credit Card balance. Must be a Bank account.",
      "x-intuit-required": "Required"
    },
    "CreditCardAccountRef": {
      "allOf": [
        {
          "$ref": "#/$defs/referencetype"
        }
      ],
      "description": "Credit Card account for which a payment is being entered. Must be a Credit Card account.",
      "x-intuit-required": "Required"
    }
  },
  "required": [
    "Amount",
    "BankAccountRef",
    "CreditCardAccountRef",
    "TxnDate"
  ],
  "$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"
      ]
    }
  }
}