Manage vendor payment links
Use vendor payment links to let vendors choose how they want to get paid. When you generate a payment link for a bill, the vendor receives a secure, hosted page where they can select their preferred payment method — ACH, virtual card (vCard), or check. Their choice is stored and reused for future payouts, so you don’t need to collect payment details manually or send additional links.
This is ideal for on-demand payout workflows where you need vendors to self-enroll their payment preferences without building your own collection UI.
Considerations
Keep these in mind when working with vendor payment links:
- You must create a vendor and a bill before generating a payment link.
- The payment link is tied to a specific bill. When the vendor completes the link, Payabli automatically authorizes and captures the payout, and the vendor’s payment method preference is stored for future use.
- Paypoints control which payment methods are offered to the vendor. You can configure the link to show any combination of ACH, virtual card, and check.
- You can send payment links via email.
Payment methods
Vendor payment links support the following payout methods. Paypoints determine which methods to offer each vendor.
Payments captured before 3:30 PM ET typically pull funds from the payer’s account within 2–3 business days. A 3-day hold is applied to ensure funds clear before disbursement to the vendor.
Generate a payment link
Send a POST request to /api/PaymentLink/bill/{billId} to create a payment link for a bill. Use the mail2 query parameter to send the link directly to the vendor’s email — pass one or more email addresses separated by semicolons (for example, mail2=ap@vendor.com; billing@vendor.com). See the API reference for full documentation.
Use the request body to configure the payment page appearance, including branding, messaging, and which payout methods are offered to the vendor. The paymentMethods.methods object uses Pay Out-specific field names:
ach— offer ACH bank transfervcard— offer virtual cardcheck— offer physical check
Set defaultMethod to highlight a preferred option (for example, "vcard"), and use allowMultipleMethods: true to let the vendor pick from all enabled options.
A successful request returns a 200 response with the payment link ID.
Send a payment link
Send a POST request to /api/PaymentLink/push/{payLinkId} to deliver a payment link to the vendor via email. See the API reference for full documentation.
If you included the mail2 query parameter when generating the link, the vendor already received it. Use this endpoint to resend the link or send it to additional recipients.
A successful request returns a 200 response with the payment link ID.
What the vendor sees
When the vendor opens the payment link, they see a secure, branded page with the bill details and available payment methods. If you set a defaultMethod when generating the link, that method is highlighted as the recommended option. The vendor can choose a different method if multiple methods are enabled.
The vendor selects their preferred method and provides the required details:
- ACH: Bank account and routing number
- Virtual card: Email address for secure card delivery
- Check: Mailing address (if not already on file)
When the vendor submits their selection, Payabli automatically authorizes and captures the payout for that bill. The bill status transitions follow the same flow as any other authorize and capture action — for example, moving from Active to In Transit to Paid. You don’t need to call the authorize or capture endpoints separately.
The vendor’s payment method preference is also securely tokenized and stored on their vendor record. You can use this stored preference for future payouts without sending additional links.
Get payment link details
Send a GET request to /api/PaymentLink/{payLinkId} to retrieve information about a specific payment link. See the API reference for full documentation.
A successful request returns a 200 response with the payment link details.
Update a payment link
There are two ways to update a Pay Out payment link:
Update status or expiration
Send a PATCH request to /api/PaymentLink/out/{paylinkId} to update the link’s status, expiration date, or page content. See the API reference for full documentation.
Use this to cancel a link, extend its expiration, or reactivate an expired link. Setting a new expiration date on an expired link automatically reactivates it to Active status.
Payment link statuses: Active, Expired, Canceled, Deleted.
This example reactivates an expired link with a new expiration date:
Update page content
Send a PATCH request to /api/PaymentLink/updateOut/{paylinkId} to update the payment page configuration — branding, messaging, payment methods offered, and other page settings. See the API reference for full documentation.
This example changes which payment methods are offered to the vendor:
Delete a payment link
Send a DELETE request to /api/PaymentLink/{payLinkId} to delete a payment link. See the API reference for full documentation.
A successful request returns a 200 response confirming the payment link was deleted.
Stored payment preferences
When a vendor completes a payment link, their chosen method and payment details are securely tokenized and stored on their vendor record. You can retrieve a vendor’s stored methods by calling GET /api/Vendor/{id} — the response includes a storedMethods array with each method’s idPmethod (the stored method ID), method type, and masked account details.
For subsequent payouts, reference the stored method by passing its storedMethodId in the authorize request:
You can also set a default stored method on the vendor record using the defaultMethodId field on the vendor object. This identifies which stored method to use by default for that vendor’s payouts.
For more on authorizing and capturing payouts, see Manage payouts.