---
title: Payment Links
slug: payment-links
createdAt: 2022-05-16T20:36:10.000Z
---

A payment link is the simplest way to request payment from a customer. Here's how it works:

- Create a payment link by supplying a transaction amount (the amount you wish to request).
- Provide your submerchant ID. For operators, you can supply the submerchant ID of the account who should receive the transaction, for example a driver who has been allocated to a booking.
- Choose for us to send the payment link directly to your customer by SMS, or if you prefer you can send the URL to your customer via another channel.
- The customer can open the link using any web browser, on any device, and make payment by entering their payment details.
- You can view the status of a payment link by polling the API, or alternatively use our Webhooks feature to be notified programatically when a payment link is completed.

## API Operations

:::ApiMethodV2
```json
{
  "tab": "request",
  "url": "https://api.cabcard.services/v1/intents",
  "name": "Create a Payment Link",
  "method": "POST",
  "request": {
    "pathParameters": [],
    "queryParameters": [],
    "headerParameters": [],
    "bodyDataParameters": [
      {
        "kind": "required",
        "name": "saleAmount",
        "type": "Integer",
        "description": "Requested transaction amount in currency minor units (i.e. pence)"
      },
      {
        "kind": "required",
        "name": "submerchantId",
        "type": "String",
        "description": "Submerchant ID for the payment link"
      },
      {
        "kind": "optional",
        "name": "currency",
        "type": "string",
        "description": "Payment currency in ISO 4217 Alpha-3 format. Currently only GBP is supported."
      },
      {
        "kind": "optional",
        "name": "customerName",
        "type": "string",
        "description": "Name of your customer"
      },
      {
        "kind": "optional",
        "name": "customerPhoneNumber",
        "type": "string",
        "description": "Mobile phone number ofcustomer (E.164)"
      },
      {
        "kind": "optional",
        "name": "description",
        "type": "string",
        "description": "Describe what the payment request is for"
      },
      {
        "kind": "optional",
        "name": "reference",
        "type": "string",
        "description": "A reference code or number, useful for reconciliation purposes"
      },
      {
        "kind": "optional",
        "name": "sendCustomerSms",
        "type": "Boolean",
        "description": "Indicate whether you wish to sent the payment link to the customer via SMS. If you intend to provide the customer with the link directly, set this to false. "
      }
    ],
    "formDataParameters": []
  },
  "results": {
    "languages": [
      {
        "id": "f7xeRD6FrWj_HNpQ_FiBW",
        "code": "{\n  \"statusIsFinal\":false,\n  \"clientAccessUrl\":\"https://pay.cabcard.services/?p=int_l3bj84mc&t=c7e4a40c552e4cc6a9c872fc54198c91\",\n  \"clientAccessQrCode\":\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAOEAAADhCAAAAAAb2I2mAAACrElEQVR42u3bwXLqMAwF0P7/T7+37xD3XhuInTlZlQESHS9UWxI//55+/RASEhISEhISEhISEhISEhKeK/z5+/r14cuX45u+euPV1/qoCAkJzxBeJ6cXpF9xXAb4nltVMRMSEm4vvMx96TODoNM7p1EREhI+UHi5k3v1uTEz3R4SEhISXiTUKsmOt32EhITPElbPrOpF6V3uPQETEhJ+WPieKN/915er+oSEhJ8Txi3yq3pR8ODggLnBpAIhIeHnhEH+Cvpn43Z9eiCsYiEkJDxNOI43zXhV8boqTMUHR0JCwj2FQSZLC+R95Sjo8ne5mZCQcHdhf1ib3NgF65lu9ggJCc8Qzt5r7icZaZe//60GISHhQcJgBDFIe9XAT/DGes2bkJDwVuG4xJzWi6r9W7oIfT+OkJBwU+FK7blfhJXa+FJVn5CQ8FZhH/Q43mrCsa9Ozf63ICQkvFXYjxpXIVQBrr9LSEi4sbDaW6WZsT9Cjl8mJXpCQsI9heMbpvuyNAtWXf6+GE5ISLipcLJtHiTUKmWmaXSpf0hISHirMOinT04QdgM/f68nISHhkcJqI9aPPY9DDUrg3aISEhLuKUwbYUHBKWjerYwJEBISPkEYnPbSnPae/eDEIwkJCTcWpqmwn/+Z6JDVlW5CQsKDhH1XPk1x/dqlkwSEhIRHCpOEFfbY0w1gCk5mBQgJCc8RLo8zB5pgDGliNpuQkHBP4WTJeqV7H4DTbRohIeEZwip1VT+/6BtrVWuPkJDwNGHVIUu/Vg0BVUmWkJDwXOHk2FBft+7Ph2/KpYSEhE8RVs2xyaY/ISHh84XpDSbXqe/3ExISHiScLBUFlemgQ/aVXEpISHircGWIebnmPR4M+l5Vn5CQ8HPCR12EhISEhISEhISEhISEhISEZ1z/AUNjh4Bw0sgFAAAAAElFTkSuQmCC\",\n  \"receiptUrl\":null,\n  \"id\":\"int_l3bj84mc\",\n  \"customerSmsSent\":true,\n  \"customerEmailSent\":false,\n  \"saleAmount\":1259,\n  \"currency\":\"gbp\",\n  \"submerchantId\":\"sub_2t4dp89kja9fnf79\",\n  \"description\":\"Payment request for taxi journey\",\n  \"reference\":\"EXMPL-01\",\n  \"customerName\":\"John Smith\",\n  \"brandIdentifier\":\"sub_2t4dp89kja9fnf79\",\n  \"customerPhoneNumber\":\"+447763306128\",\n  \"gratuityAmount\":0,\n  \"gratuityEnabled\":true,\n  \"createdBy\":\"usr_4fsacblknri74u8\",\n  \"expiresAt\":\"2022-05-25T12:00:12.770Z\",\n  \"paymentFacilitatorId\":\"pfc_3q12hkjyo6478c\",\n  \"brand\":{\n    \"payeeName\":\"John Smith\",\n    \"smsSenderName\":\"Taxi Fleet\",\n    \"payeeAvatarUrl\":\"https://pay.cabcard.services/default-avatar.png\",\n    \"processorName\":\"CabCard Services (UK) Ltd\",\n    \"receiptContactInfo\":\"receipts@cabcard.services\",\n    \"receiptsBaseUrl\":\"https://receipts.cabcard.services\"\n  },\n  \"logs\":[\n    \"[2022-05-18T12:00:12.900Z] Created by: usr_4fsacblknri74u8\",\n    \"[2022-05-18T12:00:14.184Z] Customer SMS sent to: +447763306128\"\n  ],\n  \"updatedAt\":\"2022-05-18T12:00:14.184Z\",\n  \"createdAt\":\"2022-05-18T12:00:12.901Z\",\n  \"clientAccessToken\":\"c7e4a40c552e4cc6a9c872fc54198c91\",\n  \"status\":\"created\",\n  \"amount\":1259,\n  \"statusExplanation\":null,\n  \"customerIpAddress\":null,\n  \"customerIpInfo\":null,\n  \"customerDeviceInfo\":null,\n  \"customerEmailAddress\":null,\n  \"threeDSecureToken\":null,\n  \"cardToken\":null,\n  \"cardTokenType\":null,\n  \"transactionDetails\":null,\n  \"saleId\":null,\n  \"succeededAt\":null\n}",
        "language": "201",
        "customLabel": ""
      },
      {
        "id": "_8LDctW-lCx4mWbp2v6ud",
        "code": "{\n  \"name\":\"ValidationError\",\n  \"message\":\"Validation Failed\",\n  \"statusCode\":400,\n  \"error\":\"Bad Request\",\n  \"details\":[\n    {\n      \"saleAmount\":\"\\\"saleAmount\\\" is required\"\n    }\n  ]\n}",
        "language": "400",
        "customLabel": ""
      },
      {
        "id": "Ba2hChI-GsG71H_mEU6Ex",
        "code": "{\n  \"message\": \"Insufficient privileges.\"\n}",
        "language": "403",
        "customLabel": ""
      },
      {
        "id": "XxhW2ZZ_q_7Je87XRecVD",
        "code": "{\n  \"message\": \"Permisssion denied\"\n}",
        "language": "401",
        "customLabel": ""
      }
    ],
    "selectedLanguageId": "f7xeRD6FrWj_HNpQ_FiBW"
  },
  "examples": {
    "languages": [
      {
        "id": "V7kRxe9ElnZyIUsJZXTGB",
        "code": "const fetch = require('node-fetch');\n\nconst url = 'https://api.cabcard.services/v1/intents';\n\nconst body = {\n  \"saleAmount\": 1259,\n  \"currency\": \"gbp\",\n  \"submerchantId\": \"sub_2t4dp89kja9fnf79\",\n  \"description\": \"Payment request for taxi journey\",\n  \"reference\": \"EXMPL-01\",\n  \"customerName\": \"John Smith\",\n  \"brandIdentifier\": \"sub_2t4dp89kja9fnf79\",\n  \"customerPhoneNumber\": \"+447763306128\",\n  \"sendCustomerSms\": true,\n  \"expiryNaturalLanguage\": \"7 days\"\n};\n\nconst options = {\n  method: 'POST',\n  headers: {\n    Accept: 'application/json',\n  },\n  body: JSON.stringify(body),\n};\nfetch(url, options)\n  .then(res => res.json())\n  .then(json => console.log(json))\n  .catch(err => console.error('error:' + err));",
        "language": "nodejs",
        "customLabel": ""
      }
    ],
    "selectedLanguageId": "V7kRxe9ElnZyIUsJZXTGB"
  },
  "description": "Use this endpoint to create a payment link. You can optionally send it to your customer.\n\nThe only required parameters are: saleAmount and submerchantId. Note that transaction amounts should always be specified in currency minor units (for example pence).\n",
  "currentNewParameter": {
    "label": "Body Parameter",
    "value": "bodyDataParameters"
  },
  "hasTryItOut": false,
  "autoGeneratedAnchorSlug": "create-a-payment-link",
  "legacyHash": "kF-Hy6nW3cZ-hcVfQv7_C"
}
```
:::

