ONDC Retail
  1. Sent by Retail Seller App
ONDC Retail
  • Begin your ONDC journey
  • Glossary - Components and Terms use
  • Pre-requisites
    • Get information about a registered ONDC participant
      POST
    • Onboard on ONDC - step post whitelisting
      POST
  • APIs for Retail Buyer App
    • Sent by Retail Buyer App
      • 01a - Get full catalog from sellers (full refresh) - /search
      • 01b - Get incremental update on catalogue from sellers (incremental refresh) - /search_inc
      • 02 - Inquire about availability and pricing of selected items from catalogue - /select
      • 03 - Initiate an order before confirmation (order in cart) - /init
      • 04 - Finalize order with Seller App (confirmation of order) subject to ACK from Seller App - /confirm
      • 05 - Retrieve the latest status of an order from the Seller App - /status
      • 06 - Get tracking details for an order's fulfillment from the Seller App - /track
      • 07 - Request cancellation of an order or a return request (Buyer initiated) - /cancel
      • 07 - Respond to cancellation initiated by Seller App - ACK to /on_cancel
      • 08 - Initiate updates/changes to an existing order(item quantity, fulfillment updates, or return requests) - /update
      • 08 - Send response to order changes initiated by Seller App - ACK to /on_update
      • 09 - Submit ratings from the buyer's perspective to the network - /rating
      • 10 - IGM - Raise order related issues to Seller App (as raised by customer) - /issue
      • 11 - IGM - Get status of issue previously raised - /issue_status
      • 12 - RSF - Send settlement file to Settlement agency (For prepaid orders) - /settle
      • 13a - RSF - Request reconciliation from receiver (for prepaid orders)
      • 13b - RSF - Respond to recon request by receiver (for prepaid orders)
      • 14 - RSF - Request report from settlement agency - /report
    • Received by Retail Buyer App
      • 01a - Receive full catalogue from Seller App
      • 01b - Receive incremental catalogue refresh from Seller App
      • 02 - Receive response to inquiry about availability and pricing of selected items from catalogue
      • 03 - Receive response to order initiation by Buyer App
      • 04 - Receive response to order confirmation by Buyer App
      • 05a - Receive response to order status request by Buyer App
      • 5b - Receive unsolicitated status update by Seller App
      • 06 - Receive tracking details from Seller App
      • 07a - Receive response on cancellation request from Buyer App
      • 07b - Receive unsolicitated cancellation initiated by Seller App
      • 08a - Receive response to order updates/changes initiated by Buyer App
      • 08b - Receive unsolicitated order updates/changes initiated by Seller App
      • 09 - Send response to ratings sent by Buyer App
      • 10a - IGM - Receive response to issue raised by Buyer App
      • 10b - IGM - Receive response to issue status sent by Seller App
      • 12 - RSF - Receive response to settlement request from Settlement Agency
      • 13a - RSF - Receive response to recon request sent earlier
      • 13b - Receive request for reconciliation by receiver
      • 14 - RSF - Receive response to the report requested
  • APIs for Retail Seller App
    • Sent by Retail Seller App
      • 01a - Received full catalog from sellers (full refresh) - /on_search
        POST
      • 01b - Received incremental update on catalogue from sellers (incremental refresh) - /on_search_inc
        POST
      • 02 - Inquire about availability and pricing of selected items from catalogue - /on_select
        POST
      • 03 - Initiate an order before confirmation (order in cart) - /on_init
        POST
      • 04 - Finalize order with Seller App (confirmation of order) subject to ACK from Seller App - /on_confirm
        POST
      • 05 - Retrieve the latest status of an order from the Seller App - /on_status
        POST
      • 06 - Get tracking details for an order's fulfillment from the Seller App - /on_track
        POST
      • 07 - Request cancellation of an order or a return request (Buyer initiated) - /on_cancel
        POST
      • 07 - Respond to cancellation initiated by Seller App - ACK to /on_cancel
        POST
      • 08 - Initiate updates/changes to an existing order(item quantity, fulfillment updates, or return requests) - /update
        POST
      • 08 - Send response to order changes initiated by Seller App - ACK to /on_update
        POST
      • 09 - Submit ratings from the buyer's perspective to the network - /on_rating
        POST
      • 10 - IGM - Raise order related issues to Seller App (as raised by customer) - /on_issue
        POST
      • 11 - IGM - Get status of issue previously raised - /on_issue_status
        POST
      • 12 - RSF - Send settlement file to Settlement agency (For prepaid orders) - /on_settle
        POST
      • 13a - RSF - Request reconciliation from receiver (for prepaid orders)
        POST
      • 13b - RSF - Respond to recon request by receiver (for prepaid orders)
        POST
      • 14 - RSF - Request report from settlement agency - /on_report
        POST
    • Received by Retail Seller App
      • 07b - Receive unsolicitated cancellation initiated by Seller App
      • 14 - RSF - Receive response to the report requested
      • 13b - Receive request for reconciliation by receiver
      • 13a - RSF - Receive response to recon request sent earlier
      • 12 - RSF - Receive response to settlement request from Settlement Agency
      • 10b - IGM - Receive response to issue status sent by Seller App
      • 10a - IGM - Receive response to issue raised by Buyer App
      • 09 - Send response to ratings sent by Buyer App
      • 08b - Receive unsolicitated order updates/changes initiated by Seller App
      • 08a - Receive response to order updates/changes initiated by Buyer App
      • 07a - Receive response on cancellation request from Buyer App
      • 06 - Receive tracking details from Seller App
      • 5b - Receive unsolicitated status update by Seller App
      • 05a - Receive response to order status request by Buyer App
      • 01a - Receive full catalogue from Seller App
      • 01b - Receive incremental catalogue refresh from Seller App
      • 02 - Receive response to inquiry about availability and pricing of selected items from catalogue
      • 03 - Receive response to order initiation by Buyer App
      • 04 - Receive response to order confirmation by Buyer App
  1. Sent by Retail Seller App

