GOV.UK Pay · Schema

CreateCardPaymentRequest

The create payment request body

PaymentsGovernmentUKPublic SectorRESTPCI DSSRefundsRecurring PaymentsWebhooks

Properties

Name Type Description
agreement_id string The unique ID GOV.UK Pay automatically associated with a recurring payments agreement. Including `agreement_id` in your request tells the API to take this payment using the card details that are assoc
agreement_payment_type string When a standing order agreement transaction is initiated we have to include an initiated reason attribute.This can have a value of `instalment`, `recurring`, or `unscheduled`.We must have a `set_up_ag
amount integer Sets the amount the user will pay, in pence.
authorisation_mode string Sets how you intend to authorise the payment. Defaults to `web`. Payments created with `web` mode follow the [standard GOV.UK Pay payment journey](https://docs.payments.service.gov.uk/payment_flow/).
delayed_capture boolean You can use this parameter to [delay taking a payment from the paying user’s bank account](https://docs.payments.service.gov.uk/delayed_capture/#delay-taking-a-payment). For example, you might want to
description string A human-readable description of the payment you’re creating. Paying users see this description on the payment pages. Service staff see the description in the GOV.UK Pay admin tool
email string email
language string [Sets the language of the user’s payment page](https://docs.payments.service.gov.uk/optional_features/welsh_language) with an ISO-6391 Alpha-2 code of a supported language.
metadata object
moto boolean You can use this parameter to [designate a payment as a Mail Order / Telephone Order (MOTO) payment](https://docs.payments.service.gov.uk/moto_payments).
prefilled_cardholder_details object
reference string Associate a reference with this payment. `reference` is not unique - multiple payments can have identical `reference` values.
return_url string The URL [the paying user is directed to after their payment journey on GOV.UK Pay ends](https://docs.payments.service.gov.uk/making_payments/#choose-the-return-url-and-match-your-users-to-payments).
set_up_agreement string Use this parameter to set up an existing agreement for recurring payments. The `set_up_agreement` value you send must be a valid `agreement_id`.
View JSON Schema on GitHub

JSON Schema

CreateCardPaymentRequest.json Raw ↑
{
  "$schema": "http://json-schema.org/draft-07/schema#",
  "$id": "https://github.com/api-evangelist/gov-uk-pay/blob/main/json-schema/CreateCardPaymentRequest.json",
  "title": "CreateCardPaymentRequest",
  "type": "object",
  "description": "The create payment request body",
  "properties": {
    "agreement_id": {
      "type": "string",
      "description": "The unique ID GOV.UK Pay automatically associated with a recurring payments agreement. Including `agreement_id` in your request tells the API to take this payment using the card details that are associated with this agreement. `agreement_id` must match an active agreement ID. You must set `authorisation_mode` to `agreement` for the API to accept `agreement_id`.",
      "example": "abcefghjklmnopqr1234567890",
      "maxLength": 26,
      "minLength": 26
    },
    "agreement_payment_type": {
      "type": "string",
      "description": "When a standing order agreement transaction is initiated we have to include an initiated reason attribute.This can have a value of `instalment`, `recurring`, or `unscheduled`.We must have a `set_up_agreement` property or you set `authorisation_mode` to `agreement` for the API to accept the AgreementPaymentType.",
      "enum": [
        "instalment",
        "recurring",
        "unscheduled"
      ]
    },
    "amount": {
      "type": "integer",
      "format": "int32",
      "description": "Sets the amount the user will pay, in pence.",
      "example": 12000,
      "maximum": 10000000,
      "minimum": 0
    },
    "authorisation_mode": {
      "type": "string",
      "description": "Sets how you intend to authorise the payment. Defaults to `web`. Payments created with `web` mode follow the [standard GOV.UK Pay payment journey](https://docs.payments.service.gov.uk/payment_flow/). Paying users visit the `next_url` in the response to complete their payment. Payments created with `agreement` mode are authorised with an agreement for recurring payments. If you create an `agreement` payment, you must also send an active `agreement_id`. You must not send `return_url`, `email`, or `prefilled_cardholder_details` or your request will fail. Payments created with `moto_api` mode return an `auth_url_post` object and a `one_time_token`. You can use `auth_url_post` and `one_time_token` to send the paying user\u2019s card details through the API and complete the payment. If you create a `moto_api` payment, do not send a `return_url` in your request.",
      "enum": [
        "web",
        "agreement",
        "moto_api"
      ]
    },
    "delayed_capture": {
      "type": "boolean",
      "description": "You can use this parameter to [delay taking a payment from the paying user\u2019s bank account](https://docs.payments.service.gov.uk/delayed_capture/#delay-taking-a-payment). For example, you might want to do your own anti-fraud checks on payments, or check that users are eligible for your service. Defaults to `false`.",
      "example": false
    },
    "description": {
      "type": "string",
      "description": "A human-readable description of the payment you\u2019re creating. Paying users see this description on the payment pages. Service staff see the description in the GOV.UK Pay admin tool",
      "example": "New passport application",
      "maxLength": 255,
      "minLength": 0
    },
    "email": {
      "type": "string",
      "description": "email",
      "example": "[email protected]"
    },
    "language": {
      "type": "string",
      "description": "[Sets the language of the user\u2019s payment page](https://docs.payments.service.gov.uk/optional_features/welsh_language) with an ISO-6391 Alpha-2 code of a supported language.",
      "enum": [
        "en",
        "cy"
      ],
      "example": "en"
    },
    "metadata": {
      "$ref": "#/components/schemas/ExternalMetadata"
    },
    "moto": {
      "type": "boolean",
      "description": "You can use this parameter to [designate a payment as a Mail Order / Telephone Order (MOTO) payment](https://docs.payments.service.gov.uk/moto_payments).",
      "example": false
    },
    "prefilled_cardholder_details": {
      "$ref": "#/components/schemas/PrefilledCardholderDetails"
    },
    "reference": {
      "type": "string",
      "description": "Associate a reference with this payment. `reference` is not unique - multiple payments can have identical `reference` values.",
      "example": "12345",
      "maxLength": 255,
      "minLength": 0
    },
    "return_url": {
      "type": "string",
      "description": "The URL [the paying user is directed to after their payment journey on GOV.UK Pay ends](https://docs.payments.service.gov.uk/making_payments/#choose-the-return-url-and-match-your-users-to-payments).",
      "example": "https://service-name.gov.uk/transactions/12345",
      "maxLength": 2000,
      "minLength": 0
    },
    "set_up_agreement": {
      "type": "string",
      "description": "Use this parameter to set up an existing agreement for recurring payments. The `set_up_agreement` value you send must be a valid `agreement_id`.",
      "example": "abcefghjklmnopqr1234567890",
      "maxLength": 26,
      "minLength": 26
    }
  },
  "required": [
    "amount",
    "description",
    "reference",
    "return_url"
  ]
}