NAV

Overview

Reepay provides a system that manages billing aspects of your subscription based business, including:

Reepay positions itself between your business and your payment gateways as shown in the figure below.

Basic concepts

Customers

A customer is the entity that subscribe and pays for your subscription products.

Plans

A plan is a subscription product description bundled with pricing and billing schedule. That is, a plan defines “what”, “how much” and “how often”.

Subscriptions

A subscription ties a customer to a plan. A subscription has a recurring interval called a billing period. The subscription is responsible for generating invoices for billing periods. A customer can have multiple subscriptions.

Invoices

An invoice in Reepay can be generated by subscriptions, on-demand for subscriptions, or on-demand for customers, without being tied to a subscription. An invoice is collected using transactions. E.g. credit card transactions.

In Reepay you will have an organisation with one or more accounts. The organisation have company wide settings while customers, plans, subscriptions and invoices are tied to a specific account. An account uses a single currency and language. An account can either be in test or production mode.

Getting started

When first signing up to Reepay a number of steps is either required or advisable before going live with your Reepay account.

Organisation and account settings

Make sure that organisation and account settings are defined and correct. Especially important is timezone and currency for your account, and the Reepay subdomain you would like to use for hosted pages, e.g. https://yourcompany.reepay.com/…. The currency used on an account cannot be changed once the account is in production mode.

Configure plans

Plans define your subscription products and tells Reepay how much, and when, to bill your customers signed up to a subscription with the plan.

Configure dunning management

Dunning management is a process that starts when the payment of an invoice fails. Reepay provides a default dunning management configuration, but you may want to adjust this configuration or provide additional configurations.

Customize customer communication

Reepay can handle all customer communication by sending emails on behalf of your business. Reepay provides default content for the mails that is sufficient in many cases, but you may want to customize the content by editing the email templates. It is also possible to customize the email sender information so emails clearly originate from your business.

Customize hosted pages

Hosted pages are web pages hosted by Reepay. The pages can be used by you to interact with your existing and potential new customers. A number of hosted pages exists, e.g. update of payment method and customer sign up to subscription. The pages have default layouts that is sufficient in many cases but you may want to customize the layout of the pages.

Add a production payment gateway

To be able to accept credit card payments or other types of payment methods, you will need a payment gateway that Reepay supports. If you do not have a payment gateway, or are unsure, we will happily support you in the process of obtaining a payment gateway. Notice that the process of obtaining a payment gateway can take up to three weeks for approval and setup, so we recommend starting the application process early. You can always start work on your Reepay integration and testing while you await approval.

Integrate and test

You will need to test your Reepay solution. If you are doing a technical integration you will furthermore need to implement and test this integration. When you sign up to Reepay your account will automatically be in test mode. An account in test mode allows you to test all aspects of Reepay with a test payment gateway that allows you to trigger different scenarios like failed payments. Notice that all test data like customers, subscriptions and invoices will be deleted once you put your account in production mode. The configuration is not deleted. You can choose to keep a test account with all the test data when you put your account in production mode, and you can at any time create a new test account.

User access

If multiple teammates are going to manage your Reepay account, you can invite them in the Reepay administration and assign them roles with specific permissions.

Go live

When you are ready to go live and switch to production mode, you will need to select a Reepay billing plan and provide credit card information.

Customer

A customer is the entity that buys your subscription products. A customer can have zero or more subscriptions. The customer also holds a wallet of payment methods which can be assigned to subscriptions as payment method for the specific subscription. The customer can choose to use an existing payment method or enter a new payment method when signing up for a subscription.

Create

To create a customer the following information can be given. The ID is the only mandatory field.

Customer ID* In Reepay the customer needs to be assigned a per account unique identification. In the Reepay administration you can choose to let Reepay generate a sequential number as the identifier. The identifier may only contain alphanumeric characters and the characters (_ . - @)
Email Customer email. The email is not mandatory but if not given, Reepay will not be able to communicate through emails with the customer on your behalf.
Phone Customer phone number.
Name Customer name by first and last name.
Company Name of company if the customer is a company.
VAT number Company VAT number if the customer is a company.
Address Customer address by street, postal code, city and country.

Update

All data except the customer identifier can be updated.

Status

The customer has the following subscription status.

The customer has the following status aggregated over all invoices for the customer (see more on invoices)

Deleted

A customer delete is possible if the customer has only expired subscriptions and only failed or cancelled invoices. A customer delete does not remove the customer but anonymizes the customer data and removes the customer from listings. It will still be possible to see subscriptions and invoices made by the customer.

Notes

Notes can be added to a customer for better team cooperation and tracking. E.g. the reason for a refund. Notes are only internal and not exposed to customers.

Customer searching can be done on most attributes and statuses. In the Reepay administration it is possible to define custom filters. It is also possible to do a free text search which will match against text attributes such as name and address.

Payment methods

A customer has a wallet with payment methods. When a customer signs up for a subscription a new payment method (e.g. credit card) can be entered, or an existing payment method from the wallet can be used. When a new payment method is entered it is added to the customer wallet for future reuse. Payment methods can at any time be added and removed from the customer wallet. Notice that if a payment method is removed, which is used on an active subscription, invoices generated by the subscription will enter a dunning process trying to obtain a new payment method.

