Create Payment Link

POST/api/pay/v1/paymentlink

Create a payment link for collecting payments. Ensure that your Merchant ID is configured for Pay by Link, split payments, and pre-authorization before creating a payment link.

Requires Bearer token. Get token →

Request Body

NameTypeDescription
amount
objectrequired

Monetary amount with currency.

value
integerrequired

Amount in the smallest currency unit (e.g., paisa for INR).

currency
stringrequired

Three-letter ISO 4217 currency code.

description
string

Description corresponding to the payment.

expire_by
string

The desired expiration timestamp for the payment link (ISO 8601 UTC). Must be set within a maximum of 180 days from the current date.

allowed_payment_methods
string[]

The type of payment methods you want to offer your customers.

pre_auth
string

The pre-authorization type. Possible values: "false" (default), "true".

is_mcc_transaction
string

Identifies the Payment Link type. "true": The payment link is processed for a MCC transaction. "false" (default): The payment link is processed for a regular transaction.

failure_callback_url
string

URL specifically used to redirect customers to a failure page. If not provided, customers will be redirected to the callback_url for both successful and failed transactions.

merchant_payment_link_reference
stringrequired

Idempotency Key. Unique identifier for the payment link request. Duplicate requests with the same merchant_payment_link_reference will return the existing payment link instead of creating a new one.

customer
object

Customer information for payment link.

email_id
string

Customer's email address.

first_name
string

Customer's first name.

last_name
string

Customer's last name.

customer_id
string

Unique identifier of the customer in the Pine Labs Online database.

mobile_number
string

Customer's mobile number.

country_code
string

Country code of the mobile number.

billing_address
object

Address details for payment link.

shipping_address
object

Address details for payment link.

merchant_customer_reference
string

Unique identifier of the customer for the request.

gstin
string

Customer's GSTIN.

product_details
PaymentLinkProductDetail[]

An array of objects that contains the list of products associated with the payment.

product_code
string

Unique product identifier.

product_amount
object

Monetary amount with currency.

product_coupon_discount_amount
object

Monetary amount with currency.

cart_coupon_discount_amount
object

Monetary amount with currency.

value
integerrequired

Amount in the smallest currency unit (e.g., paisa for INR).

currency
stringrequired

Three-letter ISO 4217 currency code.

merchant_metadata
object

Arbitrary key-value pairs for merchant use. Maximum 10 pairs, 256 characters each.

split_info
object

Split settlement information.

split_type
string

Type of split.

split_details
PaymentLinkSplitDetail[]

An array of objects that contains the split details.

account_details
object

Customer's bank account details.

bank_details
object

Bank details for the customer.

callback_url
string

URL to which your customers are redirected based on the order or product details, leading them to either a success or failure page.

part_payment
boolean

Indicates whether the order is for part payments or full. true: The order created is for a part payment. false: The order is created for a full payment.

cart_details
object

Cart details. If provided, cart information will be displayed during checkout.

items
PaymentLinkCartItem[]

Array of cart items.

Status Codes

