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.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. Omitting the field is equivalent to ["ACH", "CHECK"].
  • plaidRequiredtrue 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:
These options apply 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.
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.