Pine LabsDOCS

Create Payout API

POST/payouts/v3/payments/banks

Creates a single payout to a beneficiary's bank account or UPI VPA. Supports IMPS, NEFT, RTGS, and UPI payment modes.

For IMPS/NEFT/RTGS, provide accountNumber and branchCode. For UPI, provide vpa instead.

Requires Bearer token. Get token →

Header Parameters

FieldDetails
Request-Timestamp
stringdate-time

ISO 8601 UTC timestamp of the request. Used for idempotency and audit.

Request-ID
string

Use a global unique identifier [GUID] for the request.

Constraints
Minimum length: 1 characterMaximum length: 50 characters

Request Bodyrequired

FieldDetails
clientReferenceId
stringrequiredidempotency key

Unique identifier to track the payout. Must not contain spaces. Acts as the idempotency key — duplicate requests with the same clientReferenceId will not create a new payout.

Constraints
Minimum length: 1 characterMaximum length: 40 characters
payeeName
stringrequired

Name of the beneficiary's bank account holder. Alphabets and spaces only.

Constraints
Minimum length: 1 characterMaximum length: 40 characters
email
stringemail

Email address of the beneficiary.

phone
string

Mobile number of the beneficiary (10 numeric digits).

Constraints
Pattern: ^[0-9]{10}$
accountNumber
string

Beneficiary's bank account number. Mandatory for IMPS, NEFT, and RTGS.

Constraints
Minimum length: 9 charactersMaximum length: 18 characters
branchCode
string

Beneficiary's bank IFSC code. Mandatory for IMPS, NEFT, and RTGS. First 4 characters alphabets, 5th character must be 0, remaining alphanumeric.

Constraints
Maximum length: 11 characters
amount
objectrequired2 nested fields

Payout monetary amount with currency. For payout creation, minimum ₹1 (100 paisa), maximum ₹10 lakh (100000000 paisa).

mode
stringrequired

Mode of payment for the payout.

Allowed values:
UPIIMPSNEFTRTGS
remarks
stringrequired

Description or reference text for the transaction. Supported characters A-Z, a-z, 0-9, hyphen, space.

Constraints
Minimum length: 1 characterMaximum length: 50 characters

Status Codes

201Payout created and scheduled successfully.
400The request was malformed or missing required fields.
401Authentication failed — missing, expired, or invalid Bearer token.
403The authenticated client does not have permission for this operation.
409The request conflicts with the current state of the resource.
500An unexpected error occurred on the server.
Run
Request
curl --request POST \
  --url https://pluraluat.v2.pinepg.in/payouts/v3/payments/banks \
  --header 'Authorization: Bearer YOUR_ACCESS_TOKEN' \
  --header 'Content-Type: application/json' \
  --header 'Request-ID: a1b2c3d4-e5f6-7890-abcd-ef1234567890' \
  --header 'Request-Timestamp: 2024-10-01T10:30:00Z' \
  --data '{
  "clientReferenceId": "430582f3-6e83-4cec-a3ab-72847fb9680f",
  "payeeName": "Kevin Bob",
  "email": "kevin.bob@example.com",
  "phone": "9876543210",
  "accountNumber": "500012121313141415",
  "branchCode": "SBIN0011123",
  "amount": {
    "value": 4900,
    "currency": "INR"
  },
  "mode": "IMPS",
  "remarks": "Refund payment"
}'
{
  "clientReferenceId": "0171c4c0-f50a-4151-b39b-63c87a3c0cd6",
  "requestReferenceId": "req-ba50808e45ce4d19a86988e7d90df3ad",
  "paymentReferenceId": "txn-b03ee63e412a4ecf88b6bdb08a6632c3",
  "payeeName": "Kevin Bob",
  "accountNumber": "*******1415",
  "branchCode": "SBIN0011123",
  "amount": {
    "currency": "INR",
    "value": 4900
  },
  "mode": "IMPS",
  "status": "SCHEDULED",
  "message": "Payment instruction scheduled for execution",
  "scheduledAt": "2025-07-16T10:26:06Z",
  "remarks": "REFUND",
  "_links": [
    {
      "rel": "status",
      "href": "/payouts/v3/payments?paymentReferenceId=txn-b03ee63e412a4ecf88b6bdb08a6632c3"
    }
  ]
}