Integration notes

Qikink API handoff

The app is intentionally set to QIKINK_MODE=mock. To test sandbox calls, copy .env.example to .env.local, add Qikink credentials, verify the latest Postman body, then set QIKINK_MODE=live.

Correct SKU mapping

Qikink Product Variations column -> Project field
Name          -> product.name
Variation     -> variant.qikink.qikinkVariationName
Product SKU   -> variant.qikink.productSku       // debug/admin
Design SKU    -> variant.qikink.designSku        // debug/admin
Store SKU     -> variant.qikink.storeSku         // sent as line_items[].sku
Product Price -> variant.qikink.productPrice     // cost estimate
Selling Price -> variant.sellingPrice            // your customer price

Prepaid

Capture payment in your own gateway first. After success, call the custom backend order API. The backend then sends the fulfillment order to Qikink.

COD

No customer payment is captured at checkout. The backend places a COD order with Qikink and tracks collection/settlement separately.

Files to review

lib/catalog.ts
lib/qikink/client.ts
lib/qikink/payload.ts
app/api/orders/route.ts
lib/orders/buildOrder.ts
lib/schemas/order.ts