SHOPIFY APP DEVELOPMENT

eSewa and Khalti have no Shopify apps — integrating Nepal's payment gateways requires custom development, not the App Store

Ignited Nepal builds custom Shopify apps for Nepali e-commerce brands: eSewa and Khalti payment provider integrations, Nepal Post carrier service connections, bilingual product management tools, and wholesale portals built for NPR and USD pricing. If the App Store does not have it, we build it.

This is for you if

This service is for Nepali Shopify merchants and export brands who have reached the boundary of what App Store apps can do.

Export brands selling handmade goods, apparel, or craft products internationally while also managing domestic wholesale orders

Nepali merchants who need eSewa or Khalti as a checkout payment option and have found no working integration in the App Store

Shopify stores that need live shipping rate calculation from Nepal Post, DHL Nepal, or FedEx Nepal at checkout

Product teams managing listings in both Nepali and English who need a workflow tool that surfaces both languages at once

B2B wholesale operations that need NPR and USD pricing, minimum order quantities, and custom payment terms in a single system

What's broken

Four Shopify limitations specific to Nepali e-commerce that off-the-shelf apps cannot fix

eSewa payment integration requires a custom Shopify payment provider app

eSewa does not have an official Shopify payment gateway integration in the App Store. Connecting eSewa as a checkout payment method requires a custom app built using Shopify's Payment Provider API. The app must handle the payment initiation call to eSewa's API, process the payment success and failure webhooks returned by eSewa, and update the Shopify order status accordingly. Without a custom payment provider app, eSewa cannot appear as a selectable payment method at Shopify checkout. The same applies to Khalti, which also has no native Shopify app. Both integrations require backend infrastructure to handle webhook verification and order reconciliation securely.

Nepal Post API not available in Shopify's carrier list

Shopify's built-in carrier list does not include Nepal Post, DHL Nepal, or FedEx Nepal as configured providers for live rate calculation. Showing accurate domestic shipping costs to Nepali buyers at checkout requires a custom Carrier Service API integration that connects to Nepal Post's rate API and returns calculated shipping costs to Shopify in real time. For export brands shipping internationally, the same approach is required for DHL and FedEx Nepal rates. Without this, merchants either show flat rates that do not reflect actual shipping costs, or they absorb the difference between charged and actual rates on every order.

No bilingual product management tool for Nepali and English descriptions

Export brands managing product descriptions in both Nepali and English face a workflow problem in the Shopify admin. Shopify's Translate and Adapt app allows translation management, but it does not present both language fields side by side in a single editing view for the product team. Staff managing Nepali descriptions work in one tab while the English description lives in another. A custom admin app embedded in the Shopify admin can present both language fields simultaneously, flag untranslated fields, and allow the product team to publish in both languages from a single screen without navigating between tabs.

Standard wholesale apps do not handle NPR/USD dual-currency pricing or Nepali B2B terms

Nepali export brands selling wholesale to international retailers need a wholesale portal that handles three things simultaneously: NPR pricing for domestic trade customers and USD pricing for international buyers, minimum order quantities set at the product level rather than only at the order level, and custom payment terms such as 30-day invoice payment or advance deposit requirements. No off-the-shelf Shopify wholesale app handles all three of these requirements correctly. A custom wholesale portal built on Shopify's Storefront API can be configured to apply the correct pricing, minimum quantities, and payment terms based on each wholesale customer's account type and geography.

What we engineer

Custom Shopify app development for Nepal's specific e-commerce requirements

eSewa and Khalti Payment Provider Apps

We build custom Shopify payment provider apps that integrate eSewa and Khalti as checkout payment methods. This includes the Shopify Payment Provider API configuration, the backend webhook handlers for payment confirmation and failure, and the order reconciliation logic that keeps Shopify order status accurate after payment.

Nepal Post and International Carrier API Integrations

We build Shopify Carrier Service API integrations that pull live shipping rates from Nepal Post, DHL Nepal, and FedEx Nepal and return them to Shopify checkout. Buyers see accurate shipping costs at the time of purchase rather than flat rates or estimates.

Bilingual Product Admin Tools