If a payment method is used for a payment and fails with an irrecoverable decline, it will be marked as failed and cannot be used again. An irrecoverable decline could be lost or stolen card. (see more under dunning management)

Plan

A subscription plan defines subscription product information and when and how much to charge for a subscription. An unlimited number of plans can be defined for an account.

Create plan

Basic information A plan consist of the following basic information.

Plan ID* A per account unique plan id. The identifier may only contain alphanumeric characters and the characters (_ . - @). An identifier like my_product_v1 can be used to give a hint of what the product is. In the reepay administration a random identifier is supplied as a suggestion.
Plan name* This name describes the plan and will appear on hosted pages, in mail communication and will be the order line text on invoices.
Plan description A plan description that optionally can be used in mails and on hosted pages.
Dunning plan* One of the dunning plans defined for the account. (See dunning management)
VAT* VAT for this product. The default VAT for the account is used as a suggestion.
Amount The amount including VAT to charge for each billing period.
Renewal reminder days Optional setting for sending a renewal reminder email a number of days prior to billing for next period. See more below.
Trial end reminder days Optional setting for sending a trial ending reminder email a number of days prior to the trial end.

Billing scheduling

The billing schedule for plans are very flexible. The billing scheduling is determined by a scheduling type together with three additional attributes.

Schedule type* Schedule type (see below)
Interval length* The length of each billing period.
Schedule fixed day Required for fixed day scheduling types.
Fixed months For monthly fixed day scheduling types the months eligible for start of billing periods can be defined. This means for example that for billing on the first of every three months, the billing months can be fixed to be Jan/Apr/Jul/Oct, Feb/May/Aug/Nov or Mar/Jun/Sep/Dec. If no fixed months are given the first upcoming fixed day is used. E.g. if billing is on the 5th of every third month, a billing period will start on the first 5th after subscription start.

The following schedule types can be used

Monthly Billing periods start are determined by the subscription creation date (or subscription start date - see subscriptions). The billing period length is “interval length” months. That is, if a subscription is created on the 4th with interval length 1, then billing periods will start the 4th of every month.
Daily Billing periods start are determined by the subscription creation date (or subscription start date - see subscriptions). The period length in days is determined by “interval length”.
Fixed day of month Billing periods start at a specific day of month determined by “schedule fixed day” (1-28). The period length in months is determined by “interval length”.
Fixed day of week Billing periods start at a specific day of week determined by “schedule fixed day” (mon - sun). The period length in weeks is determined by “interval length”.
Last day of month Billing periods start at the last day of months. The period length in months is determined by “interval length”.
Manual Billing is not automated - but handled by you. This could be the case for metered billing where there is no fixed subscription fee. An invoice will be created manually.

Below examples of how to achieve common billing period scenarios.

Scenario Schedule type Interval length Fixed day Fixed months
Charge monthly from the day the subscription was created. Monthly 1 - -
Charge quarterly from the day the subscription was created. Monthly 3 - -
Charge the 1th of every month Fixed day of month 1 1 -
Charge on the 1th of the following month and then every year on the same date. Fixed day of month 12 1 -
Charge on the 1th of Jan, Apr, Jul, Oct Fixed day of month 3 1 Jan, Apr, Jul, Oct
Charge the last day of every month. Last day of month 1 - -
Charge the last day of Feb, May, Aug, Nov Last day of month 3 - Feb, May, Aug, Nov
Charge yearly at the 1st of January Fixed day of month 12 1 Jan
Charge every second Wednesday Fixed day of week 2 Wed -

When a subscription is created an optional date can be provided from which the subscription is eligible to start billing periods. The default is eligible from the creation date. This parameter provides more possibilities to control the billing scheduling. See more under create subscription.

Protated billing for first periods

For fixed day scheduling there might be a partial period from the start date to the first fixed billing day. E.g. from the 16th in a month to the 1th of the next month for billing every first day in months. In these cases it can be configured how to handle the first partial period. The options are:

Method
Bill prorated The amount invoiced is adjusted to match the partial period
Bill for full period The amount invoiced will be for a full period
Bill a zero amount An invoice with zero amount will be created
Do not consider the partial period a billing period The customer will not be invoiced, the first invoice will be for the period starting at the first occurrence of the fixed schedule day.

Reminder emails

Renewal reminder email

Renewal reminders can be configured per plan to automatically send an email to notify your customers about their upcoming subscription renewal. It can be configured how many days prior to renewal to send the reminder and the content of the email can be configured under Mail Templates.

Trial ending reminder email

Trial ending emails can be configured per plan to automatically send an email to notify your customers about their upcoming end of trial and subsequent payment for next billing period. It can be configured how many days prior to end of trial to send the reminder, and the content of the email can be configured under Mail Templates. If a trial ending email is not configured for a plan, but a renewal reminder email is, then the renewal reminder email will be sent.

Fixed lifetime

By default a subscription will be active until expired on-demand or because of a failed dunning process. A fixed lifetime for subscriptions can be defined on a plan.

