Payout Methods
Developer
Payout Methods
Add, view, and remove the destination where developer earnings are paid out.
GET
Payout Methods
A payout method is the destination where a developer’s accrued earnings are wired by the platform. LaunchMyStore is the merchant of record for all app charges, so the payout method is just a payment destination — the developer does not need their own Stripe Connect account or a payment processor of their own. Two destination types are supported:Documentation Index
Fetch the complete documentation index at: https://docs.launchmystore.io/llms.txt
Use this file to discover all available pages before exploring further.
bank(SWIFT international wire) — account holder name, bank name, SWIFT/BIC, country, account number or IBAN. Account number + IBAN are encrypted at the application layer before storage; only the last 4 digits are kept in cleartext for display.paypal— PayPal email address.
POST again with
the new payload.
Auth: developer JWT (@Auth(MERCHANT)). The developerId is read
from the token.
Stripe Connect (Express / Standard) onboarding — which would let
developers receive payouts directly to a connected Stripe account on a
faster cadence — is on the roadmap. The current API uses the SWIFT /
PayPal destination model below.
Get current payout method (masked)
GET /apps/developer/payout-method
Returns the saved destination with sensitive fields masked. Returns
{ data: null } when no method is configured.
UUID of the row.
bank or paypal.pending, active, restricted, or disabled.ISO timestamp when ops verified the destination, or
null.type: bank):
ISO 3166-1 alpha-2.
Last 4 of account number or IBAN. Full number is never returned.
type: paypal):
Example response (bank)
Example response (paypal)
No method configured
Save a payout method
POST /apps/developer/payout-method
Saves or overwrites the destination. The request fields depend on type:
Bank (SWIFT)
Must be
bank.Name on the account.
Receiving bank.
8 or 11 character SWIFT/BIC.
ISO 3166-1 alpha-2 country code.
Account number. Required when
iban is not supplied. Encrypted before storage; only last4 is recoverable.IBAN. Required when
accountNumber is not supplied. Encrypted before storage.Free-form bank address (recommended for international wires).
PayPal
Must be
paypal.The PayPal account email.
Response
Returns the saved row in the same masked shape asGET. The row starts in
status: pending and transitions to active after platform ops verifies
the destination (typically within one business day).
Remove the current method
DELETE /apps/developer/payout-method
Removes the saved destination. The developer’s balance is not affected
— it just sits on the ledger until a new method is added. Scheduled
payouts pause while no method is configured.
Default / multiple methods
The current implementation enforces one payout method per developer (uniquedeveloperId constraint on the DeveloperPayoutMethods table).
There is no setDefault operation because there is no “list” — saving a
new method overwrites the existing one.
Multi-destination support (split payouts between bank + PayPal, or one
destination per app) is on the roadmap.
Encryption
accountNumber and iban are encrypted at the application layer with the
platform’s PAYOUT_METHOD_ENCRYPTION_KEY (AES-256-GCM) before being
written. The encrypted blob is stored in
accountNumberEncrypted / ibanEncrypted columns and is never
returned in API responses. Only last4 (stored in cleartext) is exposed
for display.
Error codes
| Code | Description |
|---|---|
400 | type not bank or paypal. |
400 | type: bank with neither accountNumber nor iban. |
400 | swiftCode not 8 or 11 chars / country not ISO alpha-2 / paypalEmail not a valid email. |
401 | Missing or invalid developer JWT. |
404 | DELETE called with no method on file. |