Jump to Content
Release Notes
Announcements
Videos
Blog
Guides
Recipes
API Reference
API Changelog
Release Notes
Announcements
Videos
Blog
Log In
Guides
Log In
Guides
Recipes
API Reference
API Changelog
Device connection
Search
INTRODUCTION
Home
Developer documentation for Clover
Text formats and notational conventions
Developer support
Your feedback matters
Payment Card Industry security guidance for app developers
Monetize your apps
Meet our merchants
Build apps for merchant needs: examples
Clover architecture
Clover data model
SDKs and sample code
CLOVER DEVICES AND DEV KITS
Clover devices
Clover devices—Technical specifications
Use device diagnostics
Fix server trust issues on Clover devices
Clover Developer Kits (Dev Kits)
Order a Dev Kit in the United States
Receive a Dev Kit outside the United States
Set up and use a Clover Dev Kit
Use Android Debug Bridge over USB or Wi-Fi
CLOVER INTERNATIONAL MARKETS
Region-specific features and limitations
Argentina merchants
Canada merchants
Germany and Austria merchants
Netherlands merchants
United Kingdom and Ireland merchants
United States merchants
Developer quick reference guides—LATAM Argentina
Regional payment flows: Argentina
Developer guides—LATAM Brazil
CLOVER DEVELOPER ENVIRONMENTS
Clover developer environments
Global developer platform—Quick steps
Developer platform—Quick steps
Limitations by environment
GLOBAL DEVELOPER PLATFORM
Get started with the global developer platform
Create global developer account
Set up multi-factor authentication (MFA)
Create new app
Manage test merchant accounts and information
Manage global developer account
Manage global developer roles
Manage global developer permissions
Transfer global developer account ownership
Submit global developer account for approval
Clover global developer platform FAQs
Global developer platform: Known issues and workarounds
DEVELOPER PLATFORM
Select an integration and Clover developer tools
From sandbox to app launch checklist
Post app launch checklist
Get started with the developer platform
Get started with the sandbox environment
Create a sandbox developer account
Work with test merchants in sandbox
Generate a merchant-specific test API token
Install your app to a test merchant
Get started with the production environment
Create a production developer account
Set up two-factor authentication (2FA)
Manage developer bank account information
Add developer bank account information
Update developer bank account information
Manage developer accounts
Transfer developer account ownership
Submit developer account for approval
Manage developer account roles and permissions
Manage test merchants in production
Understand the app approval process
Submit your app for approval
CREATE and MANAGE CLOVER APPS
Manage your apps
Set up a sandbox account
Create an app
Manage app settings
Work with private apps
Set app permissions
Set modules for merchant SaaS or service plans
Test an app with different merchant service plans
Customize receipts
Manage Android app releases
Set up pricing tiers
Set Clover App Market listing
Handle app billing
Transaction data: Charges and fees
Functional review playbook for Clover app approval
Basic app configuration
App onboarding for merchants
App design requirements
Full app functionality tests
App administration checklist
Launch your apps
Navigate the Clover App Market
Launch app in international markets
Launch in the Canadian App Market
Revise and review approved or published apps
View billing transactions and lifecycle
View billing status
Showcase apps
Provide support resources
Gain insights into your app's performance
Review app installs
Use app ratings and reviews
Clover policies for app developers
Legal templates
Template—Clover Privacy Policy
Template—Clover EULA/Terms of Service
(MSC Pilot) Multiple service charges overview
(MSC Pilot) Set up and test your app for service charges
(MSC Pilot) Frequently asked questions (FAQ)
BUILD WITH ECOMMERCE API
Clover Ecommerce homepage
Ecommerce integration types
Ecommerce integration and payment flows—Use cases
Ecommerce API—Accept payments flow
Ecommerce tokens, permission, and settings
Ecommerce data model
Ecommerce app permissions
Ecommerce permission sets
Ecommerce API tokens and OAuth API tokens
Generate Ecommerce API tokens (public and private keys)
Generate an OAuth API token or `access_token`
Generate OAuth API token with the legacy OAuth flow
Generate OAuth expiring (access and refresh) token
Use refresh token to generate new expiring token
Generate an Ecommerce API key (PAKMS key)
Ecommerce tokenization overview
Ecommerce card tokenization
Create a card token
Use TransArmor tokens with Clover Ecommerce APIs
Create a TransArmor token
Use existing TransArmor tokens
Clover Ecommerce APIs for payments
Create a charge
Get charges endpoints
Get a charge
Get charges
Create pre-authorization
Capture a charge
Capture charge for split shipment
Accept payments and tips
Refund payments
Save a card for future transactions
Confirm customer information with fraud tools
Purchasing cards
Levels and processing of purchasing cards
Level 2 data
Level 3 data
Units of measurement codes
Set soft descriptors
Use 3-D Secure for e-commerce transactions
Paginate requests
Clover hosted checkout integration
Create a checkout session request
Customize a hosted checkout page
Configure hosted checkout webhooks
Redirect customers to another URL
Test your hosted checkout integration (macOS/Linux)
Test your hosted checkout integration (Windows)
Clover iframe integrations overview
Clover iframe—Create a payment form
Clover iframe—Use card and page elements
Add Apple Pay button to the Clover iframe
Add Google Pay button to the Clover iframe
Clover iframe—Customize iframe elements with CSS
Apple Pay integration—Implementation options
Create an Apple Pay payment token
Recurring Payments and Subscriptions APIs
Recurring Payment APIs—Configure Plans
Recurring Payment APIs—Configure subscriptions
Clover Ecommerce Gift Card API
Create a gift card token
Activate a gift card
Redeem a gift card
Check and use gift card balance
Reload an active gift card
Void and refund for a gift card
ACH TeleCheck
Create an ACH token
Accept checks by telephone
Use internet check acceptance
Sales decline disclosure templates
State abbreviations for TeleCheck
Protect Ecommerce merchants from card testing fraud
Ecommerce API: Error codes
Migrate from Developer Pay to Ecommerce
ECOMMERCE PLUGINS (US and Canada only)
Ecommerce: Clover Payments plugins and extensions
Ecommerce: Clover Payments plugin for Shopify Online Shop
Ecommerce: Integrate Clover Payments plugin with Shopify Online Shop
Accept and process MOTO payments
Ecommerce: Clover Payments for WooCommerce
Install the Clover Payments for WooCommerce plugin
Configure the Clover Payments for WooCommerce plugin
Update multi-lingual support
Locate the merchant identifier (merchantId)
Set up an Ecommerce API token
Process an authorization
Authorize and verify orders
Capture an authorization
Process a sale transaction
Verify order processing and transaction
Refund an order
Void an authorized order
View surcharges
HTTP Status and Error codes
Ecommerce: Adobe Commerce (Magento 2) Clover Payments plugin
Prerequisites
Install, upgrade, and uninstall the Clover Payment extension
Update multi-lingual support
Configure the Clover Payment extension
Locate the merchant identifier (merchantId)
Set up an Ecommerce API token
Process an authorization transaction
Capture an authorized transaction
Process a sales flow
Refund a captured order
Void an authorization
View surcharges
HTTP Status and Error codes
BUILD WITH REST API
Clover REST API basics
Use Clover REST API
Use test API tokens in sandbox
Use test merchant identifier and API token
Make a sample REST API call
OAuth flows in Clover
Redirect merchants to your app
Set app link (URL) and CORS domain
Understand the Clover v2/OAuth flow
High-trust apps—Auth code flow
Low-trust apps—Auth code flow with PKCE
Initiate v2/OAuth flow from the Clover App Market
Authenticate with OAuth—Canada and US
Generate OAuth expiring (access and refresh) token
Use refresh token to generate new expiring token
Migrate legacy OAuth API tokens to v2/OAuth expiring tokens
Authenticate with OAuth—Europe and Latin America
Clover REST API tutorials
Work with API usage and rate limits
Sort collections
Apply filters
Use filters to retrieve multiple results from an endpoint
Add pagination requests
Use expandable fields
Use object associations
Use webhooks
Display null fields
Convert Clover timestamps to Unix time
Troubleshoot API errors
400 Bad Request
401 Unauthorized
404 Not Found
429 Too Many Requests
500 Internal Server Error
Export merchant data
Work with inventory
Import inventory
Request inventory stock
Manage items and item groups
Manage item availability
Manage categories
Manage modifier groups and modifiers
Manage tags
Manage orders data
Create custom orders
Calculate order totals
Tax Reports: Examples
Print orders with the REST API
(MSC Pilot) Manage service charges for Web apps
Manage transaction data (REST API)
Get all payments
Customer API permissions in the Europe region
Deprecated APIs
Payments with Developer Pay API
BUILD WITH ANDROID
Custom Android basics for Clover devices
Android Emulator for Clover devices
Set up emulator in Android Studio
Troubleshoot Android Emulator for Clover devices
Clover development APKs
Work with APKs
Set up Android SDK versions
Generate a signed APK
Upload an APK to your app
Submit an APK for approval
Sideload an APK
Manage approved APKs
Manage release groups
Add release notes to APKs
Integrate with Clover Android SDK
(MSC Pilot) Manage service charges for Android apps
Advanced information to build with Android
OAuth for web views and non-Clover devices
Query web services
Set up broadcasts and intents
Send app notifications
Use external USB devices
Test with printer receipt images
Build with Android NFC (support ended July 2023)
Build apps for Clover Station Duo 2: Dual touch screen device
Build apps for Clover Station Duo 1 — Dual touch screen device
Build payment solutions
Custom tender—Use cases and design requirements
Create a custom tender app
Payment Connector
Expand merchant business
Use the Order Connector
Use Merchant Connector
Work with transaction data: Clover Android SDK
SEMI-INTEGRATION OVERVIEW
Introduction
Payment integration overview
Clover device configurations
Clover semi-integration basics
Payments integration options
Examples of transaction flows
Create your Remote App ID (RAID)
Private semi-integrated apps
Integration development and approval process
Step 1: Application
Step 2: Education
Step 3: Development
Step 4: Approval
Step 5: Maintenance
Test region-based payment flows
Test US payment flows
Test Canadian payment flows
Customer transactions
Transaction types
Per-transaction settings
Use Remote Pay SDKs for surcharging
Use Payment Connector for surcharging
Handle voids and refunds
Create custom receipts with CloverConnector
Reprint transaction receipts
Vault cards for future transactions
Handle challenges during payment processing
Electronic benefit transfer (EBT) transactions
Electronic benefit transfer (EBT) overview
Clover support for EBT
Semi-Integration glossary
SEMI-INTEGRATE WITH REST PAY
REST Pay Display API overview
REST Pay Display API introduction
REST Pay Display integration requirement
REST Pay Display Security
Get started with REST Pay Display
Create an app in the sandbox environment
Get an OAuth token
Connect point of sale app to the Clover device
Build a cloud connection request
Configure a cloud connection
Build a local connection request
Install REST Pay Display app on merchant device
Configure a local connection
Use Postman with REST Pay Display API
Workflows and best practices
Transaction types
REST Pay payment flows
REST Pay Display interoperability with Ecommerce API
Track transactions with idempotency keys
Payment reconciliation and recovery
Card on File compliance for REST Pay Display
Issues and errors
Check for duplicate payments
Handle offline payments
Handle partial payment issues
Handle signature issues
Handle communication issues
Status codes and errors reference
REST Pay Display API tutorials
Verify device connectivity
Display a message to the customer
Display the welcome screen
Display the thank you screen
Cancel the current action
Get a signature
Get customer confirmation
Get customer input
Request a tip
Print a receipt
Open the cash drawer
Reset the device
Make a sale
Authorize and capture a tip-adjusted payment on paper
Authorize and capture a tipped payment on screen
Capture pre-authorized payments
Refund a payment
Issue a credit
Tokenize and vault a card with REST Pay Display
Get a customer's card data
Use Custom Activities with REST Pay Display
Display an order
App review and approval
Create an app in the production environment
Test REST Pay flows (Canada)
Test REST Pay flows (Europe)
Test REST Pay flows (US)
SEMI-INTEGRATE WITH CLOVER ANDROID
Use the Clover Android Payments APIs
Android API Payments tutorial
Accept a payment
Payment retrieval operations
Reverse a payment
Tokenize a card
Accept a pre-authorization
Capture a pre-auth
Issue a manual refund
Read a card
Incremental authorization
Request a tip
Select a receipt
Adjust a tip
Closeout
Take a payment with Payment Connector
Supported methods by device
Payment Connector example activity
SEMI-INTEGRATE WITH REMOTE PAY
Support timelines (Remote Pay SDKs)
Use Clover Connector
On Windows using .NET
On Windows using REST
On Windows using WebSockets
In the Cloud
On Android
On iOS
Work with user interface state messages
User interface (UI) state reference
Payment response reference
Refund response reference
Credit response reference
Remote Pay SDK best practices
Device connection and disposal
Monitor device connection status
Payment reconciliation and recovery
Retrieve the device state
Track transactions with external identifiers (Ids)
Use customer-facing platform
ZVT ECR interface on Clover terminal
Integration repositories
Pay Display apps
Pay Display apps support matrix by devices and regions
Install a Pay Display app
Configure Secure Network Pay Display
Connect the example point of sale (POS) for Clover Windows SDK
Example apps for the Clover Connector SDKs
RELEASE NOTES
New and latest: Information for developers
What's new: 2024
What's new: 2023
What's new: 2022
What's new: 2021
What's new: 2020
Bug fixes
Announcements
Ecommerce: Clover plugin now supports WordPress 6.7.1
Arriving soon! Clover Flex 4 for merchants in Canada
Arriving soon! Clover Flex 4 for merchants in Europe
Test apps for variable length OAuth tokens
Sandbox maintenance updates | November 2024
Available now! Clover Flex 4 for US merchants
Arriving soon! Clover Flex 4 for US merchants
Announcing 2024 Clover code freeze
[Latin America] Clover Platform maintenance | October 29
Available now! Clover Flex Pocket for Canada merchants
[Europe] Clover Platform maintenance | October 15
Global developer platform: Enhanced user experience
Arriving soon! Clover Flex Pocket for Canada merchants
Action required: Multi-factor authentication (MFA) set up
Available now! Clover Flex Pocket for US merchants
Arriving soon! Clover Flex Pocket for US merchants
Support for credit card surcharging in Canada
Secure your site: Remove Polyfill references from iframe settings
Announcing multiple service charges feature for new apps
Updated app charges monthly invoice format and delivery method
Upgraded Merchant Dashboard for US test merchants
Sandbox update planned | January 4, 2024
Clover Android ROM 2024 updates
API Changelog
Clover Android SDK release notes
v306 release notes
v304 release notes
v293 release notes
v292 release notes
v288 release notes
v284 release notes
CLOVER GO SDK
Clover Go SDK contents
Clover Go SDK
Clover Go SDK release notes
Android—Clover Go SDK release notes
iOS—Clover Go SDK release notes (v1.0.0)
iOS—Clover Go SDK release notes (v1.1.0)
Clover Go SDK quick start guides
Android—Clover Go SDK quick start guide
iOS—Clover Go SDK quick start guide
Clover OAuth on Mobile
OAuth terminology
Android—OAuth on mobile
iOS—OAuth on mobile
Device connection
Android—Device connection
iOS—Device connection
Clover Go SDK reference
Card present payments
Manual entry payments
Payment reversal
Capture and tip adjust
Closeout
Receipts
Turn on logs for iOS SDK
RESOURCES
Design resources
Supported barcode formats
Test card numbers
Country code reference
Developer mailing list
Developer Dashboard
REST API Reference
SDKs & sample code
Clover Development APKs
Frequently asked questions (FAQs)
Device connection
United States
Android—Device connection
iOS—Device connection
Updated 7 months ago