Create a checkout link

Discover how to create a checkout link in your preferred base currency and be paid in the target cryptocurrency supported by the Speed platform API (currently only SATS). You can create checkout links without coding (via the web application) or programmatically (via the checkout links API).

A complete end-to-end flow for creating checkout links is provided below.

1600

Create checkout link via web application

Log in to your account and follow the steps below to create a checkout link.

  1. On the left sidebar, click Checkout Links.
  2. Click Create new.
  3. After clicking the Create new button, you are redirected to a Create page. Fill out the required details.
  4. Click the create checkout link button. This will redirect you to the detail page, where you can see the checkout link you created and its details.
  5. Now, share it and get paid.

Create checkout link via API

Create a checkout link using the /checkout-links endpoint and basic details such as amount, currency, statement descriptor, and others. In this example below, we'll show you how you can create a checkout link for your customer on a purchase of 200 USD.

Make a POST /checkout-links request specifying the following mandatory parameters.

  • amount
  • currency
{
            "currency": "USD",
            "amount": 200,
}

You can also include other optional parameters, for example, statement descriptor. If optional parameters are not specified, then the payment page will be rendered without a description.

Request parameters

Provide these basic information outlined in the table below:

ParameterRequiredTypeDescription
AmountBigDecimalThis is the total amount you intend to collect from the customer via the checkout link. Please add a positive value. Values up to 32 digits can be handled by the amount param, which can have a decimal precision up to 16 digits.
CurrencyStringIn this parameter, you must specify your preferred base currency (fiat or cryptocurrency) to create a checkout link. A three-lettered ISO-compliant currency name must be used. You can choose one of the 167 available currencies.
Statement descriptorStringCustomers need this information because it describes the purpose of payment. Keep this text brief and to the point. On the checkout page, this description will be visible.

More information can be found in our API reference.

Response attributes

Your response contains the following attributes:

{
  "id": "clink_f7kdppx23o2LJ8CZM",
  "object": "checkout.link",
  "livemode": true,
  "payment_id": null,
  "status": "active",
  "url": "https://checkout.tryspeed.com/pay/cs_test_l3l8gwrfDzPIdjme",
  "currency": "USD",
  "amount": 200,
  "target_currency": "SATS",
  "statement_descriptor": "payment to abc company",
  "created": 1652694517273,
  "modified": 1652694517273
}
Attributes

id string
Unique identifier for the object.


object string
The type of the object indicates to which entity this response belongs.


livemode boolean
If the object is in live mode, it has the value true; otherwise, it has the value false.


status string
A checkout link can have 3 statuses as mentioned below.

    unpaid
    The checkout link is unpaid after its generation until it is paid.
    paid
    The checkout link is already used and paid for by your customer.
    deactivated
    You can manually deactivate the checkout link (if not paid already) when you don't intend to get paid via it.


url string
The public URL that can be shared with customers to receive payments.


amount BigDecimal
Total amount for which the checkout link was created. Values up to 32 digits can be handled by the amount param, which can have a decimal precision up to 16 digits.


currency string
Your preferred currency (base currency) in which you want to create checkout link.


target_currency string
The cryptocurrency in which you want to receive payment from your customer. As of now, Speed only supports SATS.


ttl integer
Represents the time duration until which the checkout link’s payment has not expired. (Specified in milliseconds)


statement_descriptor string
Additional information about a payment made to an account via this checkout link.


created timestamp
Time at which the checkout link was created.


modified timestamp
Time at which the last modification was made.


Explore checkout link features

Deactivate a checkout link

After creating a checkout link, you can’t delete it. Instead, you can deactivate a checkout link by setting the status to deactivated. After deactivation, customers can no longer complete the payment using this link.

For a deactivated checkout link, upon clicking it redirects the customer to a deactivated page, notifying that they won't be able to make payment using this link. If the customer is already on the payment page when the checkout link is deactivated, they will be immediately redirected to a deactivated page.

Apply filters

While listing all of the checkout link details, you can apply multiple filters. More information is available here.

Track payments

You can check the payment outcome on your web application, which provides detailed insights. Alternatively, you can configure notification webhooks to receive payment updates. Learn more about Webhook subscriptions.

Before you begin

If you are planning only to use the checkout link without any other API integration, most of the time you only need to:

  • Sign up
  • Create a business account.

Before you begin integrating the checkout link, make sure you have completed the steps outlined below.

  • Get an overview of the steps needed to accept payments.
  • Confirm that you have the necessary API role-based permissions to create checkout links.

What’s next?

Test and go live:

  • We recommend testing each method before going live.