Skip to content

Payment Methods

Purpose

Configure payment gateway plugins and payment methods available to customers during checkout (e.g., Cash on Delivery, Credit Card, PayPal, Bank Transfer).

Accessing Payment Methods

Click ModulesDelivery & PaymentsPayment Methods

List View

Payment Methods List

The list displays all configured payment methods and their plugin settings.

Table Columns

Name

  • Format: Text (up to 255 characters)
  • Purpose: Internal identifier for this payment method configuration

Display Name

  • Format: Text (up to 255 characters)
  • Purpose: Customer-facing label shown during checkout
  • Format: Image thumbnail (square, 40px)
  • Purpose: Payment method icon displayed to customers

Plugin Name

  • Format: Text
  • Purpose: Name of the payment plugin powering this method

Enabled

  • Format: Icon toggle (checkmark = enabled, X = disabled)
  • Purpose: Whether this payment method is available to customers

Sort Order

  • Format: Number
  • Purpose: Display order in customer checkout (lower numbers appear first)

Row Actions

  • Edit: Configure payment method settings
  • Test: Test payment gateway connection (if available)

Bulk Actions

  • Delete: Remove multiple payment methods
  • Export: Export payment method data to Excel/CSV

Creating a Payment Method

Create Payment Method

Click "New Payment Method" to add a new payment option.

Basic Information Section

Name Required

  • Type: Text input (max 255 characters)
  • Purpose: Internal name for tracking
  • Examples: "COD", "Credit Card Stripe", "PayPal Express"

Display Name Optional

  • Type: Text input (max 255 characters)
  • Purpose: Name shown to customers at checkout
  • Default: Uses Name if not specified

Description Optional

  • Type: Text area (3 rows)
  • Purpose: Additional information shown to customers
  • Examples: "Pay in full when your order is delivered", "Fast and secure payment"

Logo Optional

  • Type: File upload (image only)
  • Purpose: Payment method icon displayed at checkout
  • Format: Images are stored publicly

Enabled Optional

  • Type: Toggle switch (On/Off)
  • Default: On (enabled)
  • Purpose: Show this payment method to customers

Sort Order Optional

  • Type: Number input (default 0)
  • Purpose: Position in payment method list (lower numbers appear first)

Plugin Configuration Section

Payment Plugin Required

  • Type: Searchable dropdown
  • Purpose: Select the payment gateway to use
  • Options: Available payment plugins (Stripe, PayPal, Bank Transfer, Cash on Delivery, etc.)

Plugin Information

  • Type: Informational text
  • Purpose: Shows plugin description and documentation

Plugin Settings Section

Dynamic Plugin Fields Varies by Plugin

  • Type: Varies (text, password, number, checkbox, select)
  • Purpose: Plugin-specific configuration (API keys, merchant IDs, webhook settings, etc.)
  • Storage: Stored securely in settings field

Common Settings Examples:

  • API Key / Secret Key
  • Merchant ID
  • Store ID
  • Webhook URL
  • Test Mode toggle

Create Actions

  • Create: Save and return to list
  • Create & Create Another: Save and open blank form for next entry
  • Cancel: Discard changes

Editing a Payment Method

Click the Edit icon to modify a payment method's settings or update plugin credentials.

Edit Payment Method

Testing Payment Gateway

Click the Test button (if available) to verify the payment gateway connection and credentials.


Some gateways support per-product / per-order pay-by-link flows: instead of routing the customer through the standard checkout, you generate a one-shot URL the customer can pay from their phone, email, or chat. These methods get their own list view filtered by the pay_by_link capability.

Payment Methods — pay-by-link filter showing only gateways that support generated payment links

When a pay-by-link gateway is configured, the Order edit page exposes a "Generate payment link" action. The link is short-lived and tied to the order's outstanding balance.

Order edit — pay-by-link generation panel with copy-and-send action


Key Information

  • Super Admin Only: Only super admin can manage payment methods
  • Plugin-Based: Each method uses a payment plugin for processing
  • Customer Visibility: Disabled methods don't appear at checkout
  • Sort Order: Controls order payment methods appear during checkout
  • Plugin Credentials: Stored securely per payment method
  • Multiple Methods: Configure multiple methods for customer convenience
  • Test Mode: Most plugins support test/production mode switching in plugin settings

Available Payment Plugins

The system includes several built-in payment plugins. Each plugin has specific configuration requirements.

HyperPay

A payment gateway popular in the Middle East, supporting multiple card brands through COPYandPAY widget integration.

Configuration Settings:

Setting Description
Entity ID (Test) HyperPay Entity ID for test environment
Access Token (Test) HyperPay Access Token for test environment
Base URL (Test) Test environment URL (default: https://eu-test.oppwa.com)
Entity ID (Production) HyperPay Entity ID for production
Access Token (Production) HyperPay Access Token for production
Base URL (Production) Production environment URL (default: https://eu-prod.oppwa.com)
Supported Brands Card brands to accept (e.g., VISA MASTER AMEX)
Test Mode Toggle between test and production environments

Getting Credentials: 1. Register for a HyperPay merchant account 2. Access the HyperPay developer portal 3. Obtain Entity ID and Access Token for both environments 4. Configure supported card brands based on your agreement

Stripe

Global payment gateway supporting cards, Apple Pay, Google Pay, and Link across 46+ countries and 135+ currencies. Customers are redirected to a secure Stripe-hosted checkout page.

Configuration Settings:

Setting Description
Secret Key (Test) Stripe test secret key (starts with sk_test_)
Webhook Secret (Test) Optional. Stripe test webhook signing secret (starts with whsec_)
Secret Key (Production) Stripe live secret key (starts with sk_live_)
Webhook Secret (Production) Optional. Stripe production webhook signing secret
Test Mode Toggle between test and production environments

Getting Credentials: 1. Create a free Stripe account at https://stripe.com 2. Open the Stripe dashboard at https://dashboard.stripe.com/apikeys 3. Copy the Secret key for test mode (and the live key once your account is activated) 4. Optional: create a webhook endpoint at https://dashboard.stripe.com/webhooks and copy the signing secret 5. Paste the keys into the Stripe payment method in Trinavo and enable it

Paymob

A payment gateway with regional support for Egypt, Saudi Arabia, Oman, and UAE.

Configuration Settings:

Setting Description
Country Select your region (Egypt, Saudi Arabia, Oman, UAE)
Secret Key Server-side API key (starts with egy_sk_ or similar)
Public Key Client-side checkout key (starts with egy_pk_ or similar)
Integration ID The integration ID for card payments
HMAC Secret Secret for verifying callback signatures
Test Mode Toggle between test and production modes

Supported Regions: - Egypt: EGP currency, accept.paymob.com - Saudi Arabia: SAR currency, ksa.paymob.com - Oman: OMR currency, oman.paymob.com - UAE: AED currency, uae.paymob.com

Getting Credentials: 1. Create a Paymob merchant account for your country 2. Navigate to Developers section in dashboard 3. Create an integration for card payments 4. Copy API keys and Integration ID 5. Set up HMAC secret for secure callbacks

Mamopay

UAE-first hosted-checkout gateway. Customers are redirected to a Mamopay-hosted page, pay there, and are returned to your store. Trinavo verifies every transaction server-side, so the payment status never relies on URL parameters alone.

Configuration Settings:

Setting Description
API Key (Test) Sandbox API key (request from [email protected])
API Key (Production) Production API key from the Mamo Business dashboard (Developer → Keys)
Test Mode Toggle between sandbox and production
Webhook Auth Header Value Shared secret you registered as auth_header on POST /webhooks
Webhook Auth Header Name HTTP header Mamopay uses to deliver the secret. Default: Authorization
Force Currency Optional. Force all charges to AED, USD, EUR, GBP, or SAR

Getting Credentials: 1. Request a sandbox account from [email protected] 2. Copy the sandbox API key, paste it under "API Key (Test)" in Trinavo, save, and run a test payment using a sandbox card (e.g., 4242 4242 4242 4242, CVV 123, expiry 01/28, 3DS password Checkout1!) 3. When ready for production, log into the Mamo Business dashboard, copy your production key, paste it under "API Key (Production)", and turn off Test Mode 4. Optional: register a webhook in the Mamopay dashboard pointing at /payment-gateway/api/mamopay_payment/webhook and set auth_header to a strong random secret. Paste the same secret into "Webhook Auth Header Value" in Trinavo

Manual Payment (Pay by Link)

Manual Payment configuration with Require Payment Receipt toggle

The Manual Payment plugin (also known as Pay by Link / الدفع بالروابط) is the right choice when you don't have an automatic gateway, or when you want each product to be paid through its own external link (PayPal, Stripe link, Tap link, bank transfer instructions, etc.). It powers Cash on Delivery, bank transfer, and any "I'll pay you outside the store" flow.

Configuration Settings:

Setting Description
Name Internal label, e.g. "Bank Transfer", "Pay by Link"
Display Name What the customer sees at checkout
Description (Notes) Rich text shown to the customer on the offline-payment page (account number, instructions, deadlines…). HTML allowed.
Logo Optional icon. Shown next to the method at checkout
Enabled Toggle the method on/off for customers
Require Payment Receipt Optional. When ON, the customer can upload a payment proof (image or PDF, up to 5 MB) at checkout and later from their order details until you mark the order as paid
Sort Order Position in the list at checkout

How "Require Payment Receipt" works:

  1. Customer picks this manual method at checkout.
  2. They see your description (transfer instructions, account info, etc.).
  3. If any of the products in their cart have a Payment Link, each one is shown as its own "Pay" button that opens in a new tab.
  4. They upload a screenshot or PDF of the bank transfer / PayPal receipt.
  5. They click Confirm Order. The order is created in the New status with payment marked as pending.
  6. The receipt is attached to the order's payment record. You can review it on the Orders list (toggle the "Payment Receipts" column on) or on the order edit page.
  7. If the customer didn't have the proof ready at checkout, they can come back to My Orders → Order Details and upload (or replace) the receipt at any time until you mark the order paid.

Customer view of the order details page (Pay buttons + receipt upload):

Customer order details — per-item Pay buttons and receipt upload

Use cases:

  • Cash on delivery (no link, no receipt needed — just enable the method).
  • Bank transfer with mandatory proof (turn ON "Require Payment Receipt", paste the IBAN / instructions in the description).
  • Pay-by-link per product (set the Payment Link on each product so the customer pays each item directly).

The plugin doesn't talk to any external API, so no credentials are needed.

Other Available Plugins

  • Moyasar: Saudi Arabia payment gateway
  • Tabby: Buy now, pay later service
  • Tamara: Buy now, pay later service
  • AlawnehPay: Regional payment gateway
  • User Wallet: Pay using store wallet balance