denis bauer· belgrade, serbia·linkedIn·cv·email·Book a call with me
PayProDesk Logo

PayProDesk

Zendesk sidebar app that brings PayPro Global & Solidgate subscription data directly into your support tickets.

PayProDesk overview

🚨 Problem:

PayPro Global has zero native CRM integrations. No Zendesk app, no Intercom sync, no Freshdesk plugin — nothing.

When a customer writes in about a billing issue, here's what support agents had to do:

  1. 1.Open the ticket in Zendesk
  2. 2.Copy the customer's email
  3. 3.Switch to PayPro Global's admin panel
  4. 4.Search for the customer
  5. 5.Find their subscription
  6. 6.Find their order history
  7. 7.Go back to Zendesk to reply

Every. Single. Ticket.

For a team handling hundreds of billing-related tickets per week, that's hours of context-switching and tab-juggling — just to get basic subscription info.

And when we later added Solidgate as a second payment provider? Now agents had to check two separate dashboards before they could even start helping the customer.

🤔 What support actually needs

Support agents don't want to be detectives. When a customer writes in saying “I was charged twice” or “please cancel my subscription,” the agent needs instant answers:

  • ·What's their subscription status?
  • ·When does it renew?
  • ·What were they charged, and when?
  • ·Was a discount applied?
  • ·Can I cancel/extend/refund right here, right now?

None of this should require leaving Zendesk.

🛠️ So I built PayProDesk

A Zendesk sidebar app that loads automatically when an agent opens a ticket. It detects the customer's email, pulls their subscription and billing data from both PayPro Global and Solidgate, and displays everything in a clean panel — right next to the conversation.

No tab-switching. No copy-pasting emails into admin panels. No guessing which payment provider the customer is on.

PayProDesk in action

✨ Features

📋 Subscription Overview

  • ·See all active, suspended, and cancelled subscriptions at a glance
  • ·Subscription name, price, billing period, start date, next charge date
  • ·Automatic provider detection — Solidgate and PayPro Global subscriptions shown with their respective logos

💳 Recent Charges

  • ·Full invoice history with timestamps
  • ·Discount pricing shown clearly (original price crossed out, actual amount charged)
  • ·Direct links to orders in Solidgate Hub or PayPro Global admin
  • ·Refund status tracking (Processed, Voided, Refunded)

⚡ One-Click Actions

  • ·Cancel a subscription — with confirmation prompt, no accidental clicks
  • ·Extend a subscription — choose 3, 7, 14, 30, 60, or 90 days
  • ·Refund a charge — instant refund with status update
  • ·Request Password Reset — sends reset email AND copies the link to clipboard
  • ·Login as User — opens an internal auth session for debugging

🔍 Smart Customer Detection

  • ·Automatically reads the ticket requester's email
  • ·Parses PayPro Global notification emails to extract the actual customer email (not the PPG system address)
  • ·Supports a custom Zendesk field override for edge cases where the ticket email doesn't match the billing email

🏷️ Multi-Brand Support

  • ·Handles multiple brands under one provider
  • ·When a customer has subscriptions across brands, prompts the agent to select which brand before performing actions
PayProDesk subscription viewPayProDesk charges view

🎯 Impact

Before PayProDeskAfter PayProDesk
~2 min per ticket just to find customer dataInstant — data loads with the ticket
Switch between 2+ tabs/dashboardsEverything in one Zendesk sidebar
Cancel/refund requires navigating to provider adminOne click, right from the ticket
No visibility into which provider a customer usesAuto-detected with provider logo
Password reset = find admin panel → find user → copy linkOne button, link copied to clipboard

🔧 Tech Stack

  • Zendesk App Framework (ZAF) — native sidebar integration
  • 🔌PayPro Global API — subscription & order data
  • 🔌Solidgate API — subscription, invoice & order data
  • 🛡️Custom API Gateway — secure proxy with API key auth
  • 🎨Vanilla JS + CSS — lightweight, no framework overhead, fast load times

💡 Why custom-build?

PayPro Global is a solid payment provider, but their ecosystem is closed. No public Zendesk app, no CRM webhooks, no embeddable widgets. If you want your support team to have billing context inside their actual workflow tool — you have to build it yourself.

That's what I did. And when the client later migrated some products to Solidgate, the app evolved to support both providers seamlessly. Same sidebar, same UX, two payment backends.