POS
POS Payment
Create a POS order and initiate payment in a single request.
POS Payment
Create an order and generate a PSP token in one call. Use this for one-step integrations.
For a two-step flow, use Create Order and Initiate Payment instead.
Endpoint
| Method | URL |
|---|---|
| POST | https://api.payorc.com/pos/v1/payment |
Headers
| Header | Type | Required | Description |
|---|---|---|---|
merchant-key | String | Yes | POS Web API key |
merchant-secret | String | Yes | POS Web API secret |
Content-Type | String | Yes | application/json |
Request body
Top-level wrapper: { "data": { ... } }
All objects and arrays below must be present. Field values may be "" unless noted as required.
data.order_details (required)
| Field | Key required | Value required | Description |
|---|---|---|---|
amount | Yes | Yes | Base amount (number, min 1) |
currency | Yes | Yes | ISO 4217 code (e.g. INR) |
pos_terminal_id | Yes | Yes | POS terminal ID |
txn_type | Yes | Yes | CARD or UPI |
m_order_id | Yes | No | Your order reference (unique if provided) |
quantity | Yes | No | Defaults to 1 |
convenience_fee | Yes | No | Min 0 |
description | Yes | No | Max 200 characters |
data.customer_details (required object)
| Field | Key required | Value required |
|---|---|---|
m_customer_id | Yes | No |
name | Yes | No |
email | Yes | No |
mobile | Yes | No |
code | Yes | No |
data.billing_details (required object)
| Field | Key required | Value required |
|---|---|---|
address_line1 | Yes | No |
address_line2 | Yes | No |
city | Yes | No |
province | Yes | No |
country | Yes | No |
pin | Yes | No |
data.shipping_details (required object)
| Field | Key required | Value required |
|---|---|---|
shipping_name | Yes | No |
shipping_email | Yes | No |
shipping_code | Yes | No |
shipping_mobile | Yes | No |
address_line1 | Yes | No |
address_line2 | Yes | No |
city | Yes | No |
province | Yes | No |
country | Yes | No |
pin | Yes | No |
location_pin | Yes | No |
shipping_currency | Yes | No |
shipping_amount | Yes | No |
data.urls (required object)
| Field | Key required | Value required | Description |
|---|---|---|---|
success | Yes | No | Redirect URL on success |
cancel | Yes | No | Redirect URL on cancel |
failure | Yes | No | Redirect URL on failure |
webhook_url | Yes | No | HTTPS URL for async status webhooks. Send "" if not used |
When payment completes on the terminal, PayOrc POSTs the order status to your webhook_url if provided. You can also poll Get Order.
data.parameters (required array)
Array of objects with keys alpha, beta, gamma, delta, epsilon. Values may be "".
data.custom_data (required array)
Same structure as parameters. Use alpha/beta for MID_GROUP or SPLIT_PAYMENT routing when needed.
data.items (optional)
Line items array. Omit or send [] if not used.
Response — Success (200)
{
"data": {
"p_order_id": "1000010035",
"psp_token_id": "TOKEN_FROM_PSP",
"pos_terminal_id": "E3929707",
"txn_type": "CARD"
},
"message": "Payment initiated",
"status": "success",
"code": "00"
}cURL
curl -X POST "https://api.payorc.com/pos/v1/payment" \
-H "merchant-key: {{posweb-key}}" \
-H "merchant-secret: {{posweb-secret}}" \
-H "Content-Type: application/json" \
-d '{
"data": {
"customer_details": {
"m_customer_id": "",
"name": "",
"email": "",
"mobile": "",
"code": ""
},
"order_details": {
"pos_terminal_id": "E3929707",
"txn_type": "CARD",
"m_order_id": "",
"amount": 1,
"quantity": "",
"convenience_fee": "",
"currency": "INR",
"description": ""
},
"billing_details": {
"address_line1": "",
"address_line2": "",
"city": "",
"province": "",
"country": "",
"pin": ""
},
"shipping_details": {
"shipping_name": "",
"shipping_email": "",
"shipping_code": "",
"shipping_mobile": "",
"address_line1": "",
"address_line2": "",
"city": "",
"province": "",
"country": "",
"pin": "",
"location_pin": "",
"shipping_currency": "",
"shipping_amount": ""
},
"urls": {
"success": "",
"cancel": "",
"failure": "",
"webhook_url": ""
},
"parameters": [
{ "alpha": "" },
{ "beta": "" },
{ "gamma": "" },
{ "delta": "" },
{ "epsilon": "" }
],
"custom_data": [
{ "alpha": "" },
{ "beta": "" },
{ "gamma": "" },
{ "delta": "" },
{ "epsilon": "" }
]
}
}'