Notify the counterparty and update peer-to-peer (C2C) order status to paid after completing external fiat payment transfer.
/sapi/v1/c2c/orderMatch/markOrderAsPaid
This endpoint enables buyers and automated payout bots to confirm that the fiat funds have been transferred to the seller's selected payment account.
Calling this endpoint changes the order state from TRADING to BUYER_PAYED (Paid), locks the cancellation window, and notifies the seller to verify receipt and release crypto escrow.
Automated buy systems, banking integrations, and mobile payout daemons trigger this endpoint immediately after receiving successful transaction confirmations from upstream bank rails or payment gateways.
Parameters accepted in Body and HTTP Headers.
| Parameter | In | Type | Required | Description |
|---|---|---|---|---|
clientType |
Header | STRING | Required |
Client Device Type initiating the request (e.g., WEB, APP, WEB_MOBILE).
|
orderNumber |
Body | STRING | Required | Unique order number identifier to mark as paid. |
payId |
Body | LONG | Optional | Payment configuration identifier used by the buyer to execute the fiat transfer. |
x-gray-env |
Header | STRING | Optional | Environment flag identifier used for internal gray/stage testing. |
x-trace-id |
Header | STRING | Optional | Custom client trace ID for request lifecycle tracking and debugging. |
x-user-id |
Header | STRING | Optional | Target user identifier for context validation. |
Only call this endpoint after the full fiat transfer has been processed by your bank or payment provider. Marking orders as paid without completing real fiat transfer can result in account suspension and trade dispute penalties.
Example POST request using cURL to mark an order as paid.
curl -X POST \
'https://api.binance.com/sapi/v1/c2c/orderMatch/markOrderAsPaid' \
-H 'clientType: WEB' \
-H 'Content-Type: application/json' \
-d '{
"orderNumber": "202608161234567890",
"payId": 123456
}'
Example response returned on successful status update.
{
"code": "000000",
"message": "success",
"data": {
"orderNumber": "202608161234567890",
"orderStatus": "BUYER_PAYED"
},
"success": true
}
| Field | Type | Description |
|---|---|---|
code |
STRING |
Standard Binance status code ("000000" indicates success).
|
message |
STRING | Response execution feedback or status description. |
data.orderNumber |
STRING | Unique identifier of the updated C2C trade order. |
data.orderStatus |
STRING |
Updated order lifecycle state (e.g., BUYER_PAYED).
|
success |
BOOLEAN | Indicates overall request execution result. |
Workflow for marking a C2C trade order as paid.
Trigger status updates automatically when banking API callbacks confirm outgoing wire transfer execution.
Power "Transferred, notify seller" action buttons inside custom merchant dashboards and client applications.
Instantly notify the seller upon successful programmatic fiat settlement to speed up cycle times.
This article is part of our complete learning guide covering professional cross-exchange cryptocurrency arbitrage.
Explore the Spot Arbitrage Guide →This article is part of our complete learning guide covering Binance P2P automation, merchant tools, and automated trading.
Explore the Binance P2P Automation Guide →