T402 API Reference - v2.8.0
    Preparing search index...

    Function extractDiscoveryInfoV1

    • Extracts discovery info from v1 PaymentRequirements and transforms to v2 format

      In v1, the discovery information is stored in the outputSchema field, which contains both input (endpoint shape) and output (response schema) information.

      This function makes smart assumptions to normalize v1 data into v2 DiscoveryInfo format:

      • For GET/HEAD/DELETE: Looks for queryParams, query, or params fields
      • For POST/PUT/PATCH: Looks for bodyFields, body, or data fields and normalizes bodyType
      • Extracts optional headers if present

      Parameters

      • paymentRequirements: PaymentRequirementsV1

        V1 payment requirements

      Returns DiscoveryInfo

      Discovery info in v2 format if present and valid, or null if not discoverable

      const requirements: PaymentRequirementsV1 = {
      scheme: "exact",
      network: "eip155:8453",
      maxAmountRequired: "100000",
      resource: "https://api.example.com/data",
      description: "Get data",
      mimeType: "application/json",
      outputSchema: {
      input: {
      type: "http",
      method: "GET",
      discoverable: true,
      queryParams: { query: "string" }
      },
      output: { type: "object" }
      },
      payTo: "0x...",
      maxTimeoutSeconds: 300,
      asset: "0x...",
      extra: {}
      };

      const info = extractDiscoveryInfoV1(requirements);
      if (info) {
      console.log("Endpoint method:", info.input.method);
      }