---
title: "Handle Bill.com payment status webhooks"
method: POST
path: "/webhooks/billcom"
tags: ["Webhooks"]
---

# Handle Bill.com payment status webhooks

`POST /webhooks/billcom`

## Request

- Base URL: `https://api.production.yourmedley.com`
- URL: `https://api.production.yourmedley.com/webhooks/billcom`
- Auth: none declared

Receives webhook events from Bill.com for payment status changes.
Events: payment.updated, payment.failed.
Signature verified using HMAC-SHA256 with x-bill-sha-signature header.
Public endpoint — no authentication required.

## Request body

- object
  - `metadata` object, required
    - `eventType` 'payment.updated' | 'payment.failed'
    - `eventId` string
  - `payment` object, required
    - `id` string
    - `status` string

## Response `200`

Webhook received and processed

## Other responses

- `401`: Invalid or missing HMAC signature

---

[API](https://skmtc.dev/withmedley/apis/medley-api.md) - [All operations](https://skmtc.dev/withmedley/apis/medley-api/llms.txt) - [OpenAPI document](https://skmtc.dev/withmedley/apis/medley-api/revisions/40aaac5ca6bd?raw)
