Atomically pay the merchant and the relayer's gas collector, both in token, under the
payer's authorization. All-or-nothing: if either transfer fails the whole invocation reverts.
fn forward(
env: soroban_sdk::Env,
payer: soroban_sdk::Address,
token: soroban_sdk::Address,
merchant: soroban_sdk::Address,
payment_amount: i128,
collector: soroban_sdk::Address,
fee_amount: i128,
) -> Result<(), soroban_sdk::Error>