Billing

Checkout

Actalink Billing provides a secure checkout experience for accepting payments in cryptocurrency. You can embed Checkout directly into your website or redirect customers to an Actalink-hosted checkout page.

Checkout supports both one-time payments and subscriptions, with flexible options to customize behavior (e.g., redirecting users to a success URL after payment completion).

To create and fetch the status of a Checkout Session, you need an API key, which can be generated from Acta Hub.


Sequence Flow

How Checkout Works

1. Client → Server

The client sends order details to your backend server.

Your server creates a Checkout Session by calling the Actalink API with the corresponding paylinkId.

The API responds with a Checkout Session object.

The server redirects the customer to the Checkout URL provided in the session.

5. Customer Interaction

  • The Checkout page is opened.
  • The customer completes the payment.

6. Redirect Back

After successful payment, the customer is redirected back to your application (e.g., a success_url).


Metadata Support

When creating a Checkout Session, you can include arbitrary key-value metadata.

  • Maximum of 50 metadata keys allowed per session.
  • Metadata is useful for validating and associating payments with internal business logic.
  • Example Use Cases
    • Attach the uuid of the user who initiated the checkout.
    • Store an internal order ID for reconciliation.
    • Include custom data that you want to receive in webhooks or when fetching the Checkout Session.
  • Metadata is Returned When
    • Fetching the Checkout Session status via API.
    • Receiving payment success notifications from webhooks.

Example Use Case

A user initiates a subscription purchase.
Your backend creates a Checkout Session with metadata:

{
  "metadata": {
    "user_uuid": "f3c9a2d0-8a4d-11ee-b9d1-0242ac120002",
    "plan_id": "pro_monthly",
    "internal_order_id": "ORD-120394"
  }
}

After payment completion, when validating the Checkout Session or handling a webhook, you can match the payment against your database records using the metadata.

On this page