getenv('ALFA_BAAS_CLIENT_ID'), 'client_secret' => getenv('ALFA_BAAS_CLIENT_SECRET'), 'redirect_uri' => 'https://your-app.com/callback', 'cert_path' => __DIR__ . '/certs/client.cer', 'key_path' => __DIR__ . '/certs/private.key', // BUSINESS DATA 'account_num' => '40702810...', // Nominal Account Number 'refresh_token' => 'saved_refresh_token_db', // Your stored token ]; try { // 1. Initialize Connector with Auth Config $baas = AlfaBank::baas( certificatePath: $config['cert_path'], privateKeyPath: $config['key_path'], environment: Environment::SANDBOX, clientId: $config['client_id'], clientSecret: $config['client_secret'], redirectUri: $config['redirect_uri'] ); // 2. Refresh Token (Get valid Access Token for this session) echo "Refreshing session...\n"; $authenticator = $baas->refreshAccessToken($config['refresh_token']); // Apply authentication to the connector $baas->authenticate($authenticator); // 3. Perform Business Request echo "Requesting beneficiaries list...\n"; $request = new GetBeneficiariesRequest( accountNumber: $config['account_num'], type: 'FL_RESIDENT' ); $response = $baas->send($request); // 4. Handle Result $list = $response->dto(); echo 'Found ' . count($list->beneficiaries) . " beneficiaries.\n"; foreach ($list->beneficiaries as $b) { echo "- {$b->name} (ID: {$b->beneficiaryId})\n"; } } catch (Exception $e) { echo 'Error: ' . $e->getMessage() . "\n"; }