-
Notifications
You must be signed in to change notification settings - Fork 17
[BUG] expires_at field in Payment Method API returns current timestamp instead of actual card expiry date #38
Copy link
Copy link
Open
Labels
bugSomething isn't workingSomething isn't working
Description
Bug Description
The expires_at field in the GET /billing/v1/payment-methods response returns the current timestamp (now()) instead of the actual credit card expiration date.
Steps to Reproduce
- Register a credit card as payment method
- Call
GET /billing/v1/payment-methods - Inspect the
expires_atfield in the response
Expected Behavior
expires_at should return the actual expiration date of the credit card as provided by the payment provider (e.g. 2028-03-31T23:59:59Z).
Actual Behavior
expires_at returns a timestamp matching the moment of the API call, not the card's real expiry date.
Response received on 2026-03-31 at ~07:56 UTC:
{
"id": 40011176,
"name": "Credit Card",
"identifier": "25**********1008",
"is_expired": false,
"is_suspended": false,
"created_at": "2025-11-14T17:14:59Z",
"expires_at": "2026-03-31T07:56:18Z"
}Screenshots
N/A
Error Messages / Stack Trace
No error — the endpoint returns 200 OK, but the value of expires_at is incorrect.
Additional Context
is_expired: falsecontradicts anexpires_atvalue of today's date- The time component
07:56:18is not a typical card expiry (those are always end-of-month) — it matches the time the request was made - The card in question is valid well beyond the returned date
- Likely cause:
expires_atis populated withnow()or a similar fallback instead of the real value from the payment provider
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
bugSomething isn't workingSomething isn't working