Fixed number of billing cycles The subscription must not exceed a fixed number of billing cycles. E.g. if set to 12 for a monthly subscription, then the subscription will expire after 12 months (12 billing periods).
Fixed life time period A fixed lifetime in a number of months or days can be provided. The end of life date will be calculated by adding the period to the subscription creation date. The subscription will automatically be cancelled when the date is reached. Notice that the subscription is cancelled and not expired. A cancelled subscription will finish its current billing period before being expired.

Trial

Subscription plans can have an optional free trial period defined in days or months.

Trial period length If given, the subscription will have a free trial period before the first paid billing period.

If a trial period length of 14 days is defined for at plan with monthly schedule type, and the the subscription is created on the 10th, then there will be a free trial period from the 10th to the 24th, and then a paid billing period from the 24th to the following 24th.

Notice that trial is only supported for schedule types Monthly and Daily. For the fixed day schedule types it makes little sense and the objective can be achieved in other ways, e.g. using credits or changing the date from which the subscription is eligible to start first billing period.

Update

Only a small subset of plan attributes can be updated because changing pricing and/or billing scheduling requires handling for the subscriptions already using the plan. See superseding below. The following parameters can be updated: name, description, vat and dunning plan.

Supersede plan

Plan pricing and scheduling cannot be changed directly because subscriptions can already be using the plan, and changing pricing and scheduling in the middle of a period is not allowed. Instead new versions of the plan can be created by superseding a plan. If and how existing subscriptions using the plan should change to the new version can be controlled when superseding.

A plan is superseded by providing the same attributes as for a subscription plan create, and an additional option to control what to do with existing subscriptions on the plan. The options are:

No subscription update Existing subscriptions will keep using the older version of the plan.
Schedule subscription update For all subscriptions using the plan, an update to the new version will be scheduled for the end of the current billing period.

Delete

Deleting a plan just mark the plan as deleted and hide it from lists, and disallow it from any future use. Subscriptions using the plan will stay on the plan.

Subscription

Subscriptions tie customers to plans and are responsible for billing according to the billing schedule defined on the plan. A customer subscribing to a plan is the result of a subscription sign up. A customer can be subscribed to a plan in a number of different ways.

Public hosted page Reepay provides hosted pages for plans where customers are created, can enter payment method and sign up for a specific plan.

Invite hosted page Reepay can generate links to hosted pages for existing customers where they are invited to sign up to a plan either using an existing payment method or a new payment method.

Reepay API A customer can be signed up using the Reepay API. A payment method can be assigned to the subscription in four different ways:

  1. Use an existing payment method from the customer wallet.
  2. Obtain a payment method using the Reepay.js Javascript library on your website.
  3. Let Reepay send an email with link to a hosted page where the customer can choose existing payment method or enter new payment method for the subscription.
  4. You use the hosted page link from the mail above yourself. Either direct the user to the page directly after sign up, or send your own mail with instructions to enter payment method.

Reepay Administration Subscribe a customer to a plan directly in the Reepay Administration. A payment method is added to the subscription either by using an existing payment method from the customer wallet, by sending an email with link to a hosted page where payment method can be added, or by sending a link to hosted page manually from own mail client.

State

A subscription is at all times in one of two states

Besides the state the subscription has the following status information.

The subscription has the following status aggregated over all invoices for the subscription (see invoice for invoice information) - Number and summed amount of settled invoices - Number and summed amount of dunning invoices - Number and summed amount of failed invoices - Number and summed amount of pending invoices - Number and summed amount of cancelled invoices

Create

A subscription is created with the following information.

Subscription ID * In Reepay a subscription needs to be assigned a per account unique identification. In the Reepay administration you can choose to let Reepay generate a sequential number as the identifier. The identifier may only contain alphanumeric characters and the characters (_ . - @)
Customer * The subscribing customer
Plan * The subscription plan to use
Start date Start date can be used to control from which date a subscription is eligible to start the first billing period. It can also be used with a past date to start the first billing period in the past in which
End date Optional date at which the subscription will automatically cancel. Will override a potential fixed lifetime defined on the plan.
Grace duration If the subscription is created without a payment method, e.g. by sending an email with link to hosted page where payment method can be chosen/entered, then the subscription will postpone dunning for a certain duration. Otherwise an invoice would go directly into a dunning process, when there is no payment method available.
No trial Potential trial defined on the plan can be suppressed. This option can be used in cases where a customer is only allowed to have trial for the same plan once. If the customer again signs up for the same plan, the trial can be suppressed.
Sign up method The sign up method is how to add a payment method to the subscription. The following options can be used:
  • Add an existing payment method from the customer wallet
  • Add a new payment method using a token created with the Reepay.js Javascript library.
  • Let Reepay send an email with link to hosted page where payment method can be chosen/entered.
  • Do not add a payment method and leave it to you to add one later using one of the methods above.


Start date

Start date is by default the subscription creation time. If defined explicitly the allowable values is any date and time in the future, and up to a period length back in time, where the period length is as defined on the plan. That is, a subscription cannot be backward dated more than one period. The start of the first billing period is dependent on start date and the schedule type defined for the plan. The table below shows when the first billing period will start for different scheduling types.

