PHPackages                             muhammad-umar/ppp-gateway - 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. [Payment Processing](/categories/payments)
4. /
5. muhammad-umar/ppp-gateway

ActiveLibrary[Payment Processing](/categories/payments)

muhammad-umar/ppp-gateway
=========================

Purchasing Power Parity (PPP) fair pricing adjustment by countries with Stripe (or any other payment gateway supported by Laravel Cashier) integration powered by data from the World Bank

v1.0.0(2mo ago)11MITPHPPHP ^8.2

Since Feb 24Pushed 2mo agoCompare

[ Source](https://github.com/MuhammadQuran17/ppp_stripe)[ Packagist](https://packagist.org/packages/muhammad-umar/ppp-gateway)[ RSS](/packages/muhammad-umar-ppp-gateway/feed)WikiDiscussions main Synced 1mo ago

READMEChangelog (1)Dependencies (7)Versions (2)Used By (0)

Purchasing Power Parity by country with Stripe or other payment gateway (Laravel &amp; Cashier)
===============================================================================================

[](#purchasing-power-parity-by-country-with-stripe-or-other-payment-gateway-laravel--cashier)

[!["Buy Me A Coffee"](https://camo.githubusercontent.com/9f44ce2dc3b3eecdd02598900866ffc518801df1932849703dae1e5ce5031070/68747470733a2f2f7777772e6275796d6561636f666665652e636f6d2f6173736574732f696d672f637573746f6d5f696d616765732f6f72616e67655f696d672e706e67)](https://www.buymeacoffee.com/qurandeep)

Detailed article is availabe at

Implementing **Purchasing Power Parity (PPP) pricing per country** for a **Stripe Checkout** purchase flow. But you can use it for any other payment gateway, like PayPal, Paddle, Lemon Squeezy, etc. This package uses [World Bank PPP data](https://data.worldbank.org/indicator/PA.NUS.PPPC.RF) and [TrustIP](https://trustip.io) to detect VPN/Proxy.

### Installation in Existing Laravel Project

[](#installation-in-existing-laravel-project)

1. **Install the package**

    ```
    composer require muhammad-umar/ppp-gateway
    ```
2. **Publish the assets**

    ```
    # PPP Data CSV
    php artisan vendor:publish --tag="ppp-gateway-data"
    ```

    Optional: You can also publish the config and migrations files:

    ```
    php artisan vendor:publish --tag="ppp-gateway-config"
    php artisan vendor:publish --tag="ppp-gateway-migrations"
    ```
3. **Run migrations**

    ```
    php artisan migrate
    ```
4. **Import PPP data**

    ```
    php artisan import:ppp
    ```

We have used lifetime product for demonstration purposes. You can use any other product you want.

5. **Configure environment variables**

    ```
    STRIPE_LIFETIME_PRODUCT_ID=prod_xxxxx
    TRUSTIP_API_KEY=your_trustip_api_key
    ```
6. **Configure subscription plans**

We have subscription-plans.php config file for payment products. You can configure it as you want. You should use this data to show price in frontend, sending PPPService-&gt;getAdjustedPriceData() parameter from your Controller.

7. **Checkout page**

From fronted you should send a POST request to /purchase route (see PPPGatewayServiceProvider.php for route registration). It is binded to PurchaseController that will create a checkout session with adjusted price for the selected country.

License
-------

[](#license)

MIT

###  Health Score

37

—

LowBetter than 83% of packages

Maintenance84

Actively maintained with recent releases

Popularity3

Limited adoption so far

Community6

Small or concentrated contributor base

Maturity46

Maturing project, gaining track record

 Bus Factor1

Top contributor holds 100% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Unknown

Total

1

Last Release

83d ago

### Community

Maintainers

![](https://avatars.githubusercontent.com/u/237405403?v=4)[xmsi](/maintainers/xmsi)[@xmsi](https://github.com/xmsi)

---

Top Contributors

[![MuhammadQuran17](https://avatars.githubusercontent.com/u/59314275?v=4)](https://github.com/MuhammadQuran17 "MuhammadQuran17 (1 commits)")

---

Tags

fair-pricingpppworld-bank

### Embed Badge

![Health badge](/badges/muhammad-umar-ppp-gateway/health.svg)

```
[![Health](https://phpackages.com/badges/muhammad-umar-ppp-gateway/health.svg)](https://phpackages.com/packages/muhammad-umar-ppp-gateway)
```

###  Alternatives

[fumeapp/modeltyper

Generate TypeScript interfaces from Laravel Models

196277.9k](/packages/fumeapp-modeltyper)[aedart/athenaeum

Athenaeum is a mono repository; a collection of various PHP packages

245.2k](/packages/aedart-athenaeum)[lanos/laravel-cashier-stripe-connect

Adds Stripe Connect functionality to Laravel's main billing package, Cashier.

84138.9k](/packages/lanos-laravel-cashier-stripe-connect)[asciisd/knet

Knet package is provides an expressive, fluent interface to KNet's payment services.

141.1k](/packages/asciisd-knet)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
