Skip to main content
Asking vendors to email you a voided check or a bank letter is slow and risky. Instead, have Nickel collect their details: you trigger a request, the vendor fills in a secure hosted form, and their delivery method appears on the vendor record — without their account number ever passing through your systems.
Before you start: You need a vendor (see Pay a Vendor Bill) and a webhook subscription to hear when the vendor completes the form.
1

Send the request

Call POST /vendor/{vendorId}/requestDeliveryDetails. Nickel emails the addresses you pass — or the vendor’s emails on file if you omit emails — a link to the secure form:
The returned url is the same form the email links to — share it directly over your own channel if you prefer. The link is vendor-specific and expires, so request a fresh one rather than storing it. Whoever holds the link can set the vendor’s bank account, check address, and international wire details, so Nickel returns it only when the team member your API key belongs to may edit all three. Otherwise url is null, and the email still goes out.By default the form offers a choice of bank transfer (ACH) or a mailed check. Two optional fields change what the vendor sees:
  • allowedDeliveryMethods — the delivery methods the form offers: any of ACH, CHECK, and WIRE (international SWIFT, for vendors banking outside the US). The list must include ACH — bank transfer is always available. Whether check is allowed is saved on the vendor, as described below. Omitting the field keeps the vendor’s saved setting: ["ACH", "CHECK"] unless check has been turned off for them.
  • plaidRequired — true makes the vendor verify their bank account by logging into it through Plaid instead of typing the numbers in, which rules out typos and confirms they own the account.
To pay a vendor by bank transfer only, allow only ACH. The form won’t offer check, and Nickel saves the restriction on the vendor — the setting the Nickel dashboard calls Require ACH — so the vendor’s later links won’t offer check either, a check address entered through an older link is refused, and a vendor synced from QuickBooks doesn’t get a check delivery method from their QuickBooks address:
plaidRequired and WIRE apply only to the link they were requested with. If you later want the vendor to see different options, request new details with the list you want and share the fresh link. Including CHECK in that list turns check back on for the vendor.
2

The vendor fills in the form

The vendor chooses how they want to be paid from the options you allowed — bank account for ACH, mailing address for checks — and submits. Nothing to build or host on your side.
3

Get notified

When the vendor submits, your webhook receives vendor.payout_method_updated with the vendor’s ID in associated_object_id. Fetch the vendor and read the new delivery method:
Full account numbers are never returned — the delivery method carries only what you need to recognize and use it.
vendor.payout_method_updated fires on both create and update. If a vendor corrects their details, the delivery method changes — always refetch the vendor rather than caching vendorDeliveryMethods[].id from months ago.
4

Pay them

Use the vendorDeliveryMethods[].id as the vendorDeliveryMethodId in POST /bill/pay — pick up Pay a Vendor Bill at the “Create the bill” step.

Where to go next

Pay a vendor bill

The end-to-end payable flow this plugs into.

Receive webhooks

The receiver that hears vendor.payout_method_updated.