Payment methods

Update a payment method

Changes the label, billing contact details, or stored metadata on one of the company's own payment methods. Requires the payment_methods:write permission.

PUT
https://services.magicdoor.com/payments/company-portal/methods/{methodId}

Authorization

Authorizationstringrequired
Bearer token — Send your API token in the Authorization header as Bearer <token>. Requests without a valid token are rejected with 401 Unauthorized.

Path parameters

methodIdstringrequired

The payment method to update. A Snowflake id, sent as a decimal string.

example: 1830472847398404096

Body

application/json

Every field is optional. Only the ones you send are written.

namestring

The billing name held against the payment method. Between 2 and 250 characters. Omit to leave it as it is.

emailstring · email

The billing email held against the payment method. At most 250 characters. Omit to leave it as it is.

phonestring

The billing phone number held against the payment method. At most 20 characters. Omit to leave it as it is.

addressobject

The billing address held against the payment method. Sent whole — supplying it replaces every part of the stored address. Omit to leave it as it is.

descriptionstring

The free-text label returned as description. At most 500 characters. Omit to leave it as it is.

metadataobject

Free-form string keys and string values stored with the payment method. Sent whole — supplying it replaces the whole map. It is not returned by any of these endpoints. Omit to leave it as it is.

Response

200 · The payment method after the change. `name`, `email`, `phone`, `address`, and `metadata` are stored but are not part of this response.

idstringrequired

The payment method. Send this value wherever a methodId is asked for. A Snowflake id, sent as a decimal string.

typeenum<string>required

What kind of funding source this is. ach is a US bank account reached by Automated Clearing House transfer.

cardachdigitalWallet
brandstring

The card network or bank brand the processor reported, for example "Visa". Absent when the processor reported none.

holderstring

The name on the card or bank account, as the processor reported it. Absent when the processor reported none.

last4string

The last four digits of the card or account number. The full number is never returned. Absent when the processor reported none.

expiresobject

The card expiry, month and year only. Absent for bank accounts, and for cards whose expiry the processor did not report.

cardTypeenum<string>

Whether the card draws on a bank balance or a credit line. Absent for bank accounts, and when the processor did not report it.

debitcredit
accountTypeenum<string>

The kind of bank account. Absent for cards, and when the processor did not report it.

checkingsavings
descriptionstring

The free-text label supplied when the method was added. Absent when none was given.

deactivatedstring · date-time

When the method was deactivated, in the company's timezone and without an offset. Absent while the method is usable.

isDeactivatedbooleanrequired

True when deactivated is present. A deactivated method stays on file but cannot be charged.

deactivationReasonstring

The reason given when the method was deactivated. Absent while the method is usable.

createdstring · date-timerequired

When the method was added, in the company's timezone and without an offset.

capabilitiesenum<string>[]required

What the method may be used for. collect takes money in, payout sends money out. Bank accounts normally get both; cards get collect only. The array is empty when the method has no capability with the processor MagicDoor currently runs.

collectpayout

400 · A value failed its check — a name outside 2 to 250 characters, an email that is not a valid address, or a phone number that is not a valid number.

401 · The request carried no valid access token.

403 · The token is not a property manager token, or it lacks the `payment_methods:write` permission.

404 · No such payment method, or it belongs to another company, or it was deleted, or it belongs to a tenant, owner, vendor, or applicant rather than to the company itself.

What an update can and cannot change

name, email, phone, and address are the billing contact details held against the method, not the card or bank account itself. The card number, expiry, brand, and last four digits come from the payment processor and cannot be changed here — replace the method instead.

Only the fields you send are written. A request that sends none of them is accepted and returns the method unchanged.