ONDC Retail
  1. Sent by Retail Seller App
ONDC Retail
  • Begin your ONDC journey
  • Glossary - Components and Terms use
  • 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
      • 04 - Receive response to order confirmation by Buyer App
      • 03 - Receive response to order initiation by Buyer App
      • 02 - Receive response to inquiry about availability and pricing of selected items from catalogue
      • 01b - Receive incremental catalogue refresh from Seller App
      • 01a - Receive full catalogue from Seller App
  1. Sent by Retail Seller App

04 - Finalize order with Seller App (confirmation of order) subject to ACK from Seller App - /on_confirm

Developing
POST
/on_confirm
Request Request Example
Shell
JavaScript
Java
Swift
curl --location --request POST '/on_confirm' \
--header 'Content-Type: application/json' \
--data-raw '{
    "context": {
        "domain": "ONDC:RET11",
        "country": "IND",
        "city": "std:0124",
        "core_version": "1.2.5",
        "action": "on_confirm",
        "transaction_id": "{{transaction_id}}",
        "message_id": "{{message_id}}",
        "timestamp": "{{timestamp}}",
        "bap_uri": "{{bap_uri}}",
        "bap_id": "{{bap_id}}",
        "ttl": "PT30S"
    },
    "message": {
      "order": {
        "id": "SS1747985714991",
        "state": "Accepted",
        "provider": {
          "id": "pramaan_provider_1",
          "locations": [
            {
              "id": "SSL1"
            }
          ]
        },
        "items": [
          {
            "id": "id_ancc5_0_0",
            "quantity": {
              "count": 2
            },
            "parent_item_id": "P3121",
            "tags": [
              {
                "code": "type",
                "list": [
                  {
                    "code": "type",
                    "value": "item"
                  }
                ]
              },
              {
                "code": "np_fees",
                "list": [
                  {
                    "code": "id",
                    "value": "1"
                  }
                ]
              }
            ],
            "fulfillment_id": "60e58daa-9c69-445a-8a31-ae3ef14913ab"
          },
          {
            "id": "id_5yzai_2_0",
            "quantity": {
              "count": 2
            },
            "parent_item_id": "P3121",
            "tags": [
              {
                "code": "type",
                "list": [
                  {
                    "code": "type",
                    "value": "customization"
                  }
                ]
              },
              {
                "code": "parent",
                "list": [
                  {
                    "code": "id",
                    "value": "CG11"
                  },
                  {
                    "code": "default",
                    "value": "yes"
                  }
                ]
              }
            ],
            "fulfillment_id": "60e58daa-9c69-445a-8a31-ae3ef14913ab"
          }
        ],
        "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-05-23T07:34:52.693Z",
          "updated_at": "2025-05-23T07:34:52.693Z"
        },
        "fulfillments": [
          {
            "id": "60e58daa-9c69-445a-8a31-ae3ef14913ab",
            "@ondc/org/provider_name": "Pramaan Store 1",
            "@ondc/org/category": "Takeaway",
            "@ondc/org/TAT": "PT24H",
            "state": {
              "descriptor": {
                "code": "Pending"
              }
            },
            "type": "Self-Pickup",
            "tracking": false,
            "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-05-23T07:35:15.012Z",
                  "end": "2025-05-23T23:00:00.000Z"
                }
              },
              "contact": {
                "phone": "9876543210",
                "email": "ss_seller_1@ss.com"
              }
            }
          }
        ],
        "cancellation_terms": [
          {
            "fulfillment_state": {
              "descriptor": {
                "code": "Pending",
                "short_desc": "002"
              }
            },
            "cancellation_fee": {
              "percentage": "0.00",
              "amount": {
                "currency": "INR",
                "value": "0.00"
              }
            }
          },
          {
            "fulfillment_state": {
              "descriptor": {
                "code": "Packed",
                "short_desc": "001,003"
              }
            },
            "cancellation_fee": {
              "percentage": "0.00",
              "amount": {
                "currency": "INR",
                "value": "0.00"
              }
            }
          },
          {
            "fulfillment_state": {
              "descriptor": {
                "code": "Order-picked-up",
                "short_desc": "001,003"
              }
            },
            "cancellation_fee": {
              "percentage": "10.00",
              "amount": {
                "currency": "INR",
                "value": "89.50"
              }
            }
          },
          {
            "fulfillment_state": {
              "descriptor": {
                "code": "Out-for-delivery",
                "short_desc": "009"
              }
            },
            "cancellation_fee": {
              "percentage": "30.00",
              "amount": {
                "currency": "INR",
                "value": "268.50"
              }
            }
          },
          {
            "fulfillment_state": {
              "descriptor": {
                "code": "Out-for-delivery",
                "short_desc": "010,011,012,013,014,015"
              }
            },
            "cancellation_fee": {
              "percentage": "35.00",
              "amount": {
                "currency": "INR",
                "value": "313.25"
              }
            }
          }
        ],
        "quote": {
          "price": {
            "currency": "INR",
            "value": "830.00"
          },
          "breakup": [
            {
              "@ondc/org/item_id": "id_ancc5_0_0",
              "title": "Farmhouse Pizza",
              "@ondc/org/item_quantity": {
                "count": 2
              },
              "@ondc/org/title_type": "item",
              "price": {
                "currency": "INR",
                "value": "530.00"
              },
              "item": {
                "price": {
                  "currency": "INR",
                  "value": "265"
                },
                "parent_item_id": "P3121",
                "tags": [
                  {
                    "code": "veg_nonveg",
                    "list": [
                      {
                        "code": "veg",
                        "value": "yes"
                      }
                    ]
                  },
                  {
                    "code": "type",
                    "list": [
                      {
                        "code": "type",
                        "value": "item"
                      }
                    ]
                  },
                  {
                    "code": "custom_group",
                    "list": [
                      {
                        "code": "id",
                        "value": "CG11"
                      }
                    ]
                  },
                  {
                    "code": "np_fees",
                    "list": [
                      {
                        "code": "channel_margin_type",
                        "value": "percent"
                      },
                      {
                        "code": "channel_margin_value",
                        "value": "0.50"
                      }
                    ]
                  }
                ]
              }
            },
            {
              "@ondc/org/item_id": "id_5yzai_2_0",
              "title": "100% Wheat Thin Crust",
              "@ondc/org/item_quantity": {
                "count": 2
              },
              "@ondc/org/title_type": "item",
              "price": {
                "currency": "INR",
                "value": "0.00"
              },
              "item": {
                "price": {
                  "currency": "INR",
                  "value": "0"
                },
                "parent_item_id": "P3121",
                "tags": [
                  {
                    "code": "veg_nonveg",
                    "list": [
                      {
                        "code": "veg",
                        "value": "yes"
                      }
                    ]
                  },
                  {
                    "code": "type",
                    "list": [
                      {
                        "code": "type",
                        "value": "customization"
                      }
                    ]
                  },
                  {
                    "code": "parent",
                    "list": [
                      {
                        "code": "id",
                        "value": "CG11"
                      },
                      {
                        "code": "default",
                        "value": "yes"
                      }
                    ]
                  },
                  {
                    "code": "child",
                    "list": [
                      {
                        "code": "id",
                        "value": "CG21"
                      }
                    ]
                  }
                ]
              }
            },
            {
              "@ondc/org/item_id": "60e58daa-9c69-445a-8a31-ae3ef14913ab",
              "title": "Delivery charges",
              "@ondc/org/title_type": "delivery",
              "price": {
                "currency": "INR",
                "value": "0"
              }
            },
            {
              "@ondc/org/item_id": "60e58daa-9c69-445a-8a31-ae3ef14913ab",
              "title": "Packing charges",
              "@ondc/org/title_type": "packing",
              "price": {
                "currency": "INR",
                "value": "25"
              }
            },
            {
              "@ondc/org/item_id": "60e58daa-9c69-445a-8a31-ae3ef14913ab",
              "title": "Tax",
              "@ondc/org/title_type": "tax",
              "price": {
                "currency": "INR",
                "value": "5"
              },
              "item": {
                "tags": [
                  {
                    "code": "quote",
                    "list": [
                      {
                        "code": "type",
                        "value": "item"
                      },
                      {
                        "code": "subtype",
                        "value": "misc"
                      }
                    ]
                  },
                  {
                    "code": "np_fees",
                    "list": [
                      {
                        "code": "id",
                        "value": "1"
                      }
                    ]
                  }
                ]
              }
            },
            {
              "@ondc/org/item_id": "60e58daa-9c69-445a-8a31-ae3ef14913ab",
              "title": "Convenience Fee",
              "@ondc/org/title_type": "misc",
              "price": {
                "currency": "INR",
                "value": "40"
              },
              "item": {
                "tags": [
                  {
                    "code": "quote",
                    "list": [
                      {
                        "code": "type",
                        "value": "item"
                      }
                    ]
                  },
                  {
                    "code": "np_fees",
                    "list": [
                      {
                        "code": "id",
                        "value": "1"
                      },
                      {
                        "code": "channel_margin_type",
                        "value": "percent"
                      },
                      {
                        "code": "channel_margin_value",
                        "value": "0.50"
                      }
                    ]
                  }
                ]
              }
            }
          ]
        },
        "payment": {
          "@ondc/org/buyer_app_finder_fee_type": "percent",
          "@ondc/org/buyer_app_finder_fee_amount": "3",
          "@ondc/org/settlement_details": [
            {
              "settlement_counterparty": "seller-app",
              "upi_address": "",
              "beneficiary_name": "SEQUELSTRING AI",
              "settlement_type": "neft",
              "settlement_bank_account_no": "9876543210012",
              "settlement_ifsc_code": "AXIS123456",
              "settlement_phase": "sale-amount",
              "settlement_status": "NOT-PAID",
              "bank_name": "AXIS BANK LTD ",
              "branch_name": "NAVI MUMBAI"
            }
          ],
          "collected_by": "BAP",
          "@ondc/org/settlement_basis": "delivery",
          "@ondc/org/settlement_window": "P1D",
          "@ondc/org/withholding_amount": "10.00",
          "params": {
            "amount": "830.00",
            "currency": "INR",
            "transaction_id": "b98e21ba-27d6-4f36-9a64-7d4ecc32813f"
          },
          "type": "ON-ORDER",
          "status": "PAID"
        },
        "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-05-23T07:35:14.991Z",
        "updated_at": "2025-05-23T07:35:15.012Z"
      }
    }
}'
Response Response Example
{}

Request

Body Params application/json
object {0}
Examples

Responses

🟢200Success
application/json
Body
object {0}
Previous
03 - Initiate an order before confirmation (order in cart) - /on_init
Next
05 - Retrieve the latest status of an order from the Seller App - /on_status
Built with