Schedule type First billing period start
Monthly Daily The first billing period will start at start date. If in the past, the first period will start in the past and the billing of the first period will be done immediately.
Fixed day of month The first billing period will start at the first occurrence of the fixed day of month after start date. That is, if the fixed day the 1th, and the start date is set to 31th of December, the the first period will start at the 1th of January.
Fixed day of week The first billing period will start at the first occurrence of the fixed day of week after start date.
Last day of month The first billing period will start at the first occurrence of a last day of month after start date.
Manual No effect - no billing periods will be started automatically

Despite its name, start date is both date and time. Billing periods granularity is down to the second, so billing periods will run from date and time to date and time. Billing will be done at the start of a new billing period, so invoices will be generated and tried collected at the date and time defined by start date. If you would rather bill at night at 01:00 then start date can be set to 01:00 on the current date. For the fixed day schedule types, the billing periods will run from midnight to midnight.

Cancel

An active subscription can be cancelled at any time. A cancelled subscription is active but will expire at the end of the current billing period. A cancelled subscription can be reinstated by cancelling the cancellation.

Expire

A subscription can expire due the following reasons 1. The subscription is cancelled and the end of billing period has been reached. 2. The subscription has reached the fixed number of billing periods potentially defined by the plan. 3. An invoice created by the subscription has gone through a dunning process without success, and the configured action to take is to expire the subscription (see dunning) 4. The subscription is manually expired

Manually expiring a subscription is only allowed if all invoices is either pending or dunning.

Manually expiring a subscription for which the current period has been billed can lead to a scenario where the customer should be compensated for the remaining period. Currently this can be done manually by making a refund on the last invoice. Functionality will soon be added to make this refund an automatic option when expiring.

Change next period start

It is possible to change the start of the next billing period (same as the end of current billing period). The only rule for the new period start is that it has to be in the future. The new billing period start will be the new base for future billing periods. That is, if changed to the 24th, then future billing periods will run from the 24th to the 24th for monthly based schedule type. Notice that changing the next billing period start for plans with fixed day scheduling type does not make much sense, as these are tied to a specific day of month or week. The result of a change is that the next period start is set to the first fixed day after the given next period start.

Change plan

The plan for a subscription can be changed. The change is not instant but will be planned for the end of the current billing period. The scheduling and pricing will take effect from the next billing period.

Changing a plan is equivalent to restarting the subscription with end of current billing period as new start date. Changing between non-fixed day schedule types is not a problem, and changing from fixed day to Monthly and Daily does not represent a problem. But changing from Daily or Monthly to a fixed day schedule type will result in a period that is longer than the expected period length. If for example a subscription with Monthly schedule type and period start the 24th is changed to a monthly fixed day with fixed day 1, it will result in a billing period from the 24th to the 1th of the following month. It is not recommended to make these changes in schedule type from Monthly or Daily, to a fixed day schedule type.

Subscription searching can be done on most attributes and statuses. In the Reepay administration it is possible to define custom filters. It is also possible to do a free text search which will match against text attributes on the customer and plan.

Payment method

The payment method used for a subscription can be changed at any time. Either an existing payment method from the customer wallet can be used, or a new payment method can be added using the Reepay.js Javascript library. The payment method can also be removed from the subscription. This will result in a dunning process for the next invoice generated by the subscription.

Additional cost

Additional costs can be added to a subscription to adjust the invoice generated by the subscription. Additional cost will be added to the invoice generated by the subscription when the customer is billed for a new billing period or invoices generated on-demand. That is, an additional cost does not result in any transactions, but will adjust a subsequent invoice. Additional costs can be used for metered billing where the subscription amount is dependent only or partly on metered usage.

Additional costs are pending when they await an invoice to be added to. When added to an invoice they are transferred. Pending additional cost will be shown on the subscription at any time. Pending additional costs can be collected on-demand by creating an on-demand invoice.

Create

An additional cost is created with the following information.

Subscription * The subscription to add the additional cost to.
Orderline text * The orderline text shown on the invoice.
Quantity Optional item quantity for the additional cost (default 1). E.g. number of gigabytes used on cloud storage service.
Amount * Per quantity amount including VAT for the additional cost. The total amount will be amount times quantity.
Vat Optional VAT for this additional cost. The account default is used if undefined.

Cancel

Pending additional costs can be cancelled before they are transferred.

Credit

Credits can, like additional costs, can be used to adjust a subsequent invoice. A credit will be deducted from subsequent invoices until the full invoice amount has been deducted. Credits can be used as an alternative to refund when compensating customers.

Create

A credit is created with the following information.

Subscription * The subscription to add the credit to.
Orderline text * The orderline text shown on the invoice.
Amount * Credit amount.
Valid from An optional valid from date can be defined. The credit will only be deducted from invoices created after this date.

Cancel

A credit that has not been deducted from an invoice, or not fully deducted, can be cancelled.

Invoice

Invoices are created either automatically by subscriptions at the start of a billing period, on-demand for a subscription, or instantly directly for a customer. An invoice sums additional costs, credits and subscription charges and is collected using payment transactions.

States

An invoice can be in one of five states.

Transactions

