Unlocking Joy: 50% Off On Botble Themes Get It Now >

Wompi Payment Gateway by Codeupp for Columbia, EL salvador , Panama

1 Sale
Wompi Payment Gateway by Codeupp for Columbia, EL salvador , Panama

# πŸ’³ Wompi Payment Gateway for Botble β€” by Codeupp


Β 

> Accept real payments through **Wompi** (Nequi, Bancolombia Transfer, PSE, Daviplata, Cards) directly in your Botble / Martfury / Shofy / Nest store β€” with full **Test ↔ Live** mode switching and secure webhook signature verification.


Β 

**Plugin ID:**`maryam/wompi-pro`

**Namespace:**`Maryam\WompiPro\`

**Install path:**`platform/plugins/wompi/`

**Brand:** Maryam International LLC Β· [codeupp.xyz](https://codeupp.xyz)


Β 

---


Β 

## ✨ Features


Β 

- βœ… Full **Wompi Colombia API v1** integration (`https://production.wompi.co/v1`)

- βœ… Multi-country support: **Colombia** (primary), **El Salvador**, **PanamΓ‘**

- βœ… **Admin-selectable Test / Live mode** from Payment Methods settings β€” no code changes

- βœ… Separate **Test** and **Live** API key fields (Public Key, Private Key, Events Secret, Integrity Secret)

- βœ… **TWO checkout modes** β€” switch any time from admin (see below):

- 🌐 **Payment Link** β€” customer redirected to Wompi hosted checkout

- πŸͺŸ **Web Checkout Widget β€” auto-redirect** β€” modal opens on YOUR site, redirects automatically after payment (no "Volver al comercio" click needed)

- βœ… Automatic **webhook handler** at `/payment/wompi/webhook` (CSRF-exempt) for `transaction.updated`