We build custom Shopify admin apps embedded in the Shopify admin interface that allow product teams to manage Nepali and English content fields side by side. These apps use Shopify's App Bridge and Admin API to read and write product metafields for translated content without requiring the product team to navigate between multiple interfaces.

Wholesale B2B Portals on the Storefront API

We build password-protected wholesale ordering portals on Shopify's Storefront API that support NPR and USD pricing by customer account, minimum order quantities at the product and variant level, custom payment term logic, and order history access for repeat B2B buyers.

Shopify Flow Automations

We configure and build custom Shopify Flow automations for order tagging, fulfilment triggers, customer segmentation, and notification workflows. Where Flow's native templates are insufficient, we build custom Flow actions using Shopify's Flow app API.

What changes

What your Shopify store handles after custom app development

Before
After
Before eSewa does not have an official Shopify payment gateway integration in the App Store. Connecting eSewa as a checkout payment method requires a custom app built using Shopify's Payment Provider API. The app must handle the payment initiation call to eSewa's API, process the payment success and failure webhooks returned by eSewa, and update the Shopify order status accordingly. Without a custom payment provider app, eSewa cannot appear as a selectable payment method at Shopify checkout. The same applies to Khalti, which also has no native Shopify app. Both integrations require backend infrastructure to handle webhook verification and order reconciliation securely.
After eSewa and Khalti at checkout. Nepali buyers can complete purchases using their preferred local payment methods without being redirected to a third-party page that breaks the purchase flow.
Before Shopify's built-in carrier list does not include Nepal Post, DHL Nepal, or FedEx Nepal as configured providers for live rate calculation. Showing accurate domestic shipping costs to Nepali buyers at checkout requires a custom Carrier Service API integration that connects to Nepal Post's rate API and returns calculated shipping costs to Shopify in real time. For export brands shipping internationally, the same approach is required for DHL and FedEx Nepal rates. Without this, merchants either show flat rates that do not reflect actual shipping costs, or they absorb the difference between charged and actual rates on every order.
After Accurate shipping rates at checkout. Customers see Nepal Post domestic rates and international courier rates calculated in real time at checkout, not flat estimates that either overcharge or undercharge.
Before Export brands managing product descriptions in both Nepali and English face a workflow problem in the Shopify admin. Shopify's Translate and Adapt app allows translation management, but it does not present both language fields side by side in a single editing view for the product team. Staff managing Nepali descriptions work in one tab while the English description lives in another. A custom admin app embedded in the Shopify admin can present both language fields simultaneously, flag untranslated fields, and allow the product team to publish in both languages from a single screen without navigating between tabs.
After Product team works in one tool. Bilingual product management happens in a single admin screen. Both language versions are published consistently, and no product goes live with an untranslated description.
Before Nepali export brands selling wholesale to international retailers need a wholesale portal that handles three things simultaneously: NPR pricing for domestic trade customers and USD pricing for international buyers, minimum order quantities set at the product level rather than only at the order level, and custom payment terms such as 30-day invoice payment or advance deposit requirements. No off-the-shelf Shopify wholesale app handles all three of these requirements correctly. A custom wholesale portal built on Shopify's Storefront API can be configured to apply the correct pricing, minimum quantities, and payment terms based on each wholesale customer's account type and geography.
After Wholesale portal handles B2B complexity. International and domestic trade customers log in to a portal that shows them their correct pricing, their minimum order requirements, and their available payment terms without requiring manual intervention from your operations team on each order.
How it works

How we build custom Shopify apps

  1. 01

    Technical Scoping

    Week 1

    We document the specific functional requirement, identify the Shopify API or extension point the app will use (Payment Provider API, Carrier Service API, Storefront API, Admin API, Shopify Functions, or App Bridge), and produce a technical specification that covers data flows, webhook handling requirements, and third-party API dependencies such as eSewa, Khalti, Nepal Post, or DHL.

  2. 02

    Architecture and Environment Setup

    Week 1-2

    We set up the development environment using Shopify CLI, configure the app in the Partner Dashboard, establish the authentication and API scopes required, and prepare staging environments on both the Shopify development store and the third-party API sandbox where available.

  3. 03

    Core Build

    Weeks 2-5, depending on scope

    We build the app functionality in incremental stages, with the Shopify Partner Dashboard providing access to development store testing throughout. For payment provider apps, this stage includes building the backend payment webhook handler and testing against eSewa or Khalti's sandbox environment. For carrier service apps, this includes testing rate calculation accuracy against real weight and destination inputs.

  4. 04

    Integration Testing

    Week 5-6

    We test the full order flow end to end: payment initiation, webhook processing, order status update, and any downstream Shopify Flow triggers. For wholesale portals, we test across multiple customer account types and pricing tiers. We test error handling for API failures and edge cases specific to Nepali payment and shipping providers.

  5. 05

    Deployment and Handover

    Week 6-7

    We deploy to production, configure the app in the merchant's Shopify admin, and document the operational procedures for your team. We provide a handover session covering how the app works, what to monitor, and how to request changes or additions. Post-launch support is included for 30 days.

