# Payments Overview

The API supports payments through several payment platforms including:

| Platform     | Usage Type                                    |
| ------------ | --------------------------------------------- |
| Stripe       | Payments, Products, Subscriptions + Invoicing |
| Bitpay       | Cryptocurrency Payments                       |
| Coinpayments | Cryptocurrency Payments                       |

**Stripe**

Stripe forms the foundations of our payments system by providing platform support for product management, invoicing, subscriptions and invoicing.

Several internal database models are near replica representations of Stripe objects and we use webhooks to automatically sync new object locally and propagate changes.

These objects include:

```
Invoice
Balance Transaction
Service (Subscription)
Subscription Schedule
Transaction
Product
```

**Order Types**

There are three types of checkouts that can be processed by the API. They share similarities though each has their own distinct flow. The types are:

```
Subscription - Most Common
Credit Top Up
One Time Product
```

**Checkout / New Payment Flows**

Every subscription and one-time product checkout is invoiced through Stripe with most also being Stripe subscriptions. They are invoiced through Stripe even if they are paid with cryptocurrency.

The only checkouts which are not invoices with Stripe are non-Stripe payments credit top ups.

The payment flows for each order type and payment platform are illustrated below with **Green blocks User Flow** and **White blocks representing backend events.**

<figure><img src="/files/YF9dqqKZb2k2RcqtqWu1" alt=""><figcaption></figcaption></figure>

**Invoice Payment Flows**

Service subscriptions will also create Stripe invoices on their respective frequencies and these will be synced to the API and require payment from the customer.

If the customer has automatic payment on as default then the payment will be captured without customer interaction and will be automaticalled marked as paid by the API.

If the customer does not have automatic payment on as default then they payment will require them to navigate to the dashboard and click Pay Invoice on the respective invoice while it is within its payments window.

The customer can pay these invoices with Stripe or via other platforms like cryptocurrency. The flows for this, largely follow the flows above but starting from the point where an invoice is already created.

There are Invoice Pay Option and Pay Invoice API routes to aid with this functionality.


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://internal.developer.documentation.private.user.pingproxies.com/checkout-and-payments/payments-overview.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
