PHPackages                             gatepay/core - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [HTTP &amp; Networking](/categories/http)
4. /
5. gatepay/core

ActiveLibrary[HTTP &amp; Networking](/categories/http)

gatepay/core
============

Deterministic Payment Gateway Transaction Transport

1.0.2(1mo ago)141MITPHPPHP &gt;=8.1CI passing

Since Apr 12Pushed 1mo agoCompare

[ Source](https://github.com/TrayDigita/GatePay-Core)[ Packagist](https://packagist.org/packages/gatepay/core)[ Docs](https://github.com/TrayDigita/GatePay-Core)[ Fund](https://www.paypal.me/aufa)[ GitHub Sponsors](https://github.com/arrayiterator)[ RSS](/packages/gatepay-core/feed)WikiDiscussions main Synced 1w ago

READMEChangelog (1)Dependencies (12)Versions (4)Used By (1)

💳 GatePay
=========

[](#-gatepay)

### The Payment Gateway Library That Actually Makes Sense

[](#the-payment-gateway-library-that-actually-makes-sense)

> **Stop wrestling with payment integrations. Start building.**

[![PHP CI](https://github.com/TrayDigita/Gatepay-Core/actions/workflows/ci.yaml/badge.svg)](https://github.com/TrayDigita/CreditCard/actions/workflows/ci.yaml)[![codecov](https://camo.githubusercontent.com/8432b5b86de8b0ad6027c356964aee21f2f3a9fc920f0b222498daee5defd211/68747470733a2f2f636f6465636f762e696f2f67682f547261794469676974612f476174657061792d436f72652f6272616e63682f6d61696e2f67726170682f62616467652e737667)](https://codecov.io/gh/TrayDigita/Gatepay-Core)[![License: MIT](https://camo.githubusercontent.com/fdf2982b9f5d7489dcf44570e714e3a15fce6253e0cc6b5aa61a075aac2ff71b/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f4c6963656e73652d4d49542d79656c6c6f772e737667)](https://opensource.org/licenses/MIT)[![PHP Version](https://camo.githubusercontent.com/7663c9d53dc13cedaf0660a8745a7e77d2dd711257f36aa86ebce12a0600ef42/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f7068702d253345253344382e312d626c75652e737667)](https://php.net)

---

Small Libraries **BIG IMPACT!**

*GatePay* is not just another payment gateway wrapper. It's a **deterministic, traceable, and swappable** payment processing framework designed to make your life easier. No need to read hundreds files of core code to understand how to process a payment. No more 3 AM debugging sessions trying to figure out why your transaction failed. With GatePay, you get a clear, predictable flow that works the same way for every gateway implementation.

😤 The Problem
-------------

[](#-the-problem)

Every developer who has integrated payment gateways knows the pain:

😱 The Reality💀 What You Get**Setup Hell**500+ lines of config before your first transaction**Spaghetti State**`if-else` nightmare tracking payment status**Debug Despair**"Where did my transaction fail?" - You, at 3 AM**Copy-Paste Chaos**Every gateway = rewrite everything from scratch**Documentation Maze**47 tabs open, still confused**Ambiguous Everything**Is it `PAID`, `paid`, `success`, `SUCCESS`, or `1`?### 🤯 Learning Curve Hell

[](#-learning-curve-hell)

```
Day 1: "I'll just integrate Stripe, how hard can it be?"
Day 2: "Reading docs... why is this so complicated? Harder than Stripe's API!"
Day 5: "Why are there 15 webhook event types?"
Day 10: "I need to support PayPal too... (getting headache ....)"
Day 20: "Everything is on fire"
Day 30: "I should have been a farmer"

```

---

✨ The Solution
--------------

[](#-the-solution)

**GatePay** is built on one principle: **Deterministic Payment Processing**

```
Transaction Created → Action Executed → State Changed → Done.
No magic. No surprises. No 3 AM debugging sessions.

```

### 🎯 What We Need To Solve

[](#-what-we-need-to-solve)

ProblemGatePay SolutionComplex Setup5 lines to process your first paymentUntraceable FlowsEvery state change is logged &amp; trackableGateway Lock-inSwap gateways with zero code changesState ChaosClear enum states: `PENDING`, `SUCCESS`, `ERROR`Logging NightmarePSR-3 logger integration built-inHTTP HeadachesPSR-7/PSR-17/PSR-18 compliant - use ANY HTTP clientAmbiguous ResponsesConsistent `@attributes` + `@value` format for `XML`---

🚀 Quick Start
-------------

[](#-quick-start)

```