Once created, you may wish to send the payment link directly to your customer (for example by embedding it within a message, email or invoice).&#x20;

Use the `clientAccessUrl` property for this. Alternatively, you can use the convenient `clientAccessQrCode` property, which is a QR code representation of the `clientAccessUrl`.

:::ApiMethodV2
```json
{
  "tab": "examples",
  "url": "https://api.cabcard.services/v1/intents/:id",
  "name": "Retrieve a payment link",
  "method": "GET",
  "request": {
    "pathParameters": [
      {
        "kind": "required",
        "name": "id",
        "type": "string",
        "description": "ID of the payment link to retrieve"
      }
    ],
    "queryParameters": [],
    "headerParameters": [],
    "bodyDataParameters": [],
    "formDataParameters": []
  },
  "results": {
    "languages": [
      {
        "id": "_pwAeQqsYPEMDvaA1POs7",
        "code": "{\n  \"statusIsFinal\":false,\n  \"clientAccessUrl\":\"https://pay.cabcard.services/?p=int_l3bj84mc&t=c7e4a40c552e4cc6a9c872fc54198c91\",\n  \"clientAccessQrCode\":\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAOEAAADhCAAAAAAb2I2mAAACrElEQVR42u3bwXLqMAwF0P7/T7+37xD3XhuInTlZlQESHS9UWxI//55+/RASEhISEhISEhISEhISEhKeK/z5+/r14cuX45u+euPV1/qoCAkJzxBeJ6cXpF9xXAb4nltVMRMSEm4vvMx96TODoNM7p1EREhI+UHi5k3v1uTEz3R4SEhISXiTUKsmOt32EhITPElbPrOpF6V3uPQETEhJ+WPieKN/915er+oSEhJ8Txi3yq3pR8ODggLnBpAIhIeHnhEH+Cvpn43Z9eiCsYiEkJDxNOI43zXhV8boqTMUHR0JCwj2FQSZLC+R95Sjo8ne5mZCQcHdhf1ib3NgF65lu9ggJCc8Qzt5r7icZaZe//60GISHhQcJgBDFIe9XAT/DGes2bkJDwVuG4xJzWi6r9W7oIfT+OkJBwU+FK7blfhJXa+FJVn5CQ8FZhH/Q43mrCsa9Ozf63ICQkvFXYjxpXIVQBrr9LSEi4sbDaW6WZsT9Cjl8mJXpCQsI9heMbpvuyNAtWXf6+GE5ISLipcLJtHiTUKmWmaXSpf0hISHirMOinT04QdgM/f68nISHhkcJqI9aPPY9DDUrg3aISEhLuKUwbYUHBKWjerYwJEBISPkEYnPbSnPae/eDEIwkJCTcWpqmwn/+Z6JDVlW5CQsKDhH1XPk1x/dqlkwSEhIRHCpOEFfbY0w1gCk5mBQgJCc8RLo8zB5pgDGliNpuQkHBP4WTJeqV7H4DTbRohIeEZwip1VT+/6BtrVWuPkJDwNGHVIUu/Vg0BVUmWkJDwXOHk2FBft+7Ph2/KpYSEhE8RVs2xyaY/ISHh84XpDSbXqe/3ExISHiScLBUFlemgQ/aVXEpISHircGWIebnmPR4M+l5Vn5CQ8HPCR12EhISEhISEhISEhISEhISEZ1z/AUNjh4Bw0sgFAAAAAElFTkSuQmCC\",\n  \"receiptUrl\":null,\n  \"id\":\"int_l3bj84mc\",\n  \"customerSmsSent\":true,\n  \"customerEmailSent\":false,\n  \"saleAmount\":1259,\n  \"currency\":\"gbp\",\n  \"submerchantId\":\"sub_2t4dp89kja9fnf79\",\n  \"description\":\"Payment request for taxi journey\",\n  \"reference\":\"EXMPL-01\",\n  \"customerName\":\"John Smith\",\n  \"brandIdentifier\":\"sub_2t4dp89kja9fnf79\",\n  \"customerPhoneNumber\":\"+447763306128\",\n  \"gratuityAmount\":0,\n  \"gratuityEnabled\":true,\n  \"createdBy\":\"usr_4fsacblknri74u8\",\n  \"expiresAt\":\"2022-05-25T12:00:12.770Z\",\n  \"paymentFacilitatorId\":\"pfc_3q12hkjyo6478c\",\n  \"brand\":{\n    \"payeeName\":\"John Smith\",\n    \"smsSenderName\":\"Taxi Fleet\",\n    \"payeeAvatarUrl\":\"https://pay.cabcard.services/default-avatar.png\",\n    \"processorName\":\"CabCard Services (UK) Ltd\",\n    \"receiptContactInfo\":\"receipts@cabcard.services\",\n    \"receiptsBaseUrl\":\"https://receipts.cabcard.services\"\n  },\n  \"logs\":[\n    \"[2022-05-18T12:00:12.900Z] Created by: usr_4fsacblknri74u8\",\n    \"[2022-05-18T12:00:14.184Z] Customer SMS sent to: +447763306128\"\n  ],\n  \"updatedAt\":\"2022-05-18T12:00:14.184Z\",\n  \"createdAt\":\"2022-05-18T12:00:12.901Z\",\n  \"clientAccessToken\":\"c7e4a40c552e4cc6a9c872fc54198c91\",\n  \"status\":\"created\",\n  \"amount\":1259,\n  \"statusExplanation\":null,\n  \"customerIpAddress\":null,\n  \"customerIpInfo\":null,\n  \"customerDeviceInfo\":null,\n  \"customerEmailAddress\":null,\n  \"threeDSecureToken\":null,\n  \"cardToken\":null,\n  \"cardTokenType\":null,\n  \"transactionDetails\":null,\n  \"saleId\":null,\n  \"succeededAt\":null\n}",
        "language": "200",
        "customLabel": ""
      },
      {
        "id": "22kDSSp5ngiCIAumVc6-y",
        "code": "{\n  \"message\": \"Payment Intent not found\"\n}",
        "language": "404",
        "customLabel": ""
      }
    ],
    "selectedLanguageId": "22kDSSp5ngiCIAumVc6-y"
  },
  "examples": {
    "languages": [
      {
        "id": "eL2LTTTdzWVSzV9pWzP0r",
        "code": "const fetch = require('node-fetch');\n\nlet url = 'https://api.cabcard.services/v1/intents/int_l3bj87hv';\nlet options = {\n  method: 'GET',\n  headers: {\n    Accept: 'application/json',\n  }\n};\nfetch(url, options)\n  .then(res => res.json())\n  .then(json => console.log(json))\n  .catch(err => console.error('error:' + err));",
        "language": "nodejs",
        "customLabel": ""
      }
    ],
    "selectedLanguageId": "eL2LTTTdzWVSzV9pWzP0r"
  },
  "description": "Get a payment link by its ID",
  "currentNewParameter": {
    "label": "Path Parameter",
    "value": "pathParameters"
  },
  "hasTryItOut": false,
  "autoGeneratedAnchorSlug": "retrieve-a-payment-link",
  "legacyHash": "_LGvLHoA1doz4aXXtBctM"
}
```
:::

