The checkout link object

Speed platform API brings you a range of core resources that you can integrate into your product such as checkout links, payments, payment link and many others. You can request a checkout link in your preferred base currency, in order to be paid in cryptocurrency supported by the Speed platform API (currently SATS only).

Checkout link API calls checkout session API to create a checkout link URL, which is used to accept one-time full payment until they are fully paid or deactivated. Checkout links are unique URLs that take your customer to a payment page. When a customer visits the checkout link URL, the payment page API is invoked in the background, which provides information such as payment QR code(BTC and lightning) and branding details. Before processing the payment, your customer must input their email address, phone number, billing address, and shipping address, if you have set them as true while creating a checkout link. You can also collect specific details through customizable "custom_fields" where you can add "custom_fields" specifying any of the input types, i.e., text, number, or options. If so, the customer needs to provide them in order for the QR to be shown to them before the payment is processed.

When you receive the full on-chain or lightning network payment, the checkout link status changes to paid. To ensure that you can receive both on-chain and lightning payments, remember to keep the “BTC On-chain” payment method enabled in payment methods in Speed web application.

{
  "id": "clink_xxxxxxxxxxxxxxxxxxx",
  "object": "checkout.link",
  "livemode": true,
  "payment_id": [
    "pi_xxxxxxxxxxxxxxxx",
    "pi_xxxxxxxxxxxxxxxx",
    "pi_xxxxxxxxxxxxxxxxxx"
  ],
  "status": "active",
  "url": null,
  "currency": "USD",
  "customer_collections_status":
  {
        "is_email_enabled": true,
        "is_phone_enabled": true,
        "is_billing_address_enabled": true,
        "is_shipping_address_enabled": true
    },
  "amount": 2000,
  "target_currency": "SATS",
  "statement_descriptor": null,
  "success_url": "https://www.tryspeed.com",
  "success_message": "Thank you for the payment",
  "title": "Donation",
  "title_description": "Joy of giving",
  "title_image": "https://23477318.fs1.hubspotusercontent-na1.net/hubfs/23477/office-600x400.jpg",
  "metadata": {
    "key_1": "value_1",
    "key_2": "value_2"
  },
  "cashback": {
    "id": "cb_xxxxxxxxxxxxxxxxx"
  },
  "custom_fields": [
        {
            "id": "cf_live_xxxxxxxxxx",
            "type": "dropdown",
            "label": "state",
            "options": [
                "California",
                "Texas",
                "Florida"
            ],
            "is_optional": false
        },
        {
            "id": "cf_live_xxxxxxxxxx",
            "type": "number",
            "label": "zip code",
            "is_optional": false
        },
        {
            "id": "cf_live_xxxxxxxxxx",
            "type": "text",
            "label": "Will you by our product again?",
            "is_optional": true
        }
    ],
  "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.


payment_id array of strings
Each payment made through a checkout link will have associated payment_ids. This is an array containing either a list of partial payment ids or a single payment_id.


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

  • active
  • The checkout link is active after its generation until it is paid or deactivated.
  • 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.


currency string
The base currency in which you prefer to work.


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.


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


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


success_url string
If the payment is successful, the customer will be redirected to this URL.


success_message string
Message customers will see when they make payment via their wallet. Success_url and success-message are mutually exclusive request parameters—only one of them can be used.


title string
This attribute represents the header or title of the payment page.


title_description string
This attribute represents additional information about your payment page.


title_image string
Represents a public URL consisting of an image illustrating the purpose of a payment page along with the title and description.

Users won't see the image on payment page if the image path is removed or deleted after the checkout link is created.


metadata object
You can use this to store additional information about the object in a structured format.


cashback object
You can use this parameter to associate an active cashback with a checkout link.

  • id string
  • Unique identifier for the cashback object.

customer_collections_status object
This object represents the options that need to be filled by the customer before processing the payment. These options can be email, phone number, billing address, or shipping address.

  • is_phone_enabled
  • If true customer needs to provide a phone number before processing the payment.
  • is_email_enabled
  • If true customer needs to provide an email address before processing the payment.
  • is_billing_address_enabled
  • If true customer needs to provide a billing address before processing the payment.
  • is_shipping_address_enabled
  • If true customer needs to provide a shipping address before processing the payment.

custom_fields array of objects
This attribute represents whether customize information from your customer needed or not during the payment process. Whether you need textual input, numerical data, or selections from a dropdown menu, this object empowers you to tailor the payment experience as per your unique requirement.


created timestamp
Time at which the checkout link was created.


modified timestamp
Time at which the last modification was made.