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.

Integration Guide

Follow the steps below to execute an example request, handle the response, and manage the customer redirect.

Create a Payment Link

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"
}

Redirect the customer

Use the url provided in the API response to direct the customer to our secure hosted payment link page.

Confirm the payment status

Once the transaction is complete, the customer is redirected to your designated success or failure URL. We will simultaneously trigger a Payment Status Webhook, providing the final outcome in the transactionStatus field.

Payment Link Status Definitions

The status field will return one of the following values:

  • PAID - The transaction was successfully authorized and the funds have been captured.
  • UNPAID - A successful transaction has not yet been processed.

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"
}

Handle Post-Payment Events

Automate your backend processes by listening for real-time transaction updates.

Automate Order Fulfillment

Set up a webhook to handle post-payment events sent by Super. These notifications ensure your system is updated with the final payment status even if the customer closes their browser or leaves the page before the frontend callback completes.

Why Use Webhooks?

Listening to these asynchronous events is essential for a robust integration. It ensures your system stays in sync for all payment methods—including those that require external authentication.

Tip: For more details on setting up webhooks, check out our Webhook Documentation.