Pine LabsDOCS

Accept Payments via Payment Links

Collect payments by sharing a link — no website, no code, no integration needed.

Share a link — collect a payment. Accept payments from anyone, anywhere, without writing a single line of code...


What you're building

By the end of this guide, you'll be able to:

  • Create payment links from the Dashboard or API
  • Share them via Email, SMS
  • Track payment status and manage collections
  • Handle post-payment workflows

Time to first payment: ~2 minutes (Dashboard) or ~10 minutes (API)


Before you begin

RequirementDetails
Pine Labs accountSign up →
For Dashboard methodJust a browser — no code needed
For API methodBackend server + API credentials

When to use Payment Links

Payment Links are ideal when you:

ScenarioExample
No websiteFreelancers, consultants, small businesses
Invoice follow-upsSend a payment link with a reminder email
Event ticketingShare a link for registrations and ticket sales
Quick collectionsCollect deposits, dues, or ad-hoc payments
Remote servicesTelemedicine, online tutoring, consulting

Method 1: Create from Dashboard (No code)

Step 1 — Open Payment Links

  1. Log in to the Pine Labs Dashboard
  2. Navigate to Payment Links in the sidebar
image

Step 2 — Create a new link

Click Create Payment Link and fill in the details:

FieldExampleRequired
Amount₹2,500Yes
Description"Design consultation — April 2026"Yes
Customer nameRahul SharmaOptional
Customer emailrahul@example.comOptional
Customer phone9876543210Optional
Expiry7 daysOptional
image

Step 3 — Share the link

After creation, you get a shareable URL:

Code
https://pay.pluralonline.com/link/abc123xyz

Share it through any channel:

ChannelHow

| Email | Use the built-in email option or copy-paste | | SMS | Copy the link and send via SMS |

image

Step 4 — Customer pays

When the customer opens the link, they see a Pine Labs checkout page with:

  • Order details and amount
  • Payment options — Cards, UPI, Netbanking, Wallets
  • Secure payment processing

Step 5 — Track payment

Monitor the payment status in Dashboard → Payment Links:

StatusMeaning
CreatedLink generated, awaiting payment
Partially paidCustomer made a partial payment
PaidPayment received successfully
ExpiredLink crossed the expiry date
CancelledYou cancelled the link

Method 2: Create via API

For automated workflows, use the Payment Links API.

Generate token

Bash
curl --location 'https://pluraluat.v2.pinepg.in/api/auth/v1/token' \ --header 'content-type: application/json' \ --data '{ "client_id": "<your_client_id>", "client_secret": "<your_client_secret>", "grant_type": "client_credentials" }'

Create payment link

Bash
curl --location 'https://pluraluat.v2.pinepg.in/api/pay/v1/payment-links' \ --header 'Authorization: Bearer <access_token>' \ --header 'Content-Type: application/json' \ --data '{ "merchant_payment_link_reference": "INV-2026-04-001", "payment_link_amount": { "value": 250000, "currency": "INR" }, "description": "Design consultation — April 2026", "customer": { "email_id": "rahul@example.com", "first_name": "Rahul", "last_name": "Sharma", "mobile_number": "9876543210", "country_code": "91" }, "expiry_date": "2026-05-06T23:59:59Z", "callback_url": "https://your-domain.com/payment/success", "notes": "April consulting invoice" }'

Response:

JSON
{ "payment_link_id": "pl_abc123xyz", "payment_link_url": "https://pay.pluralonline.com/link/abc123xyz", "status": "CREATED", "expiry_date": "2026-05-06T23:59:59Z" }

Check payment link status

Bash
curl --location 'https://pluraluat.v2.pinepg.in/api/pay/v1/payment-links/{payment_link_id}' \ --header 'Authorization: Bearer <access_token>'

Cancel a payment link

Bash
curl --request PUT \ 'https://pluraluat.v2.pinepg.in/api/pay/v1/payment-links/{payment_link_id}/cancel' \ --header 'Authorization: Bearer <access_token>'

After receiving payment

Dashboard notifications

  • View payment details in Dashboard → Payments
  • Download payment receipts
  • Issue refunds directly from the Dashboard

Webhook notifications

Configure webhooks to receive real-time notifications:

JSON
{ "event": "ORDER_CAPTURED", "data": { "order_id": "v1-2505051234-aa-xYzAbC", "payment_link_id": "pl_abc123xyz", "amount": { "value": 250000, "currency": "INR" }, "status": "CAPTURED" } }

Refunds

Issue full or partial refunds from the Dashboard or API:

  1. Go to Dashboard → Payments
  2. Find the payment and click Refund
  3. Enter the refund amount and confirm

Real-world examples

Freelance designer

"I send a Payment Link in my project proposal email. Clients click, pay the deposit, and I start work — no invoicing software needed."

Setup: Create a link for the project deposit → Share via email → Track in Dashboard

Fitness instructor

"I share a monthly class link on my Instagram story. Students tap, pay, and they're registered."

Setup: Create a recurring link for class fees → Share via SMS → Monitor collections

Property rental agent

"I generate links for security deposits and rent payments. Tenants pay via UPI — it's instant."

Setup: Create individual links per tenant → Share via email → Get webhook on payment


Next steps