Invoices are collected using payment transactions. Payment transactions consists of payment method, amount, currency and transaction type of either settle or refund. Transactions can be in one of five states.

Invoices will try to make transactions using the payment method attached to a subscription. If no payment method is attached, or the payment method is not valid any more, no transaction will be created, and the invoice will stay in pending state. The invoice will enter dunning state and a dunning process will be started, possibly after the grace period for the subscription has elapsed, if the subscription is newly created.

Payment gateway specific information for a transaction can be retrieved through the Reepay administration or API.

Information

An invoice contains the following information.

Invoice ID A global unique id assigned by Reepay.
Subscription The subscription which created the invoice, if a subscription created the invoice.
Plan If the invoice was created by a subscription, the plan (and plan version) at the time of creation.
Invoice number Reepay assigns a per account sequential invoice number to the invoice.
Amount The total invoice amount including VAT.
Amount VAT The total invoice VAT.
Amount ex VAT The total invoice amount excluding VAT.
Order lines The order lines for the invoice consisting of
  • Text
  • Amount
  • Quantity
  • Vat
  • Date and time of orderline
Due The date when the invoice is due. For automatically created invoices this will be the creation date.
Settled amount The amount that has been settled for the invoice.
Refund amount The amount refunded on the invoice.
Period number The billing period number this is an invoice for, if the invoice is for a subscription billing period.
Additional costs The possible additional costs transferred to this invoice.
Credits The possible credits transferred to this invoice.
Transactions The transactions created for this invoice.
Credit notes A refund on an invoice is done using a credit note. Credit notes are stored on the invoice. See refund details below.
Dunning plan The dunning plan used for this invoice.
Dunning start When a possible dunning process was started for this invoice.
Dunning count Number of dunning notifications sent for this invoice.
Failed date Possible date when the invoice entered failed state.

Create for subscription

A one-time invoice can be created for a subscription with the following information.

Subscription * The subscription to create the invoice for.
Timing How and when to try to settle: Normal: Create and process transactions with the same rules as for the subscription, potentially starting a dunning management process. Instant: Create and process transactions instantly and only create invoice in the case of a successful transaction Set Due Date: Same as normal but wait to settle until a given due date
Include plan Whether to include order line for the subscription plan. This can be used for manually creating plan invoices.
Include additional costs Whether to include possible pending additional cost defined for the subscription.
Include credit Whether to include possible pending credits defined for the subscription.
Order lines Optional order lines for the invoice.
Payment method The invoice can be paid using a normal online transaction using the payment method attached to the subscription in Reepay, e.g. credit card. An alternative is to use an offline manual transfer as payment method. This is a transfer that has happened outside Reepay. E.g. a cash or bank transfer.

Create instant for customer

A one-time invoice can be created for a customer given the following information.

Customer * The customer to create the invoice for.
Order lines Optional order lines for the invoice.
Payment method The invoice can be paid using one of the payment methods in the customer wallet, e.g. credit cards. An alternative is to use an offline manual transfer as payment method. This is a transfer that has happened outside Reepay. E.g. a cash or bank transfer.

A customer invoice is conditional in the sense that is a success or nothing operation. An invoice will only be created for a successful transaction, and the invoice will be instantly settled.

Cancel

Invoices that have not been settled, and have no pending transactions can be cancelled. Cancelling an invoice will also cancel a possible dunning process for the invoice.

Refund

A refund can be performed on a settled invoice. Multiple refunds with partial amount can be performed, but only up the to settled amount. A refund is done using a credit note that is attached to the invoice. A credit note consist of one or more credit note lines with the following information.

Amount * Per quantity amount for the credit note line
Text * Credit note line text
Quantity Credit note line quantity (default 1)
Payment method The refund will normally be performed on the transaction settling the invoice, e.g. a credit card payment. An alternative is to use an offline manual refund. This is a transfer that has happened outside Reepay. E.g. a cash or bank transfer, or a chargeback performed by the acquirer.

The Reepay administration provides an easy way to create a credit note using the original order lines from the invoice as credit note order lines.

A refund will create and process a refund transaction and link it to the settle transaction for the invoice. The refund operation is synchronously and the result will be instantly available.

Manual settle

An invoice that is not settled can be settled using an offline manual transfer. This is a transfer that has happened outside Reepay, e.g. a cash or bank transfer.

Reactivation

A failed or cancelled invoice can be put back to state pending for processing. The invoice will potentially enter a new dunning process.

Invoice searching can be done on most attributes and statuses. In the Reepay administration it is possible to define custom filters.

Dunning management

When a payment transaction fails for an invoice, the invoice will enter a dunning state, and a dunning management process will be started. The process consists of payment retries and customer communication. The result of a dunning management process is either a successful update of payment method and successful payment transaction, or a failed invoice and possibly an expired subscription, depending on the dunning management scheme.

Schemes

Multiple dunning management schemes can be configured for an account. A plan will use one of these configurations. A dunning management scheme has the following properties.

ID * A per account unique identifier for the configuration.
Name * A name for the dunning management scheme.
Schedule * A schedule for when to send dunning notification emails to the customer and when to fail the invoice.
Final action * What to do with the subscription of an invoice failing a dunning process. Either the subscription can be left active, or the subscription can be expired.

