Modifying Paylinks

Learn how to make changes to Paylinks you have already created

Overview

You can always modify a Payment Request that you've created. This is great if you need to add, remove, or modify items in the request itself.

🚧

Important!

You may only make a change to a Paylink when it's in an Created, Opened, or Sent status.

To check the status of a Paylink, please see Looking Up Paylinks

Note: Every time a user clicks on Paylink, a new order is created. So when a merchant modifies a Paylink, the expectation is that they’re either resending that to the customer or notifying them to reopen the link. An existing order would not be updated.

API Request

👍

This endpoint uses API Key Authentication

Check out our API KEY Authentication Section to learn more

The Paylink endpoint uses paylinkId which was provided in the response body when you created a PayLink.

To update a payment request, send an API call to:

Staging: PATCH https://paylinks.staging.skipify.com/{paylinkId}

Production: PATCH https://paylinks.skipify.com/{paylinkId}

Request Body Parameters

Parameter Name

Required?

Type

Description

shipping

no

integer, nullable

This is the amount of shipping for the Paylink. The last two digits are cents, so $20.50 would be sent as 2050

tax

no

integer, nullable

This is the amount of tax for the Paylink. The last two digits are cents, so $20.50 would be sent as 2050

memo

no

string, 255 char

A generic field to allow you to add more information on the specific usage of this Paylink. This will be displayed to the customer.

description

no

string, 255 char

A generic field to allow you to add more information on the specific usage of this Paylink. This will be displayed to the customer.

expiration

no

dateTime string, nullable

This is an optional parameter you can use to set an expiry on the Payment Request.

Use the format:
yyyy-MM-ddTHH:mm:ss.SSSZ

Ex:
`2022-06-02T21:48:02.000Z

lineItems

no

object

See Below - when the request contains lineItems, it will completely replace the existing ones in the paylink and create new from the modify request. It is recommended to pass all parameters in lineItems from the original create request, even if they have the same values, if you want to modify the price, for example.
You must include sku and price at a minimum if you include lineItems.

lineItems Parameters

Parameter Name

Required?

Type

Description

sku

yes

string

The merchant's product identifier of the item. This is not visible to the customer. Max 255 char.

quantity

no

integer

The quantity of the item being sold. If null, this is defaulted to 1.

price

yes

integer

The price of the item. The last two digits are cents, so $20.50 would be sent as 2050.

  • If you want to add a Discount to a Paylink, pass a negative 'price' ie. '-250' and an appropriate 'description'

tax

no

integer

The tax of an individual item. The last two digits are cents.

description

no

string

The description of the item being sold. This will be displayed to the customer.
Examples: Anchovy Pizza, New Balance 650, etc. Max 255 char.

category

no

string

The category of the product or service being sold for the merchant's own tracking purposes. This is not visible to the customer.

metadata

no

Object, nullable

You can use this parameter to attach key-value data (string, string) to your API call. The purpose of this parameter is to allow you to store additional, structured information to your Paylink.

We allow for up to 10 keys, with names up to 40 characters and values up to 100 characters

Be sure to not include any personally identifiable information here!

String, boolean, or number allowed as values.

Request Body Example

{
  "shipping": 0,
  "tax": 0,
  "memo": "string",
  "description": "string",
  "expiration": "2026-08-10T22:31:36.684Z",
  "lineItems": [
    {
      "sku": "string",
      "quantity": 1,
      "price": 10000,
      "tax": 99,
      "description": "string",
      "category": "string",
      "metadata": {
        "additionalProp1": {}
      }
    }
  ]
}
🚧

Important

Changes to shipping and tax are based on currency code assignment when creating a Paylink

API Response

Response Body Parameters

A successful response will return the Paylink parameters in your original create request, reflecting the changes made in this request.

Response Body Example

{
  "paylinkId": "string",
  "link": "string",
  "shortLink": "string",
  "currencyCode": "string",
  "memo": "string",
  "description": "string",
  "sendEmail": true,
  "sendSms": true,
  "expiration": "2023-08-10T22:31:36.725Z",
  "createdAt": "2023-08-10T22:31:36.725Z",
  "updatedAt": "2023-08-10T22:31:36.725Z",
  "merchantId": "string",
  "merchantInvoiceId": "string",
  "orderId": "string",
  "tax": null,
  "shipping": null,
  "subTotal": 1,
  "total": 1,
  "orderTotal": null,
  "approvedAmount": null,
  "status": "CREATED",
  "customer": {
    "email": "[email protected]",
    "phone": "7014734135",
    "firstName": "string",
    "lastName": "string",
    "paylinkCustomerId": "string"
  },
  "customerConsent": true,
  "lineItems": [
    {
      "sku": "string",
      "quantity": 1,
      "price": 1,
      "tax": 0,
      "description": "string",
      "category": "string",
      "metadata": {
        "additionalProp1": {}
      },
      "paylinkId": "string",
      "paylinkItemId": "string",
      "createdAt": "2023-08-10T22:31:36.725Z",
      "updatedAt": "2023-08-10T22:31:36.725Z"
    }
  ],
  "deliveryLogs": [
    {
      "deliveryLogId": "string",
      "paylinkId": "string",
      "deliveryMethod": "EMAIL",
      "status": "NOT_SENT",
      "messageId": "string",
      "createdAt": "2023-08-10T22:31:36.725Z",
      "updatedAt": "2023-08-10T22:31:36.725Z"
    }
  ],
  "metadata": {
    "additionalProp1": {}
  },
  "openOrders": [
    {
      "paylinkId": "226af40b-6c4d-41b5-b4f7-3b2444ebdd25",
      "orderId": "668570c06f1eder57a289bc7",
      "createdAt": "2024-07-03T15:39:44.766Z"
    }
  ],
  "attachments": [
    {
      "attachmentId": "string",
      "paylinkId": "string",
      "displayName": "string",
      "createdAt": "2023-08-10T22:31:36.725Z",
      "updatedAt": "2023-08-10T22:31:36.725Z"
    }
  ],
  "enableRecurring": true,
  "recurringMethodId": "3fa85f64-5717-4562-b3fc-2c963f66afa6"
}

Skipify baner with link to contact us form