Reepay Technical Documentation

Hello Developer!

Welcome to the Reepay API developer hub. You'll find comprehensive guides and documentation to help you get started working with the Reepay API as quickly as possible, as well as support you if your stuck.

Let's jump right in!

Get Started

Mixing products

There can be a number of situations where the customer will combine the purchase of a subscription and a one-off payment. A common use case could be the situation where you sell a physical product and at the same time sign people up to a subscription.

Example: A customer buys a new mobile phone and at the same time signs up to a new mobile subscription.

In these situations the one-off order should be paid independently of the subscription.

Reepay Checkout can be used to solve this use-case by following the following steps:

  1. Create a Reepay Checkout charge session with recurring flag
  2. Present Checkout window to customer for purchase and sign-up
  3. Create subscription

Step 1/3: Checkout charge session

Create a charge session with the recurring flag set to true. The recurring flag indicates that in addition to making a payment the payment method should also be returned and stored for the customer.

curl -X POST \
  --url \
  -u 'priv_11118ec111dc1a7faaa192cef2226917e:' \
  -H 'Accept: application/json' \
  -H 'Content-Type: application/json' \
  --data '{
  "order": {
    "handle": "order-id-221",
    "currency": "DKK",
    "customer": {
        "email": "[email protected]",
        "phone": "+2313123123",
        "first_name": "John",
        "last_name": "Doe"
    "currency": "USD,
    "amount": 20000

The customer will be created if the customer does not already exist. A reference to an existing customer can also be provided in the parameter customer_handle instead. For details on creating a charge session see: Reepay Checkout

Step 2/3: Customer payment in Checkout

Use the session id returned from the session API call to present a payment form using Reepay Checkout. For details on how to open Reepay Checkout see: Reepay Checkout

After a successful payment the parameter payment_method will be returned among other return parameters. The parameter is a reference to a saved customer payment method that can be used when creating a subscription or making one-off payments.

Step 3/3: Create subscription

A subscription is created with an API call where the customer handle and payment method reference from previous step is used.

curl -X POST \
-u 'priv_12051dfac75143fc827cf63a87f46df3:' \
-H 'Accept: application/json' \
-H 'Content-Type: application/json' \
-d '{
  "handle": "s-101",
  "plan": "gold",
  "signup_method": "source",
  "customer": "c-1",
  "source": "<payment method>"
}' \

For full details on the create subscription operation, see: Create subscription.

A subscription now exists for the customer. The handle for the subscription is the reference for the subscription that can be stored in your system. We recommend using a supplied handle, but it is also possible to use the argument generate_handle=true instead of handle to let Reepay generate a handle.

Updated 2 years ago

Mixing products

Suggested Edits are limited on API Reference Pages

You can only suggest edits to Markdown body content, but not to the API spec.