SShortSingh.
Back to feed

Keeping Customer-Facing Payment Errors Separate From Provider Diagnostics

0
·7 views

The article argues that payment providers often return messages meant for merchant operators, and passing these raw responses to customers can reveal credentials, permissions, liquidity data, or provider restrictions. It recommends storing two representations of a failure: a safe, actionable customer message and a detailed record containing the provider code, reason, and sanitized payload for operations staff. Errors should also be normalized into internal categories, such as invalid recipient or insufficient funds, so customers see a consistent experience regardless of the underlying payment rail. The author stresses centralizing customer-facing text, masking sensitive data, and never claiming a refund unless the ledger confirms it. Finally, the article recommends a maintained provider-error registry and automated tests to confirm that raw provider messages cannot leak through APIs, notifications, or emails.

Read the full story at DEV Community

This is an AI-generated summary. ShortSingh links to the original source for the complete article.

Discussion (0)

Log in to join the discussion and vote.

Log in

Related stories

0
ProgrammingDEV Community ·

Testing Outbound Webhooks with Signed Payloads and Retry Logic

Outbound webhook testing is tricky because the system under test is the caller, so it needs a receiver that verifies signatures and mimics real endpoint failures. Public request-bin endpoints only confirm that a request was sent, not that its HMAC is correct or that a tampered body would be rejected. A local mock receiver can instead recompute the signature over the raw request bytes, making signing errors fail tests reliably. Such a mock can also be configured to return a 500 on the first attempt, letting tests confirm that the producer retries and reuses the same event ID. Generating the mock from an OpenAPI spec adds schema validation, catching undocumented fields or wrong types in delivered payloads.

0
ProgrammingDEV Community ·

Agent Ping: a menu bar panel that shows which of six coding agents is waiting on you

A developer running six coding agents at once found that the hard part was not throughput but telling which sessions were stalled, since windows and desktop notifications fail to show when a tool is asking a question or has died on an error. To fix this, they built Agent Ping, a menu bar panel that reads each tool's local session logs and sorts sessions into five states, with the "waiting on you" group first and the verbatim question shown. Clicking a row returns the user to that session, though it deliberately does not orchestrate agents and makes no network calls. The first release has known gaps: ZCode lacks session-level links, Linux support was only checked in a container, and other tools with unparsed log formats are not covered. It is distributed via Homebrew and compiles from source on macOS 13+ or as an X11 tray item on Linux.

0
ProgrammingDEV Community ·

Developer Builds Tool That Generates Custom Birthday Songs From Any Name

A developer frustrated by slow, paid personalized birthday song services built a free web tool that creates an original song featuring a chosen name. Users enter a name, select a musical style such as pop or acoustic, and receive a fully synthesized track with generated melody, vocals, and lyrics within seconds. The system combines a lyrics generator, a text-to-singing model, and a style-matched instrumental generator, with particular effort going into fitting longer names naturally to the melody. Listening and sharing are free and require no account, while downloads are a paid option to cover bandwidth and generation costs. The creator is now seeking feedback on how unusual names are pronounced, as improving that is the next priority.