:::ApiMethodV2
```json
{
  "tab": "request",
  "url": "https://api.cabcard.services/v1/intents/",
  "name": "List Payment Links",
  "method": "GET",
  "request": {
    "pathParameters": [],
    "queryParameters": [
      {
        "kind": "optional",
        "name": "limit",
        "type": "Number",
        "description": "Limit the number of responses to be returned"
      },
      {
        "kind": "optional",
        "name": "offset",
        "type": "Number",
        "description": "Offset the list start position. Use this to paginate results"
      },
      {
        "kind": "optional",
        "name": "submerchantId",
        "type": "string",
        "description": "Filter list by submerchant ID"
      },
      {
        "kind": "optional",
        "name": "status",
        "type": "string",
        "description": "Filter list by payment link status"
      },
      {
        "kind": "optional",
        "name": "amount",
        "type": "Number",
        "description": "Filter list by transaction amount (specify minor currency units)"
      },
      {
        "kind": "optional",
        "name": "reference",
        "type": "string",
        "description": "Filter list by payment link reference"
      }
    ],
    "headerParameters": [],
    "bodyDataParameters": [],
    "formDataParameters": []
  },
  "results": {
    "languages": [
      {
        "id": "ASYLc-qu5NyWNhKY7xgc3",
        "code": "[\n  {\n    \"statusIsFinal\":false,\n    \"clientAccessUrl\":\"https://pay.cabcard.services/?p=int_l3bj84mc&t=c7e4a40c552e4cc6a9c872fc54198c91\",\n    \"clientAccessQrCode\":\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAOEAAADhCAAAAAAb2I2mAAACrElEQVR42u3bwXLqMAwF0P7/T7+37xD3XhuInTlZlQESHS9UWxI//55+/RASEhISEhISEhISEhISEhKeK/z5+/r14cuX45u+euPV1/qoCAkJzxBeJ6cXpF9xXAb4nltVMRMSEm4vvMx96TODoNM7p1EREhI+UHi5k3v1uTEz3R4SEhISXiTUKsmOt32EhITPElbPrOpF6V3uPQETEhJ+WPieKN/915er+oSEhJ8Txi3yq3pR8ODggLnBpAIhIeHnhEH+Cvpn43Z9eiCsYiEkJDxNOI43zXhV8boqTMUHR0JCwj2FQSZLC+R95Sjo8ne5mZCQcHdhf1ib3NgF65lu9ggJCc8Qzt5r7icZaZe//60GISHhQcJgBDFIe9XAT/DGes2bkJDwVuG4xJzWi6r9W7oIfT+OkJBwU+FK7blfhJXa+FJVn5CQ8FZhH/Q43mrCsa9Ozf63ICQkvFXYjxpXIVQBrr9LSEi4sbDaW6WZsT9Cjl8mJXpCQsI9heMbpvuyNAtWXf6+GE5ISLipcLJtHiTUKmWmaXSpf0hISHirMOinT04QdgM/f68nISHhkcJqI9aPPY9DDUrg3aISEhLuKUwbYUHBKWjerYwJEBISPkEYnPbSnPae/eDEIwkJCTcWpqmwn/+Z6JDVlW5CQsKDhH1XPk1x/dqlkwSEhIRHCpOEFfbY0w1gCk5mBQgJCc8RLo8zB5pgDGliNpuQkHBP4WTJeqV7H4DTbRohIeEZwip1VT+/6BtrVWuPkJDwNGHVIUu/Vg0BVUmWkJDwXOHk2FBft+7Ph2/KpYSEhE8RVs2xyaY/ISHh84XpDSbXqe/3ExISHiScLBUFlemgQ/aVXEpISHircGWIebnmPR4M+l5Vn5CQ8HPCR12EhISEhISEhISEhISEhISEZ1z/AUNjh4Bw0sgFAAAAAElFTkSuQmCC\",\n    \"receiptUrl\":null,\n    \"id\":\"int_l3bj84mc\",\n    \"customerSmsSent\":true,\n    \"customerEmailSent\":false,\n    \"saleAmount\":1259,\n    \"currency\":\"gbp\",\n    \"submerchantId\":\"sub_2t4dp89kja9fnf79\",\n    \"description\":\"Payment request for taxi journey\",\n    \"reference\":\"EXMPL-01\",\n    \"customerName\":\"John Smith\",\n    \"brandIdentifier\":\"sub_2t4dp89kja9fnf79\",\n    \"customerPhoneNumber\":\"+447763306128\",\n    \"gratuityAmount\":0,\n    \"gratuityEnabled\":true,\n    \"createdBy\":\"usr_4fsacblknri74u8\",\n    \"expiresAt\":\"2022-05-25T12:00:12.770Z\",\n    \"paymentFacilitatorId\":\"pfc_3q12hkjyo6478c\",\n    \"brand\":{\n      \"payeeName\":\"John Smith\",\n      \"smsSenderName\":\"Taxi Fleet\",\n      \"payeeAvatarUrl\":\"https://pay.cabcard.services/default-avatar.png\",\n      \"processorName\":\"CabCard Services (UK) Ltd\",\n      \"receiptContactInfo\":\"receipts@cabcard.services\",\n      \"receiptsBaseUrl\":\"https://receipts.cabcard.services\"\n    },\n    \"logs\":[\n      \"[2022-05-18T12:00:12.900Z] Created by: usr_4fsacblknri74u8\",\n      \"[2022-05-18T12:00:14.184Z] Customer SMS sent to: +447763306128\"\n    ],\n    \"updatedAt\":\"2022-05-18T12:00:14.184Z\",\n    \"createdAt\":\"2022-05-18T12:00:12.901Z\",\n    \"clientAccessToken\":\"c7e4a40c552e4cc6a9c872fc54198c91\",\n    \"status\":\"created\",\n    \"amount\":1259,\n    \"statusExplanation\":null,\n    \"customerIpAddress\":null,\n    \"customerIpInfo\":null,\n    \"customerDeviceInfo\":null,\n    \"customerEmailAddress\":null,\n    \"threeDSecureToken\":null,\n    \"cardToken\":null,\n    \"cardTokenType\":null,\n    \"transactionDetails\":null,\n    \"saleId\":null,\n    \"succeededAt\":null\n  }\n]",
        "language": "200",
        "customLabel": ""
      }
    ],
    "selectedLanguageId": "ASYLc-qu5NyWNhKY7xgc3"
  },
  "examples": {
    "languages": [
      {
        "id": "tuO9I9TiG9lVS8VIGJeZU",
        "code": "fetch(\"https://api.cabcard.services/v1/intents\", {\n  \"method\": \"GET\",\n  \"headers\": {\n    \"Accept\": \"application/json\"\n  }\n})\n.then(response => {\n  console.log(response);\n})\n.catch(err => {\n  console.error(err);\n});",
        "language": "javascript",
        "customLabel": ""
      }
    ],
    "selectedLanguageId": "tuO9I9TiG9lVS8VIGJeZU"
  },
  "description": "List all payment links, optionally filtering the list",
  "currentNewParameter": {
    "label": "Query Parameter",
    "value": "queryParameters"
  },
  "hasTryItOut": false,
  "autoGeneratedAnchorSlug": "list-payment-links",
  "legacyHash": "4hmTDctDZXiwsJpZaU_CY"
}
```
:::

