Update a worker’s payout settings on behalf of the worker. You can specify whether a worker should be paid via a Pay Card rather than the default setting of ACH-based direct deposit (if available).
This endpoint has two payment parameters, and they work together. Read this page before you send both.
| Parameter | What it controls |
|---|---|
availablePaymentMethods | Which methods the worker is allowed to use: directDeposit, payCard, or externallyPaid. |
preferredPaymentMethod | Which method the worker is paid with now: DIRECT_DEPOSIT or PAY_CARD. |
Everything else is optional. Send only the parameters you want to change; a parameter you leave out is left alone.
How the parameters relate
- The preferred method must be one of the available methods. If you ask for a
preferredPaymentMethodthat isn't available to the worker, the request fails with a 400 error. availablePaymentMethodsreplaces the whole set. A flag you leave out counts asfalse. To add Pay Card and keep Direct Deposit, send both:{ "directDeposit": true, "payCard": true }. Sending only{ "payCard": true }turns Direct Deposit off.- At least one method must stay on. Setting all three flags to
false(or sending an empty object) returns an error. - Externally paid is exclusive.
externallyPaidcan't be combined withdirectDepositorpayCard. When it'strue, the worker's preferred method becomesEXTERNALLY_PAIDon its own. You can't sendEXTERNALLY_PAIDaspreferredPaymentMethod. - Everee updates the preferred method for you when your change would leave it invalid. If you turn off the method a worker is currently paid with, Everee moves them to Direct Deposit when that's still available, and to the Pay Card otherwise, and notifies the worker. If you take a worker out of externally paid, Everee moves them to Direct Deposit or the Pay Card and asks them to add their payment details.
- Both parameters in one request. Everee applies
availablePaymentMethodsfirst, then checkspreferredPaymentMethodagainst the new set. You can change the available methods and pick the preferred one in the same call. - A method your company isn't set up for is ignored. For example,
payCard: truehas no effect if the Pay Card isn't enabled for your company. CheckavailablePaymentMethodsin the response to see what was applied. - The preferred method needs an account to pay into. If the worker has no bank account (Direct Deposit) or issued card (Pay Card) yet, their payments show an error and don't process until one exists. See embedding Pay Card signup.
Scenarios
1. Move a worker to the Pay Card
Both methods are available to the worker, and you want them paid on the card.
{ "preferredPaymentMethod": "PAY_CARD" }The worker's available methods don't change. If the worker doesn't have a card yet, payments wait until they sign up. A worker who already has an Everee Pay Card from another company can use it, and that completes their signup. If the Pay Card isn't available to the worker, you get a 400 error.
2. Let the worker choose between Direct Deposit and the Pay Card
{ "availablePaymentMethods": { "directDeposit": true, "payCard": true } }The preferred method stays as it is, and the worker can switch between the two themselves.
3. Pay Card only
{
"availablePaymentMethods": { "payCard": true },
"preferredPaymentMethod": "PAY_CARD"
}Direct Deposit is turned off because the flag was left out. If you sent only availablePaymentMethods here and the worker was on Direct Deposit, Everee would switch them to the Pay Card on its own and notify them.
4. Direct Deposit only
{ "availablePaymentMethods": { "directDeposit": true } }A worker who was on the Pay Card is moved to Direct Deposit and notified.
5. A worker you pay outside Everee
{ "availablePaymentMethods": { "externallyPaid": true } }The worker's preferred method becomes EXTERNALLY_PAID, and they don't need a bank account or card to finish onboarding.
6. Start paying a worker through Everee again
{ "availablePaymentMethods": { "externallyPaid": false, "directDeposit": true } }The worker moves to Direct Deposit and is asked to add their bank details. To use the Pay Card instead, send "payCard": true.
Errors
| Request | Result |
|---|---|
preferredPaymentMethod that isn't in the worker's available methods | 400: unable to set the payment method because it isn't available |
preferredPaymentMethod of EXTERNALLY_PAID | 400: invalid payment method. Use externallyPaid in availablePaymentMethods |
externallyPaid: true together with directDeposit or payCard | 400: if externally paid, no other payment methods can be enabled |
All three flags false | 400: at least one method is required |
Webhooks
Changing preferredPaymentMethod with this endpoint sends the Worker's Preferred Payment Method Changed event (worker.updated-payment-method). When Everee switches the preferred method itself because you changed availablePaymentMethods, no event is sent. Re-read the worker if you need to know the result.