Commerce · Payments · Integration
Connecting Shopify to a bank-hosted payment workflow
A custom payment bridge between Shopify and a bank-hosted gateway, with order state handled so that payment and fulfilment stayed independent.
Payment architecture
Integration development
Order state design
Security and credential separation
Testing and production rollout
The challenge
The merchant needed to take payment through their bank's gateway rather than a payment provider Shopify integrates with directly. Off-the-shelf checkout could not reach it, so a custom bridge was the only route to accepting payment through the existing banking relationship.
Payments are unforgiving of approximation. A bridge that mostly works produces the two failure modes nobody can live with: a customer charged for an order the shop does not have, or an order fulfilled that was never paid for.
The approach
The design principle was to keep payment state and fulfilment state separate. An order moves to paid only on confirmation from the gateway, and fulfilment remains an independent decision the operation makes rather than an automatic consequence of a redirect returning.
That separation is what makes the failure cases survivable. A customer who abandons the hosted payment page, loses connectivity or returns twice does not leave the shop in a state that has to be untangled by hand.
What I delivered
A custom payment application bridging Shopify to the bank's Mastercard Payment Gateway Services implementation, running on a dedicated secured payment subdomain, handing the customer to the bank's hosted flow so card data never transits the shop or the bridge.
On the return path, order synchronisation back into Shopify with explicit state handling from pending to paid, transactional email confirming the outcome, and separated staging and production credentials so the environment used for testing could never transact against the live merchant account.
Outcome
The merchant could accept payment through their existing banking relationship inside a standard Shopify commerce operation, with order state reflecting what actually happened at the gateway.
Merchant identifiers, credentials and transaction detail are not published here, and were held with the separation between environments that a payment integration requires.
My contribution
- Payment flow architecture
- Custom bridge application development
- Shopify order synchronisation
- Order state and fulfilment separation
- Environment and credential separation
- Transaction testing and production rollout
Technology
- Shopify
- Mastercard Payment Gateway Services
- PHP
- Hosted payment page
- SSL/TLS
- Shopify Admin API
- SendGrid
A clear next step
Start with the decision in front of you.
Get preliminary direction first, or book a focused session when the question is ready.
