S2S (Seamless API)
S2S Manage Payment
Capture, void, and refund S2S transactions; fetch order details.
S2S Manage Payment
Version: 3.0.0
Use an API key with the S2S channel. IP whitelist applies (same as payment).
After an S2S AUTH with capture_method: MANUAL, use these endpoints for follow-ups. Requests are validated in service-s2s, then forwarded to connector-switch POST /transaction/followups.
Follow-up request bodies are flat JSON (not nested under data). This differs from POST /payment.
Capture / Void / Refund
| Method | URL |
|---|---|
| POST | https://api.payorc.com/s2s/v1/orders/transaction |
Headers
| Header | Required |
|---|---|
merchant-key | Yes |
merchant-secret | Yes |
Content-Type | application/json |
Request body
| Field | Type | Required | Description |
|---|---|---|---|
action | String | Yes | CAPTURE, VOID, or REFUND |
transaction_id | String | Yes | PayOrc transaction ID from the original payment |
amount | Object | Yes | currencyCode (string), value (number or numeric string) |
reason | String | No | Reason text (recommended for void/refund) |
Example — Capture
{
"action": "CAPTURE",
"transaction_id": "1000010223",
"amount": {
"currencyCode": "AED",
"value": 100
},
"reason": "Order shipped"
}Success response (data shape)
Same as hosted manage payment:
{
"status": "success",
"code": "00",
"message": "Transaction successfully Captured.",
"data": {
"status": "CAPTURED",
"m_order_id": "ORD-2024-001",
"p_order_id": 1000010228,
"transaction_id": 1000010223,
"amount": "100.00",
"currency": "AED",
"date": "04/08/2023"
}
}Void uses status: "VOID"; refund uses "REFUNDED" or "PARTIALLY_REFUNDED".
See S2S Fetch Order for response fields and examples.
See also: Capture, Void, Refund for field-level rules (void window, refundable states, MID flags).