Common questions

FAQ

How do I build an eSewa payment integration for Shopify?

eSewa integration on Shopify requires a custom app built using Shopify's Payment Provider API, because eSewa does not publish an official Shopify payment app in the App Store. The custom app registers as a payment provider in Shopify, initiates the payment session with eSewa's API when a buyer selects eSewa at checkout, and handles the payment result webhooks that eSewa sends after the transaction is completed or declined. The backend webhook handler must verify the payment signature from eSewa, update the Shopify order status to paid or failed, and handle edge cases such as payment timeout or partial completion. This is not a configuration task; it requires a developer familiar with both Shopify's Payment Provider API and eSewa's payment flow.

How do I integrate Nepal Post shipping rates into Shopify checkout?

Nepal Post shipping rates at Shopify checkout require a custom Carrier Service API app because Nepal Post is not included in Shopify's built-in carrier list. The Carrier Service API allows a custom app to receive a rate calculation request from Shopify at checkout, call Nepal Post's rate API with the shipment weight, dimensions, and destination, and return the calculated rates to Shopify for display to the buyer. The integration requires a Shopify plan that supports third-party calculated shipping rates (Shopify Advanced or Shopify Plus). For international shipments, the same app can include calls to DHL Nepal and FedEx Nepal APIs to return multiple shipping options.

What is the Shopify Payment Provider API and what does a custom payment integration require?

The Shopify Payment Provider API is the Shopify system that allows developers to register a third-party payment method as a checkout option in a Shopify store. A custom payment integration requires a registered Shopify app with the payment provider extension, a backend server that handles communication between Shopify and the payment gateway, webhook endpoints that receive and verify payment result notifications, and order update logic that marks Shopify orders as paid or failed based on the payment result. The app must be built and tested in the Shopify Partner Dashboard development environment before being installed on the production store.

How do I build a wholesale B2B ordering portal on Shopify for international buyers?

A wholesale B2B ordering portal on Shopify is typically built using the Shopify Storefront API, which allows a custom web application to query Shopify's product catalogue, pricing, and inventory and present it through a separate password-protected interface. Account-level pricing is managed using Shopify's customer pricing logic or product metafields, with the custom portal applying the correct price per account on display and at checkout. Minimum order quantities, product restrictions by account type, and custom payment term flows such as invoice or deposit payment are all implemented in the portal application layer. The portal sits on a subdomain of the merchant's main domain and authenticates wholesale customers through Shopify's customer accounts or a custom authentication layer.

What is the difference between a Shopify private app and a public app?

A Shopify private app is installed on a single Shopify store and does not go through the Shopify App Store review process; it is the correct choice for custom integrations specific to one merchant, such as an eSewa payment integration or a Nepal Post carrier connection. A Shopify public app can be installed by multiple merchants and is listed in the Shopify App Store after review; it is the correct choice when the functionality is intended to be sold or distributed to other Shopify merchants. For most custom integrations built for a specific Nepali merchant's requirements, a private app is sufficient and faster to deploy. Shopify also offers custom apps for Shopify Plus merchants, which are similar to private apps but managed through the Plus merchant's own Partner Dashboard access.

Start here

Shopify does not have an eSewa integration or a Nepal Post carrier connection. We build both.

If your Shopify store is missing functionality that no App Store app provides, Ignited Nepal scopes, builds, and deploys the custom app. We work in Shopify's approved development environment using the correct APIs for each integration type.