Billing

On this page, we'll dive into the different billing endpoints you can use to manage billing and payments programmatically. We'll look at how to query, view, fund, and manage your account wallet and card(s) on file. It simplifies handling payments when accessing the ola.cv APIs via your AI agents.

The payment method model

The payment method model contains all the information about your account wallet and card(s) on file.

Properties

  • Name
    id
    Type
    string
    Description

    Unique identifier for the payment method.

  • Name
    type
    Type
    string
    Description

    The type of payment method as one of wallet, card or link (Stripe).

  • Name
    balance
    Type
    number
    Description

    The main balance if the payment method type is wallet.

  • Name
    bonus_balance
    Type
    number
    Description

    The complimentary or bonus balance if the payment method type is wallet. Complimentary wallet balances cannot be used for the registration or renewal of premium domain names.

  • Name
    currency
    Type
    string
    Description

    The currency of the balances if the payment method type is wallet.

  • Name
    brand
    Type
    string
    Description

    The brand display name if the payment method type is card.

  • Name
    expiry_month
    Type
    string
    Description

    The expiration month if the payment method type is card.

  • Name
    expiry_year
    Type
    string
    Description

    The expiration year if the payment method type is card.

  • Name
    last_four_digits
    Type
    string
    Description

    The last four digits if the payment method type is card.

  • Name
    email
    Type
    string
    Description

    The associated email if the payment method type is link.

  • Name
    updated_at
    Type
    timestamp
    Description

    Timestamp of when the payment method was last updated.


GET/api/v1/payment-methods

List all payment methods

This endpoint allows you to retrieve a paginated list of all your payment methods (wallet, card or link). By default, a maximum of 20 payment methods are shown per page.

Optional attributes

  • Name
    page
    Type
    integer
    Description

    The page to retrieve payment method records for.

  • Name
    per_page
    Type
    integer
    Description

    The number of records to retrieve per page.

Request

GET
/api/v1/payment-methods
curl https://ola.cv/api/v1/payment-methods \
-H 'Accept: application/json' \
-H 'Authorization: Bearer {token} \
-H 'Content-Type: application/json'

Response

{
  "data": [
    {
      "id": "435141188682608640",
      "type": "wallet",
      "balance": 582.5,
      "bonus_balance": 0,
      "currency": "USD",
      "expiry_month": null,
      "expiry_year": null,
      "last_four_digits": null,
      "brand": null,
      "email": null,
      "updated_at": "2026-05-13T12:16:46.000000Z"
    },
    {
      "id": "400336825089642496",
      "type": "card",
      "balance": null,
      "bonus_balance": null,
      "currency": null,
      "expiry_month": 8,
      "expiry_year": 2027,
      "last_four_digits": '4242',
      "brand": 'visa',
      "email": null,
      "updated_at": "2025-08-25T08:36:49.000000Z"
    },
    {
      "id": "444850153417781248",
      "type": "link",
      "balance": null,
      "bonus_balance": null,
      "currency": null,
      "expiry_month": null,
      "expiry_year": null,
      "last_four_digits": null,
      "brand": 'stripe',
      "email": 'john@example.com',
      "updated_at": "2026-05-12T13:15:41.000000Z"
    }
  ],
  "message": "Payment methods retrieved successfully."
}

GET/api/v1/payment-methods/new

Add a payment method

This endpoint allows you to add a new payment method or card to your account. It returns a secure setup URL you or your agent can visit in the browser to add a new card.

Request

GET
/api/v1/payment-methods/new
curl https://ola.cv/api/v1/payment-methods/new \
    -H 'Accept: application/json' \
    -H 'Authorization: Bearer {token} \
    -H 'Content-Type: application/json'

Response

{
  "data": {
    "setup_url": "https://checkout.stripe.com/c/pay/xxxxxxxxxxxxxxxxx"
  },
  "message": "Add a new card at the included setup url."
}

GET/api/v1/payment-methods/fund-wallet

Fund wallet

This endpoint allows you to fund your account wallet. It returns a secure top-up URL you or your agent can visit in the browser to fund your account wallet.

Request

GET
/api/v1/payment-methods/fund-wallet
curl https://ola.cv/api/v1/payment-methods/fund-wallet \
    -H 'Accept: application/json' \
    -H 'Authorization: Bearer {token} \
    -H 'Content-Type: application/json'

Response

{
  "data": {
    "id": "435141188682608640",
    "type": "wallet",
    "balance": 582.5,
    "bonus_balance": 10.5,
    "currency": "USD",
    "topup_url": "https://buy.stripe.com/xxxxxxxxxxxxxxxx",
    "updated_at": "2026-05-13T12:16:46.000000Z"
  },
  "message": "Fund wallet at the included top-up url."
}

GET/api/v1/payment-methods/:id

Retrieve a payment method

This endpoint allows you to retrieve a payment method by providing the method ID. Refer to the list at the top of this page to see which properties are included with payment method objects.

Request

GET
/api/v1/payment-methods/400336825089642496
curl https://ola.cv/api/v1/payment-methods/400336825089642496 \
  -H 'Accept: application/json' \
  -H 'Authorization: Bearer {token} \
  -H 'Content-Type: application/json'

Response

{
  "data": {
    "id": "400336825089642496",
    "type": "card",
    "balance": null,
    "bonus_balance": null,
    "currency": null,
    "expiry_month": 8,
    "expiry_year": 2027,
    "last_four_digits": '4242',
    "brand": 'visa',
    "email": null,
    "updated_at": "2025-08-25T08:36:49.000000Z"
  },
  "message": "Payment method retrieved successfully."
}

DELETE/api/v1/payment-methods/:id

Delete a payment method

This endpoint allows you to delete a payment method. Note: This will permanently delete the card or link. You are not allowed to delete an account wallet.

Request

DELETE
/api/v1/payment-methods/400339050289963008
curl https://ola.cv/api/v1/payment-methods/400339050289963008 \
-H 'Accept: application/json' \
-H 'Authorization: Bearer {token}' \
-H 'Content-Type: application/json' \
-X DELETE

Response

{
  "data": {
    "id": "400339050289963008"
  },
  "message": "Payment method deleted successfully."
}

Was this page helpful?