The schedule of a dunning management scheme is expressed in how long to wait between each sending of dunning notification emails to the customer, and the final action. An empty schedule will result in going directly to the final action without sending any notification. A schedule with a single wait duration results in sending a notification immediately when a payment transaction fails, and then wait for the duration before taking the final action. The schedule can be shown graphically as below.

It is not recommended to use dunning schedules longer than the billing period length, as this can result in multiple invoices with a dunning process for the same subscription.

Payment retries

A dunning invoice will be tried collected if the payment method on the subscription is updated, or a failing payment method on the subscription becomes eligible for retry. A payment method can be declined with a hard decline or a soft decline. A hard decline is irrecoverable, e.g. lost or stolen credit card. A soft decline is recoverable, e.g. temporary insufficient funds. For soft declines a payment method will be marked eligible for retry after a certain time period. For credit cards we currently use 6 hours.

Customer communication

Reepay can handle the email communication with your customers such as subscription sign up receipts, invoice receipts and dunning notifications. The emails can be customized and it can be configured exactly which emails to send.

Email types

Reepay can send the emails below. Emails can only be sent to customers for which an email has been specified. If no email is set for a customer, an email will still be sent to bcc addresses defined in the mail settings. For each mail type it can be configured whether Reepay should send the email on behalf of your business.

Sign up receipt

A sign up receipt is sent when a customer has signed up to a subscription and the sign up method is not to send an email with a request to choose payment method for the subscription. The default content is information about the subscription product and the first billing date.

Sign up receipt (payment method request)

Same as above but is sent instead when the sign up method is to send an email with a request to choose payment method for the subscription.

Invoice receipts are sent when an invoice is successfully settled. The receipts are divided into three different mails depending on payment method as the content can vary for different payment methods. The default content contains amount and orderline information and the next billing date.

Invoice receipt (credit card)

The default content additionally contains the masked credit card number used for the settle transaction.

Invoice receipt (manual transaction)

A manual transaction could be a bank or cash transfer taken care of by you outside Reepay. A specific mail template allows you to customize the content in this case.

Invoice receipt (zero amount)

A zero amount invoice is a special case that is settled without any transaction and payment method. You may want to specify special content in this case. Notice that credits can result in zero amount invoices if the credit is higher that the billing amount.

Invoice refund receipt (credit card)

A receipt is sent when a refund is made for a settled invoice. The default content contains the credit note lines and masked credit card number to which the refund is performed.

Invoice refund receipt (manual transaction)

Same as above but for refunds on manual transactions.

Subscription Renewal Reminder

Per plan optional renewal reminder email sent prior to subscription renewal to notify your customers about their upcoming subscription renewal.

Subscription Trial Ending Reminder

Per plan optional trial ending reminder email sent prior to subscription renewal to notify your customers about an upcoming end of trial.

Subscription cancelled

Mail sent when a subscription is cancelled. The default content contains information on when the subscription will expire.

Subscription un-cancelled

Mail sent if a cancelled subscription is un-cancelled.

Subscription change

Mail sent if subscription pricing or billing periods is changed on a subscription. That is the mail is sent if plan is changed for the subscription or the start of the next billing period is changed.

Dunning notification

Mail sent as part of the dunning management process. The mail is sent repeatedly Dunning notification Mail sent as part of the dunning management process. The mail is sent repeatedly according to the dunning management scheme.

Dunning notification (no payment method added)

If a dunning management process is started for a subscription where a payment method has never been added, this mail will be sent instead of the above. The wording in this mail will in many cases be different than the above, as the customer has not responded to requests for adding payment method.

Subscription expired

Mail sent when a subscription is expired either because of prior cancellation or because a fixed number of billing cycles has been reached.

Subscription expired (dunning failed)

Mail sent when a subscription is expired due to a failed dunning management process. This mail will often have different content than the expire mail above.

Account invite

Mail sent when you invite others to join your team.

Account invite notification

Mail sent when you invite others that are already Reepay users.

Email settings

The following email settings can be configured for an account.

Default sender address The default email address used as email from address. The default is noreply@reepay.com. The from address can be overridden for each email type.
Optional bcc email address An email address to bcc all emails to. This can be used to get a copy off all the emails sent on behalf of your business.
Optional Reply-To email address If defined all emails will have a reply to email address. If recipients reply to the email, this address will be used instead of the from address.

All email addresses can either be specified as an RFC 822 address on the form sender@example.com or on the form My Company <sender@example.com>.

Emails are subject to spam filtering. To ensure the highest delivery rate we advise you to either use a reepay.com as sender, or configure an SPF record to mark Reepay mail servers as allowed to send on behalf of your domain.

Send from Reepay address

Use a sender address on the form My Company <noreply@reepay.com>. Either inform in mails that this mail cannot be replied, and optionally provide alternative means to contact your business, or use a Reply-To to address with an address of your choice.

Create SPF record

An SPF record tells other mail servers which domains are authorized to send emails on your behalf. Adding Reepay mail servers to your SPF records in DNS will let your customers’ mail servers know that emails sent by Reepay are being delivered for your domain. This dramatically decreases the risk of a Reepay email being marked as spam. To setup SPF add the following two lines as TXT records for your domain:

"v=spf1 include:spf.reepay.com ~all"

"spf2.0/pra include:spf.reepay.com ~all"

A full line would look something like:

example.com. IN TXT "v=spf1 include:spf.reepay.com ~all"

example.com. IN TXT "spf2.0/pra include:spf.reepay.com ~all”

If you have an existing SPF record the Reepay entry can be added to the existing record. Example with an existing Google record:

example.com. IN TXT "v=spf1 include:_spf.google.com include:spf.reepay.com ~all"

Email customization

The different email types can be customized in a number of ways.

Enable or disable email

By default will Reepay send all the email types on behalf of your business. It can be configured for each mail whether it should be sent or not.

Alternative from address

An alternative email from address can be defined for each email. The default from address will be used if no alternative is defined.

Adding Cc or Bcc addresses

Cc/Bcc addresses can be added on the mails sent to your customers. This is helpful if you would like to be notified of certain events, e.g. when a subscription is expired due to a failed dunning management process.

HTML and text version

Reepay sends both a plain-text and HTML email to your customers. The customers mail client will show the HTML version if it can, otherwise it will fall back to the text-only version. We recommend to customize both templates if the mail content is equivalent.

Email templating

The content of mails can customized by using your own wording and formatting. Dynamic parameters can be inserted into mails using tags such as {{invoice.amount}} for invoiced amount. A complete list of tags can be found in the Reepay administration which features a template editor with instant preview of the mail using sample data for dynamic parameters.

Header and footer

A header and footer can be defined for both HTML and text. These are included in mails by using {{{text_header}}}, {{{text_footer}}}, {{{html_header}}} and {{{html_footer}}}.

Conditional sections

In some cases it is helpful to have parts of a mail depend on a specific condition. E.g. whether a subscription is in trial. Below an example with the subscription sign up receipt mail and the boolean variable in_trial.

