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 The returned
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: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 ofACH,CHECK, andWIRE(international SWIFT, for vendors banking outside the US). The list must includeACH— 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—truemakes 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.
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 Full account numbers are never returned — the delivery method carries only what you need to recognize and use it.
vendor.payout_method_updated with the vendor’s ID in associated_object_id. Fetch the vendor and read the new delivery method: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.
