• Get started with Volt
  • API Docs
    • Payments Documentation
    • Verify Documentation
    • Global Payments API Documentation
  • Implementation
    • Fuzebox Your command and control centre
    • Gateway Your API integration starts here
    • Volt Accounts Cash management, refunds and payouts
    • Circuit Breaker Detect and prevent payment fraud
    • Verify Bank account ownership checks
    • Pay by Link Send secure payment links
    • Transformer Convert card payments to Volt
    • Reporter Generate and download as CSV
    • Matchmeter New Name matching using machine learning
    • Volt Worldwide
    • Brazil Accept payments using Pix
    • Australia (PayTo) Instant payments via the NPP
  • Plugins
    • Shopify
    • Shopware
    • See all
  • Branding
    • Volt brand assets Volt logo variations and our colour guide.
    • Checkout branding Usage specifications and localised assets.
  • Banks
  • Support
    • Shopper and Merchants Get answers to most questions
    • Volt Status Page
  • Login
  • Pay by Link
  • About Pay by Link
    • Example use case
    • Using our REST API
    • Generate links using the API
    • Using Fuzebox
    • Generate links from Fuzebox
    • Sharing your Pay by Link

Generate a link via the Volt API

Payment links can be requested from either the Sandbox or Production environments. We recommend starting with Sandbox, where you can choose one of the model or mock banks and test the end-to-end process without making real payments:

Authentication

Pay by Link uses Volt’s REST API.  See the authentication section of our developer documentation for details on how to obtain a token to access the Pay by Link endpoint.

Request body

  • For EU and UK checkouts
  • For AU checkout

This endpoint takes exactly the same request structure as Request payment – Request body | Volt Developer Hub. Please refer to this section of the developer documentation for further information.

POST /pay-by-link
{
   "currencyCode": "EUR",
   "amount": 100,
   "type": "BILL",
   "uniqueReference": "YourUniqueReference",
   "payer": {
       "reference": "payerreference"
   },
   "validityPeriod": 1440
}

Example successful response

HTTP 201
{
   "id": "d70cf67a-a4b2-449e-af9b-572e03609917",
   "checkoutUrl": "http://checkout.volt.io/d70cf67a-a4b2-449e-af9b-572e03609917?auth=jwtToken"
}

The response contains two attributes:

id This is a UUID we’ve generated for your payment request
checkoutUrl This is the link to the checkout that should be passed to your customer

 

This endpoint takes exactly the same request structure as Request payment – Request body | Volt Developer Hub. Please refer to the specific AU section of the developer documentation for further information.

POST /pay-by-link
{
   "currencyCode": "AUD",
   "amount": 100,
   "type": "OTHER",
   "uniqueReference": "YourUniqueReference",
   "additionalDescription": "Purchase for new shoes at Shoes.com - brand ABC",
   "shopper": {
       "reference": "payerreference",
       "firstName": "Firstname",
       "lastName": "Lastname"
   },
   "validityPeriod": 1440
}

Example successful response

HTTP 201
{
   "id": "d70cf67a-a4b2-449e-af9b-572e03609917",
   "checkoutUrl": "http://checkout.volt.io/d70cf67a-a4b2-449e-af9b-572e03609917?auth=jwtToken"
}

The response contains three attributes:

id This is a UUID we’ve generated for your payment request
checkoutUrl This is the link to the checkout that should be passed to your customer

 

Validity period of links

Setting a custom expiration time for your Pay By Link with the validityPeriod parameter is mandatory. Enter the desired validity in minutes. For instance, to make the link valid for 1 day, set validityPeriod to 1440 (24 hours * 60 minutes).

Minimum validity period

The minimum validity period we recommend is 5 min for Pix payments in Brazil and 30 minutes for Open Banking payments in the EU or UK.  

Status codes

Other status codes you could receive, for unsuccessful requests, are detailed in Request a Payment – Response

Share your payment link

The checkoutURL can be used directly in your customer communication channel (to create a link on an electronic invoice, in an email or SMS).  When the shopper clicks on the link they will be automatically taken to the checkout to finalise their payment.

You could also use the location provided in checkoutUrl to encode into a QR code for your customer to scan.

Testing your Pay by Link

In Sandbox mode, you should be able to test your Pay by Link by selecting one of our mock banks in the checkout.  We recommend you test for all relevant payment statuses to ensure that your system can cope with both successful and failed outcomes. 

Find out more about how to test payments

← Previous Example use case
Next → Generate links from Fuzebox
  • On this page
  • Generate a link via the Volt API
  • Share your payment link
  • Testing your Pay by Link

Copyright © 2025 Volt.

All rights reserved.

  • Volt
    • About
    • Careers
    • End User Terms
    • End User Privacy
  • Implementation
    • Fuzebox
    • Gateway
    • Global Payments API
    • Introduction to Volt Accounts
    • Circuit Breaker
    • Verify
  • Expansion
    • Brazil
  • Marketing
  • Need help?
    • Contact