Skip to main content

Recurring Billing API Overview

Recurring billing is when a merchant automatically charges a cardholder for specified goods or services on a prearranged schedule. The merchant must obtain cardholder permission upfront before implementing this payment method.

Overview​

Recurring billing allows you to charge money without user interaction. For example, to charge subsequent amounts from a user's credit card for monthly subscriptions.

How It Works​

Recurring billing requires a prior completed payment with user interaction to obtain a token. The first Payment Request must be completed with user interaction before subsequent automated charges can occur.

Two-Step Process​

  1. Initial Payment with User Interaction - Create a Payment Request and obtain a token after successful user payment
  2. Automated Recurring Charges - Use the stored token to authorize subsequent payments automatically without user interaction

Requirements​

Important
  • You must obtain explicit cardholder permission before implementing recurring billing
  • The first payment must be completed with user interaction to obtain a token
  • Customers must be clearly informed about the recurring nature of the charges
  • The billing schedule and amount must be communicated upfront

Getting Started​

Ready to implement recurring billing? Follow our Getting Started Guide for step-by-step instructions.

Authentication​

All API requests require HTTPS protocol and use MAC (Message Authentication Code) access authentication based on the OAuth 2.0 specification.

Required Authentication Headers​

All API requests must include the following in the Authorization header:

  • id - Your MAC ID (mac_id credential)
  • ts - Current UNIX timestamp
  • nonce - Randomly generated unique string
  • mac - Calculated MAC hash value using mac_key and mac_algorithm
  • ext - Extension field (URL-encoded, contains optional body_hash, project_id, location_id)

Example Authorization Header​

Authorization: MAC id="wkVd93h2uS",
ts="1343811600",
nonce="nQnNaSNyubfPErjRO55yaaEYo9YZfKHN",
mac="B3iRmOP5pZCTt5AdhJDnOj9O1F3U/oZ5z7Z6WgbG6h4="

Security Requirements​

  • All requests must use HTTPS protocol on port 443
  • The mac_key must remain confidential and never be shared
  • Each request must include a unique nonce value
  • Timestamps should be current to prevent replay attacks

API Details​

  • Host: checkout-eu-a.paysera.com
  • Protocol: HTTPS
  • Port: 443
  • Base Path: /checkout/rest/v1/
  • Format: JSON (UTF-8 encoded)

Key Concepts​

Payment Request​

The entry point for any payment flow. A Payment Request can be processed through:

  • User interaction (standard payment flow)
  • Automated recurring billing (using a stored token)

Token​

After the first successful payment with user interaction, you receive a recurring billing token. This token allows you to:

  • Authorize subsequent payments automatically
  • Charge without user interaction
  • Reuse the same token until it expires

Notification​

After each payment, Paysera sends a notification to your specified callback_url. You must:

  1. Receive the notification_id
  2. Retrieve notification details via API
  3. Mark the notification as read to prevent repeated callbacks
Next Steps

Support​

Need help with complex integrations?

Contact: tech_support@paysera.com