Skip to main content

Developer Payouts

Overview​

Open /developer-payouts in the admin app (sidebar Commerce → Developer payouts) to see the payouts of developer revenue, newest first. Payouts of deleted developer profiles stay listed and are marked Profile deleted. Load more appends the next 50.

The monthly payout cycle sends Stripe and PayPal payouts by itself (see Developer Payouts). Two kinds wait for an operator. They carry the Needs an operator badge and a highlighted card:

  • SEPA transfer: Lumio does not send bank transfers. Transfer the amount by bank, then mark the payout paid.
  • Unknown provider answer: the cycle sent the payout to Stripe or PayPal but got no answer (timeout, provider error). It is never sent again. Check with the provider whether it arrived, then mark it paid or failed.

Filters​

FilterEffect
StatusAll statuses, or one of Pending, Processing, Paid, Failed
Needs an operatorOnly the payouts that wait for an operator. Status is then fixed to Pending

Card contents​

PartContent
HeaderAmount (EUR, the credit note's gross amount), status, method (Stripe, PayPal, SEPA transfer), Needs an operator, Profile deleted, creation time
Developer profileThe profile ID, or Profile deleted
DestinationThe masked destination: Stripe account, PayPal e-mail (j***@example.com) or IBAN (DE89****00)
Payout IDThe payout's ID
Sent to providerWhen the cycle handed it to Stripe or PayPal, or Not sent
Paid onWhen it was completed
Stripe transfer / PayPal batchThe provider's ID, once there is one

Times are shown in Europe/Berlin.

Marking a payout paid or failed​

A Pending or Processing payout shows Mark paid and Mark failed. Both open a confirmation dialog with the amount, method, destination and status. Neither can be undone.

  • Mark paid — the SEPA transfer was sent, or the provider confirmed the payout arrived. The payout becomes Paid.
  • Mark failed — only after the provider or bank confirmed that nothing arrived. The amount is credited back to the developer's balance and the payout's credit note is cancelled (reason payout failed, see Credit Notes). The developer can request the payout again.

After the action the card shows the new status and a confirmation names the credited amount and the cancellation note's number.

The dialog names the reason when it is refused:

MessageCause
The payout cycle is sending this payout right nowPAYOUT_BEING_SENT: the cycle handed it to the provider less than 15 minutes ago, and marking it failed now could pay it twice. Try again after 15 minutes
This payout was already settledPAYOUT_NOT_IN_FLIGHT: it is no longer pending or processing. Reload the list
This payout no longer existsThe payout was not found. Reload the list

Marking a payout paid emits the audit event system:developer_payout_completed, marking it failed system:developer_payout_failed (both with source: operator).

Permissions​

ActionPermission
Open the pagebilling:read
Mark a payout paid or failedbilling:edit

The page uses adminDeveloperPayouts, completeDeveloperPayout and failDeveloperPayout (REST GET /v1/admin/developer-payouts, POST /v1/admin/developer-payouts/{id}/complete and /fail).