Pine LabsDOCS

Create Debit

POST/ps/api/v1/public/subscriptions/execute

Executes a debit (payment collection) against a subscription. Use this when the PDN (Pre-Debit Notification) is controlled by you.

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
presentation_id
string

Presentation ID from Pine Labs.

merchant_presentation_reference
string

Merchant presentation reference.

Constraints
Minimum length: 1 characterMaximum length: 50 characters
is_merchant_retry
string

Set to true to control retry process yourself.

Response

FieldDetails
subscription_id
string

Unique identifier for the subscription.

Constraints
Maximum length: 50 characters
presentation_id
string

Unique identifier for the presentation.

Constraints
Maximum length: 50 characters
due_date
stringdate-time

The ISO 8601 UTC Timestamp when the payment is due.

amount
object2 nested fields

This is the recurring mandate amount, that would be charged for each frequency. For instance 200 every month. This field is not needed if the mandate frequency is AS

value
integerrequired

Amount in the smallest currency unit (paisa for INR). Minimum ₹1 (100), maximum ₹10 lakh (100000000).

Constraints
Minimum value: 100Maximum value: 100000000
currency
stringrequired

Three-letter ISO 4217 currency code.

Constraints
Default value: INR
merchant_presentation_reference
string

Unique identifier of the merchant presentation reference.

Constraints
Minimum length: 1 characterMaximum length: 50 characters
status
string

Debit status.

  • CREATED: Presentation request successfully received.
  • PENDING: Pre-debit notification initiated.
  • PAUSED: Subscription is paused.
  • CANCELLED: Subscription is cancelled.
  • FAILED: Pre-debit notification or customer debit fails (up to 3 retries).
  • COMPLETED: Debit is successful.
Allowed values:
CREATEDPENDINGPAUSEDCANCELLEDFAILEDCOMPLETED

Status Codes

200Debit created successfully.
400The request was malformed or missing required fields.
Run
Request
curl --request POST \
  --url https://pluraluat.v2.pinepg.in/ps/api/v1/public/subscriptions/execute \
  --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 '{
  "presentation_id": "v1-pre-4405071524-aa-qlAtAf",
  "merchant_presentation_reference": "1234567890",
  "is_merchant_retry": "false"
}'
{
  "subscription_id": "v1-sub-4405071524-aa-qlAtAf",
  "presentation_id": "v1-pre-4405071524-aa-qlAtAf",
  "due_date": "2024-03-15T10:30:00Z",
  "amount": {
    "value": 50000,
    "currency": "INR"
  },
  "merchant_presentation_reference": "1234567890",
  "status": "CREATED'"
}