:::ApiMethodV2
```json
{
  "tab": "examples",
  "url": "https://api.cabcard.services/v1/intents/:id",
  "name": "Update a payment link",
  "method": "PATCH",
  "request": {
    "pathParameters": [
      {
        "kind": "required",
        "name": "id",
        "type": "string",
        "description": "ID of the payment link to update"
      }
    ],
    "queryParameters": [],
    "headerParameters": [],
    "bodyDataParameters": [
      {
        "kind": "optional",
        "name": "saleAmount",
        "type": "Integer",
        "description": "Payment amount in currency minor units e.g. pence"
      },
      {
        "kind": "optional",
        "name": "customerName",
        "type": "String",
        "description": "Customer name"
      },
      {
        "kind": "optional",
        "name": "description",
        "type": "string",
        "description": "Payment link description"
      },
      {
        "kind": "optional",
        "name": "reference",
        "type": "string",
        "description": "Payment link reference"
      },
      {
        "kind": "optional",
        "name": "currency",
        "type": "string",
        "description": "Payment currency in ISO 4217 Alpha-3 format. Currently only GBP is supported."
      }
    ],
    "formDataParameters": []
  },
  "results": {
    "languages": [
      {
        "id": "bvEIww-TojObhPjzypHSd",
        "code": "{\n  \"name\": \"Cake's name\",\n}",
        "language": "200",
        "customLabel": ""
      },
      {
        "id": "U6QscnMf5wds8B6Yi6uoV",
        "code": "{\n  \"message\": \"Payment Intent not found\"\n}",
        "language": "404",
        "customLabel": ""
      }
    ],
    "selectedLanguageId": "U6QscnMf5wds8B6Yi6uoV"
  },
  "examples": {
    "languages": [
      {
        "id": "18nI-0WG0_N8P9InlnRuT",
        "code": "",
        "language": "none",
        "customLabel": ""
      }
    ],
    "selectedLanguageId": "18nI-0WG0_N8P9InlnRuT"
  },
  "description": "This operation can only be carried out while the payment link is in allowed statuses, usually the 'created'",
  "currentNewParameter": {
    "label": "Body Parameter",
    "value": "bodyDataParameters"
  },
  "hasTryItOut": false,
  "autoGeneratedAnchorSlug": "update-a-payment-link",
  "legacyHash": "HoVdTDkFAQTxpSn4nhliF"
}
```
:::

