payments-ai · Schema

PublicCheckoutByInvoiceResponse

Keyless invoice checkout. The order read plus the invoice number, due date, and status.

CompanyPaymentsAIFinTechMerchant of RecordPayment Orchestration

Properties

Name Type Description
orderId string
checkoutUrl string
currency object
amountDue object Amount the buyer owes today, before tax.
recurringAmount numbernull Later renewal total. Null when the order has no recurring item.
billingPeriod object
periodLength integernull
trialPeriodDays integernull
items array
merchantId string
externalMerchantId string Account id used to mount payment fields. Omitted when the merchant is not linked.
externalPlanId string Plan the trial starts on when amountDue is zero (e.g. trial-only orders). Payment fields then mount in setup mode to save the card, and confirm starts the trial on this plan. Present only while the or
paymentMethodTypes array Enabled payment method types for this merchant. Empty when none are enabled.
customization object
websiteUrl stringnull Merchant store URL from business settings (`merchants.url`). Null when not configured.
termsUrl stringnull Seller Terms URL or stable API redirect for a PDF. Null when unset.
privacyUrl stringnull Seller Privacy URL or stable API redirect for a PDF. Null when unset.
returnPolicyUrl stringnull Seller Return policy URL or stable API redirect for a PDF. Null when unset.
eulaUrl stringnull Seller EULA URL or stable API redirect for a PDF. Null when unset.
discount object Stored store-wide discount. Present after confirm saved a code. Omitted when none is applied.
externalInvoiceNumber stringnull
dueAt stringnull
status string
View JSON Schema on GitHub

JSON Schema

