reseller is only read when reseller_fee is positive, so a cobro with no
reseller passes None and pays exactly two legs.
fn pay(
env: soroban_sdk::Env,
token: soroban_sdk::Address,
payer: soroban_sdk::Address,
merchant: soroban_sdk::Address,
treasury: soroban_sdk::Address,
reseller: Option,
net: i128,
fee: i128,
reseller_fee: i128,
intent_id: soroban_sdk::BytesN<32>,
) -> Result<(), soroban_sdk::Error>