BillingIntentResult billing.intent-result@1

Generated at from openvibe-contracts v0.53.0 and openvibe-sdk v0.11.0.

Version
1.0.0
Owner
billing
Visibility
first-party
Status
active
Compatibility
backward
Schema
https://openvibe.network/contracts/billing/intent-result.v1.json

billing.intent-result@1: answers of billing.intent.create on OpenVibe.Billing. POST /api/v1/intents → { intent, checkout_url } (null when the provider has no hosted checkout); GET /api/v1/intents/:id → { intent }; POST /api/v1/intents/:id/capture → { result, intent } (the settlement the provider's capture produced).

Fields

FieldTypeRequiredDescriptionConstraints
intentbilling.intentyes
checkout_urlstring | null
resultanyCapture: what applying the provider's plan did.

Examples

From the contract's own test fixtures: valid ones validate, rejected ones must fail.

Valid: created
{
  "intent": {
    "id": "pi_01JAB2C3D4E5F6G7H8J9K0MNPX",
    "provider": "stripe",
    "provider_ref": "cs_test_a1",
    "kind": "purchase",
    "subject": {
      "type": "user",
      "id": "usr_01JAB2C3D4E5F6G7H8J9K0MNPQ"
    },
    "streamer": null,
    "amount_cents": 999,
    "fee_cents": 0,
    "bits": 1000,
    "route": null,
    "auto_renew": 0,
    "status": "created",
    "settled_txn": null,
    "created_at": "2026-09-25T18:00:00.000Z"
  },
  "checkout_url": "https://checkout.stripe.com/c/pay/cs_test_a1"
}
Rejected: no-intent
{
  "checkout_url": null
}

Validate

const contracts = require('openvibe-contracts');
contracts.validate('billing.intent-result@1', value);   // { valid, errors: [{ path, message }] }