Skip to main content
When you start an attempt you pass a method_code. The SDK ships a PaymentMethodCode enum so you can reference codes type-safely instead of hardcoding strings.
use Orqex\Orchestrate\Enum\PaymentMethodCode;

$orqex->paymentIntents()->attempt('TRX123', [
    'method_code' => PaymentMethodCode::MOBILE_MONEY_MTN->value, // "momo_mtn"
    'country'     => 'CI',
    'phone'       => ['number' => '0700000000', 'country' => 'CI'],
]);

Reading method metadata

The full method descriptor (label, icon, category) is returned by the API on each attempt’s method object — read it from there rather than hardcoding it:
$method = $intent->active_attempt?->method;

$method->value;     // "momo_mtn"
$method->label;     // "MTN Mobile Money"
$method->category;  // "mobile_money"
$method->icon_url;

Categories

PaymentMethodCategory groups methods: card, mobile_money, bank_transfer, wallet, ussd, qr_code, crypto, other.
Method codes are stable identifiers. The set of methods available to a payment depends on your configured gateway accounts and routing rules for the country and currency.