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​
- Initial Payment with User Interaction - Create a Payment Request and obtain a token after successful user payment
- Automated Recurring Charges - Use the stored token to authorize subsequent payments automatically without user interaction
Requirements​
- 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 timestampnonce- Randomly generated unique stringmac- Calculated MAC hash value using mac_key and mac_algorithmext- 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_keymust remain confidential and never be shared - Each request must include a unique
noncevalue - 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:
- Receive the
notification_id - Retrieve notification details via API
- Mark the notification as read to prevent repeated callbacks
Next Steps
- Follow the Getting Started guide to set up your integration
- Review API Fundamentals for implementation details
- Check Examples for code samples
- Visit FAQ for common questions
Support​
Need help with complex integrations?
Contact: tech_support@paysera.com