I'm setting up an ebay like website where there are buyers are sellers. When a user (both buyer and seller) signs up, I make them sign a paypal billing agreement with me. When a buyer sells an item, I charge the seller using the billing agreement.
What I'm stuck on is sending that amount to the seller using the billing agreement. I realize I can use the MassPay or Adaptive Payments API to pay the seller but neither of those interfaces taking a billing agreement ID. They both only take the seller's email address. Does that mean I need to retrieve the user's email address via GetBillingAgreementCustomerDetails before making the masspay / adaptive payments call?
I would look into Preapproved Payments if I were you. Your users would setup a preapproval profile instead of a billing agreement. Then you can send money on behalf of any user using their preapproval key.
Specifically, you'll use the Preapproval API to create the profiles and then the Pay API with a preapproval key included to submit payments when necessary.