← All projects

2018 · worked for 6 years 6 months

On my own Stores and payments USA

Automatic payments for BigCommerce stores

About 100 stores stopped settling payments by hand: the order status itself decided whether to hold, capture, or refund.

A link between BigCommerce stores and the USAePay payment gateway, built for Eye4Fraud. I wrote its code and then supported the system until the program closed.

Stack

  • PHP
  • Symfony
  • BigCommerce
  • MariaDB
  • Docker
  • Memcached

The task

In BigCommerce an employee changed an order status, and the payment system never heard about it: money was not held, captured, or refunded on its own. A link was needed. Each store has its own set of statuses, and the employee should not have to repeat the same action by hand in the payment system.

My role

The system was ordered by Eye4Fraud, an order-review service for online stores, and built by the contractor Orensoft. I wrote the code of the link; colleagues at Orensoft handled the design and the servers. Development started in September 2018, the first version went live in 2019, and the large changes ended in the summer of 2021. After that, until March 2025, I supported the system without new development: I stayed in touch and fixed the environment.

What the system did

A staff member sets once which status does what to the payment. After that the system holds, captures, or refunds in the USAePay gateway on its own: it moves only the missing amount, including partial refunds, and never charges twice. It learns about an order in two ways: the store sends a notice, and on a schedule the system asks itself. If one path stopped, the other kept working. The seller and admins got separate emails about a successful refund and about a gateway error.

Separately, I wrote a 3-D Secure card check: the buyer confirms the payment the same way as with their own bank.

How it held up

About 100 stores were connected, each with its own keys, payment system, and rules. Individual parts sometimes failed. After a failure, orders were requested again, sometimes for a different period, and an amount already moved was never moved a second time.

Why the work stopped

Eye4Fraud stopped using the program in March 2025. The reasons were in the market: the storefront gained its own refund for some payment systems, the USAePay gateway changed owners, and other order-review services began to capture what they approved and void what they declined.

System diagram

System diagram

On the diagram, the notice from the store and the scheduled check meet in the core, where the orders and rules live. The card check is a separate program and is not on the shared diagram.

~100stores without manual payments
6 yearsof development and support
3.5 yearsrunning without new development
← All projects