- βœ… **SHA-256 signature verification** of every webhook per [official Wompi spec](https://docs.wompi.co/docs/colombia/eventos/) β€” spoofed webhooks are rejected

- βœ… **Server-side re-verification** of every event via `GET /v1/transactions/{id}` (defense in depth)

- βœ… **Callback / return URL** handler at `/payment/wompi/return` β€” handles Wompi's `?id=&env=` query params

- βœ… **Idempotent** processing β€” no duplicate order updates, even if Wompi retries the webhook

- βœ… Marks **APPROVED β†’ COMPLETED**, **DECLINED / ERROR / VOIDED β†’ FAILED**, **PENDING β†’ unchanged**

- βœ… **Triple-redundant order confirmation** β€” webhook + browser polling + customer return all converge idempotently

- βœ… **Rate-limited polling endpoint** (60 req/min) prevents abuse

- βœ… Detailed logging at every step for easy debugging

- βœ… Compatible with **Martfury, Shofy, Nest**, and every Botble theme

- βœ… Clean Botble design β€” integrates as a native payment method alongside Stripe, PayPal, Wava, etc.


Β 

---


Β 

## 🎯 Two Checkout Modes β€” Choose Per-Store


Β 

The plugin offers two officially-supported Wompi checkout flows. **Switch any time** from `Admin β†’ Payment Methods β†’ Wompi β†’ Checkout Mode (Colombia)`.


Β 

### Option 1 β€” 🌐 Payment Link (default)


Β 

```

Customer clicks "Place Order"

β†’ fully redirected to checkout.wompi.co/l/{link}

β†’ picks payment method (Nequi / PSE / Bancolombia / Card / Daviplata)

β†’ completes payment

β†’ clicks "Volver al comercio" β†’ returns to your store β†’ success page

```


Β 

**Pros:** Maximum compatibility. Works for every Wompi merchant out-of-the-box. Only Public Key + Private Key + Events Secret needed.


Β 

**Cons:** Customer leaves your branded site during payment. Requires one click on "Volver al comercio" to return.


Β 

---


Β 

### Option 2 β€” πŸͺŸ Web Checkout Widget (auto-redirect)


Β 

```

Customer clicks "Place Order"

β†’ stays on your site β†’ Wompi modal opens INSIDE your branded page

β†’ completes payment in modal

β†’ page AUTO-REDIRECTS to success page within 3 seconds β€” NO CLICK NEEDED ✨

```


Β 

**How auto-redirect works:** the page polls our backend every 3 seconds. As soon as Wompi reports the transaction `APPROVED`, the browser is redirected to the order success page β€” bypassing the manual "Volver al comercio" click that all standard Wompi integrations require.


Β 

**Pros:** Customer never visually leaves your site. True one-step checkout. Higher conversion.


Β 

**Cons:** Requires the **Integrity Secret** to be configured (one extra key from Wompi dashboard). Available for Colombia only.


Β 

---


Β 

### Which should I pick?


Β 

| Need | Recommended |

|---|---|

| Fastest setup, Wompi El Salvador / PanamΓ‘ | **Payment Link** |

| Best customer experience, Colombia | **Web Checkout Widget** |

| Maximum reliability across edge cases | **Either β€” both are battle-tested** |


Β 

No code change needed to switch β€” just toggle the dropdown and save.


Β 

---


Β 

## πŸ“¦ Installation


Β 

1. Copy the `wompi` folder into `platform/plugins/` of your Botble installation.

2. Go to **Admin β†’ Platform Administration β†’ Plugins**.

3. Find **Wompi Payment Gateway by Codeupp** and click **Activate**.

4. Go to **Admin β†’ Settings β†’ Payment Methods β†’ Wompi** and configure:

-**Country** β€” `Colombia` (or El Salvador / PanamΓ‘)

-**Environment Mode** β€” `Test` or `Live`

-**Test Public Key** (`pub_test_…`)

-**Test Private Key** (`prv_test_…`)

-**Test Events Secret** (`test_events_…`) ← **CRITICAL β€” webhooks rejected without it**

-**Live Public Key** (`pub_prod_…`)

-**Live Private Key** (`prv_prod_…`)

-**Live Events Secret** (`prod_events_…`)

5.**Pick your Checkout Mode** β€” Payment Link (default) or Web Checkout Widget.

- For Widget mode, also fill the **Integrity Secret** field (`test_integrity_…` / `prod_integrity_…`).

6. Copy the **Webhook URL** shown in the admin instructions and paste it into

**Wompi Dashboard β†’ Developers β†’ Events URL**.

7. Enable the payment method (status = ON) and save.


Β 

---


Β 

## πŸ” Where to find your Wompi keys


Β 

Login to [comercios.wompi.co](https://comercios.wompi.co) β†’ **Developers β†’ Secrets for technical integration**.


Β 

| Key | Test prefix | Live prefix | Purpose |

|---|---|---|---|

| Public Key | `pub_test_…` | `pub_prod_…` | Read-only API + frontend widget |

| Private Key | `prv_test_…` | `prv_prod_…` | **Create Payment Links** (server-side only) |

| Events Secret | `test_events_…` | `prod_events_…` | **Verify webhook signatures** |

| Integrity Secret | `test_integrity_…` | `prod_integrity_…` | Optional, for on-site Web Checkout widget |


Β 

> ⚠️ Keep Private Key and secrets server-side only. Never expose them in frontend code.


Β 

---


Β 

## πŸ”— URLs registered by this plugin


Β 

| Purpose | Route name | URL |

|---------|-----------|-----|

| Hosted-checkout return | `wompi.return` | `/payment/wompi/return` |

| Incoming webhook | `wompi.webhook` | `POST /payment/wompi/webhook` |

| Web Checkout Widget renderer | `wompi.widget` | `/payment/wompi/widget/{token}` |

| Status polling (auto-redirect) | `wompi.check_status` | `/payment/wompi/check-status/{token}` |

| AJAX create payment (legacy) | `payments.wompi.create` | `POST /payment/wompi/create` |


Β 

---


Β 

## πŸ”” Webhook events handled


Β 

| Wompi Event | Wompi Status | Mapped Botble Status |

|------------|------|----------------------|

| `transaction.updated` | `APPROVED` | **COMPLETED** β€” order marked paid |

| `transaction.updated` | `DECLINED` | **FAILED** |

| `transaction.updated` | `ERROR` | **FAILED** |

| `transaction.updated` | `VOIDED` | **FAILED** |

| `transaction.updated` | `PENDING` | (no change β€” wait for next event) |


Β 

Every webhook is **re-verified** twice:

1.**HMAC SHA-256** signature check using your Events Secret

2.**Server-fetch** of the transaction via `GET /v1/transactions/{id}` to confirm the data


Β 

Spoofed or tampered webhooks are rejected.


Β 

---


Β 

## πŸ§ͺ Testing (Sandbox)


Β 

Use Wompi sandbox keys (`pub_test_…` / `prv_test_…`) and place a test order.


Β 

Wompi test cards:


Β 

- βœ… APPROVED β€” `4242 4242 4242 4242`, any expiry / CVC, cardholder name `APROBADA`

- ❌ DECLINED β€” cardholder name `RECHAZADA`

- ⚠️ ERROR β€” cardholder name `ERROR`


Β 

### Payment Link mode test flow

1. Customer redirected to `checkout.wompi.co/l/{link}`

2. Pays β†’ clicks "Volver al comercio"

3. Lands on `/payment/wompi/return?id=<txn>&env=test` β†’ order marked completed

4. Webhook also fires server-side as backup


Β 

### Web Checkout Widget mode test flow

1. Customer stays on `/payment/wompi/widget/{order_token}` page

2. Wompi modal opens automatically on your site

3. Customer pays in modal

4. Within 3 seconds polling detects APPROVED β†’ page auto-redirects to success ✨

5. Webhook also fires server-side as backup


Β 

Check `storage/logs/laravel.log` β€” every step is logged with `[WOMPI]` prefix for easy debugging.


Β 

---


Β 

## πŸ› Troubleshooting


Β 

| Symptom | Cause | Fix |

|---|---|---|

| Customer pays but order stays "Pending" | Webhook blocked / events_secret missing | Verify webhook URL in Wompi dashboard + Events Secret in admin |

| `Wompi rejected the request: invalid public key` | Wrong key for environment | Make sure you're using `prv_test_*` for Test mode, `prv_prod_*` for Live |

| `Wompi webhook signature mismatch` | Wrong Events Secret | Re-copy from Wompi dashboard β†’ Developers β†’ Events Secret |

| `Order not found for Wompi reference` | Test data with stale `reference` | Place a fresh order β€” `reference = order.token` is unique per order |

| 419 errors in logs on webhook | CSRF middleware enabled on webhook | Already fixed β€” clear route cache: `php artisan route:clear` |

| **Widget mode**: "Wompi Integrity Secret is required" | Integrity Secret field empty | Paste `test_integrity_…` / `prod_integrity_…` from Wompi dashboard |

| **Widget mode**: 422 init error / modal won't open | Reused order reference (already paid in Wompi) | Place a fresh order β€” plugin auto-detects existing tx and redirects to /return |

| **Widget mode**: page doesn't auto-redirect | `findTransactionByReference` 401 / Private Key missing | Make sure Private Key (`prv_test_…` / `prv_prod_…`) is filled β€” the polling lookup requires it |

| Settings dropdown reverts after save | Old plugin version (pre-2.0) | Update to latest β€” fixed via `selected` attribute |


Β 

---


Β 

## πŸ—‚οΈ File Structure


Β 

```

platform/plugins/wompi/

β”œβ”€β”€ plugin.json

β”œβ”€β”€ composer.json

β”œβ”€β”€ README.md

β”œβ”€β”€ helpers/

β”‚ └── constants.php

β”œβ”€β”€ routes/

β”‚ └── web.php

β”œβ”€β”€ public/

β”‚ └── images/

β”‚ └── wompi.png

β”œβ”€β”€ resources/

β”‚ β”œβ”€β”€ lang/

β”‚ β”‚ β”œβ”€β”€ en/

β”‚ β”‚ β”œβ”€β”€ es/

β”‚ β”‚ └── wompi.php

β”‚ └── views/

β”‚ β”œβ”€β”€ methods.blade.php # checkout payment-row

β”‚ β”œβ”€β”€ detail.blade.php # admin order detail (transaction info)

β”‚ β”œβ”€β”€ instructions.blade.php # admin settings instructions

β”‚ β”œβ”€β”€ email.blade.php

β”‚ └── payments.blade.php

└── src/

β”œβ”€β”€ Plugin.php

β”œβ”€β”€ Forms/

β”‚ └── WompiPaymentMethodForm.php # admin form: keys, mode, country

β”œβ”€β”€ Http/

β”‚ β”œβ”€β”€ Controllers/

β”‚ β”‚ └── WompiController.php # return + webhook + create

β”‚ └── Requests/

β”‚ └── WompiPaymentCallbackRequest.php

β”œβ”€β”€ Providers/

β”‚ β”œβ”€β”€ WompiServiceProvider.php

β”‚ └── HookServiceProvider.php # filters + CSRF exemption

└── Services/

β”œβ”€β”€ Abstracts/

β”‚ └── WompiPaymentAbstract.php

└── Gateways/

β”œβ”€β”€ WompiPaymentService.php # country router

β”œβ”€β”€ WompiColombiaService.php # β˜… Colombia (full implementation)

β”œβ”€β”€ WompiElSalvadorService.php

└── WompiPanamaService.php

```


Β 

---


Β 

## πŸ”„ Migrating from earlier versions (1.x β†’ 2.0)


Β 

This v2.0 release rewrites the Colombia integration. **No data migration needed** β€” but you must:


Β 

1. After upgrade, go to **Admin β†’ Payment Methods β†’ Wompi** and re-enter your keys in the new fields:

- Old `Client ID` β†’ paste into **Test/Live Public Key** (depending on environment)

- Old `Client Secret` β†’ paste into **Test/Live Private Key**

- Add the new **Events Secret** (CRITICAL for webhooks)

2. Save settings.

3. Run `php artisan route:clear && php artisan view:clear`.


Β 

The old `client_id` and `client_secret` keys are still read as fallback β€” but you should migrate to the new, properly-named fields for clarity and security.


Β 

---


Β 

## πŸ‘‘ Why Choose Maryam International LLC


Β 

**We are a registered professional software company based in the UAE**, specializing in building world-class digital products for businesses that refuse to settle for average.


Β 

### 🌍 Technologies We Master


Β 

-**Frontend**: React, Next.js, Vue.js, Nuxt.js, Angular, Svelte, HTML5, CSS3, SASS, Tailwind CSS, Bootstrap

-**Languages**: JavaScript, TypeScript, PHP, Python, Go, Ruby, Java, Kotlin, Swift, Dart, C#, C++, Rust

-**Backend**: Laravel, Node.js, Express, NestJS, Django, FastAPI, Flask, Spring Boot, .NET, Ruby on Rails

-**Mobile**: Flutter, React Native, Swift (iOS), Kotlin (Android), Ionic

-**CMS & E-commerce**: Botble CMS, WordPress, Shopify, WooCommerce, Magento, Prestashop

-**Databases**: MySQL, PostgreSQL, MongoDB, Redis, SQLite, Firebase, Supabase

-**DevOps & Cloud**: AWS, Google Cloud, Azure, DigitalOcean, Docker, Kubernetes, CI/CD, Nginx, Apache

-**AI / ML**: OpenAI, LangChain, TensorFlow, PyTorch, HuggingFace, custom LLM integrations

-**Blockchain / Web3**: Solidity, Ethereum, Smart Contracts, NFT marketplaces, crypto payment gateways

-**Design**: Figma, Adobe XD, Photoshop, Illustrator, UI/UX strategy


Β 

### πŸ’Ό What We Build


Β 

- Custom e-commerce platforms and marketplaces

- SaaS products & startup MVPs

- Mobile apps (iOS + Android)

- Progressive Web Apps

- Custom CMS plugins & extensions

- Payment gateway integrations

- AI-powered chatbots & automation

- Blockchain dApps & crypto platforms

- Enterprise dashboards & admin panels

- API development & third-party integrations


Β 

### 🌟 Why Hire Us


Β 

- βœ… **Registered, professional UAE-based company** β€” real accountability, real contracts, real delivery.

- βœ… **Your satisfaction is our top priority** β€” we revise until you smile.

- βœ… **We can build anything you imagine** β€” if you can describe it, we can ship it.

- βœ… **Full-stack mastery** β€” one team, one invoice, end-to-end delivery.

- βœ… **Fast, transparent communication** in English, Hindi, Urdu and Arabic.

- βœ… **Post-launch support included** β€” we don't disappear after going live.

- βœ… **Competitive pricing** for enterprise-grade quality.


Β 

---


Β 

## πŸ“ž Contact Us β€” Let's Build Something Incredible


Β 

-**Company:** Maryam International LLC

-**Website:** [https://codeupp.xyz](https://codeupp.xyz)

-**Email:** [maryaminternationalllc@gmail.com](mailto:maryaminternationalllc@gmail.com) Β· [codeupp.xyz@gmail.com](mailto:codeupp.xyz@gmail.com)

-**WhatsApp:** [+971 55 368 2656](https://wa.me/971553682656)

-**Based in:** United Arab Emirates πŸ‡¦πŸ‡ͺ

-**Serving:** Worldwide 🌍


Β 

>**Have an idea? Send us a WhatsApp. We reply within minutes, not days.**


Β 

---


Β 

## πŸ›‘οΈ License & Support


Β 

This plugin is a premium product by **Maryam International LLC**.

Purchase includes:


Β 

- βœ”οΈ Lifetime updates

- βœ”οΈ 6 months of priority support

- βœ”οΈ Free installation help via WhatsApp

- βœ”οΈ Compatibility guarantee across Martfury, Shofy, Nest & future Botble releases


Β 

**Your success is our signature.**


Β 

---


Β 

**Β© Maryam International LLC β€” [codeupp.xyz](https://codeupp.xyz)**

*Your satisfaction is our top priority. We can build anything you imagine.*


Β 

License Option
Free Free
$10.89 $0.00
Quality checked by Marketplace.Codeupp.xyz
Full Documentation
Future updates
Author Support
Contact us on whatsapp

Have doubt? Contact us on WhatsApp

Our product is high quality. Contact us for any kind of custom work.

1 Sale

Published:

Apr 30, 2026 04:14 AM

Version:

v1.0.0

Category:

codeupp_xyz's items

We use cookies to personalize your experience. By continuing to visit this website you agree to our use of cookies

More