07 - Request cancellation of an order or a return request (Buyer initiated) - /on_cancel

Developing
POST
/on_cancel
Request Request Example
Shell
JavaScript
Java
Swift
curl --location --request POST '/on_cancel' \
--header 'Content-Type: application/json' \
--data-raw '{
  "context": {
    "domain": "ONDC:RET11",
    "country": "IND",
    "city": "std:0124",
    "core_version": "1.2.5",
    "action": "on_cancel",
    "transaction_id": "{{transaction_id}}",
    "message_id": "{{message_id}}",
    "timestamp": "{{timestamp}}",
    "bap_uri": "{{bap_uri}}",
    "bap_id": "{{bap_id}}",
    "bpp_uri": "{{bpp_uri}}",
    "bpp_id": "{{bpp_id}}",
    "ttl": "PT30S"
  },
  "message": {
    "order": {
      "id": "SS1745833620254",
      "state": "Completed",
      "provider": {
        "id": "pramaan_provider_1",
        "locations": [
          {
            "id": "SSL1"
          }
        ]
      },
      "items": [
        {
          "id": "id_1bai73_0_0",
          "quantity": {
            "count": 2
          },
          "tags": [
            {
              "code": "np_fees",
              "list": [
                {
                  "code": "id"
                }
              ]
            }
          ],
          "fulfillment_id": "ed0d1e5e-2a3e-4312-83b2-1f5b2e65bd4d"
        }
      ],
      "billing": {
        "address": {
          "name": "Nirdosh Chauhan",
          "building": "221 B",
          "locality": "Baker Steeet",
          "city": "Gurgaon",
          "state": "Haryana",
          "country": "India",
          "area_code": "122007"
        },
        "tax_number": "00ABCDE1234F1Z5",
        "name": "Nirdosh Chauhan",
        "email": "nirdosh.chauhan@sequelstring.com",
        "phone": "9876543210",
        "created_at": "2025-04-28T09:46:57.777Z",
        "updated_at": "2025-04-28T09:46:57.777Z"
      },
      "fulfillments": [
        {
          "id": "ed0d1e5e-2a3e-4312-83b2-1f5b2e65bd4d",
          "@ondc/org/provider_name": "Pramaan Store 1",
          "@ondc/org/category": "Standard Delivery",
          "@ondc/org/TAT": "PT24H",
          "state": {
            "descriptor": {
              "code": "Order-delivered"
            }
          },
          "type": "Delivery",
          "tracking": true,
          "start": {
            "location": {
              "id": "SSL1",
              "gps": "28.527300,77.182100",
              "descriptor": {
                "name": "Pramaan Store 1",
                "images": [
                  "https://ondc.org/assets/theme/images/ondc_registered_logo.svg?v=399788fda7"
                ]
              },
              "address": {
                "locality": "N. Caldwell",
                "city": "New Delhi",
                "area_code": "110030",
                "state": "New Delhi"
              }
            },
            "time": {
              "range": {
                "start": "2025-04-28T09:47:00.282Z",
                "end": "2025-04-28T23:00:00.000Z"
              },
              "timestamp": "2025-04-28T09:47:17.658Z"
            },
            "contact": {
              "phone": "9876543210",
              "email": "ss_seller_1@ss.com"
            }
          },
          "end": {
            "location": {
              "gps": "28.4554726,77.0219019",
              "address": {
                "name": "Nirdosh Chauhan",
                "building": "221 B",
                "locality": "Baker Steeet",
                "city": "Gurgaon",
                "state": "Haryana",
                "country": "India",
                "area_code": "122007"
              }
            },
            "contact": {
              "phone": "9876543210",
              "email": "nirdosh.chauhan@sequelstring.com"
            },
            "person": {
              "name": "Nirdosh Chauhan"
            },
            "time": {
              "range": {
                "start": "2025-04-29T09:30:00.000Z",
                "end": "2025-04-29T19:00:00.000Z"
              },
              "timestamp": "2025-04-28T09:47:25.825Z"
            }
          },
          "tags": [
            {
              "code": "routing",
              "list": [
                {
                  "code": "type",
                  "value": "P2P"
                }
              ]
            },
            {
              "code": "tracking",
              "list": [
                {
                  "code": "gps_enabled",
                  "value": "yes"
                },
                {
                  "code": "url_enabled",
                  "value": "yes"
                },
                {
                  "code": "url",
                  "value": "https://ondc.sequelstring.com/track/ed0d1e5e-2a3e-4312-83b2-1f5b2e65bd4d"
                }
              ]
            }
          ]
        },
        {
          "@ondc/org/provider_name": "Pramaan Store 1",
          "type": "Return",
          "state": {
            "descriptor": {
              "code": "Return_Initiated"
            }
          },
          "tags": [
            {
              "code": "return_request",
              "list": [
                {
                  "code": "id",
                  "value": "f452402c-902b-4909-8ad9-fbf92436a5d4"
                },
                {
                  "code": "item_id",
                  "value": "id_1bai73_0_0"
                },
                {
                  "code": "item_quantity",
                  "value": "1"
                },
                {
                  "code": "reason_id",
                  "value": "003"
                },
                {
                  "code": "reason_desc",
                  "value": "some detailed reason for return"
                },
                {
                  "code": "images",
                  "value": "https://some-images-for-item.com"
                },
                {
                  "code": "ttl_approval",
                  "value": "PT24H"
                },
                {
                  "code": "ttl_reverseqc",
                  "value": "P3D"
                }
              ]
            }
          ],
          "id": "f452402c-902b-4909-8ad9-fbf92436a5d4"
        }
      ],
      "quote": {
        "price": {
          "currency": "INR",
          "value": "2715.00"
        },
        "breakup": [
          {
            "@ondc/org/item_id": "id_1bai73_0_0",
            "title": "Adidas Track Suit",
            "@ondc/org/item_quantity": {
              "count": 2
            },
            "@ondc/org/title_type": "item",
            "price": {
              "currency": "INR",
              "value": "2400.00"
            },
            "item": {
              "price": {
                "currency": "INR",
                "value": "1200.00"
              }
            }
          },
          {
            "@ondc/org/item_id": "ed0d1e5e-2a3e-4312-83b2-1f5b2e65bd4d",
            "title": "Delivery charges",
            "@ondc/org/title_type": "delivery",
            "price": {
              "currency": "INR",
              "value": "40"
            }
          },
          {
            "@ondc/org/item_id": "ed0d1e5e-2a3e-4312-83b2-1f5b2e65bd4d",
            "title": "Tax",
            "@ondc/org/title_type": "tax",
            "price": {
              "currency": "INR",
              "value": "5"
            },
            "item": {
              "tags": [
                {
                  "code": "quote",
                  "list": [
                    {
                      "code": "type",
                      "value": "fulfillment"
                    },
                    {
                      "code": "subtype",
                      "value": "delivery"
                    }
                  ]
                }
              ]
            }
          }
        ]
      },
      "payment": {
        "type": "ON-ORDER",
        "@ondc/org/settlement_basis": "delivery",
        "@ondc/org/settlement_window": "P1D",
        "@ondc/org/withholding_amount": "10.00",
        "tags": [
          {
            "code": "bpp_collect",
            "list": [
              {
                "code": "success",
                "value": "Y"
              },
              {
                "code": "error",
                "value": ".."
              }
            ]
          }
        ],
        "collected_by": "BPP",
        "status": "NOT-PAID",
        "uri": "http://localhost:5006/seller/toPaymentUtility?amount=\"2715\"&transaction_id=0e5d2340-cf92-426b-95f5-7ab6db2fd9f2&label=RETAIL_PRE_PAID_PAYMENT",
        "params": {
          "amount": "2715.00",
          "currency": "INR"
        },
        "@ondc/org/settlement_details": [
          {
            "settlement_counterparty": "buyer-app",
            "settlement_type": "upi",
            "beneficiary_name": "Nirdosh Chauhan",
            "upi_address": "gft@oksbi",
            "settlement_bank_account_no": "987654321012",
            "settlement_ifsc_code": "SBI00000001"
          }
        ]
      },
      "tags": [
        {
          "code": "bpp_terms",
          "list": [
            {
              "code": "np_type",
              "value": "MSN"
            },
            {
              "code": "tax_number",
              "value": "00CBADE2145H1Z5"
            },
            {
              "code": "max_liability",
              "value": "2"
            },
            {
              "code": "max_liability_cap",
              "value": "10000.00"
            },
            {
              "code": "mandatory_arbitration",
              "value": "false"
            },
            {
              "code": "court_jurisdiction",
              "value": "New Delhi"
            },
            {
              "code": "delay_interest",
              "value": "7.50"
            },
            {
              "code": "provider_tax_number",
              "value": "ABCDE1234F"
            }
          ]
        },
        {
          "code": "bap_terms",
          "list": [
            {
              "code": "tax_number",
              "value": "00XYZAB1234C1Z8"
            },
            {
              "code": "accept_bpp_terms",
              "value": "Y"
            }
          ]
        }
      ],
      "created_at": "2025-04-28T09:47:00.254Z",
      "updated_at": "2025-04-28T09:47:36.019Z",
      "documents": [
        {
          "label": "Invoice",
          "url": "https://ondc.sequelstring.com/seller/document/invoice.pdf"
        }
      ]
    }
  }
}'
Response Response Example
{}

Request

Body Params application/json

Examples

Responses

🟢200Success
application/json
Body

Modified at 2025-06-09 13:17:29
Previous
06 - Get tracking details for an order's fulfillment from the Seller App - /on_track
Next
07 - Respond to cancellation initiated by Seller App - ACK to /on_cancel
Built with