Create Payment
/api/pay/v1/orders/{order_id}/paymentsCreate a payment against an existing order. This unified endpoint supports
multiple payment methods differentiated by the payment_method field:
- CARD — Pay with card number or card token (see Card Payments documentation)
- UPI — Pay via UPI Collect or UPI Intent/QR (see UPI Payments documentation)
- NETBANKING — Pay via net banking redirect (see Net Banking documentation)
- WALLET — Pay via digital wallet (see Wallet documentation)
- BRAND_WALLET — Pay using Brand Wallet balance (see Brand Wallet documentation)
- EMI — Pay via Credit/Debit EMI or Cardless EMI (see Affordability Suite documentation)
- BNPL — Pay via Buy Now Pay Later (see BNPL documentation)
The response returns the full order object with the payment linked.
For redirect-based flows (NetBanking, Wallet, UPI Intent), use the
challenge_url in the response to redirect the customer.
Brand Wallet flow: After a successful Create Payment call with BRAND_WALLET,
the payment enters PENDING status. The wallet provider automatically sends an
OTP to the customer. Call Submit OTP to authorize the payment.
Bearer token. Get token →Path Parameters
| Name | Type | Description |
|---|---|---|
order_id | stringrequired | Unique identifier of the order in the Pine Labs Online database. |
Request Body
| Name | Type | Description |
|---|---|---|
payments | PaymentRequestItem[]required | Array of payment items. Typically contains a single item. |
merchant_payment_reference | stringrequired | Idempotency Key. Unique payment reference assigned by the merchant. Duplicate requests with the same |
payment_amount | objectrequired | Monetary amount with currency. |
payment_method | stringrequired | Type of payment method for this payment. Allowed values: CARDUPINETBANKINGWALLETBRAND_WALLETCREDIT_EMIDEBIT_EMICARDLESS_EMIPOINTSBNPL |
payment_option | object | Mandatory object An object that contains the details of the payment options. Use |
additional_payment_details | object | additional payment details |
device_info | object | Device information details. Mandatory for SIMPL and SIMPL3 BNPL providers. |
payer_data | object | Payer details for cross-border transactions. Contains customer identity and address information needed for cross-border compliance. |
tcs_data | object | TCS computation data from the TCS Compute API. Required only when tcs_applicable is true. If TCS is not applicable, do not send this field. |
offer_data | object | An object that contains details related to the offer. Required for CREDIT_EMI, DEBIT_EMI, CARDLESS_EMI, and UPI payment methods. |
Response
| Name | Type | Description |
|---|---|---|
data | object | |
order_id | string | Unique identifier of the order in the Pine Labs Online database. |
merchant_order_reference | string | Unique identifier entered while creating the order. |
type | string | Payment type. Allowed values: CHARGEREFUNDADD_MONEY |
status | string | Order status. Allowed values: CREATEDPENDINGPROCESSEDAUTHORIZEDCANCELLEDATTEMPTEDFAILEDFULLY_REFUNDEDPARTIALLY_REFUNDED |
challenge_url | string | URL to accept payment. Returned only after payment is linked against the order_id. |
merchant_id | string | Unique identifier of the merchant in the Pine Labs Online database. |
order_amount | object | Monetary amount with currency. |
pre_auth | boolean | Whether pre-authorization is needed. |
part_payment | boolean | Whether part payment is enabled. |
allowed_payment_methods | string[] | |
notes | string | Note shown against the order. |
callback_url | string | URL to redirect customers after successful payment. |
failure_callback_url | string | URL to redirect customers after failed payment. |
purchase_details | object | |
payments | PaymentItem[] | Array of payment details. Returned only for orders linked with a payment. |
created_at | string | ISO 8601 UTC timestamp when the order was created. |
updated_at | string | ISO 8601 UTC timestamp when the order was last updated. |
integration_mode | string | Type of integration. Allowed values: SEAMLESSREDIRECT |
image_url | string | QR code image URL. Returned for UPI Intent with QR flow. |
payment_retries_remaining | integer | Number of retry attempts remaining before payment is marked as failed. |
is_mcc_transaction | boolean | Whether the order is a MCC transaction. |
is_domestic_txn_for_risk_enabled | boolean | Whether risk evaluation is enabled for domestic transactions. |
order_token | string | Unique identifier of the order token. |
cross_border_details | object | System-enriched cross-border details from merchant onboarding configuration. Includes payer_data and tcs_data after payment creation. |
Status Codes
200 | Payment created successfully. Returns the full order with payment details. |
400 | The request was malformed or missing required fields. |
401 | Authentication failed — missing, expired, or invalid Bearer token. |
404 | Order not found. |
422 | Unprocessable entity — validation failed or payment cannot be processed. |
500 | An unexpected error occurred on the server. |
curl --request POST \
--url https://pluraluat.v2.pinepg.in/api/pay/v1/orders/v1-4405071524-aa-qlAtAf/payments \
--header 'Authorization: Bearer YOUR_ACCESS_TOKEN' \
--header 'Content-Type: application/json' \
--data '{
"payments": [
{
"merchant_payment_reference": "pay-ref-001",
"payment_amount": {
"value": 50000,
"currency": "INR"
},
"payment_method": "CARD",
"payment_option": {
"card_details": {
"card_number": "your_card_number"
},
"card_token_details": {
"token": "your_token",
"token_txn_type": "your_token_txn_type"
},
"cardless_details": {
"pan_number": "your_pan_number",
"registered_mobile_number": "9876543210"
},
"points_card_details": {
"card_last4": "your_card_last4",
"card_number": "your_card_number",
"registered_mobile_number": "9876543210"
},
"bnpl_details": {
"mobile": "9876543210",
"bnpl_pay_code": "LAZYPAY"
},
"netbanking_details": {
"pay_code": "NB1531",
"txn_mode": "REDIRECT"
},
"upi_details": {
"txn_mode": "COLLECT",
"payer": {
"vpa": "kevinbob@okaxis"
}
},
"wallet_details": {
"wallet_code": "PAYTM",
"customer_id": "cust-bw-001"
}
},
"additional_payment_details": {
"is_decoupled_authorization_flow": true
},
"device_info": {
"operating_system": "ANDROID",
"source_ip_address": "10.11.19.2",
"browser_ip_address": "203.0.113.42",
"browser_user_agent": "Chrome",
"device_model": "Samsung S21 Ultra",
"device_manufacturer": "Samsung"
},
"payer_data": {
"first_name": "Rajesh",
"last_name": "Patel",
"email": "rajesh@techcorp.com",
"phone": "9876543210",
"country_code": "91",
"pan": "KGEPS1880J",
"dob": "1999-04-14",
"name_on_pan": "TechCorp Private Limited",
"address_line_1": "10 Downing Street Westminster London",
"address_line_2": "Oxford Street Westminster London",
"country": "IN",
"is_tcs_declared": true
},
"offer_data": {
"offer_details": {
"tenure": {
"issuer_offer_parameters": [],
"details": [
{
"product_offer_parameters": [],
"product_amount": {
"currency": "your_currency",
"value": 10000
},
"product_coupon_discount_amount": {
"currency": "your_currency",
"value": 10000
},
"subvention": {
"amount": {
"currency": "your_currency",
"value": 10000
},
"breakup": {
"brand": {
"amount": {
"currency": "your_currency",
"value": 10000
}
},
"merchant": {
"amount": {
"currency": "your_currency",
"value": 10000
}
},
"issuer": {
"amount": {
"currency": "your_currency",
"value": 10000
}
},
"dealer": {
"amount": {
"currency": "your_currency",
"value": 10000
}
}
},
"max_amount": {
"currency": "your_currency",
"value": 10000
},
"min_amount": {
"currency": "your_currency",
"value": 10000
}
},
"discount": {
"max_amount": {
"currency": "your_currency",
"value": 10000
},
"min_amount": {
"currency": "your_currency",
"value": 10000
},
"breakup": {
"brand": {
"amount": {
"currency": "your_currency",
"value": 10000
}
},
"merchant": {
"amount": {
"currency": "your_currency",
"value": 10000
}
},
"issuer": {
"amount": {
"currency": "your_currency",
"value": 10000
}
},
"dealer": {
"amount": {
"currency": "your_currency",
"value": 10000
}
}
}
},
"interest_amount": {
"currency": "your_currency",
"value": 10000
},
"downpayment_amount": {
"currency": "your_currency",
"value": 10000
},
"after_downpayment_reduced_product_amount": {
"currency": "your_currency",
"value": 10000
},
"cart_coupon_discount_product_share": {
"currency": "your_currency",
"value": 10000
}
}
],
"auth_amount": {
"currency": "your_currency",
"value": 10000
},
"loan_amount": {
"currency": "your_currency",
"value": 10000
},
"total_discount_amount": {
"currency": "your_currency",
"value": 10000
},
"net_payment_amount": {
"currency": "your_currency",
"value": 10000
},
"monthly_emi_amount": {
"currency": "your_currency",
"value": 10000
},
"total_emi_amount": {
"currency": "your_currency",
"value": 10000
},
"intrest_amount": {
"currency": "your_currency",
"value": 10000
},
"processing_fee_details": {
"amount": {
"currency": "your_currency",
"value": 10000
}
},
"processing_fee_amount": {
"currency": "your_currency",
"value": 10000
},
"split_emi_amount": {
"currency": "your_currency",
"value": 10000
},
"convenience_fee_breakdown": {
"fee_calculated_on_amount": {
"currency": "your_currency",
"value": 10000
},
"fee_amount": {
"currency": "your_currency",
"value": 10000
},
"tax_amount": {
"currency": "your_currency",
"value": 10000
},
"additional_fee_amount": {
"currency": "your_currency",
"value": 10000
},
"maximum_fee_amount": {
"currency": "your_currency",
"value": 10000
},
"applicable_fee_amount": {
"currency": "your_currency",
"value": 10000
},
"subvented_fee_amount": {
"currency": "your_currency",
"value": 10000
}
},
"cart_coupon_discount_amount": {
"currency": "your_currency",
"value": 10000
},
"total_coupon_discount": {
"currency": "your_currency",
"value": 10000
},
"downpayment_details": {
"downpayment_amount": {
"currency": "your_currency",
"value": 10000
}
}
}
}
}
}
]
}'Run this request
order_id{
"data": {
"order_id": "v1-5206071124-aa-mpLhF3",
"merchant_order_reference": "0342ef1e-4606-4c11-8640-705f4d415b6d",
"type": "CHARGE",
"status": "PROCESSED",
"challenge_url": "https://api.pluralpay.in/web/auth/landing/?token=S50xnInJvpcft...",
"merchant_id": "104359",
"order_amount": {
"value": 1000,
"currency": "INR"
},
"pre_auth": false,
"allowed_payment_methods": [
"CARD",
"UPI",
"NETBANKING",
"POINTS",
"WALLET"
],
"notes": "order1",
"callback_url": "https://sample-callback-url",
"failure_callback_url": "https://sample-failure-callback-url",
"purchase_details": {
"customer": {
"email_id": "[email protected]",
"first_name": "Kevin",
"last_name": "Bob",
"customer_id": "123456",
"mobile_number": "9876543210",
"country_code": "91"
},
"merchant_metadata": {
"key1": "value1",
"key2": "value2"
}
},
"payments": [
{
"id": "v1-5206071124-aa-mpLhF3-cc-l",
"merchant_payment_reference": "008cf04b-a770-4777-854e-b1e6c1230609",
"status": "PROCESSED",
"payment_amount": {
"value": 1000,
"currency": "INR"
},
"payment_method": "CARD",
"payment_option": {
"card_data": {
"card_type": "CREDIT",
"network_name": "MASTERCARD",
"issuer_name": "HDFC",
"card_category": "NONE",
"country_code": "IND",
"token_txn_type": "ALT_TOKEN",
"last4_digit": "1091",
"save": false,
"is_native_otp_eligible": true
}
},
"acquirer_data": {
"approval_code": "030376",
"acquirer_reference": "202455840588334",
"rrn": "419335023601",
"is_aggregator": true
},
"created_at": "2024-07-11T06:52:12.484Z",
"updated_at": "2024-07-11T06:59:38.260Z"
}
],
"created_at": "2024-07-11T06:52:12.484Z",
"updated_at": "2024-07-11T06:59:38.260Z"
}
}