payments-ai-public-checkout-by-invoice-response-schema.json Raw ↑
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://artifacts.apis.io/payments-ai/json-schema/payments-ai-public-checkout-by-invoice-response-schema.json",
  "title": "PublicCheckoutByInvoiceResponse",
  "description": "Keyless invoice checkout. The order read plus the invoice number, due date, and status.",
  "x-generated": "2026-10-30",
  "x-method": "derived",
  "x-generator": "derive-json-schema.py",
  "x-source": "openapi/payments-ai-mor-openapi.json#/components/schemas/PublicCheckoutByInvoiceResponse",
  "type": "object",
  "required": [
    "orderId",
    "checkoutUrl",
    "currency",
    "amountDue",
    "recurringAmount",
    "billingPeriod",
    "periodLength",
    "trialPeriodDays",
    "items",
    "merchantId",
    "paymentMethodTypes",
    "customization",
    "websiteUrl",
    "termsUrl",
    "privacyUrl",
    "returnPolicyUrl",
    "eulaUrl",
    "externalInvoiceNumber",
    "dueAt",
    "status"
  ],
  "properties": {
    "orderId": {
      "type": "string"
    },
    "checkoutUrl": {
      "type": "string"
    },
    "currency": {
      "$ref": "#/$defs/SharedTypes.CurrencyCode"
    },
    "amountDue": {
      "allOf": [
        {
          "$ref": "#/$defs/SharedTypes.MoneyAmountValue"
        }
      ],
      "description": "Amount the buyer owes today, before tax."
    },
    "recurringAmount": {
      "type": [
        "number",
        "null"
      ],
      "allOf": [
        {
          "$ref": "#/$defs/SharedTypes.MoneyAmountValue"
        }
      ],
      "description": "Later renewal total. Null when the order has no recurring item."
    },
    "billingPeriod": {
      "allOf": [
        {
          "$ref": "#/$defs/PublicOrderBillingPeriod"
        }
      ],
      "nullable": true
    },
    "periodLength": {
      "type": [
        "integer",
        "null"
      ],
      "format": "int32"
    },
    "trialPeriodDays": {
      "type": [
        "integer",
        "null"
      ],
      "format": "int32"
    },
    "items": {
      "type": "array",
      "items": {
        "$ref": "#/$defs/PublicOrderItemResponse"
      }
    },
    "merchantId": {
      "type": "string"
    },
    "externalMerchantId": {
      "type": "string",
      "description": "Account id used to mount payment fields. Omitted when the merchant is not linked."
    },
    "externalPlanId": {
      "type": "string",
      "description": "Plan the trial starts on when amountDue is zero (e.g. trial-only orders). Payment fields then mount in setup mode to save the card, and confirm starts the trial on this plan. Present only while the order is open with nothing due today and the plan is linked."
    },
    "paymentMethodTypes": {
      "type": "array",
      "items": {
        "type": "string"
      },
      "description": "Enabled payment method types for this merchant. Empty when none are enabled."
    },
    "customization": {
      "$ref": "#/$defs/CheckoutCustomization"
    },
    "websiteUrl": {
      "type": [
        "string",
        "null"
      ],
      "description": "Merchant store URL from business settings (`merchants.url`). Null when not configured."
    },
    "termsUrl": {
      "type": [
        "string",
        "null"
      ],
      "description": "Seller Terms URL or stable API redirect for a PDF. Null when unset."
    },
    "privacyUrl": {
      "type": [
        "string",
        "null"
      ],
      "description": "Seller Privacy URL or stable API redirect for a PDF. Null when unset."
    },
    "returnPolicyUrl": {
      "type": [
        "string",
        "null"
      ],
      "description": "Seller Return policy URL or stable API redirect for a PDF. Null when unset."
    },
    "eulaUrl": {
      "type": [
        "string",
        "null"
      ],
      "description": "Seller EULA URL or stable API redirect for a PDF. Null when unset."
    },
    "discount": {
      "allOf": [
        {
          "$ref": "#/$defs/PublicCheckoutDiscount"
        }
      ],
      "description": "Stored store-wide discount. Present after confirm saved a code. Omitted when none is applied."
    },
    "externalInvoiceNumber": {
      "type": [
        "string",
        "null"
      ]
    },
    "dueAt": {
      "type": [
        "string",
        "null"
      ],
      "format": "date-time"
    },
    "status": {
      "type": "string"
    }
  },
  "$defs": {
    "CheckoutCustomization": {
      "type": "object",
      "properties": {
        "themeMode": {
          "$ref": "#/$defs/CheckoutThemeMode"
        },
        "backgroundColor": {
          "type": "string"
        },
        "buttonColor": {
          "type": "string"
        },
        "buttonTextColor": {
          "type": "string"
        },
        "fontColor": {
          "type": "string",
          "description": "Primary body/content text color for the merchant product panel."
        },
        "logoUrl": {
          "type": "string",
          "description": "Presigned URL resolved on the read side from the stored `logoPath` S3 key."
        },
        "logoExpiresAt": {
          "type": "string",
          "format": "date-time",
          "description": "ISO-8601 UTC expiry of `logoUrl`. Refresh the checkout context before this moment."
        },
        "fontFamily": {
          "$ref": "#/$defs/CheckoutFontFamily"
        },
        "inputStyle": {
          "allOf": [
            {
              "$ref": "#/$defs/CheckoutInputStyle"
            }
          ],
          "description": "Corner radius preset for checkout inputs (`rounded` maps to 8px, `square` to 0)."
        }
      }
    },
    "CheckoutFontFamily": {
      "type": "string",
      "enum": [
        "Inter",
        "Roboto"
      ]
    },
    "CheckoutInputStyle": {
      "type": "string",
      "enum": [
        "rounded",
        "square"
      ]
    },
    "CheckoutThemeMode": {
      "type": "string",
      "enum": [
        "light",
        "dark"
      ]
    },
    "PublicCheckoutDiscount": {
      "type": "object",
      "required": [
        "code",
        "discountAmount",
        "billingPeriod",
        "billingPeriodLength",
        "billingPeriodUnit"
      ],
      "properties": {
        "code": {
          "type": "string",
          "description": "Buyer-entered code stored on the order. Never the processor promo id."
        },
        "discountAmount": {
          "$ref": "#/$defs/SharedTypes.MoneyAmountValue"
        },
        "billingPeriod": {
          "type": "string",
          "description": "once | repeating | forever"
        },
        "billingPeriodLength": {
          "type": [
            "integer",
            "null"
          ],
          "format": "int32"
        },
        "billingPeriodUnit": {
          "type": [
            "string",
            "null"
          ]
        }
      }
    },
    "PublicOrderBillingPeriod": {
      "type": "string",
      "enum": [
        "day",
        "week",
        "month",
        "year"
      ]
    },
    "PublicOrderItemResponse": {
      "type": "object",
      "required": [
        "label",
        "unitPrice",
        "quantity",
        "lineTotal",
        "itemType"
      ],
      "properties": {
        "label": {
          "type": "string"
        },
        "unitPrice": {
          "$ref": "#/$defs/SharedTypes.MoneyAmountValue"
        },
        "quantity": {
          "type": "integer",
          "format": "int32",
          "minimum": 1
        },
        "lineTotal": {
          "$ref": "#/$defs/SharedTypes.MoneyAmountValue"
        },
        "itemType": {
          "$ref": "#/$defs/PublicOrderItemType"
        },
        "billingPeriod": {
          "$ref": "#/$defs/PublicOrderBillingPeriod"
        },
        "periodLength": {
          "type": "integer",
          "format": "int32",
          "minimum": 1
        }
      },
      "description": "One line on a payable checkout order. Recurring lines include cadence; one-time lines omit it."
    },
    "PublicOrderItemType": {
      "type": "string",
      "enum": [
        "one_time",
        "recurring"
      ]
    },
    "SharedTypes.CurrencyCode": {
      "type": "string",
      "pattern": "^[a-z]{3}$",
      "description": "ISO 4217 currency code. Always lowercase (e.g. 'usd', 'eur')."
    },
    "SharedTypes.MoneyAmountValue": {
      "type": "number",
      "format": "decimal",
      "description": "Decimal money amount for financial values."
    }
  }
}

Work with this as data

Every JSON Schema here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for schemas

4 MCP tools reach this
  • find_json_schemasBrowse and filter every JSON Schema in the catalog.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This JSON Schema
curl "https://apis.io/api/v1/json-schemas/payments-ai-public-checkout-by-invoice-response"
All schemas
curl "https://apis.io/api/v1/json-schemas?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.