:::ApiMethodV2
```json
{
  "tab": "examples",
  "url": "https://api.cabcard.services/v1/intents/:id/reset",
  "name": "Reset a payment link",
  "method": "PUT",
  "request": {
    "pathParameters": [
      {
        "kind": "required",
        "name": "id",
        "type": "string",
        "description": "Payment link ID"
      }
    ],
    "queryParameters": [],
    "headerParameters": [],
    "bodyDataParameters": [],
    "formDataParameters": []
  },
  "results": {
    "languages": [
      {
        "id": "LieqLhnjCRKyByuNZCPlB",
        "code": "",
        "language": "200",
        "customLabel": ""
      },
      {
        "id": "GwcSG2ReRHeVBD6EgNvo9",
        "code": "{\n  \"message\": \"Payment Intent not found\"\n}",
        "language": "404",
        "customLabel": ""
      }
    ],
    "selectedLanguageId": "LieqLhnjCRKyByuNZCPlB"
  },
  "examples": {
    "languages": [
      {
        "id": "42HGIeJ1AwOdmEJ94qgxD",
        "code": "const fetch = require('node-fetch');\n\nlet url = 'https://api.cabcard.services/v1/intents/:id/reset';\nlet options = {\n  method: 'PUT',\nheaders: {\n    Accept: 'application/json',\n  }\n};\nfetch(url, options)\n  .then(res => res.json())\n  .then(json => console.log(json))\n  .catch(err => console.error('error:' + err));",
        "language": "curl",
        "customLabel": ""
      },
      {
        "id": "WXHa5pQkvDveeadTLL7VX",
        "code": "fetch(\"https://api.cabcard.services/v1/intents/:id/reset\", {\n  \"method\": \"PUT\",\n  \"headers\": {\n    \"Accept\": \"application/json\"\n  }\n})\n.then(response => {\n  console.log(response);\n})\n.catch(err => {\n  console.error(err);\n});",
        "language": "nodejs",
        "customLabel": ""
      },
      {
        "id": "uASMsyHhG6XeKEY9G-Kzn",
        "code": "import requests\n\nurl = \"https://api.cabcard.services/v1/intents/:id/reset\"\nheaders = {\"Accept\": \"application/json\"}\nresponse = requests.request(\"GET\", url, headers=headers)\nprint(response.text)",
        "language": "javascript",
        "customLabel": ""
      },
      {
        "id": "r8iV0Euqay3CYciEdemSN",
        "code": "const fetch = require('node-fetch');\n\nlet url = 'https://api.cabcard.services/v1/intents/:id/reset';\nlet options = {method: 'PUT', headers: {Accept: 'application/json'}};\nfetch(url, options)\n  .then(res => res.json())\n  .then(json => console.log(json))\n  .catch(err => console.error('error:' + err));",
        "language": "python",
        "customLabel": ""
      },
      {
        "id": "a7X0dhwb9D6T9QYyjnLSO",
        "code": "const fetch = require('node-fetch');\n\nlet url = 'https://api.cabcard.services/v1/intents/:id/reset';\nlet options = {method: 'PUT', headers: {Accept: 'application/json'}};\nfetch(url, options)\n  .then(res => res.json())\n  .then(json => console.log(json))\n  .catch(err => console.error('error:' + err));",
        "language": "ruby",
        "customLabel": ""
      }
    ],
    "selectedLanguageId": "42HGIeJ1AwOdmEJ94qgxD"
  },
  "description": "Sometimes, a customer may get stuck when attempting a payment, for example due to 3DS problems. This function resets the authorization state of the payment link, allowing the customer to try agin.",
  "currentNewParameter": {
    "label": "Path Parameter",
    "value": "pathParameters"
  },
  "hasTryItOut": false,
  "autoGeneratedAnchorSlug": "reset-a-payment-link",
  "legacyHash": "40F6DupQ-Sj6Mh-qaRF_d"
}
```
:::

