Payments - Payment Links

A streamlined guide to our no-code payment solution.

Payment Links enable you to accept payments from your customers by generating a unique URL for a specific transaction. We manage the secure checkout environment and handle all sensitive payment data, minimizing your technical overhead.

The Payment Journey

  1. Request Payment Link: Send a request to our API; Super will return a unique link.
  2. Share with Customer: Send the URL to your customer via email, SMS, or your preferred digital channel.
  3. Secure Checkout: The customer enters their payment details in our protected, hosted environment.
  4. Return to Site: Once the transaction is processed, we redirect the customer to your designated success or failure URL.

Creating a Payment Link

Payment links can be created in two ways depending on your use case.

Via the Business Portal

Best for sales teams, ad-hoc payments, and one-off invoices - no code required.

  1. Log in to the Business Portal and navigate to Payment Links in the sidebar.
  2. Click Create in the top left.
  3. Fill in the payment details:
    • Amount (required) — enter the payment amount in pounds.
    • Your Reference (optional) — an internal reference such as an invoice number. Your customer will not see this.
    • Expires (optional) — set an expiry date after which the link can no longer be used.
    • Custom Fields (optional) — attach up to 10 additional key-value fields to store extra information against the payment link.
  4. Click Create Payment Link.
  5. Copy the generated link from the confirmation screen and share it with your customer.

Note: Payment links created via the Business Portal will redirect customers to your brand's website upon completion. Custom redirect URLs are only supported via the API.


Via the API

Best for automated workflows where you need full control over redirect URLs and request parameters.

The diagram below illustrates the full API integration flow.

Step 1: Request a Payment Link

Make a POST request to the /payment-links endpoint with the amount, reference, and your redirect URLs.

Request Example

curl --location 'https://api.superpayments.com/2025-11-01/payment-links' \
--header 'Content-Type: application/json' \
--header 'Accept: application/json' \
--header 'Authorization: YOUR_SUPER_SECRET_KEY' \
--data '{
  "brandId": "YOUR_BRAND_ID",
  "externalReference":"Order-123",
  "amountInMinorUnits": 5000, 
  "purpose": "PURCHASE",
  "successUrl":"https://www.example.com/success",
  "failureUrl":"https://www.example.com/failure",
  "cancelUrl":"https://www.example.com/cancel"
  }'
curl --location 'https://api.test.superpayments.com/2025-11-01/payment-links' \
--header 'Content-Type: application/json' \
--header 'Accept: application/json' \
--header 'Authorization: YOUR_SUPER_SECRET_KEY' \
--data '{
  "brandId": "YOUR_BRAND_ID",
  "externalReference":"Order-123",
  "amountInMinorUnits": 5000, 
  "purpose": "PURCHASE",
  "successUrl":"https://www.example.com/success",
  "failureUrl":"https://www.example.com/failure",
  "cancelUrl":"https://www.example.com/cancel"
  }'

Response Example

200 Payment Link Created
{
  "amountInMinorUnits": 5000,
  "brandId": "YOUR_BRAND_ID",
  "cancelUrl": "https://www.example.com/cancel",
  "createdAt": "2026-01-01T01:01:01.000Z",
  "expiresAt": null,
  "externalReference": "Payment Link Example",
  "failureUrl": "https://www.example.com/failure",
  "id": "8f255c5f-fdfc-4fa6-8642-297a17209234",
  "metadata": null,
  "paymentReferences": [],
  "purpose": "PURCHASE",
  "status": "UNPAID",
  "successUrl": "https://www.example.com/success",
  "updatedAt": "2026-01-01T01:01:01.000Z",
  "url": "https://link.test.superpayments.com/id/8f255c5f-fdfc-4fa6-8642-297a17209234"
}

Step 2: Share the Link with Your Customer

Pass the url from the response to your customer via email, SMS, or any digital channel.

Step 3: Customer Completes Payment

The customer is directed to the hosted payment link page where they enter their payment details. Super securely processes the transaction.

Step 4: Customer is Redirected

Once the payment is processed, the customer is redirected to your successUrl or failureUrl depending on the outcome.


Confirm the Payment Status

Important: Super does not send webhooks for Payment Links. To retrieve the final status you must poll our GET Payment Link endpoint using the payment link ID.

Request Example

curl --location 'https://api.superpayments.com/2025-11-01/payment-links/2826959b-3319-4f43-b1bb-e5adc7efaecb' \
--header 'Accept: application/json' \
--header 'Authorization: YOUR_SUPER_SECRET_KEY'
curl --location 'https://api.test.superpayments.com/2025-11-01/payment-links/2826959b-3319-4f43-b1bb-e5adc7efaecb' \
--header 'Accept: application/json' \
--header 'Authorization: YOUR_SUPER_SECRET_KEY'

Response Example

200 Payment Link Details
{
  "amountInMinorUnits": 5000,
  "brandId": "YOUR_BRAND_ID",
  "cancelUrl": "https://www.example.com/cancel",
  "createdAt": "2026-01-01T01:01:01.000Z",
  "expiresAt": "2026-01-01T01:01:01.000Z",
  "externalReference": "Order 123",
  "failureUrl": "https://www.example.com/failure",
  "id": "2826959b-3319-4f43-b1bb-e5adc7efaecb",
  "metadata": null,
  "paymentReferences": [],
  "purpose": "PURCHASE",
  "status": "UNPAID",
  "successUrl": "https://www.example.com/success",
  "updatedAt": "2026-01-01T01:01:01.001Z",
  "url": "https://link.test.superpayments.com/id/2826959b-3319-4f43-b1bb-123456643"
}

Payment Link Status Definitions

StatusDescription
UNPAIDThe link has been created but no successful payment has been processed.
PAIDThe transaction was successfully authorised and funds have been captured.
EXPIREDThe link has passed its expiry date and can no longer be used.