---
title: How to Create Documentation that Anyone Can Use
description: What goes into putting together payments-focused developer documentation. Plus, examples from Basis Theory.
image: https://blog.basistheory.com/hubfs/Good%20Documentation.webp
---

[Skip to content](https://blog.basistheory.com/create-documentation-that-anyone-can-use#main-content)

![Basis Theory logo](https://blog.basistheory.com/hs-fs/hubfs/BTLogo%20(1).png?width=365&height=122&name=BTLogo%20(1).png)

- [Use Cases](https://basistheory.com/)
  
  Show submenu for Use Cases 
  
    - [Creator Economy](https://basistheory.com/use-cases/creator-economy)
    - [Digital Health](https://basistheory.com/use-cases/health)
    - [E-Commerce](https://basistheory.com/use-cases/ecommerce)
    - [Fintech](https://basistheory.com/use-cases/fintech)
    - [Gaming](https://basistheory.com/use-cases/gaming)
    - [Subscription Merchants](https://basistheory.com/use-cases/subscriptions)
    - [Travel](https://basistheory.com/use-cases/travel)
    - [VSaaS](https://basistheory.com/use-cases/vsaas)
- Solutions
  
  Show submenu for Solutions 
  
    - [Agentic Commerce](https://basistheory.com/solution/agentic-commerce)
    - [Data Consolidation](https://basistheory.com/solution/data-consolidation)
    - [Monetize Payments](https://basistheory.com/solution/monetize-payments)
    - [Multi PSP](https://basistheory.com/solution/multi-psp)
    - [Payment Method Discovery](https://basistheory.com/solution/payment-method-discovery)
    - [Payment Vault](https://basistheory.com/solution/payment-vault)
- [Platform](https://basistheory.com/platform)
  
  Show submenu for Platform 
  
    - [Enrichments & Add-Ons](https://basistheory.com/add-ons)
    - [Partners](https://basistheory.com/partnerships)
    - [Why Basis Theory](https://basistheory.com/why-basis-theory)
- [Pricing](https://basistheory.com/pricing)
- Resources
  
  Show submenu for Resources 
  
    - [Blog](https://blog.basistheory.com)
    - [Case Studies](https://blog.basistheory.com/case-studies)
- [Docs](https://developers.basistheory.com/)

Open main navigation

Close main navigation

- [Use Cases](https://basistheory.com/)
  
  Show submenu for Use Cases 
  
    - [Creator Economy](https://basistheory.com/use-cases/creator-economy)
    - [Digital Health](https://basistheory.com/use-cases/health)
    - [E-Commerce](https://basistheory.com/use-cases/ecommerce)
    - [Fintech](https://basistheory.com/use-cases/fintech)
    - [Gaming](https://basistheory.com/use-cases/gaming)
    - [Subscription Merchants](https://basistheory.com/use-cases/subscriptions)
    - [Travel](https://basistheory.com/use-cases/travel)
    - [VSaaS](https://basistheory.com/use-cases/vsaas)
- Solutions
  
  Show submenu for Solutions 
  
    - [Agentic Commerce](https://basistheory.com/solution/agentic-commerce)
    - [Data Consolidation](https://basistheory.com/solution/data-consolidation)
    - [Monetize Payments](https://basistheory.com/solution/monetize-payments)
    - [Multi PSP](https://basistheory.com/solution/multi-psp)
    - [Payment Method Discovery](https://basistheory.com/solution/payment-method-discovery)
    - [Payment Vault](https://basistheory.com/solution/payment-vault)
- [Platform](https://basistheory.com/platform)
  
  Show submenu for Platform 
  
    - [Enrichments & Add-Ons](https://basistheory.com/add-ons)
    - [Partners](https://basistheory.com/partnerships)
    - [Why Basis Theory](https://basistheory.com/why-basis-theory)
- [Pricing](https://basistheory.com/pricing)
- Resources
  
  Show submenu for Resources 
  
    - [Blog](https://blog.basistheory.com)
    - [Case Studies](https://blog.basistheory.com/case-studies)
- [Docs](https://developers.basistheory.com/)
- [Get a demo](https://basistheory.com/contact)

[Login](https://portal.basistheory.com/)

[Get a demo](https://basistheory.com/contact)

 March 17, 2026

![Picture of Basis Theory](https://blog.basistheory.com/hs-fs/hubfs/bt-favicon-new.png?width=50&name=bt-favicon-new.png) [Basis Theory](https://blog.basistheory.com/author/basis-theory-team) ·

[Engineering](https://blog.basistheory.com/tag/engineering) [Product](https://blog.basistheory.com/tag/product)

# How to Create Documentation that Anyone Can Use

![Developer documentation best practices](https://blog.basistheory.com/hubfs/Good%20Documentation.webp)

## Table of Contents

- [Being Helpful is a Strategy](https://blog.basistheory.com/create-documentation-that-anyone-can-use#Helpful)
- [Lead with Empathy, Not Features](https://blog.basistheory.com/create-documentation-that-anyone-can-use#Lead)
- [How to Help Developers Succeed](https://blog.basistheory.com/create-documentation-that-anyone-can-use#Succeed)

Your documentation is part of your product. And the best products are built around the person using them, not the team that built them.

In payments, where an errant retry can cause duplicate charges and retries on top of returns, bad docs can be a liability. The gap between what works in theory, and what survives production, is where good documentation earns its keep.

In the real world, things go wrong: cards expire, webhooks arrive out of order, network hiccups trigger retries. A customer’s integration may work in the sandbox yet fail in production because of an assumption they didn’t know they were making.

Good documentation is part of your relationship with reliability. The best docs are written by people who can think like the reader. They set out to answer questions like:

- Where is the reader getting stuck the most?
- What is the reader trying to ship?
- What assumptions did we make about and for the reader?

To understand developer documentation best practices, we met with Davi Aquino, Director of Solutions Engineering at Basis Theory, who explains what makes documentation easier to follow, trust, and eventually implement. And, of course, he shared a few battle-tested examples from our own documentation library.

## Being Helpful is a Strategy 

If there’s one takeaway from this post, make it be this: Documentation should be about helping someone succeed quickly, not about proving how smart your platform is.

That seems obvious until you read docs that feel like a product brochure, with some code sprinkled in. Good documentation shouldn’t prove the platform, it should respect the reader’s time and help them succeed quickly.

Practically, this should influence how documentation is structured:

- Lead with quickstarts and task-based guides.
- Use consistent writing structure and navigation.
- Treat documentation like a product with iterations, not a collection of disparate pages.

If your docs aren’t helping people move forward, they’re just content. Davi says one developer documentation best practice to follow is to include a workflow diagram with every guide to illustrate the data path immediately.

[Return to Top](https://blog.basistheory.com/create-documentation-that-anyone-can-use#TOC)

## Lead with Empathy, Not Features 

When in doubt, put yourself in the reader’s position and consider how they think. In payments, where many of the most involved leaders come from other parts of the organization, this means recognizing that many readers are “in-between” roles:

- Engineers building the integration.
- Product managers validating the workflow.
- CISOs and security leaders reviewing scope and risk.
- Solutions architects stitching systems together.

That’s why feature-first docs backfire: Headings that say “Elements: Overview” or “Proxies: Configuration,” assume the reader knows your vocabulary, and where it fits.

Task-first docs don’t. Instead, start with what the reader is trying to do:

- Verify a Card
- Charge a Card
- Accept Payments

This is what empathy looks like on the page. Guides such as “verify and charge a card” are ones we are most proud of, because they are great examples of what the reader cares about. They recognize the user’s needs, and ensure the steps are obvious.

If your first paragraph requires the reader to already know your product vocabulary, you’re starting too deep. It’s impossible to know, “How to implement X” when you first need to know what X even is.

Davi gave a concrete example related to some of Basis Theory’s older docs that effectively started at:

- “Here’s how to implement Elements.”
- “Replace processor iframes.”

Silently, this assumes the reader already understood the entire reason why they would need to do something.

A better pattern for payments implementation docs is a before → after narrative:

1. Where you are now (current state)
2. Where you want to be (goal state)
3. Why this matters (impact in fraud, auth rates, compliance scope, velocity)
4. Steps to get there (task flow)
5. How to verify it worked (test cases + expected outputs)

This is the “solution steps” approach Davi described: aggregating an experience into a guide that a real human can follow. It also aligns with how many high-performing docs ecosystems prioritize task-based content and clear headings.

[Return to Top](https://blog.basistheory.com/create-documentation-that-anyone-can-use#TOC)

## How to Help Developers Succeed 

One of the strongest points from Davi is that you should not try to prove or sell your product in the documentation. They’re not here to be sold, they want you to tell them what they need to do, and why it matters as part of the steps and discourse.

This is an underrated perspective. In payments, “how” without “why” creates fragile implementations.

Some examples of what “why” should do in docs (payments edition):

- Why you should use idempotency keys on charge attempts (because retries happen.)
- Why you must verify before storing (because scope and risk are real.)
- Why your webhook handler needs to be order-independent (because networks and queues don’t care about your assumptions.)
- Why token portability matters when swapping PSPs (because migrations are wide-blast-radius events.)

Keep it grounded. Keep it practical. Keep it in the flow.

That’s why quickstarts are so effective in payments: they compress the distance between “I’m evaluating” and “I completed a successful transaction.”

What every payments quickstart should include:

- Prerequisites (keys, test mode, dependencies.)
- Copy/paste baseline code (client + server if needed.)
- One “golden path” request and response.
- How to confirm success (dashboard/log/event.)
- Common failure cases and what they mean.
- Clear next steps (refunds, webhooks, 3DS, production readiness.)

If a reader can’t get to a successful authorization quickly, they’ll either churn or, worse, ship an integration that “kind of works” and becomes an incident later.

Your docs aren’t just education. They’re reassurance. They tell:

- Engineering teams: “You can integrate this safely.”
- Product teams: “This will support the roadmap.”
- Security teams: “We understand scope and risk.”

Get started with a documentation-first implementation. Visit the Basis Theory developer docs or schedule a demo to walk through your use case.

[Return to Top](https://blog.basistheory.com/create-documentation-that-anyone-can-use#TOC)

[![View an Interactive Demo   See how the Basis Theory platform secures payment data and significantly reduces PCI compliance burden from day 1.  ](https://no-cache.hubspot.com/cta/default/22332934/interactive-171495116167.png)](https://blog.basistheory.com/hs/cta/wi/redirect?encryptedPayload=AVxigLKFA1XmnMQt65pbPjmpYNi%2B2toW7x3jrRiTdwGkZ9YKFzKietdL1hu9EXQVSfTYDzC3nnOTXLkhLD%2FMe%2BitIiP88xp%2BZhF0C4jSeIq8zMZ3eTOdRLBroC0uVePYWGFH%2F4NYXnNTUvRHwHq5nBaZdWxklWMkplLuVxhHgnpl3Lmymu8k8XO8D%2BF5Uqvq5a%2FyVriNomIhXmcx8VaQ5jg8t8fvpRI%3D&webInteractiveContentId=171495116167&portalId=22332934)

## Related posts

[![how to store credit cards with PCI DSS service providers](https://blog.basistheory.com/hubfs/store-credit-cards-service-providers.png)](https://blog.basistheory.com/store-credit-cards-service-providers)

[PCI Compliance](https://blog.basistheory.com/tag/pci-compliance)

### [How to store credit cards: Using PCI DSS Service Providers](https://blog.basistheory.com/store-credit-cards-service-providers)

![Picture of Jordan Lampe](https://blog.basistheory.com/hs-fs/hubfs/Imported_Blog_Media/61f0194b9463877ad90ecb1f_jordan-lampe.png?width=50&name=61f0194b9463877ad90ecb1f_jordan-lampe.png) [Jordan Lampe](https://blog.basistheory.com/author/jordan-lampe) 

 January 12, 2023

[Read more](https://blog.basistheory.com/store-credit-cards-service-providers)

[![](https://blog.basistheory.com/hubfs/Stale%20Card%20Data%20B.webp)](https://blog.basistheory.com/stale-card-data)

[Payments](https://blog.basistheory.com/tag/payments)

### [Stale Card Data: A Hidden Tax on Subscription Revenue](https://blog.basistheory.com/stale-card-data)

![Picture of Basis Theory](https://blog.basistheory.com/hs-fs/hubfs/bt-favicon-new.png?width=50&name=bt-favicon-new.png) [Basis Theory](https://blog.basistheory.com/author/basis-theory-team) 

 February 5, 2026

[Read more](https://blog.basistheory.com/stale-card-data)

[![](https://blog.basistheory.com/hubfs/cost%20of%20pci%20compliance.webp)](https://blog.basistheory.com/pci-compliance-costs)

[PCI Compliance](https://blog.basistheory.com/tag/pci-compliance)

### [The Cost of PCI Compliance (and Non Compliance)](https://blog.basistheory.com/pci-compliance-costs)

![Picture of Basis Theory](https://blog.basistheory.com/hs-fs/hubfs/bt-favicon-new.png?width=50&name=bt-favicon-new.png) [Basis Theory](https://blog.basistheory.com/author/basis-theory-team) 

 October 16, 2025

[Read more](https://blog.basistheory.com/pci-compliance-costs)

## Stay Connected

### Receive the latest updates straight to your inbox

### Follow on Social

<https://www.linkedin.com/comm/mynetwork/discovery-see-all?usecase=PEOPLE_FOLLOWS&followMember=colinthomasluce>

[![BTLogo (1)](https://blog.basistheory.com/hs-fs/hubfs/BTLogo%20(1).png?width=138&height=46&name=BTLogo%20(1).png "BTLogo (1)")](https://basistheory.com)

- Use Cases 
    - [Creator Economy](https://basistheory.com/use-cases/creator-economy)
    - [Digital Health](https://basistheory.com/use-cases/health)
    - [E-Commerce](https://basistheory.com/use-cases/ecommerce)
    - [Fintech](https://basistheory.com/use-cases/fintech)
    - [Gaming](https://basistheory.com/use-cases/gaming)
    - [Remittance](https://basistheory.com/use-cases/remittance)
    - [Subscription Platforms](https://basistheory.com/use-cases/subscriptions)
    - [Online Travel Agencies](https://basistheory.com/use-cases/travel)
    - [Vertical SaaS](https://basistheory.com/use-cases/vsaas)
- Developers 
    - [Quickstart](https://developers.basistheory.com/getting-started)
    - [Elements](https://developers.basistheory.com/docs/sdks/web/javascript)
    - [Documentation](https://developers.basistheory.com/)
- Basis Theory 
    - [Pricing](https://basistheory.com/pricing)
    - [Add-Ons](https://basistheory.com/add-ons)
    - [ROI Calculator](https://go.basistheory.com/roi)
    - [Case Studies](https://blog.basistheory.com/case-studies)
    - [Blog](https://blog.basistheory.com)
    - [Contact](https://basistheory.com/contact)
- Other 
    - [Terms and Conditions](https://basistheory.com/resources/terms-of-service)
    - [Privacy Policy](https://basistheory.com/resources/privacy-policy)
    - [Cookie Policy](https://basistheory.com/resources/cookie-policy)
    - [Security](https://basistheory.com/security)
    - [System Status](https://status.basistheory.com/)
- Compare 
    - [Basis Theory Vs. Evervault](https://go.basistheory.com/evervault-alternative)
    - [Basis Theory Vs. IXOPAY](https://go.basistheory.com/alternative-to-ixopay)
    - [Basis Theory Vs. VGS](https://go.basistheory.com/compare/very-good-security)

---

```json
{
  "@context" : "https://schema.org",
  "@type" : "BlogPosting",
  "author" : {
    "@type" : "Person",
    "name" : "Basis Theory",
    "url" : "https://blog.basistheory.com/author/basis-theory-team"
  },
  "dateModified" : "2026-03-17T13:13:21.216Z",
  "datePublished" : "2026-03-17T13:12:58.000Z",
  "headline" : "How to Create Documentation that Anyone Can Use",
  "image" : [ "https://blog.basistheory.com/hubfs/Good%20Documentation.webp" ],
  "mainEntityOfPage" : {
    "@id" : "https://blog.basistheory.com/create-documentation-that-anyone-can-use",
    "@type" : "WebPage"
  },
  "publisher" : {
    "@type" : "Organization",
    "logo" : {
      "@type" : "ImageObject",
      "url" : "https://blog.basistheory.com/hubfs/BTLogo%20(1).png"
    },
    "name" : "Basis Theory"
  }
}
```