{
  "$schema": "http://json-schema.org/draft-07/schema#",
  "$id": "https://artifacts.apis.io/breezecash/json-schema/breezecash-create-payment-page-response-schema.json",
  "title": "CreatePaymentPageResponse",
  "x-generated": "2026-10-29",
  "x-method": "derived",
  "x-generator": "derive-json-schema.py",
  "x-source": "openapi/breezecash-breeze-api-openapi.yml#/components/schemas/CreatePaymentPageResponse",
  "type": "object",
  "properties": {
    "id": {
      "type": "string"
    },
    "merchant": {
      "type": "object",
      "properties": {
        "merchantId": {
          "type": "string"
        },
        "name": {
          "type": "string"
        },
        "wallet": {
          "type": "object",
          "properties": {
            "evmAddress": {
              "type": "string"
            },
            "solanaAddress": {
              "type": "string"
            }
          },
          "required": [
            "evmAddress",
            "solanaAddress"
          ]
        },
        "livemode": {
          "type": "boolean"
        },
        "regionCode": {
          "type": "string",
          "enum": [
            "US",
            "CA",
            "EU"
          ]
        },
        "checkoutSettings": {
          "type": "object",
          "properties": {
            "processingChannelIdLivemode": {
              "type": "string",
              "enum": [
                "pc_jlkqbuuu2svulf7jkiyw5m6w44",
                "pc_cjd2au72ozrelgqc2oi4pjpaoi",
                "pc_jplm2l7q77eunak5ngtyb7yqt4",
                "pc_nddjkfedyxienabgww2d7yqkwa"
              ]
            },
            "processingChannelIdTestmode": {
              "type": "string"
            }
          },
          "required": [
            "processingChannelIdTestmode"
          ]
        },
        "isGiftCardPayinEffective": {
          "type": "boolean"
        }
      },
      "required": [
        "merchantId",
        "name",
        "livemode"
      ]
    },
    "currency": {
      "type": "string",
      "enum": [
        "USD",
        "AUD",
        "CAD",
        "CHF",
        "DKK",
        "EUR",
        "GBP",
        "HKD",
        "JPY",
        "NOK",
        "NZD",
        "PLN",
        "SEK",
        "SGD",
        "TWD",
        "KRW",
        "SOL",
        "USDC",
        "USDT",
        "HONEY",
        "EURC"
      ],
      "description": "Presentment currency — the currency the user sees and pays with."
    },
    "amount": {
      "type": "number",
      "description": "Total amount the user sees and pays with, in presentment currency, minor units format (e.g. 10000 for $10.00)"
    },
    "source": {
      "type": "string",
      "enum": [
        "direct",
        "iap",
        "subscription",
        "card-verification",
        "consumer-onramp"
      ]
    },
    "lineItems": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "productId": {
            "type": "string"
          },
          "name": {
            "type": "string"
          },
          "currency": {
            "type": "string",
            "enum": [
              "USD",
              "AUD",
              "CAD",
              "CHF",
              "DKK",
              "EUR",
              "GBP",
              "HKD",
              "JPY",
              "NOK",
              "NZD",
              "PLN",
              "SEK",
              "SGD",
              "TWD",
              "KRW",
              "SOL",
              "USDC",
              "USDT",
              "HONEY",
              "EURC"
            ]
          },
          "amount": {
            "type": "number"
          },
          "price": {
            "type": "number"
          },
          "quantity": {
            "type": "number"
          },
          "description": {
            "type": "string"
          },
          "images": {
            "type": "array",
            "items": {
              "type": "string"
            }
          }
        },
        "required": [
          "name",
          "currency",
          "amount",
          "price",
          "quantity"
        ]
      }
    },
    "clientReferenceId": {
      "type": "string"
    },
    "successReturnUrl": {
      "type": "string"
    },
    "failReturnUrl": {
      "type": "string"
    },
    "fromChannel": {
      "type": "string"
    },
    "createdAt": {
      "type": "number"
    },
    "url": {
      "type": "string"
    },
    "clientSecret": {
      "type": "string"
    },
    "status": {
      "type": "string",
      "enum": [
        "UNPAID",
        "PAID",
        "EXPIRED",
        "CANCELED"
      ]
    },
    "isRecurring": {
      "type": "boolean",
      "deprecated": true
    },
    "billingEmail": {
      "type": "string"
    },
    "location": {
      "type": "object",
      "properties": {
        "country": {
          "type": "string"
        },
        "zipcode": {
          "type": "string"
        },
        "state": {
          "type": "string"
        },
        "latitude": {
          "type": "number"
        },
        "longitude": {
          "type": "number"
        }
      },
      "required": [
        "country"
      ]
    },
    "description": {
      "type": "string"
    },
    "expireAtSeconds": {
      "type": "number"
    },
    "disputeId": {
      "type": "string",
      "description": "Identifies the specific dispute whose state is mirrored onto this page. First-wins binding (mirrors refundId semantics): once set, subsequent disputes against the same page do NOT overwrite — only the dispute matching this id can update disputeStatus. Absent on pages that have never been disputed."
    },
    "disputeStatus": {
      "type": "string",
      "enum": [
        "new",
        "actionRequired",
        "ongoing",
        "partialWon",
        "won",
        "lost",
        "resolved",
        "canceled",
        "manuallyCanceled"
      ],
      "description": "Mirrors the status of the dispute identified by disputeId. Only updated when the upstream dispute's id matches page.disputeId. Absent on pages that have never been disputed."
    },
    "displayStatus": {
      "type": "string",
      "enum": [
        "UNPAID",
        "SUCCESSFUL",
        "REFUNDING",
        "REFUNDED",
        "DISPUTED",
        "EXPIRED",
        "CANCELED"
      ],
      "description": "Derived, user-facing status. Computed from (status, refundStatus, disputeStatus) via computeDisplayStatus(). Written on every state change to those inputs. Absent only on legacy pages predating the backfill."
    },
    "customer": {
      "type": "object",
      "properties": {
        "id": {
          "type": "string"
        },
        "referenceId": {
          "type": "string"
        },
        "email": {
          "type": "string"
        }
      },
      "required": [
        "id",
        "referenceId"
      ]
    },
    "integrationType": {
      "type": "string",
      "enum": [
        "HOSTED",
        "SERVER_TO_SERVER"
      ],
      "description": "Integration method: HOSTED (default for all existing pages) or SERVER_TO_SERVER. Absent on legacy documents — treat as HOSTED."
    },
    "threeDsMode": {
      "type": "string",
      "enum": [
        "MERCHANT_PROVIDED",
        "BREEZE_HOSTED"
      ],
      "description": "3DS mode for S2S payments: \"MERCHANT_PROVIDED\" or \"BREEZE_HOSTED\". Absent for hosted flows."
    }
  },
  "required": [
    "id",
    "merchant",
    "currency",
    "amount",
    "source",
    "createdAt",
    "url",
    "clientSecret",
    "status",
    "isRecurring"
  ],
  "definitions": {}
}