:::ApiMethodV2
```json
{
  "tab": "examples",
  "url": "https://api.cabcard.services/v1/intents/:id/cancellation",
  "name": "Cancel a payment link",
  "method": "PUT",
  "request": {
    "pathParameters": [
      {
        "kind": "required",
        "name": "id",
        "type": "string",
        "description": "Payment link ID"
      }
    ],
    "queryParameters": [],
    "headerParameters": [],
    "bodyDataParameters": [],
    "formDataParameters": []
  },
  "results": {
    "languages": [
      {
        "id": "LieqLhnjCRKyByuNZCPlB",
        "code": "",
        "language": "200",
        "customLabel": ""
      },
      {
        "id": "GwcSG2ReRHeVBD6EgNvo9",
        "code": "{\n  \"message\": \"Payment Intent not found\"\n}",
        "language": "404",
        "customLabel": ""
      }
    ],
    "selectedLanguageId": "GwcSG2ReRHeVBD6EgNvo9"
  },
  "examples": {
    "languages": [
      {
        "id": "MroyAOMolxV2ZEogWgbXI",
        "code": "curl --request PUT\n  --url https://api.cabcard.services/v1/intents/:id/cancellation\n  --header 'Accept: application/json'",
        "language": "curl",
        "customLabel": ""
      },
      {
        "id": "3BLNFMDY__UMkRwgWAFem",
        "code": "const fetch = require('node-fetch');\n\nlet url = 'https://api.cabcard.services/v1/intents/:id/cancellation';\nlet options = {\n  method: 'PUT',\nheaders: {\n    Accept: 'application/json',\n  }\n};\nfetch(url, options)\n  .then(res => res.json())\n  .then(json => console.log(json))\n  .catch(err => console.error('error:' + err));",
        "language": "nodejs",
        "customLabel": ""
      },
      {
        "id": "Jn2QamXlTly-JEDRXRVxd",
        "code": "fetch(\"https://api.cabcard.services/v1/intents/:id/cancellation\", {\n  \"method\": \"PUT\",\n  \"headers\": {\n    \"Accept\": \"application/json\"\n  }\n})\n.then(response => {\n  console.log(response);\n})\n.catch(err => {\n  console.error(err);\n});",
        "language": "javascript",
        "customLabel": ""
      },
      {
        "id": "Ku6dqCwsf0B4zLPRI6hSS",
        "code": "import requests\n\nurl = \"https://api.cabcard.services/v1/intents/:id/cancellation\"\nheaders = {\"Accept\": \"application/json\"}\nresponse = requests.request(\"GET\", url, headers=headers)\nprint(response.text)",
        "language": "python",
        "customLabel": ""
      },
      {
        "id": "JiN7SdiIFCRBu3Jyu_v0x",
        "code": "const fetch = require('node-fetch');\n\nlet url = 'https://api.cabcard.services/v1/intents/:id/cancellation';\nlet options = {method: 'PUT', headers: {Accept: 'application/json'}};\nfetch(url, options)\n  .then(res => res.json())\n  .then(json => console.log(json))\n  .catch(err => console.error('error:' + err));",
        "language": "ruby",
        "customLabel": ""
      }
    ],
    "selectedLanguageId": "MroyAOMolxV2ZEogWgbXI"
  },
  "description": "If you need to cancel a payment link (for example, if the price of a booking has changed and you wish to invalidate the payment request), use this operation. The customer will not be able to carry out a payment. This operation is only available if the payment link status is not final.",
  "currentNewParameter": {
    "label": "Path Parameter",
    "value": "pathParameters"
  },
  "hasTryItOut": false,
  "autoGeneratedAnchorSlug": "cancel-a-payment-link",
  "legacyHash": "-uZBxbr94MDcOPE2sf1wF"
}
```
:::

