Skip to main content
This extension is coming soon. Join our waitlist to be notified when it’s released.
Accept payments from customers across Africa on your Magento 2 or Adobe Commerce store with the official Fyatu payment extension.

Requirements

  • Magento 2.4.x or Adobe Commerce 2.4.x
  • PHP 8.1 or higher
  • Composer

Installation

composer require fyatu/module-payment
bin/magento module:enable Fyatu_Payment
bin/magento setup:upgrade
bin/magento setup:di:compile
bin/magento cache:flush

Manual Installation

  1. Download the extension from GitHub
  2. Extract to app/code/Fyatu/Payment
  3. Run the following commands:
bin/magento module:enable Fyatu_Payment
bin/magento setup:upgrade
bin/magento setup:di:compile
bin/magento cache:flush

Configuration

Step 1: Get API Credentials

  1. Login to FYATU Dashboard
  2. Go to Business Console > Select Your App > Settings
  3. Copy your App ID and Secret Key

Step 2: Configure the Extension

  1. Go to Stores > Configuration > Sales > Payment Methods
  2. Expand the Fyatu section
  3. Configure the settings:
FieldDescription
EnabledEnable/disable the payment method
TitlePayment method name shown at checkout
App IDYour Fyatu App ID
Secret KeyYour Fyatu Secret Key
Webhook SecretSecret for verifying webhooks
Payment ActionAuthorize or Authorize and Capture
New Order StatusOrder status after successful payment
Test ModeEnable sandbox environment
DebugEnable logging for troubleshooting
Sort OrderDisplay order among payment methods

Step 3: Configure Webhooks

  1. In your FYATU Dashboard, go to App Settings > Webhooks
  2. Add webhook URL: https://yourstore.com/fyatu/webhook/callback
  3. Copy the webhook secret to your Magento configuration

Features

  • Native Checkout - Integrated with Magento’s checkout flow
  • GraphQL Support - Full GraphQL API for headless implementations
  • Multi-Store - Different configurations per store view
  • Order Management - Automatic order status updates
  • Refunds - Online refunds via credit memo
  • Admin Panel - Manage transactions from Magento admin

Checkout Flow

Customer adds items to cart

Customer proceeds to checkout

Customer selects "Fyatu" payment method

Customer clicks "Place Order"

Customer redirected to Fyatu checkout

Customer completes payment

Customer redirected to success page

Order status updated automatically

GraphQL Support

For headless Magento implementations:

Set Payment Method

mutation {
  setPaymentMethodOnCart(input: {
    cart_id: "CART_ID"
    payment_method: {
      code: "fyatu"
    }
  }) {
    cart {
      selected_payment_method {
        code
        title
      }
    }
  }
}

Place Order

mutation {
  placeOrder(input: {
    cart_id: "CART_ID"
  }) {
    order {
      order_number
    }
    fyatu_checkout_url
  }
}

Admin Panel

View and manage Fyatu transactions in the Magento admin:
  1. Go to Sales > Orders
  2. Open an order paid via Fyatu
  3. View transaction details in the Payment Information section

Transaction Actions

ActionDescription
View DetailsSee full transaction information
Refund OnlineIssue refund via credit memo
VoidCancel an authorized payment

Refunds

To process a refund:
  1. Go to Sales > Orders
  2. Open the order to refund
  3. Click Credit Memo
  4. Enter refund details
  5. Click Refund (online)
Partial refunds are supported. The refund amount cannot exceed the original payment amount.

Multi-Store Configuration

Configure different Fyatu apps per store view:
  1. Go to Stores > Configuration
  2. Select the store view from the scope selector
  3. Configure Fyatu with store-specific credentials
  4. Save configuration

CLI Commands

# Clear Fyatu cache
bin/magento fyatu:cache:clear

# Sync pending transactions
bin/magento fyatu:transactions:sync

# Test webhook connection
bin/magento fyatu:webhook:test

Events

Observe Fyatu events in your custom modules:
// etc/events.xml
<event name="fyatu_payment_success">
    <observer name="my_module_payment_success" instance="MyModule\Observer\PaymentSuccess"/>
</event>

<event name="fyatu_payment_failed">
    <observer name="my_module_payment_failed" instance="MyModule\Observer\PaymentFailed"/>
</event>

<event name="fyatu_refund_success">
    <observer name="my_module_refund_success" instance="MyModule\Observer\RefundSuccess"/>
</event>

Troubleshooting

Extension not appearing

bin/magento module:status Fyatu_Payment
bin/magento setup:upgrade
bin/magento cache:flush

Payment method not showing at checkout

  1. Verify the extension is enabled in configuration
  2. Check that your currency is supported
  3. Review minimum/maximum order amount settings

Webhook issues

  1. Enable debug logging in configuration
  2. Check logs at var/log/fyatu.log
  3. Verify webhook URL is accessible publicly

Debug Logging

Enable detailed logging:
  1. Go to Stores > Configuration > Sales > Payment Methods > Fyatu
  2. Set Debug to “Yes”
  3. Logs written to var/log/fyatu.log

Resources