201Payment link created successfully.
500
Request
curl --request POST \
  --url https://pluraluat.v2.pinepg.in/api/pay/v1/paymentlink \
  --header 'Authorization: Bearer YOUR_ACCESS_TOKEN' \
  --header 'Content-Type: application/json' \
  --data '{
  "amount": {
    "value": 50000,
    "currency": "INR"
  },
  "description": "Payment for Order1",
  "expire_by": "2024-10-28T13:26:06.909140Z",
  "allowed_payment_methods": [
    "CARD",
    "UPI"
  ],
  "pre_auth": "false",
  "is_mcc_transaction": "false",
  "failure_callback_url": "https://sample-failure-callback-url",
  "merchant_payment_link_reference": "1234567890",
  "customer": {
    "email_id": "kevin.bob@example.com",
    "first_name": "Kevin",
    "last_name": "Bob",
    "customer_id": "123456",
    "mobile_number": "9876543210",
    "country_code": "91",
    "billing_address": {
      "address1": "10 Downing Street Westminster London",
      "address2": "Oxford Street Westminster London",
      "address3": "Baker Street Westminster London",
      "pincode": "51524036",
      "city": "Westminster",
      "state": "Westminster",
      "country": "London"
    },
    "shipping_address": {
      "address1": "10 Downing Street Westminster London",
      "address2": "Oxford Street Westminster London",
      "address3": "Baker Street Westminster London",
      "pincode": "51524036",
      "city": "Westminster",
      "state": "Westminster",
      "country": "London"
    },
    "merchant_customer_reference": "customer_reference",
    "gstin": "27AAEPM1234C1Z5"
  },
  "product_details": [
    {
      "product_code": "redmi_10",
      "product_amount": {
        "value": 50000,
        "currency": "INR"
      },
      "product_coupon_discount_amount": {
        "value": 50000,
        "currency": "INR"
      }
    }
  ],
  "cart_coupon_discount_amount": {
    "value": 50000,
    "currency": "INR"
  },
  "merchant_metadata": {
    "clientId": "DD",
    "transactionReferenceNo": "pine-1223",
    "merchantId": "1234",
    "tid": "9000990",
    "acquirerName": "HDFC_FSS",
    "isOfferDisplayRequired": "true",
    "OfferData": "UHJvZHVjdF9Db2RlPSIgIiZQcm9kdWN0X05hbWU9IiImUGF5bWVudF9Nb2RlPUJhbmsgRU1JJkNhcmRfVHlwZT1EZWJpdCBDYXJkJkJhbmtfTmFtZT1IREZDIERlYml0JkVNSV9UZW51cmU9NiZJbnRlcmVzdF9SYXRlPTkuMCZJbnRlcmVzdF9BbW91bnQ9MTM4MTQwJk1vbnRobHlfSW5zdGFsbG1lbnQ9ODk0NjkwJkF1dGhvcml6YXRpb25fQW1vdW50PTEwMCZMb2FuX2Jvb2tpbmdfQW1vdW50PTUyMzAwMDAmSW50ZXJlc3RfQ2FzaGJhY2tfQW1vdW50PTAmSW50ZXJlc3RfQ2FzaGJhY2tfVHlwZT1EZWZlcnJlZCZBZGRpdGlvbmFsX0Nhc2hiYWNrPSIiJkFkZGl0aW9uYWxfQ2FzaGJhY2tfVHlwZT0iIiZEZXNjcmlwdGlvbj1CYW5rIEVNSSZQcm9kdWN0X1ZhbHVlPTUyMzAwMDA",
    "tenant_id": "PGATPOS",
    "is_offer_validation_required": "true"
  },
  "split_info": {
    "split_type": "AMOUNT",
    "split_details": [
      {
        "split_merchant_id": "111302",
        "merchant_settlement_reference": "5206071124-aa-mpLhF3-cc-l",
        "split_settlement_id": "71124-aa-mpLhF3-cc-l",
        "amount": {
          "value": 50000,
          "currency": "INR"
        },
        "on_hold": true,
        "status": "RELEASED",
        "updated_at": "2024-07-09T07:57:08.022Z"
      }
    ]
  },
  "account_details": {
    "bank_details": {
      "account_number": "500000004545",
      "ifsc_code": "BANK0000123",
      "bank_name": "Example Bank"
    }
  },
  "callback_url": "https://sample-callback-url",
  "part_payment": true,
  "cart_details": {
    "items": [
      {
        "product_code": "xyz",
        "product_amount": {
          "value": 50000,
          "currency": "INR"
        }
      }
    ]
  }
}'

Run this request

New chat
Responses are generated using AI and may contain mistakes.
Hi! I'm Pine, your AI developer assistant. Ask me anything about Pine Labs APIs, integrations, or troubleshooting.

Tip: you can create a new chat with ⌘ + E