Quick start
Read this section to learn about what to do to get started with GOV.UK Pay.
Before you start
Before you start using GOV.UK Pay, you should:
- read how to get started and decide if GOV.UK Pay is right for your service
- sign up to the GOV.UK Pay admin tool
- create a service in the GOV.UK Pay admin tool
- read the GOV.UK Service Manual guidance on deploying new software
Decide how you want to take payments
There are 2 ways you can take payments with GOV.UK Pay:
- integrate with the GOV.UK Pay API
- set up a payment link
Integrate with the API
If you want to build a technical integration between your service and the GOV.UK Pay API, your service team should have the necessary skills.
You can refer to the GOV.UK Service Manual for more information.
You can generate a client library from our OpenAPI file using Swagger Editor. This may be an easier way for you to integrate your service with GOV.UK Pay than writing a client library from scratch.
Read our documentation on integrating with the API for more information. Read our API reference for an index of everything the GOV.UK API can do.
Set up a payment link
Payment links are individual pages for taking online payments.
To set up a payment link, create an account or sign in to the admin tool.
The GOV.UK Pay API
The GOV.UK Pay API is based on REST principles with endpoints returning data in JSON format, and standard HTTP error response codes. Our API lets you:
- begin and complete payments
- view the event history for individual payments
- view transactions, refunds, and disputes within a specified time period
- issue full or partial refunds
- create agreements to take recurring payments
You’ll be able to create API keys for 2 different accounts. These are your:
- test account, for testing the GOV.UK Pay API and your service
- live account, for taking payments from your users after you switch to live
If your payment service provider (PSP) is Stripe, you can get a Stripe test account to see how transaction fees and payments to your bank account work.
When you’ve signed up for a test account, follow these instructions to get started with our API and make a test API request.
Test the API
Create a test API key
Sign in to the GOV.UK Pay admin tool with the test account login details you received.
Select your account.
Select Settings, then API keys.
Select Create a new API key.
Make sure you keep your API keys safe.
Make a test API request
You can make test API requests to GOV.UK Pay, using your test API key for authentication.
You can use API testing tools such as Bruno to make test API requests.
This is an example API request and request body to create a new payment for a passport application:
POST /v1/payments
{
"amount": 12000,
"reference": "12345",
"description": "New passport application",
"return_url": "https://service-name.gov.uk/transactions/12345"
}
Services that use test accounts can optionally use HTTP, rather than HTTPS, for return URLs.
If the test request is successful, you will receive a 201 Created
response with
a JSON body.
The JSON includes a next_url
link. This URL is where your service should
redirect your user for them to make their payment.
Read more about taking payments.
Simulate your users’ payment journey
Go to the next_url
with a browser, and you’ll see the payment screen.
Choose a mock card number and
enter it to simulate a payment in the test environment. For the other required
details, enter some test information which should have:
an expiry date that is in the future and in the format MM/YYYY or MM/YY
a valid postcode
Submit the payment.
View transactions at GOV.UK Pay admin tool
Select an account in the GOV.UK Pay admin tool, then select Transactions.
You can also view test transactions using the API.