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 HMAC

Check out our API 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://stage-paylinks.skipify.com/{paylinkId}

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

Request Body Parameters

Parameter NameRequired?TypeDescription
shippingnointeger, nullableThis is the amount of shipping for the Paylink. The last two digits are cents, so $20.50 would be sent as 2050
taxnointeger, nullableThis is the amount of tax for the Paylink. The last two digits are cents, so $20.50 would be sent as 2050
memonostring, 255 charA generic field to allow you to add more information on the specific usage of this Paylink. This will be displayed to the customer.
descriptionnostring, 255 charA generic field to allow you to add more information on the specific usage of this Paylink. This will be displayed to the customer.
expirationnodateTime string, nullableThis 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
lineItemsnoobjectSee 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 NameRequired?TypeDescription
skuyesstringThe merchant's product identifier of the item. This is not visible to the customer. Max 255 char.
quantitynointegerThe quantity of the item being sold. If null, this is defaulted to 1.
priceyesintegerThe 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'
taxnointegerThe tax of an individual item. The last two digits are cents.
descriptionnostringThe description of the item being sold. This will be displayed to the customer.
Examples: Anchovy Pizza, New Balance 650, etc. Max 255 char.
categorynostringThe category of the product or service being sold for the merchant's own tracking purposes. This is not visible to the customer.
metadatanoObject, nullableYou 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": "2023-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"
   	}
  ]
}


Skipify baner with link to contact us form