Skip to main content
The PIK Open API lets you create and manage payment links programmatically. Use this when you need to generate payment links on demand — for example, when a customer places an order in your application, your backend creates a PIK payment link and redirects the customer to it.

Base URL

All API requests use the following base URL:
https://api.pik.global/v1
Send a POST request to /payment-links to create a new payment link.
curl -X POST https://api.pik.global/v1/payment-links \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "amount": "75.00",
    "currency": "USDT",
    "description": "Order #5678"
  }'
Request body
FieldTypeRequiredDescription
amountstringYesThe payment amount as a decimal string (e.g., "75.00")
currencystringYesThe digital asset code (e.g., "USDT", "BTC", "ETH")
descriptionstringNoAn optional label or reference for this payment link
Response
{
  "id": "pl_abc123xyz",
  "url": "https://pay.pik.global/pl_abc123xyz",
  "amount": "75.00",
  "currency": "USDT",
  "description": "Order #5678",
  "status": "active",
  "created_at": "2024-01-15T10:30:00Z"
}
The url field contains the shareable link to send to your customer. Send a GET request to /payment-links to retrieve all your payment links.
curl -X GET https://api.pik.global/v1/payment-links \
  -H "Authorization: Bearer YOUR_API_KEY"
Query parameters
ParameterTypeDescription
statusstringFilter by status: active, paid, expired, deactivated
limitintegerMaximum number of results to return (default: 20, max: 100)
offsetintegerNumber of results to skip for pagination
Response
{
  "data": [
    {
      "id": "pl_abc123xyz",
      "url": "https://pay.pik.global/pl_abc123xyz",
      "amount": "75.00",
      "currency": "USDT",
      "status": "active",
      "created_at": "2024-01-15T10:30:00Z"
    }
  ],
  "total": 1,
  "limit": 20,
  "offset": 0
}
Send a GET request to /payment-links/{id} to retrieve a single payment link by its ID.
curl -X GET https://api.pik.global/v1/payment-links/pl_abc123xyz \
  -H "Authorization: Bearer YOUR_API_KEY"
Response
{
  "id": "pl_abc123xyz",
  "url": "https://pay.pik.global/pl_abc123xyz",
  "amount": "75.00",
  "currency": "USDT",
  "description": "Order #5678",
  "status": "paid",
  "created_at": "2024-01-15T10:30:00Z",
  "paid_at": "2024-01-15T10:45:00Z"
}
StatusMeaning
activeThe link is live and accepting payments
paidA successful payment has been received
expiredThe link has passed its expiration time
deactivatedThe link has been manually disabled

Integration pattern

A typical integration flow looks like this:
1

Customer initiates checkout

Your customer clicks “Pay with crypto” in your application.
2

Backend creates a payment link

Your server sends a POST /payment-links request to PIK with the order amount and currency.
3

Redirect the customer

Extract the url from the PIK response and redirect your customer to it. PIK handles the checkout UI.
4

Receive payment confirmation

PIK sends a webhook event to your server when the payment is confirmed. Update the order status in your system.
See Webhooks to learn how to receive real-time payment confirmation events in your application.