Setting Up Epiqpay: A Practical Integration Guide
Pick up your phone and navigate to the Epiqpay merchant dashboard. Most people get stuck before they even start because they skip the verification step and try to integrate with unverified API keys. The sandbox environment won't accept production credentials, so make sure you're pulling keys from the correct portal section. Once verified, you'll receive a publishable key and a secret key. Store those secret keys in an environment variable, not in your source code. I learned that the hard way when a junior developer committed test API keys to a public repo, which immediately revoked access to the account and triggered a security review that took three business days to resolve. The integration itself follows a standard three-step pattern. You create a payment session on the client side, confirm it on the server side, and then listen for a webhook event that finalizes the transaction. Epiqpay uses a REST API with JSON payloads, so any language that can make HTTPS requests will work. Their SDK is available for JavaScript, Python, PHP, and Ruby. If you're building in something less common, you can interact with the API directly without the SDK. First, initialize the SDK in your frontend code with the publishable key. Then collect the payment details from the customer — card number, expiration date, CVC, and billing address. Send those details to the Epiqpay tokenization endpoint, which returns a payment method ID. Never send raw card data to your own server. That violates PCI compliance and adds unnecessary liability to your infrastructure.
Next, call the payment creation endpoint from your backend with the payment method ID, the order amount, and the currency code. Epiqpay supports over 130 currencies, but not all of them are available for every account type. Check your merchant tier before listing currencies. The API returns a client secret that you use on the frontend to confirm the payment. The confirmation step triggers the actual authorization through the card network. After confirmation, Epiqpay sends a webhook to the URL you registered in the dashboard. The webhook payload contains the transaction status, which you should use to update your order management system. Here's where most integrations break. Webhooks can arrive out of order, duplicate, or with delays of up to thirty seconds during peak traffic. Your system needs to handle all three scenarios gracefully. I built a deduplication layer that checks for a transaction ID before processing any webhook, and it has saved us from double-processing orders at least twelve times in the past year alone.
Common Implementation Issues and How to Fix Them
The most frustrating issue I've encountered involves recurring subscriptions. Epiqpay's subscription engine works, but it doesn't notify you when a recurring charge fails due to insufficient funds. The subscription automatically moves to a dunning state, but the API doesn't expose a straightforward way to query the retry schedule. I ended up writing a daily cron job that queries the transactions endpoint with a date filter and cross-referenced failed subscription charges against my database. It took two days to build, but it's the only reliable way to track failed renewals. Another edge case involves partial refunds. The dashboard allows you to issue partial refunds easily, but the API refund endpoint doesn't always return the updated balance immediately. If your system queries the transaction status right after issuing a refund, you might see the original amount instead of the refunded amount. I added a five-second delay and a retry loop before reading the updated balance, which resolved the inconsistency. Testing in the sandbox environment is useful but limited. The sandbox doesn't replicate all the decline codes that appear in production. Card declines for suspected fraud, international usage blocks, and issuer-specific restrictions won't show up during testing. I recommend setting up a small list of test card numbers that trigger each decline scenario, then manually verifying that your application handles each one correctly. Epiqpay provides a test card matrix in their documentation, but it's incomplete. Supplement it with your own test cases based on real customer reports.
Get the Full Details
Pricing and Hidden Costs
Epiqpay's standard pricing sits around 2.9 percent plus thirty cents per transaction for domestic card payments. International cards run approximately 3.9 percent plus thirty cents. These rates are competitive but not the lowest on the market. If you're processing more than fifty thousand transactions per month, you should request a custom rate sheet. The standard published rates don't reflect volume discounts, and many merchants don't bother asking. The payout schedule is T+2 for standard accounts, meaning funds settle two business days after a successful transaction. High-volume merchants can negotiate same-day or next-day payouts, but that usually requires a minimum monthly volume of one hundred thousand dollars. There's also a monthly account maintenance fee of twenty-five dollars that gets automatically deducted from your payouts. It's small, but it disappears into the background if you're not tracking your fee structure closely. Chargeback fees are fifteen dollars per dispute, which is standard industry practice. The real cost comes from the chargeback ratio. If your chargeback rate exceeds 1 percent of total transactions, Epiqpay may flag your account for review and increase your reserve requirements. I've seen accounts with a 1.3 percent chargeback rate end up with a 10 percent rolling reserve, which ties up a significant amount of working capital. Monitoring your chargeback rate weekly is essential, and you should have a process for responding to disputes within forty-eight hours of notification.
What Epiqpay Doesn't Do Well
The most notable gap is their reporting and analytics. The dashboard provides basic transaction logs and settlement summaries, but it lacks the detailed analytics that platforms like Stripe or Adyen offer. If you need real-time revenue dashboards, customer lifetime value tracking, or automated tax reporting, you'll need to build that yourself or pipe the data into a third-party tool. Epiqpay does offer a data export feature, but it's a CSV dump with limited field selection, not a structured API for analytics queries. Their customer support response times are another consideration. Email support typically takes twenty-four to forty-eight hours for a response. Phone support is available during business hours in the US Eastern time zone, but wait times can exceed an hour during peak periods. If you're running a high-volume store and need immediate assistance during a payment outage, this can be a real problem. I once experienced a widespread gateway issue on a Saturday afternoon and spent three hours waiting on hold before getting a resolution. For businesses that can't afford payment downtime, having a backup payment processor as a fallback is not optional — it's necessary.
Migration from Another Provider
If you're moving from another payment processor, the migration process is straightforward but requires careful planning. Epiqpay accepts card details directly, so you don't need to worry about migrating stored payment tokens from your old provider. However, you should preserve your existing customer data and order history in your own database. Don't assume Epiqpay will maintain any historical records beyond what's visible in the dashboard. Set up a staging environment first. Connect your sandbox keys to a copy of your application and run a full test cycle before switching live. Process test transactions across all payment methods, test refunds, test subscription flows, and verify that your webhooks are firing correctly. Then do a soft launch with a small percentage of traffic routed to Epiqpay while keeping your existing processor active. Monitor for errors and discrepancies for at least one week before fully switching over. This approach minimizes the risk of losing revenue during the transition. The integration isn't flawless, and there are gaps in reporting and support responsiveness that you need to plan around. But for mid-market businesses that want a straightforward payment gateway without excessive complexity, Epiqpay handles the core transaction flow reliably once the initial setup quirks are worked through.