{{#subscription.in_trial?}} You will be billed {{plan.amount}} {{plan.currency.symbol}} when your subscription trial ends at {{subscription.trial_end.date_short}} {{/subscription.in_trial?}} {{^subscription.in_trial?}} You will be billed {{plan.amount}} {{plan.currency.symbol}} at {{subscription.next_period_start}} {{/subscription.in_trial?}}

The ^ character tests that the parameter is false. That is, the second block is shown if the subscription is not in trial.

For general parameters (not only boolean) a section can be shown only if the parameter has a value with the technique show below.

{{#subscription.next_period_start}} Next payment date: {{subscription.next_period_start.date_short}} {{/subscription.next_period_start}}

Invoice order lines

Invoice receipt mails contains order lines. To iterate over the lines the following can be used:

{{#invoice.orderlines}} {{quantity}} x {{ordertext}} {{amount}} {{currency.symbol}}
{{/invoice.orderlines}}

Images

Images can be drag'n dropped into the HTML templates or you can also reference external images with HTML.

Email tracking

All the emails sent by Reepay on behalf of your business is stored and in the Reepay administration you can see what emails that has been sent for customers, subscriptions and invoices. Reepay tracks emails by registering three types of events: - Rejected - The email could not be delivered because the recipient address does not exist, or the email is rejected by the receiving mail server. - Delivered - The email has been sent and accepted by the receiving mail server. - Opened - The HTML version of the email has been opened in a mail client.

The opened event is tracked by an invisible image in the HTML version of the mail. Some mail clients block image viewing, and in this case the opened event will not be registered. That is, an opened event is a guarantee that the email has been opened, on the other hand a missing opened event is not a guarantee that the mails has not been opened.

Hosted pages

Hosted pages are web pages hosted by Reepay. The pages can be used by you to interact with your existing and potential new customers. A number of hosted pages exists, e.g. update of payment method and customer sign up to subscription. The pages have default layouts that is sufficient in many cases but you may want to customize the layout of the pages.

Hosted pages is under development and currently only two pages are featured:

  1. Page to update payment method - linked to in dunning notification emails
  2. Page to add payment method for the first time - linked to in sign up mails sent when subscriptions are created with sign up method email.

Payment gateways

Payment gateways are used to process transactions and moving funds into your merchant bank account. To be able to accept credit card payments or other types of payment methods, you will need a payment gateway that Reepay supports. If you do not have a payment gateway, or are unsure, we will happily support you in the process of obtaining a payment gateway.

Configuration

To configure a payment gateway you will need to add it in the payment gateway configuration section of the Reepay administration. For all payment gateways you will need to configure which credit cards the payment gateway supports. Each gateway has gateway specific settings that you received when signing up for a payment gateway, e.g. API key or other types of credentials.

Routing

You can configure more than one payment gateway. When Reepay chooses gateway it is based on the credit card type. If more than one gateway supports the same card type, the first one defined will be used. We recommend not to configure multiple gateways with overlapping card type support.

Switching gateway

A new gateway can be added and an old one can be deleted. The deleted payment gateway will still be used for credit cards authorized against the old payment gateway as saved cards are tied to the payment gateway.

Payment gateway errors

If for some reasons the payment gateway is experiencing problems, Reepay will automatically retry to settle transactions repeatedly.

Organisation and account settings

In Reepay you will have an organisation with one or more accounts. Each has different settings that configure your accounts and define information that is used in email communication and on hosted pages.

Organisation

The following settings must be defined for an organisation.

Name Company name across all accounts.

Subdomain You can define what Reepay subdomain you would like to use for hosted pages, e.g. https://yourcompany.reepay.com. The subdomain can be changed in production mode, but it is not recommended unless absolutely necessary as hosted pages URLs with the old subdomain sent in mails will be invalid.

Account

ID

A per organisation unique account identifier. The identifier may only contain alphanumeric characters and the characters (_ . - @).

Name

A name for the account. The account name is used by default as company name in mail templates.

Language

The language determines the language of the the default email templates and the formatting used for amounts and dates.

Currency

An account is tied to a single currency. The currency can only be changed in test mode. Once an account enters production mode, the currency cannot be changed.

Default VAT

VAT are used on invoices to show how much of the amount is VAT. VAT can be defined on plans and for additional costs. If not provided there, this default VAT will be used.

Timezone

The timezone is used for formatting date and times in the Reepay administration, on hosted pages and in emails.

VAT registration number

VAT registration number. Recommended to use both country code and number, e.g. US4345234 or DK2131214.

Address

Address information for your business.

Contact information

The contact information information presented to your customers. Includes email, phone number and website URL.

Logo

You can upload a logo for your business that can be used in emails and will be shown on hosted pages.

Terms of service

You can provide a terms of service text for your business that will be shown to customers on hosted pages.

Users and roles

You can add any number of users from your organisation to handle your Reepay account. You invite the users in the Reepay administration and give them appropriate roles. You can remove users and permissions can be changed.

Integration methods

To use Reepay you will need an integration to your business. Reepay has the four integrations below.

Reepay administration

The Reepay administration (admin.reepay.com) is a web application where you can configure your Reepay accounts and manage customers and subscriptions, and monitor your business with statistics and make reports, etc.

Hosted pages

Hosted pages are web pages hosted by Reepay. The pages can be used by you to interact with your existing and potential new customers. A number of hosted pages exists, e.g. update of payment method and customer sign up to subscription. Using hosted pages for interaction involving a customer entering sensitive credit card information relieves you of the PCI requirements involved when handling card information. See more in the Security section.

Reepay.js

Reepay.js is a Javascript library that allows you to embed forms on your website through which customer interaction with Reepay can be performed. Using Reepay.js allows you to tightly integrate from your own web application with your own business look and feel.

API

The Reepay API provides the most flexible integration method. The API gives direct access to the entities such as customers and subscriptions. The API also include the ability to call webhooks on your server to notify of events in the Reepay system.

Using the Reepay administration and hosted pages alone represents a completely non-technical integration. From there you can choose how much technical integration is needed, if any.

There are a number of considerations to make when choosing integration method listed below.

Development time

Depending on company resources and the desired timeframe to start subscription billing, you may want to go into production right away, or use more time on integration. The different integration methods has roughly the following development times.

Notice that if a payment gateway must be obtained, up to three weeks should be expected for the approval process, depending on acquirer.

Technical skills

The different integration methods requires different technical skills as listed below.

Look & feel

The different integration methods allows different levels of customizable look and feel.

PCI compliance

Each integration method has requires different levels of PCI compliance.

Testing

Testing a Reepay integration can be done with an account in test mode. Testing payments and subsequent error scenarios are done using our Test Payment Gateway and a number of test credit cards in combination with some specific cvv codes found here.

Security

Payment Card Industry Data Security Standard (PCI-DSS) provides a framework for developing a robust security process for credit card transactions. Any merchant or service merchant provider accepting, transmitting, and/or storing cardholder data must be PCI compliant.

Reepay is a PCI-DSS Level 1 compliant merchant service provider. Using Reepay can help you meet PCI compliance requirements by handling all sensitive credit card data. A merchant must always be PCI compliant if they accept credit card payments online (even if the card is entered on another site). Below the PCI requirements for the different Reepay integration methods are listed.

Reepay administration

The Reepay administration does not by itself have any possibility for entering card information.

Hosted pages

When using hosted pages your customers sensitive card data is handled directly at Reepay without touching your system. As a merchant, this qualifies you for the simplest PCI compliance level, the shortened PCI DSS Self-Assessment Questionnaire A.

Reepay.js

When using the Reepay Javascript library, sensitive card data passes directly from the customer’s browser to Reepay, without passing through your servers. Using Reepay.js you are eligible to complete the shortened PCI DSS Self-Assessment Questionnaire A-EP.

Because the pages serving the Javascript is hosted by you, you will be required to be PCI compliant. This means using best practices to secure your servers and pages from being compromised with cross-site scripting.

API

Using the API is only in PCI scope if the API is used for passing sensitive card data. This is also the case even if card data is not saved but only passed through. You will be required to complete the PCI DSS Self-Assessment Questionnaire C in this case. If the API integration does not include card data, you are eligible for the shortened PCI DSS Self-Assessment Questionnaire A-EP.

PCI best practices