Attach a file to Paylinks

Attaches a file to a merchant paylink

Overview

Skipify is capable of adding Attachments to a Paylink.

  • Multipart upload. Max file size 2 MB. Allowed types PNG, JPEG, GIF, HEIC, HEIF, PDF
  • There is a limit of 1 attachment per paylink

Please read the Creating Paylinks documentation to create a Paylink and then you can Attach a file to it using this API.

API Request

👍

This endpoint uses API Key Authentication

Check out our API KEY Authentication Section to learn more

The endpoint for this request uses the payment's paylinkId, which was originally provided in the response body when you created the Paylink.

To attach a file to a Paylink send an API call to:

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

Production:POST https://paylinks.skipify.com/{paylinkId}/attach

Request Body Parameters

Parameter NameRequired?ContentTypeDescription
fileyesmultipart/form-datastring($binary)The local file to upload

HTTP API Response Codes

CodeDescription
200Successfully attached file and updated paylink
400Invalid attach request
404Paylink was not found
422Validation failed. Invalid attach request

Response Body Parameters

Parameter NameTypeDescription
paylinkIdstringSkipify’s unique identifier for the Paylink. This ID will be needed to use the other endpoints.
linkstring (url)

What we all came here for! This is the URL that you will use to forward to your customers.

Do what you like with this URL, it can be embedded as-is, and can be converted into a QR code.

shortLinkstring (url)A Skipify generated short link that you can use instead of the link to forward to your customers if you deliver the Paylink yourself.
merchantInvoiceIdstringA unique identifier that you send with the request is returned in the response. This identifier will not be visible to the customer. It can be used for your reference to link a Skipify order to a record in your systems. Max 255 char.
currencyCodestringUSD only today
merchantIdstringThe merchantId that this Paylink was created for
metadataobjectIf sent in the request, will be returned in the response
descriptionstringThe description sent with the Paylink create request. This will be displayed to the customer.
memostringThe memo sent with the Paylink create request. This will be displayed to the customer.
orderIdstringwill be Null upon Paylink Creation. OrderId is assigned to Paylink once Payment completed.
expirationdateTime, string,The expiration date/time of the Paylink that was set in the Request.
Ex:
2024-06-02T21:48:02Z
sendSMSbooleanThe boolean flag set on the request.
sendEmailbooleanThe boolean flag set on the request.
createdAtdateTime, stringThe date/time the Paylink was created at in UTC
updatedAtdateTime, stringThe date/time the Paylink was updated in UTC
customerConsentbooleanThe boolean flag set in the request, must be true to send
taxintegerAmount of tax sent for the Paylink
shippingintegerAmount of shipping sent for the Paylink
subTotalintegerTotal price of lineItems and lineItems tax
totalintegerTotal price of lineItems, lineItems tax, shipping, tax
orderTotalintegerThe total plus any fees applied during payment
approvedAmountintegerThe amount that was paid by the customer
lastSentAtdateTime, stringThe last time the Paylink was sent to the customer
lineItemsarrayThese are the line items sent with the request. This object also returns:
'createdAt' - dateTime, string
'updatedAt' - dateTime, string
deliveryLogsarrayList of SMS and/or email delivery attempts
openOrdersarrayList of orders that have been created for the Paylink
eventsarrayList of events associated with this Paylink, upon send, newValue, Status = SENT
statusstringcurrent status of Paylink, upon successfully sent, status = SENT
customerobjectCustomer object sent with request
attachmentsarrayList of attachments file names if added to Paylink
enableRecurringbooleanWhether or not the paylink was setup to prompt the customer for recurring charges during checkout
recurringMethodIdstringPayment method id for recurring payment

Response Body Example

{
  "paylinkId": "string",
  "link": "string",
  "shortLink": "string",
  "currencyCode": "string",
  "memo": "string",
  "description": "string",
  "sendEmail": true,
  "sendSms": true,
  "expiration": "2026-10-08T21:41:32.004Z",
  "createdAt": "2026-10-08T21:41:32.004Z",
  "updatedAt": "2026-10-08T21:41:32.004Z",
  "shipping": 0,
  "tax": 0,
  "merchantId": "string",
  "merchantInvoiceId": "string",
  "orderId": "string",
  "subTotal": 0,
  "total": 0,
  "orderTotal": 0,
  "status": "CREATED",
  "customer": {
    "email": "[email protected]",
    "phone": "6763593263",
    "firstName": "string",
    "lastName": "string",
    "accountName": "string",
    "createdBy": "string"
  },
  "recurringChargeConsent": true,
  "lineItems": [
    {
      "sku": "string",
      "quantity": 1,
      "price": 0,
      "tax": 0,
      "title": "string",
      "description": "string",
      "productCode": "string",
      "commodityCode": "string",
      "category": "string",
      "metadata": {
        "additionalProp1": "string",
        "additionalProp2": "string",
        "additionalProp3": "string"
      },
      "paylinkId": "string",
      "paylinkItemId": "string",
      "createdAt": "2026-10-08T21:41:32.004Z",
      "updatedAt": "2026-10-08T21:41:32.004Z"
    }
  ],
  "deliveryLogs": [
    {
      "deliveryLogId": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
      "paylinkId": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
      "deliveryMethod": "EMAIL",
      "status": "NOT_SENT",
      "messageId": "string",
      "createdAt": "2026-10-08T21:41:32.004Z",
      "updatedAt": "2026-10-08T21:41:32.004Z"
    }
  ],
  "attachments": [
    {
      "attachmentId": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
      "paylinkId": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
      "displayName": "string",
      "createdAt": "2026-10-08T21:41:32.004Z",
      "updatedAt": "2026-10-08T21:41:32.004Z"
    }
  ],
  "openOrders": [
    {
      "orderId": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
      "paylinkId": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
      "createdAt": "2026-10-08T21:41:32.004Z"
    }
  ],
  "metadata": {
    "additionalProp1": {}
  },
  "events": [
    {
      "eventId": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
      "paylinkId": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
      "eventType": "CREATED",
      "oldValue": {
        "additionalProp1": "string",
        "additionalProp2": "string",
        "additionalProp3": "string"
      },
      "newValue": {
        "additionalProp1": "string",
        "additionalProp2": "string",
        "additionalProp3": "string"
      },
      "createdBy": "string",
      "createdAt": "2026-10-08T21:41:32.004Z"
    }
  ],
  "enableRecurring": true,
  "recurringMethodId": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
  "bnpl": {
    "provider": "flex_pay",
    "providerData": "string"
  }
}
Skipify banner with link to contact us form

Did this page help you?