Skip to main content
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:
  • 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.
Each developer can have one active payout method at a time. Adding a second overwrites the first; to switch types, just call POST again with the new payload. Auth: developer JWT. 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.
data.payoutMethodId
string
UUID of the row.
data.type
string
bank or paypal.
data.status
string
pending, active, restricted, or disabled.
data.verifiedAt
string
ISO timestamp when ops verified the destination, or null.
Bank-only fields (type: bank):
data.accountHolderName
string
data.bankName
string
data.swiftCode
string
data.country
string
ISO 3166-1 alpha-2.
data.bankAddress
string
data.last4
string
Last 4 of account number or IBAN. Full number is never returned.
PayPal-only fields (type: paypal):
data.paypalEmail
string

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)

type
string
required
Must be bank.
accountHolderName
string
required
Name on the account.
bankName
string
required
Receiving bank.
swiftCode
string
required
8 or 11 character SWIFT/BIC.
country
string
required
ISO 3166-1 alpha-2 country code.
accountNumber
string
Account number. Required when iban is not supplied. Encrypted before storage; only last4 is recoverable.
iban
string
IBAN. Required when accountNumber is not supplied. Encrypted before storage.
bankAddress
string
Free-form bank address (recommended for international wires).

PayPal

type
string
required
Must be paypal.
paypalEmail
string
required
The PayPal account email.

Response

Returns the saved row in the same masked shape as GET. 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. 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 (AES-256-GCM) before being stored and are never returned in API responses. Only last4 is exposed for display.

Error codes

CodeDescription
400type not bank or paypal.
400type: bank with neither accountNumber nor iban.
400swiftCode not 8 or 11 chars / country not ISO alpha-2 / paypalEmail not a valid email.
401Missing or invalid developer JWT.
404DELETE called with no method on file.