Changelog
Changelog
Changes to the API and these docs, newest first.
3 Nov 2026
API
-
New: a saved card’s expiry. Saved cards now carry
card.exp_monthandcard.exp_year, and GET /v1/payment-methods takesexpires_by(YYYY-MM) to find cards that expire soon. -
New: a saved card’s charges. GET /v1/payments takes
payment_method_id. -
New: save the card while paying. Add
save_payment_method: trueandcustomer.idto aCARDpayment on POST /v1/payments. Your customer pays and agrees to future charges in one step, with one check from their bank. You getPAYMENT_COMPLETED, thenPAYMENT_METHOD_SAVED. See Saved cards. -
New: save the card from a checkout. POST /v1/checkouts takes the same
save_payment_methodandcustomer.id. The card is saved if your customer pays by card.
Docs
- New: test saved cards. Test mode’s save page now has a card whose charges are declined and one that expires this month. See Test mode.
- New: Subscriptions. How to charge a saved card on your own schedule, with retries, expiring cards and canceling.
2 Nov 2026
API
- New: saved cards. Save your customer’s card once on Weav’s save page (POST /v1/payment-methods), then charge it with no customer present:
payment_method_idon POST /v1/payments. Also list, retrieve and remove, and thePAYMENT_METHOD_SAVED,PAYMENT_METHOD_FAILEDandPAYMENT_METHOD_REMOVEDwebhooks. Off until Weav turns it on for your account. See Saved cards.
Simpler payments and checkouts. Weav isn’t live yet, so these changes don’t keep the old names.
- Changed: retries need nothing extra. The
Idempotency-Keyheader is now optional. Without it, yourexternal_reference_idis the key: the same reference and body returns the stored response. See Idempotency. - Changed: one shape for return URLs. Payments take
success_urlandcancel_url, the same as checkouts (wasredirect_urls.success_urlandredirect_urls.failure_url). Both are optional for every channel: without them, your customer stays on Weav’s result page. - Changed:
callback_urlis nowwebhook_urlon payments and checkouts. Without it, webhooks go to your webhook URL. - Changed:
customeris optional withHOSTED. Without a name, Weav’s payment page asks your customer before the payment starts. WithDIRECT,customer.nameis still required.
1 Nov 2026
API
- New: live keys are refused from a browser. A
wv_live_key sent from a web page (with anOriginheader) gets403with code4030001. Calls from your server are unchanged. See Errors.
Docs
- Webhook IP addresses: Weav sends webhooks from
18.136.62.102and18.139.176.153. See IP addresses. And a full guide to your key’s IP allowlist. - A new home for the docs, with an API reference made from Weav’s OpenAPI file: every endpoint with its fields, responses, and samples in cURL, Node.js, JavaScript, PHP, Python, Go, Rust and Java.
- Try it: send a request from any reference page with a test key. See the API reference.
- For AI assistants: every page as Markdown (add
.md), Copy for LLM and More actions (open in ChatGPT, Claude or Grok; connect Cursor, VS Code or Claude Code) on every page, fullllms.txtfiles, and a public MCP server at/mcp. See Build with AI.
29 Oct 2026
API
- New: checkouts. POST /v1/checkouts makes one link for an order or an amount; your customer chooses how to pay on Weav’s page. Also list, retrieve and cancel, the
CHECKOUT_COMPLETEDandCHECKOUT_EXPIREDwebhooks, andcheckout_reference_idon payments. - Changed:
next_action_formatis nowHOSTED(wasPAYMENT_LINK) orDIRECT.
28 Oct 2026
API
- New:
referenceson the payment object: the provider’s other numbers for a payment, the ones your customer may have from their app or receipt (invoice_number,receipt_number,transaction_id). See The payment object. - Changed:
referenceon List payments also matches a number inreferences, which can match more than one payment. - Changed:
channel_reference_idnow holds only a reference that is unique to the payment. Maya’s receipt numbers and GCash’s transaction IDs can repeat, so they moved toreferences; for those channelschannel_reference_idis null. - New: repost limits. Repost a webhook works once every 30 seconds per payment and up to 20 times a minute per account in each mode (codes
4290201and4290202). To check a status, retrieve the payment.
Docs
- New guides: How payments work, with a sequence diagram for each kind of channel, and Retries.
- Search across every page, with ⌘K or Ctrl K. Light and dark mode. Method badges in the API reference.
- Clearer signing key rotation: one key signs at a time.