:::ApiMethodV2
```json
{
  "tab": "examples",
  "url": "https://api.cabcard.services/v1/intents/:id",
  "name": "Delete a payment link",
  "method": "DELETE",
  "request": {
    "pathParameters": [
      {
        "kind": "required",
        "name": "id",
        "type": "string",
        "description": "Payment link ID"
      }
    ],
    "queryParameters": [],
    "headerParameters": [],
    "bodyDataParameters": [],
    "formDataParameters": []
  },
  "results": {
    "languages": [
      {
        "id": "d8P-dLEzpr9BJKTcqXeOH",
        "code": "",
        "language": "204",
        "customLabel": ""
      },
      {
        "id": "GwcSG2ReRHeVBD6EgNvo9",
        "code": "{\n  \"message\": \"Payment Intent not found\"\n}",
        "language": "404",
        "customLabel": ""
      }
    ],
    "selectedLanguageId": "GwcSG2ReRHeVBD6EgNvo9"
  },
  "examples": {
    "languages": [
      {
        "id": "MroyAOMolxV2ZEogWgbXI",
        "code": "curl --request PUT\n  --url https://api.cabcard.services/v1/intents/:id/cancellation\n  --header 'Accept: application/json'",
        "language": "curl",
        "customLabel": ""
      },
      {
        "id": "3BLNFMDY__UMkRwgWAFem",
        "code": "const fetch = require('node-fetch');\n\nlet url = 'https://api.cabcard.services/v1/intents/:id/cancellation';\nlet options = {\n  method: 'PUT',\nheaders: {\n    Accept: 'application/json',\n  }\n};\nfetch(url, options)\n  .then(res => res.json())\n  .then(json => console.log(json))\n  .catch(err => console.error('error:' + err));",
        "language": "nodejs",
        "customLabel": ""
      },
      {
        "id": "Jn2QamXlTly-JEDRXRVxd",
        "code": "fetch(\"https://api.cabcard.services/v1/intents/:id/cancellation\", {\n  \"method\": \"PUT\",\n  \"headers\": {\n    \"Accept\": \"application/json\"\n  }\n})\n.then(response => {\n  console.log(response);\n})\n.catch(err => {\n  console.error(err);\n});",
        "language": "javascript",
        "customLabel": ""
      },
      {
        "id": "Ku6dqCwsf0B4zLPRI6hSS",
        "code": "import requests\n\nurl = \"https://api.cabcard.services/v1/intents/:id/cancellation\"\nheaders = {\"Accept\": \"application/json\"}\nresponse = requests.request(\"GET\", url, headers=headers)\nprint(response.text)",
        "language": "python",
        "customLabel": ""
      },
      {
        "id": "JiN7SdiIFCRBu3Jyu_v0x",
        "code": "const fetch = require('node-fetch');\n\nlet url = 'https://api.cabcard.services/v1/intents/:id/cancellation';\nlet options = {method: 'PUT', headers: {Accept: 'application/json'}};\nfetch(url, options)\n  .then(res => res.json())\n  .then(json => console.log(json))\n  .catch(err => console.error('error:' + err));",
        "language": "ruby",
        "customLabel": ""
      }
    ],
    "selectedLanguageId": "MroyAOMolxV2ZEogWgbXI"
  },
  "description": "If you need to delete a previously cancelled payment link, use this operation. This operation is only available if the payment link status is cancelled.",
  "currentNewParameter": {
    "label": "Path Parameter",
    "value": "pathParameters"
  },
  "hasTryItOut": false,
  "autoGeneratedAnchorSlug": "delete-a-payment-link",
  "legacyHash": "JLcBOsKsDBv165kfVocIK"
}
```
:::

