public abstract class CommissionMerchantBase : object
This is used to define the custom logic to integrate with a merchant and process commission payments. Usually processes complete batches all together.
public abstract Task<CommissionPaymentResult> PayCommissions(int batchId, CommissionPayment payments)
This is the batch number being paid.
This is the list of payments being paid.
A list of the results of every payment.
Warning! Be careful here! We process the whole batch at once, so you have to provide the error handling so the statuses are correctly saved. If half of the payments succeeded, but then an exception were thrown, disco would not receive the CommissionPaymentResults and would be unaware that any of the payments went out. Try - catch handling is necessary
This is used to provision a user account the first time this merchant is used for that associate.
public virtual Task<Dictionary<string, string>> ProvisionAccount(int associateId)
This is the associate id of that account that needs to be provisioned.