Skip to content

Create Link

Request

Used to send out a link via the Payment Links system

Set paymentLink.type to choose the flow:

  • line_items (default) — a standard payment flow. Provide the products in paymentLink.lineItems.
  • card_verification — performs a $0 authorization to confirm the card is valid and save it on file without charging it. These links take no lineItems, but require paymentLink.currency and a customer (a new inline customer or an existing one referenced by id).

Integration Methods:

  • Host Direct

See the Integration Methods and URLs Section sections of the Development Quick Start guide for details regarding each processing option.

Security
AccessToken
Headers
InterfaceVersionstring, <= 11 charactersrequired

Refers to the version of the program or application that is sending requests to Shift4. The following special characters are not allowed: $ % : ^ - ~ < > , ? “ ” ‘ ’ { } [ ] \ + =

Example:2.1
InterfaceNamestring, <= 25 charactersrequired

Refers to the name of the program or application that is sending requests to Shift4. This should be the name of the program that you purchased or created. The following special characters are not allowed: $ % : ^ - ~ ` < > , ? “ ” ‘ ’ { } [ ] \ + =

Example:ForwardPOS
CompanyNamestring, <= 26 charactersrequired

Refers to the vendor or partner that designed and certified the interface. The information you use in this field should match what Shift4 has on file or what was agreed upon in your Integration Plan. The following special characters are not allowed: $ % : ^ - ~ ` < > , ? “ ” ‘ ’ { } [ ] \ + =

Example:PAWS
AccessTokenstring, (uuid), <= 52 charactersrequired

A security credential used to authenticate API requests and all i4Go® authorizeClient/preauthorizeClient requests. An Access Token is the alias for the merchant account and interface being used. The Access Token is required in all requests except an Access Token Exchange request, which generates an Access Token using an authToken and clientGuid.

Example:EA79FB05-3AA7-4500-AF9A-73F986FF2C1D
Bodyapplication/jsonrequired
customerNew Customer (object) or Existing Customer (object)
One of:
metadataobject

Key-value object for storing additional custom data.

This is never displayed to customer on the payment page.

Examples: "order_id": "12345" "campaign_code": "SUMMER2025"

Example:
{ "order_id": "12345", "campaign_code": "SUMMER2025" }
POST
/paymentlinks/create
{ "paymentLink": { "type": "line_items" }, "customer": { "emailAddress": "john@example.com", "phoneCountry": "US", "phoneNumber": "+1 2345678901", "addressLine1": "65 Easy St", "firstName": "John", "middleName": "Andrew", "lastName": "Smith", "postalCode": "65144", "addressCity": "New York", "addressRegion": "NY", "addressCountry": "US" }, "metadata": { "order_id": "12345", "campaign_code": "SUMMER2025" } }

Responses

Request was processed

Bodyapplication/json
resultArray of objects
Response
{ "result": [ { "dateTime": "2024-05-21T09:18:23.283-07:00", "paymentLink": { "id": "link_8kdskX8DZ8FR6W3acYPXiyAN", "type": "line_items", "status": "active", "lastOpened": "2025-10-20T11:22:33.444Z", "lineItems": [], "currency": "USD", "url": "https://pay.shift4.com/link_8kdskX8DZ8FR6W3acYPXiyAN", "returnUrl": "string", "collectBillingAddress": true, "collectShippingAddress": true, "restrictions": {}, "notifications": {}, "staticFields": {}, "customFieldsTitle": "Additional information", "customFields": [], "locale": "auto", "vendorReference": "ref_123456789" }, "customer": { "id": "cust_oM1i4j7EsIY7W5vqqF76diGw", "emailAddress": "john@example.com", "phoneCountry": "US", "phoneNumber": "+1 2345678901", "addressLine1": "65 Easy St", "firstName": "John", "middleName": "Andrew", "lastName": "Smith", "postalCode": "65144", "addressCity": "New York", "addressRegion": "NY", "addressCountry": "US" }, "metadata": { "order_id": "12345", "campaign_code": "SUMMER2025" } } ] }