:::ApiMethodV2
```json
{
  "name": "Capture payment link authorization",
  "method": "PUT",
  "url": "https://api.cabcard.services/v1/intents/:id/authorization/capture",
  "description": "Used for intents with manual capture mode",
  "tab": "examples",
  "examples": {
    "languages": [
      {
        "id": "XzVqkCF_O1HP-Z2HjJK-I",
        "language": "curl",
        "code": "curl --location --globoff --request PUT 'https://api.cabcard.services/v1/intents/:id/authorization/capture/{id}' \\\n--header 'Accept: application/json' \\\n--header 'Content-Type: application/json'",
        "customLabel": ""
      },
      {
        "id": "BTjsBlKWTfwuaBLbJqTC4",
        "language": "nodejs",
        "code": "var request = require('request');\nvar options = {\n   'method': 'PUT',\n   'url': 'https://api.cabcard.services/v1/intents/:id/authorization/capture/{id}',\n   'headers': {\n      'Accept': 'application/json',\n      'Content-Type': 'application/json'\n   }\n};\nrequest(options, function (error, response) {\n   if (error) throw new Error(error);\n   console.log(response.body);\n});\n",
        "customLabel": ""
      },
      {
        "id": "uIU-eoKEbj4wdGgoJ9kBM",
        "language": "javascript",
        "code": "var myHeaders = new Headers();\nmyHeaders.append(\"Accept\", \"application/json\");\nmyHeaders.append(\"Content-Type\", \"application/json\");\n\nvar requestOptions = {\n   method: 'PUT',\n   headers: myHeaders,\n   redirect: 'follow'\n};\n\nfetch(\"https://api.cabcard.services/v1/intents/:id/authorization/capture/{id}\", requestOptions)\n   .then(response => response.text())\n   .then(result => console.log(result))\n   .catch(error => console.log('error', error));",
        "customLabel": ""
      },
      {
        "id": "X0A7F98tMH_NqxdrzH-yi",
        "language": "python",
        "code": "import requests\nimport json\n\nurl = \"https://api.cabcard.services/v1/intents/:id/authorization/capture/{id}\"\n\npayload = {}\nheaders = {\n   'Accept': 'application/json',\n   'Content-Type': 'application/json'\n}\n\nresponse = requests.request(\"PUT\", url, headers=headers, data=payload)\n\nprint(response.text)\n",
        "customLabel": ""
      },
      {
        "id": "57Y2gblVys1MtIxy1i2OX",
        "language": "ruby",
        "code": "require \"uri\"\nrequire \"json\"\nrequire \"net/http\"\n\nurl = URI(\"https://api.cabcard.services/v1/intents/:id/authorization/capture/{id}\")\n\nhttps = Net::HTTP.new(url.host, url.port)\nhttps.use_ssl = true\n\nrequest = Net::HTTP::Put.new(url)\nrequest[\"Accept\"] = \"application/json\"\nrequest[\"Content-Type\"] = \"application/json\"\n\nresponse = https.request(request)\nputs response.read_body\n",
        "customLabel": ""
      }
    ],
    "selectedLanguageId": "uIU-eoKEbj4wdGgoJ9kBM"
  },
  "results": {
    "languages": [
      {
        "id": "niimBrxUG9JPzCpZSo1nR",
        "language": "200",
        "customLabel": "",
        "code": ""
      },
      {
        "id": "jYA3TSiIsmC6JTG9qcyoy",
        "language": "400",
        "code": "{\n  \"message\": \"Requested capture amount exceeds authorized amount\"\n}",
        "customLabel": ""
      },
      {
        "id": "mNRpCqToXD3uX5AeZMYlk",
        "language": "403",
        "code": "{\n  \"message\": \"Not permitted to capture authorization for this payment intent\"\n}",
        "customLabel": ""
      }
    ],
    "selectedLanguageId": "mNRpCqToXD3uX5AeZMYlk"
  },
  "request": {
    "pathParameters": [
      {
        "name": "id",
        "kind": "required",
        "type": "string",
        "description": "Payment link ID",
        "": "id"
      }
    ],
    "queryParameters": [],
    "headerParameters": [],
    "bodyDataParameters": [
      {
        "name": "amount",
        "kind": "optional",
        "type": "integer",
        "description": "Amount to capture. Must be equal to or below the authorized amount",
        "": "Amount to capture. Must be equal to or below the authorized amount"
      }
    ],
    "formDataParameters": []
  },
  "currentNewParameter": {
    "label": "Path Parameter",
    "value": "pathParameters"
  },
  "hasTryItOut": false,
  "autoGeneratedAnchorSlug": "capture-payment-link-authorization",
  "legacyHash": "5JyvGbnHzzeUL224dHOj2"
}
```
:::

