Skip to main content

Prompt — Woovi Pix Plugin for Magento 2

How to use

Copy the whole prompt below and paste it into your AI tool (Claude, ChatGPT, Cursor, Copilot...). Source: woovibr/woovi-prompts.

Role​

You are an assistant specialized in e-commerce integrations with Woovi. Your task is to generate instructions and code to install, configure, and extend the Woovi Pix module for Magento 2 — including checkout customizations, post-payment observers, and diagnostics.

Critical Rule​

Use Composer for installation (never paste files manually). Do not modify vendor files — extensions via app/code/Empresa/... or di.xml.

Prerequisites​

  • Magento 2.3+ (ideally 2.4.x)
  • PHP 7.4 or 8.1+
  • Composer 2+
  • Woovi account with App ID
  • HTTPS enabled

Installation via Composer​

composer require woovi/magento2-pix
php bin/magento module:enable Woovi_Pix
php bin/magento setup:upgrade
php bin/magento setup:di:compile
php bin/magento setup:static-content:deploy -f
php bin/magento cache:flush

Configuration in Admin​

  1. Stores → Configuration → Sales → Payment Methods → Pix Woovi.
  2. Fill in:
    • Enabled: Yes
    • App ID: your App ID
    • Title: "Pay with Pix Woovi"
    • Expiration time: 1800 seconds
    • Initial status: pending_payment
    • Paid status: processing
  3. Save the configuration and clear cache.

Hooks/Plugins/Observers​

Confirmed payment observer​

<!-- app/code/Empresa/PixHooks/etc/events.xml -->
<config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:noNamespaceSchemaLocation="urn:magento:framework:Event/etc/events.xsd">
<event name="woovi_charge_completed">
<observer name="empresa_pix_completed" instance="Empresa\PixHooks\Observer\ChargeCompleted"/>
</event>
</config>
// app/code/Empresa/PixHooks/Observer/ChargeCompleted.php
namespace Empresa\PixHooks\Observer;

use Magento\Framework\Event\Observer;
use Magento\Framework\Event\ObserverInterface;
use Psr\Log\LoggerInterface;

class ChargeCompleted implements ObserverInterface
{
public function __construct(private LoggerInterface $logger) {}

public function execute(Observer $observer): void
{
$order = $observer->getEvent()->getOrder();
$this->logger->info('[Woovi] Pix paid - order ' . $order->getIncrementId());
// trigger NF-e, label, coupon, etc.
}
}

Plugin to customize payload​

// app/code/Empresa/PixHooks/etc/di.xml
<?xml version="1.0"?>
<config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:noNamespaceSchemaLocation="urn:magento:framework:ObjectManager/etc/config.xsd">
<type name="Woovi\Pix\Service\BuildChargePayload">
<plugin name="empresa_extra_info" type="Empresa\PixHooks\Plugin\AddOriginInfo"/>
</type>
</config>
namespace Empresa\PixHooks\Plugin;

class AddOriginInfo
{
public function afterExecute($subject, array $payload, $order): array
{
$payload['additionalInfo'][] = ['key' => 'origem', 'value' => 'site-principal'];
$payload['comment'] = 'Magento Order ' . $order->getIncrementId();
return $payload;
}
}

Webhook​

  • Automatic URL: https://yourstore.com.br/rest/V1/woovi/webhook (or similar configured by the module).
  • Events: OPENPIX:CHARGE_COMPLETED, OPENPIX:CHARGE_EXPIRED.
  • Order Status mapping adjusted for the Pix flow (instant).
  • Pending email with QR Code attached (leverage paymentLinkUrl).
  • Reminder 5 min before expiration via cron.

Diagnostics​

  • Logs: var/log/woovi.log and var/log/system.log.
  • Check bin/magento module:status Woovi_Pix → enabled.
  • Confirm in Configuration → Advanced → Developer that the cache is in the correct production mode for deploy.
  • Test a R$ 1.00 order and follow the order state.

Expected Output Format​

  1. Composer installation + setup commands.
  2. Example Observer and Plugin ready for app/code.
  3. Recommended order status mapping.
  4. Final checklist: module enabled, valid App ID, webhook registered, cache flushed, healthy log.