docs

Create a payment link

Creates a new payment link - a shareable link that merchants can send to customers. Features: - Supports multiple line items with adjustable quantities - Custom fields for collecting additional customer information - After completion settings (redirect or hosted confirmation) - Automatic amount calculation from line items - Validates currency consistency across line items

POST
/payment-links
  Creates a new payment link - a shareable link that merchants can send to customers.
  
  Features:
  - Supports multiple line items with adjustable quantities
  - Custom fields for collecting additional customer information
  - After completion settings (redirect or hosted confirmation)
  - Automatic amount calculation from line items
  - Validates currency consistency across line items
AuthorizationBearer <token>

API key for merchant integrations. Send as Authorization: Bearer <your key>.

In: header

Request Body

application/json

TypeScript Definitions

Use the request body type in TypeScript.

Response Body

application/json

curl -X POST "https://example.com/payment-links" \  -H "Content-Type: application/json" \  -d '{    "lineItems": [      {        "priceId": "price_abc123",        "quantity": 1,        "adjustableQuantity": {}      }    ],    "afterCompletion": {      "type": "redirect"    }  }'
{
  "id": "plink_abc123",
  "merchantId": "mer_xyz789",
  "active": true,
  "expiresAt": "string",
  "currency": "EGP",
  "computedAmount": 100000,
  "nameCollection": false,
  "billingAddressCollection": false,
  "shippingAddressCollection": false,
  "phoneNumberCollection": false,
  "allowPromotionCodes": false,
  "submitType": "PAY",
  "customerCreation": "always",
  "afterCompletion": {
    "type": "redirect",
    "redirect": {
      "url": "string"
    },
    "hostedConfirmation": {
      "customMessage": "string",
      "returnUrl": "string"
    }
  },
  "lineItems": [
    {
      "id": "li_abc123",
      "quantity": 1,
      "price": {},
      "adjustableQuantity": {},
      "amountSubtotal": 200000,
      "amountTotal": 200000,
      "amountDiscount": 0,
      "amountTax": 0,
      "currency": "EGP",
      "description": "Premium Plan - Monthly",
      "presentmentDetails": {}
    }
  ],
  "customFields": [
    {
      "label": "Company Name",
      "type": "TEXT",
      "isOptional": false,
      "hasLimits": false,
      "limitType": "BETWEEN",
      "minCharacters": 5,
      "maxCharacters": 100,
      "dropdownOptions": [
        {}
      ]
    }
  ],
  "feeConfig": {
    "feesPassThrough": false,
    "vatCollectionEnabled": false,
    "vatCollectionRate": 1400,
    "source": "merchant"
  },
  "metadata": {},
  "brandingSettings": {
    "colorMode": "light",
    "borderStyle": "rounded",
    "spacing": "condensed",
    "inputSize": "small",
    "inputStyle": "flat",
    "formLayout": "compact",
    "colors": {
      "primary": "string",
      "primaryForeground": "string",
      "background": "string",
      "foreground": "string",
      "border": "string",
      "input": "string",
      "ring": "string",
      "muted": "string",
      "mutedForeground": "string",
      "accent": "string",
      "accentForeground": "string",
      "destructive": "string"
    },
    "fontFamily": "string"
  },
  "paymentMethodConfigurationId": "string",
  "createdAt": "string",
  "updatedAt": "string"
}
Empty
Empty