GoKwik is an Indian checkout, conversion and returns-to-origin platform for direct to consumer brands. It sits between a brand's storefront (usually Shopify or WooCommerce) and its payment aggregators, replacing the native checkout with a one-click, OTP-verified, address-prefilled flow, then scoring every cash on delivery order for return-to-origin risk before it is allowed through. GoKwik Commerce Solutions Private Limited was founded in 2020 and is registered in New Delhi. For a unified commerce database, GoKwik matters because on a brand that uses it, GoKwik holds the risk score, the COD decision, the address correction and often the shipping and returns record, none of which appears in the Shopify order.
At a glance
What it is
GoKwik sells a bundle of point solutions to Indian D2C brands, all aimed at the same two numbers: checkout conversion and RTO rate. The published product list as of September 2026 is Kwik Checkout, Kwik Pass, Kwik Engage, Kwik Ads, GoKwik Cart, Kwik Ship, Return Prime, Kwik AI Popups and Kwik GEO. The company claims more than 20,000 merchants and a shopper network of over 50 million, which it uses to prefill addresses and to score buyers across brands.
The products that produce commerce data:
- Kwik Checkout replaces the storefront checkout. It handles OTP login, address prefill from the shopper network, discount and upsell logic, and the COD decision. GoKwik states plainly that it is not a payment aggregator: "payment routing and settlement are performed by licensed Payment Aggregators integrated with the GoKwik platform." That means GoKwik holds the order and the risk decision but not the settlement.
- Buyer risk profiling scores every COD order using, in GoKwik's words, "200+ signals and network data", and drives rules that block, restrict or verify an order, or push the shopper toward prepaid or partial COD. This score is the single most valuable field GoKwik holds and it does not exist anywhere else in the stack.
- Kwik Ship is a shipping layer with AI carrier allocation, expected delivery date display, pre-dispatch risk flagging and NDR management through WhatsApp reminders, automated calls and manual escalation. Carriers are not named on the public page.
- Return Prime is a returns and exchanges product listed by GoKwik as one of its own. The Shopify App Store listing still names Appsdart Solutions Private Limited as the developer, so the corporate relationship is not cleanly reflected in the app listing. Return Prime is the only product in the family with public API documentation.
- Kwik Pass is phone-based single sign-on and popups, published on the Shopify App Store by "GoKwik Commerce Solutions Pvt. Ltd. c/o Fineshift Software Inc."
Supported storefront platforms are Shopify, WooCommerce, ZohoCommerce, Shoopy and Aasaan. GoKwik is India-only in practice. It is not listed among Unicommerce's public integration partners.
GoKwik publishes no developer documentation. Everything in the Kwik Checkout, Kwik Ship and COD sections below describes what the product demonstrably does, not endpoints. No GoKwik endpoint, header or field name is asserted on this page except where it comes from the Return Prime Postman collection, which is first party and public. Treat the merchant API as something to request from merchantcare@gokwik.co during onboarding.
API access
GoKwik merchant APIs. There is no public developer console, no self-serve key issuance and no published reference. The evidence gathered:
gokwik.readme.ioresolves and is a real ReadMe project (the page metadata carriesreadme-subdomain: gokwik), but an unauthenticated request returns HTTP 401 and redirects to/inactive. So a documentation hub was built and is either retired or gated behind a login.www.gokwik.co/developersandwww.gokwik.co/docsboth return 404 after a redirect. The marketing sitemap contains no developer, API or documentation page.api.gokwik.coresolves behind Cloudflare andmerchant.gokwik.coanddashboard.gokwik.coresolve as the merchant console, so a production API clearly exists; it is simply not documented publicly.- There is no first-party GoKwik SDK on GitHub. A search of the GitHub repository index returns around 100 repositories named "gokwik", and essentially all of them are hiring-assignment projects by individual candidates, not integrations.
- GoKwik's WooCommerce plugin is not published in the WordPress.org plugin directory, so its source, which would otherwise reveal the real endpoints, is not publicly readable.
The practical route to credentials is the merchant relationship: onboard, then ask the account manager or merchantcare@gokwik.co for API access and the integration pack. Merchants on Shopify get most of the value without any API work, because GoKwik writes the completed order into Shopify and the Shopify connector then sees it.
Return Prime. Two documented routes, both real and both public:
- Custom app, for a single merchant. In that merchant's Return Prime dashboard, Settings, Integrations, Develop apps, create a new app, and take the credentials. No approval needed.
- Public app, for an integration offered to all Return Prime merchants. Register as a partner, Return Prime reviews, credentials arrive by email, and the app appears in every merchant's Integrations section once approved. The published approval time is 4 to 6 weeks and varies with queue depth. Contact is
help@returnprime.com.
Be sceptical of third-party "GoKwik API" repositories. At least one repository in the GitHub index describes itself as a "one-click checkout and COD RTO fraud predictor suite (GoKwik style)" and is a generated skill package, not an integration. Nothing on this page is drawn from repositories of that kind.
Authentication
GoKwik merchant APIs: not published. No auth scheme, header name, token lifetime or scope model could be verified from any first-party source. Assume a merchant-scoped static key or key and secret pair issued from the merchant dashboard, and confirm during onboarding. Do not design a credential store around a guess; ask for the scheme in writing before building.
Return Prime. A static token in a custom header. There is no OAuth flow, no expiry and no refresh documented.
- For a custom app, take the token from the merchant's Return Prime dashboard under Settings, Integrations, Develop apps, open the app, API credentials.
- Send it on every request as
x-rp-token.
GET /return-exchange/v2 HTTP/1.1 Host: api.returnprime.co x-rp-token: 445a90a0405XXXXXX1d8f54a41d72f10d900f4d93bdb7e21c77XXXX5675456 Accept: application/json
For a public app the sequence is two-stage, and this is the part worth getting right for multi-tenant use:
- Return Prime issues your app a partner token at approval time, sent by email.
- When a merchant activates your app, Return Prime POSTs to the callback URL you registered:
{
"Message": "A store has activated your app. Please use the store id in the GET Secret API to fetch the secret token of this store and access data",
"store_id": "64115fc4cbXXXXXec6ce242",
"active": true
}
Deactivation posts the same shape with "active": false and a message stating the store's token has been deactivated.
- Exchange the
store_idfor that store's own token using the partner token:
GET /app-integration/v1/store/<store_id>/secret HTTP/1.1 Host: api.returnprime.co x-rp-token: <partner token issued at app approval>
{
"status": true,
"messageCode": "APP_CRED_S1",
"message": "We successfully fetched the app credentials for this store.",
"data": {
"app_id": "65xxxxxxxxxxxxxxxxxxx690",
"store_id": "641xxxxxxxxxxxxxxxxxx242",
"secret_key": "8e2xxxxxxxxxx20a2",
"store_url": "returnprime.myshopify.com"
}
}
- Register webhooks for that store with the store token, then start receiving data.
store_url is a myshopify.com domain, which is the join key back to a Shopify connector. Store one token per store_id against your channel_account_id. Return Prime's own guidance is to poll the request API as a backup to webhooks, and to use it to discover which stores have activated the app.
Objects we can read
Orders
Kwik Checkout: not published. GoKwik owns the checkout session, the COD decision and the risk score, and a merchant API for orders is understood to exist because the merchant dashboard displays exactly that data, but no endpoint, parameter or response shape is published. On Shopify the completed order is written into Shopify, so read orders from the Shopify connector and treat GoKwik as an enrichment source keyed on the Shopify order id.
The fields worth asking GoKwik for, because they exist nowhere else:
- the RTO risk score and band for the order
- the COD decision and the rule that produced it (blocked, restricted, verification required, allowed)
- whether the shopper was converted from COD to prepaid or partial COD, and the incentive offered
- the address as corrected or prefilled by GoKwik versus the address the shopper typed
- the OTP verification outcome and the GoKwik shopper network identifier
Order items
Not published for GoKwik. Present inside the Return Prime request object as the returned or exchanged line items.
Products and listings
None. GoKwik holds no catalogue.
Inventory
None.
Shipments and tracking
Kwik Ship: not published. The product performs carrier allocation, expected delivery date calculation, tracking page hosting and NDR sequencing, so shipment, AWB, tracking event and NDR records all exist inside GoKwik. No endpoint is published. Carrier list is not published either.
Returns and cancellations
This is the one object with a real, readable, public API, through Return Prime.
GET https://api.returnprime.co/return-exchange/v2 lists requests. GET https://api.returnprime.co/return-exchange/v2/request-id retrieves one. Pagination parameters are not documented in the collection.
A Return Prime request is a return or an exchange raised by a customer or created manually by the brand. Documented top-level properties, all read-only:
{
"status": true,
"messageCode": "REQUEST_EXCHANGE_S3",
"message": "Return/exchange details fetched successfully.",
"data": {
"request": {
"id": "6523ae7172XXXXX060eb16c36",
"request_number": "RET625",
"request_type": "return",
"status": "requested",
"manual_request": true,
"channel": 97426,
"smart_exchange": false,
"payment": null,
"order": {
"id": 4848243081389,
"name": "#1006",
"manual_payment": true,
"fulfillments": [
{
"id": 4388166009005,
"line_items": [12322008498349],
"delivery_status": "cancelled",
"delivery_date": "2023-05-09"
}
],
"created_at": "2023-05-01T06:25:44.000Z"
},
"customer": {
"id": 6435962192045,
"name": "Wonder",
"email": "help@returnprime.com",
"phone": "9999999999",
"address": {
"first_name": "Wonder",
"last_name": null,
"postal_code": "560103",
"city": "Banglore",
"province": "Karnataka",
"country_code": "IN",
"province_code": "KA",
"address_line_1": "Karnataka",
"address_line_2": null,
"country": "India",
"address_line_3": ""
},
"bank": {
"account_holder_name": "",
"account_number": "",
"confirm_account_number": "",
"ifsc_code": ""
}
},
"archived": { "status": false, "comment": null, "created_at": null },
"rejected": { "status": false, "comment": null, "created_at": null },
"received": { "status": false, "comment": null, "created_at": null },
"inspected": { "status": false, "comment": null, "created_at": null }
}
}
}
customer.bank carries an account holder name, an account number and an IFSC code, because Indian COD refunds are paid by bank transfer. That is financial PII of a kind most connectors never encounter. Do not store it in the unified database. Drop the bank object at ingest, before anything is written, and record only a boolean saying whether bank details were supplied.
order.id, order.name, customer.id and the fulfilment line item ids are all Shopify identifiers, which makes joining a Return Prime request back to a Shopify order trivial and reliable.
manual_payment: true on the order is the COD marker: it means the order was paid outside a gateway, which in the Indian D2C context almost always means cash on delivery.
Payments and settlements
None from GoKwik, by its own statement: it is not a payment aggregator, and routing and settlement sit with the licensed payment aggregators connected to the platform. Settlement data has to come from the aggregator (Razorpay, Cashfree, PayU, Easebuzz and similar) or from the brand's bank.
Return Prime's payment_details covers only the incremental amount a customer paid during an exchange, not the original order.
Customers
Not published for GoKwik. Return Prime exposes the customer inside each request: Shopify customer.id, name, email, phone, a full Indian postal address and the bank object described above. All PII, none masked.
GoKwik's shopper network identity, which is what makes address prefill work across brands, is not exposed publicly and is likely restricted for privacy reasons.
Locations
None.
Writing back: listings, price and stock
Not applicable, this is a checkout and logistics provider, not a sales channel. GoKwik does not own a listing, a price or a stock count. Catalogue, price and inventory all remain the storefront's responsibility, so any write goes through the Shopify or WooCommerce connector.
The write paths that do exist:
- Shipment create and cancel through Kwik Ship. Not published. Kwik Ship allocates a carrier, generates the waybill and manages NDR, so a create and a cancel must exist behind the dashboard. Request the specification during onboarding.
- COD and RTO rules. The merchant dashboard configures the rules that block, restrict or verify a COD order. Whether these are settable by API is not published.
- Return Prime. The public collection documents reads and webhook management only. It does not document a write that approves, rejects, receives or refunds a request, so as far as the public API goes Return Prime is read-only plus webhook subscription. State changes happen in the Return Prime dashboard and are then observable through the
request/*topics.
Webhooks and notifications
GoKwik: not published. No event catalogue, subscription endpoint or signature scheme could be found from any first-party source. On Shopify, the practical substitute is to subscribe to Shopify's own orders/create and orders/updated webhooks, since GoKwik writes the completed order into Shopify.
Return Prime: fully documented and usable.
Subscription management, all authenticated with x-rp-token:
POST https://api.returnprime.co/v2/webhook/registers oneGET https://api.returnprime.co/v2/webhook/lists themPUT https://api.returnprime.co/v2/webhook/<id>updates oneDELETE https://api.returnprime.co/v2/webhook/:idremoves one
{
"url": "https://example.com/returnprime",
"topics": ["request/approved"]
}
{
"status": true,
"messageCode": "WEBHOOK_S7",
"data": {
"url": "https://example.com/returnprime",
"topics": ["request/approved"],
"active": true,
"createdAt": "2023-10-26T09:53:06.030Z",
"updatedAt": "2023-10-26T09:53:06.030Z"
}
}
Supported topics:
All webhooks for a store go to the same URL; the topic list on the subscription decides what arrives there.
Verification is not documented. The collection describes no signature header, no shared secret and no HMAC. Until Return Prime confirms otherwise, treat the receiver as unauthenticated: use a long unguessable path, allowlist by source if you can get the source ranges, and re-fetch the request from GET /return-exchange/v2/request-id before trusting anything in the body. Retry policy is also not documented, so assume no replay and reconcile on a schedule.
Polling fallback. Return Prime's own documentation recommends polling the request API as a backup to webhooks. Given no documented retry policy, do both: take webhooks for latency and sweep GET /return-exchange/v2 hourly for completeness.
Rate limits and pagination
Not published, for either GoKwik or Return Prime. The Postman collection documents no limit, no quota header and no 429 response, and the GoKwik merchant API has no public documentation at all.
Until measured, treat both as fragile: serialise requests, keep to one or two per second, honour any 429 with an exponential backoff, and do not run an unbounded historical backfill without asking first. Pagination on GET /return-exchange/v2 is undocumented; inspect the first live response for a cursor, page or total field before assuming the endpoint returns everything.
Mapping to the unified model
orders
GoKwik order fields are not published. When GoKwik runs the checkout for a Shopify brand, populate orders from the Shopify connector and attach GoKwik's risk and COD data as enrichment columns keyed on channel_order_id.
The Return Prime order sub-object gives a partial view:
order_items
listings
Not applicable.
inventory
Not applicable. Note that Return Prime's own documentation names inventory adjustment as a use case for its webhooks: a request/received event is the trigger to restock, but the stock write goes to the storefront, not to Return Prime.
shipments
Not readable from any public GoKwik or Return Prime surface. Kwik Ship holds carrier, AWB, events, NDR reason and RTO status, and all of it would map cleanly onto the unified shipments table, but none of it is published. This is the single biggest gap on the platform and the first thing to ask for during onboarding.
returns
The strongest mapping on the page.
request_type distinguishes a return from an exchange and should be carried through; treating an exchange as a return will corrupt refund maths.
settlements
Not available from GoKwik. Use the payment aggregator's connector.
customers
locations
Not available.
Gaps and open questions
- The entire GoKwik merchant API is undocumented publicly. Auth scheme, base URL, endpoints, webhooks, rate limits and sandbox are all unknown. This page deliberately asserts none of them. Everything needed to build the connector has to come from GoKwik during onboarding.
- The ReadMe hub is dark.
gokwik.readme.iois a real ReadMe project that returns 401 and routes to/inactive. Either the documentation moved behind a merchant login or the project lapsed. Worth asking whether a gated hub exists and how to get into it. - Kwik Ship carriers are not named. The product page describes AI carrier allocation without listing a single carrier, so which networks a shipment can land on, and therefore which tracking vocabulary you will receive, is unknown.
- The RTO score is the prize and its availability is unverified. Whether the numeric risk score, the band, the contributing signals and the COD decision are exposed by API, or only shown in the dashboard, is the question that decides whether this connector is worth building.
- Return Prime ownership. GoKwik lists Return Prime as one of its products, while the Shopify App Store listing names Appsdart Solutions Private Limited as the developer, with offices in India and Berlin. The two sources disagree on who operates it. That matters for data processing agreements and for which support queue to use.
- Return Prime webhook security. No signature, secret or verification mechanism is documented. If that is accurate rather than an omission, any receiver is spoofable and must re-fetch before trusting. Confirm with
help@returnprime.com. - Return Prime pagination and rate limits. Neither is documented. A brand with a high return rate will generate a large request history and there is no published way to page it safely.
- Return Prime write operations. The public collection is read plus webhook management. Whether approve, reject, receive, inspect and refund are callable is not published.
- API access on Return Prime is plan gated. The Shopify listing places webhook and API access on the Scale plan, priced at 149.99 US dollars per month as listed in September 2026. A merchant on a lower plan cannot give you API access at all.
- No public WooCommerce plugin. GoKwik's WooCommerce integration is not in the WordPress.org directory, so the usual trick of reading a plugin's source to learn the real endpoints is not available.
Sources
- GoKwik home, company details and the statement that GoKwik is not a payment aggregator
- Kwik Checkout product page, RTO scoring and COD controls
- Kwik Ship product page, carrier allocation and NDR management
- GoKwik integrations page, partner categories and supported platforms
- KwikPass on the Shopify App Store, publisher identity and pricing
- Return Prime on the Shopify App Store, publisher, pricing and the plan gate on API access
- Building with Return Prime, the first-party public Postman collection
- Unicommerce integrations list, checked for a GoKwik entry
- Negative results, verified directly:
gokwik.readme.ioreturns 401 and redirects to/inactive;www.gokwik.co/developersandwww.gokwik.co/docsreturn 404; the WordPress.org plugin directory returns no GoKwik plugin; the GitHub repository index contains no first-party GoKwik SDK.