{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://artifacts.apis.io/farofinance-app/json-schema/farofinance-app-payment-intent-in-schema.json",
  "title": "PaymentIntentIn",
  "description": "Body for `POST /v1/verify/payment-intent` (verify-before-pay adapter).",
  "x-generated": "2026-11-08",
  "x-method": "derived",
  "x-generator": "derive-json-schema.py",
  "x-source": "openapi/_original/farofinance-app-api-openapi.json#/components/schemas/PaymentIntentIn",
  "properties": {
    "protocol": {
      "$ref": "#/$defs/PaymentProtocol",
      "description": "Payment protocol context (`ap2`, `x402`, or `acp`)."
    },
    "merchant": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "title": "Merchant",
      "description": "Merchant/counterparty name from mandate/checkout metadata."
    },
    "payee": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "title": "Payee",
      "description": "Direct payee identifier, if available."
    },
    "recipient": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "title": "Recipient",
      "description": "Recipient identifier (common in x402/ACP flows)."
    },
    "resource_url": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "title": "Resource Url",
      "description": "Resource URL associated with the paywall or checkout."
    },
    "resource_domain": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "title": "Resource Domain",
      "description": "Resource domain when only a host/domain is known."
    },
    "region": {
      "anyOf": [
        {
          "type": "string",
          "maxLength": 2,
          "minLength": 2
        },
        {
          "type": "null"
        }
      ],
      "title": "Region",
      "description": "Optional ISO 3166-1 alpha-2 region hint used only for bare phone-label disambiguation in payee checks."
    }
  },
  "type": "object",
  "required": [
    "protocol"
  ],
  "$defs": {
    "PaymentProtocol": {
      "type": "string",
      "enum": [
        "ap2",
        "x402",
        "acp"
      ],
      "title": "PaymentProtocol"
    }
  }
}