Skip to content

Remita

Remita uses a Remita Retrieval Reference (RRR) to identify a hosted payment and supports Direct Debit mandates, transfers, payment links, and split instructions through its driver.

Setup

REMITA_API_KEY=your_api_key
REMITA_MERCHANT_ID=your_merchant_id
REMITA_SERVICE_TYPE_ID=your_service_type_id
REMITA_SOURCE_ACCOUNT=your_source_account
REMITA_BASE_URL=https://api.remita.net/remita
REMITA_CHECKOUT_URL=https://login.remita.net/remita/ecomm/finalize.reg
REMITA_CALLBACK_URL=https://example.com/payment/callback

Credentials come from Remita; use the provider's correct live or demo endpoints. The driver computes the request authorization hash from the configured merchant and service identifiers. Keep API credentials on the server.

Hosted checkout (RRR)

use Alphabalex\PaymentMadeEasy\Facades\Payment;

$driver = Payment::driver('remita');
$checkout = $driver->initializePayment([
    'email'        => 'customer@example.com',
    'name'         => 'Jane Doe',
    'amount'       => 5000.00,
    'reference'    => 'ORDER_123',
    'description'  => 'Invoice 123',
    'callback_url' => 'https://example.com/payment/callback',
]);

// The response includes an RRR and authorization_url for hosted checkout.
// Verify with the RRR, not only the browser return URL.
$payment = $driver->verifyPayment($checkout['RRR']);

Direct Debit mandates

Remita models recurring collection as a mandate. Create a subscription with customer bank details, amount, mandate dates, and debit limit/frequency as required by your service configuration. After the mandate is authorized, chargeAuthorization() sends a debit instruction; pause/cancel/get operations manage the mandate lifecycle. Review the API reference for the expected fields and returned mandate identifier.

The driver implements the shared subscription, charge-authorization, disbursement, split, and payment-link contracts. RRR generation can accept line_items for split payments. Transfer requests require beneficiary bank details and amount; exact settlement availability is controlled by the Remita merchant account.

Webhooks

Configure POST /webhooks/payment-gateways/remita if enabled for your Remita product. Remita does not use the same shared HMAC signing-secret model as the package's HMAC providers; follow the provider's verification requirements and always requery the RRR before treating a payment as settled. See webhook guidance.

See Remita in the API reference for mandate, split, payment-link, and payout examples. Related: payments · configuration.