# Elavon Payment Gateway

## Documentation

### Getting Started

- [Overview](https://developer.elavon.com/readmes/overview.md): *Category (Getting Started)*, Elavon Payment Gateway (EPG) overview — capabilities, integration methods, and supported payment types.
- [Create account](https://developer.elavon.com/readmes/create-account.md): *Category (Getting Started)*, Create an Elavon developer account to get sandbox API credentials for testing.
- [Sending API requests](https://developer.elavon.com/readmes/sending-api-requests.md): *Category (Getting Started)*, Step-by-step guide to sending your first API request (create a shopper) and verifying it in the merchant portal.
- [Error Codes](https://developer.elavon.com/readmes/error-codes.md): *Category (Getting Started)*, Error response format and full list of error codes returned by unsuccessful API calls.
- [Testing](https://developer.elavon.com/readmes/testing.md): *Category (Getting Started)*, Sandbox test card numbers, amounts, and scenarios for simulating approvals, declines, and errors.
- [Release Notes](https://developer.elavon.com/readmes/release-notes.md): *Category (Getting Started)*, Latest release notes and changelog for the Elavon Payment Gateway API.
- [FAQs](https://developer.elavon.com/readmes/faqs.md): *Category (Getting Started)*, Frequently asked questions about the Elavon Payment Gateway, including setup, features, and troubleshooting.

### Online Payments

- [Sale](https://developer.elavon.com/readmes/sale-transaction.md): *Category (Online Payments)*, Process one-off payments without saving your customers' card details.
- [Void](https://developer.elavon.com/readmes/void-transaction.md): *Category (Online Payments)*, Cancel (void) an unsettled sale or refund transaction before batch settlement.
- [Refund](https://developer.elavon.com/readmes/refund-transaction.md): *Category (Online Payments)*, Refunding a transaction returns the money to the customer.

### Digital Wallets

- [Apple Pay](https://developer.elavon.com/readmes/apple-pay.md): *Category (Digital Wallets)*, Integrate Apple Pay for web payments; HPP redirect requires no extra work, direct API requires Apple developer registration.
- [Google Pay](https://developer.elavon.com/readmes/google-pay.md): *Category (Digital Wallets)*, Integrate Google Pay for web payments using the EPG direct API or hosted payment page.
- [Wallet Management Overview](https://developer.elavon.com/readmes/wallet-management-overview.md): *Category (Digital Wallets)*, Manage digital wallets through the Shoppers and Stored Cards API resources.
- [Wallets](https://developer.elavon.com/readmes/wallets.md): *Category (Digital Wallets)*, Enable digital wallets (Apple Pay, Google Pay) on the hosted payment page via the Payments Settings page of the EPG merchant portal.

### Hosted Payments

- [Hosted Payments Overview](https://developer.elavon.com/readmes/hosted-payments-overview.md): *Category (Hosted Payments)*, Overview of hosted integration methods: redirect, lightbox modal, and hosted fields.
- [Redirect quickstart SDK](https://developer.elavon.com/readmes/redirect-sdk.md): *Category (Hosted Payments)*, Quickstart guide for integrating Elavon's hosted payment page via redirect, with code samples and a demo checkout flow.
- [Lightbox quickstart SDK](https://developer.elavon.com/readmes/lightbox-sdk.md): *Category (Hosted Payments)*, Quickstart guide for integrating Elavon's hosted payment page via lightbox modal overlay.
- [Customize payment page](https://developer.elavon.com/readmes/customize-payment-page.md): *Category (Hosted Payments)*, Customize the hosted payment page — logo, company name, colors, fonts, button text, and data fields.
- [Collect additional information](https://developer.elavon.com/readmes/collect-additional-info.md): *Category (Hosted Payments)*, Collect billing/shipping addresses and email on the hosted payment page alongside payment details.

### Lightbox JS Library

- [Lightbox JS library overview](https://developer.elavon.com/readmes/lightbox-js-library-overview.md): *Category (Lightbox JS Library)*, Overview of the Elavon Lightbox JS library for embedding a secure payment modal in web applications.
- [ElavonLightbox constructor](https://developer.elavon.com/readmes/elavonlightbox-constructor.md): *Category (Lightbox JS Library)*, Initialize a Lightbox payment modal — accepts paymentSession URL, callbacks, and display options.
- [messageHandler Function (Lightbox)](https://developer.elavon.com/readmes/messagehandler-function-lightbox.md): *Category (Lightbox JS Library)*, Handle transaction-result and error messages posted from the Lightbox iframe to the parent page.
- [defaultAction function](https://developer.elavon.com/readmes/defaultaction-function.md): *Category (Lightbox JS Library)*, Built-in handler that auto-closes the Lightbox and redirects the shopper on transaction completion.
- [onReady Function (Lightbox)](https://developer.elavon.com/readmes/onready-function-lightbox.md): *Category (Lightbox JS Library)*, Callback fired when the Lightbox iframe has loaded and is ready to display; use to enable your pay button.
- [show Function (Lightbox)](https://developer.elavon.com/readmes/show-function-lightbox.md): *Category (Lightbox JS Library)*, Programmatically open the Lightbox modal overlay to start the payment flow.
- [hide Function (Lightbox)](https://developer.elavon.com/readmes/hide-function-lightbox.md): *Category (Lightbox JS Library)*, Programmatically close the Lightbox modal without completing a transaction.

### Hosted Fields JS Library

- [Fields quickstart SDK](https://developer.elavon.com/readmes/fields-quickstart-sdk.md): *Category (Hosted Fields JS Library)*, Quickstart guide for integrating Elavon Hosted Fields for secure, PCI-compliant payment data entry.
- [Hosted Fields JS Library Overview](https://developer.elavon.com/readmes/fields-js-library-overview.md): *Category (Hosted Fields JS Library)*, Overview of the Elavon Hosted Fields JS library for embedding secure, PCI-compliant payment input fields.
- [ElavonHostedFields constructor](https://developer.elavon.com/readmes/elavonhostedfields-function.md): *Category (Hosted Fields JS Library)*, Initialize Hosted Fields — pass paymentSession URL, field selectors, styling config, and event callbacks.
- [messageHandler Function (Hosted Fields)](https://developer.elavon.com/readmes/messagehandler-function.md): *Category (Hosted Fields JS Library)*, Callback invoked on field state changes (focus, blur, validity) and transaction lifecycle events.
- [getState function](https://developer.elavon.com/readmes/getstate-function.md): *Category (Hosted Fields JS Library)*, Returns current validation and readiness status of all hosted fields; use before calling submit().
- [onReady Function (Hosted Fields)](https://developer.elavon.com/readmes/onready-function-fields.md): *Category (Hosted Fields JS Library)*, Callback fired when hosted field iframes are loaded and ready to accept input.
- [onTransactionSubmission function](https://developer.elavon.com/readmes/ontransactionsubmission-function.md): *Category (Hosted Fields JS Library)*, Pre-submit hook that runs custom validation logic before the transaction is sent to the gateway.
- [addClass function](https://developer.elavon.com/readmes/addclass-function.md): *Category (Hosted Fields JS Library)*, Add a CSS class to a hosted field iframe for dynamic styling (e.g., error highlighting).
- [removeClass function](https://developer.elavon.com/readmes/removeclass-function.md): *Category (Hosted Fields JS Library)*, Remove a CSS class from a hosted field iframe (e.g., clear error state after correction).
- [setAttribute function](https://developer.elavon.com/readmes/setattribute-function.md): *Category (Hosted Fields JS Library)*, Update an HTML attribute (e.g., placeholder, aria-label) on a hosted field iframe.
- [submit function](https://developer.elavon.com/readmes/submit-function.md): *Category (Hosted Fields JS Library)*, The submit() function submits the hosted fields payment form to process the transaction.
- [updateSession function](https://developer.elavon.com/readmes/updatesession-function.md): *Category (Hosted Fields JS Library)*, Swap the active payment session without re-rendering hosted fields — useful for updating order totals.
- [destroy function](https://developer.elavon.com/readmes/destroy-function.md): *Category (Hosted Fields JS Library)*, Tear down Hosted Fields, remove iframes from the DOM, and release event listeners.
- [show Function (Hosted Fields)](https://developer.elavon.com/readmes/show-function-fields.md): *Category (Hosted Fields JS Library)*, Make previously hidden hosted fields and digital wallet buttons visible on the page.
- [onSurchargeAcknowledgementRequired function](https://developer.elavon.com/readmes/onsurchargeacknowledgementrequired-function.md): *Category (Hosted Fields JS Library)*, Callback to prompt the shopper for surcharge consent before the transaction proceeds.

### Subscriptions & Plans

- [Scheduled payments](https://developer.elavon.com/readmes/scheduled-payments.md): *Category (Subscriptions & Plans)*, Guide to creating and managing scheduled recurring payments using the Transactions and Subscriptions resources.
- [Create plans and subscriptions](https://developer.elavon.com/readmes/create-plans-and-subscriptions.md): *Category (Subscriptions & Plans)*, Create billing plans and subscribe customers for automated recurring charges.
- [Manage plans and subscriptions](https://developer.elavon.com/readmes/manage-plans-and-subscriptions.md): *Category (Subscriptions & Plans)*, Manage existing plans and subscriptions — pause, resume, cancel, update amount, and change billing dates.
- [Change subscription email settings](https://developer.elavon.com/readmes/choose-subscription-email-settings.md): *Category (Subscriptions & Plans)*, Configure whether subscription transaction receipts are emailed to the customer.

### Advanced Features

- [Card on file transactions](https://developer.elavon.com/readmes/cof-transactions.md): *Category (Advanced Features)*, Process card-on-file (COF) transactions using stored card tokens for returning customers — includes merchant-initiated and shopper-initiated flows.
- [Payment links](https://developer.elavon.com/readmes/payment-links.md): *Category (Advanced Features)*, Generate shareable payment links with expiration dates that let customers pay online without a custom checkout page.
- [Payment method capture](https://developer.elavon.com/readmes/payment-method-capture.md): *Category (Advanced Features)*, Capture a shopper's payment method (card details) without processing a transaction, for later use in card-on-file or subscription flows.
- [Hosted cards](https://developer.elavon.com/readmes/hosted-cards.md): *Category (Advanced Features)*, A hosted card is a single-use, PCI-compliant card token returned by a successful checkout using a payment session.
- [Stored shoppers and stored cards](https://developer.elavon.com/readmes/stored-shoppers-and-cards.md): *Category (Advanced Features)*, Save a customer (Shopper) and their card details (StoredCard) for repeat purchases, subscriptions, and card-on-file flows.
- [Create transaction with surcharge](https://developer.elavon.com/readmes/create-transaction-surcharge.md): *Category (Advanced Features)*, Add a surcharge to customer transactions to cover card-provider processing fees.
- [Refund transaction with surcharge](https://developer.elavon.com/readmes/refund-transaction-with-surcharge.md): *Category (Advanced Features)*, Refund a surcharged transaction — returns both the base amount and the surcharge to the customer.
- [Dynamic currency conversion](https://developer.elavon.com/readmes/dynamic-currency-conversion.md): *Category (Advanced Features)*, Use ForexAdvice resources to track exchange rates between the card currency and the merchant settlement currency.
- [Dynamic Currency Conversion (Compliance)](https://developer.elavon.com/readmes/dynamic-currency-conversion-compliance.md): *Category (Advanced Features)*, DCC compliance — give international customers the choice to pay in their home currency (Mastercard, Visa, Discover).
- [Webhook notifications](https://developer.elavon.com/readmes/webhook-notifications.md): *Category (Advanced Features)*, Configure push notifications (webhooks) for transaction, payment session, and payment link events with automatic retry on failure.
- [Expand query parameter](https://developer.elavon.com/readmes/expand-query-parameter.md): *Category (Advanced Features)*, Use the expand query parameter to inline nested resource fields in API responses, reducing the need for follow-up requests.

## API Reference

### Accounts

- [Retrieve Accounts](https://developer.elavon.com/readmes/get-accounts.md): *API Category (Accounts)*, GET /accounts — Retrieve a list of all accounts. [200] Query params: pageToken, limit. (RetrieveAccounts)
- [Retrieve Account](https://developer.elavon.com/readmes/get-accounts-id.md): *API Category (Accounts)*, GET /accounts/{id} — Retrieve a single Account. A merchant may have multiple accounts, each with its own processor configuration. [200] (Account)

### Apple Pay Payment Sessions

- [Create ApplePayPaymentSession](https://developer.elavon.com/readmes/post-apple-pay-payment-sessions.md): *API Category (Apple Pay Payment Sessions)*, POST /apple-pay-payment-sessions — Create an Apple Pay payment session. [201] Requires: initiativeContext. (CreateApplePayPaymentSession)

### Apple Pay Payments

- [Create ApplePayPayment](https://developer.elavon.com/readmes/post-apple-pay-payments.md): *API Category (Apple Pay Payments)*, POST /apple-pay-payments — Submit an Apple Pay token to create a payment. [201] Examples: Create an Apple Pay payment.. (CreateApplePayPayment)
- [Retrieve ApplePayPayment](https://developer.elavon.com/readmes/get-apple-pay-payments-id.md): *API Category (Apple Pay Payments)*, GET /apple-pay-payments/{id} — Retrieve an Apple Pay payment resource by ID. [200] (RetrieveApplePayPayment)

### Batches

- [Retrieve Batches](https://developer.elavon.com/readmes/get-batches.md): *API Category (Batches)*, GET /batches — Retrieve a list of batches in descending chronological order. [200] Query params: pageToken, limit. (RetrieveBatches)
- [Retrieve Batch](https://developer.elavon.com/readmes/get-batches-id.md): *API Category (Batches)*, GET /batches/{id} — Retrieve a single settlement batch containing its associated transactions. [200] (RetrieveBatch)

### Card Verifications

- [Create Card Verification](https://developer.elavon.com/readmes/post-card-verifications.md): *API Category (Card Verifications)*, POST /card-verifications — Verify a card (zero-amount auth) without creating a transaction. [201] Requires: card. (CreateCardVerification)

### Forex Advices

- [Create ForexAdvice](https://developer.elavon.com/readmes/post-forex-advices.md): *API Category (Forex Advices)*, POST /forex-advices — Creates a ForexAdvice resource. [201] Requires: shopperInteraction, total. Returns: `{ id, href, foreignTotal, exchangeRate, marginPercentage, ... }`. (CreateForexAdvice)
- [Retrieve ForexAdvice](https://developer.elavon.com/readmes/get-forex-advices-id.md): *API Category (Forex Advices)*, GET /forex-advices/{id} — Retrieve a previously created ForexAdvice by id. [200] (RetrieveForexAdvice)

### Google Pay Payments

- [Create GooglePayPayment](https://developer.elavon.com/readmes/post-google-pay-payments.md): *API Category (Google Pay Payments)*, POST /google-pay-payments — Submit a Google Pay token to create a payment. [201] Examples: Create a Google Pay payment.. (CreateGooglePayPayment)
- [Retrieve GooglePayPayment](https://developer.elavon.com/readmes/get-google-pay-payments-id.md): *API Category (Google Pay Payments)*, GET /google-pay-payments/{id} — Retrieve a Google Pay payment resource by ID. [200] (RetrieveGooglePayPayment)

### Hosted ACH Payments

- [Create a hosted ACH payment.](https://developer.elavon.com/readmes/post-hosted-ach-payments.md): *API Category (Hosted ACH Payments)*, POST /hosted-ach-payments — Creates a hosted ACH payment resource. [201] Requires: achPayment. (CreateHostedAchPayment)
- [Retrieve Hosted ACH Payment resource](https://developer.elavon.com/readmes/get-hosted-ach-payments-id.md): *API Category (Hosted ACH Payments)*, GET /hosted-ach-payments/{id} — Retrieve a Hosted ACH Payment by resource ID. [200] (RetrieveHostedACHPayment)

### Hosted Cards

- [Create HostedCard](https://developer.elavon.com/readmes/post-hosted-cards.md): *API Category (Hosted Cards)*, POST /hosted-cards — Creates a HostedCard resource. [201] Requires: card. (CreateHostedCard)
- [Retrieve HostedCard](https://developer.elavon.com/readmes/get-hosted-cards-id.md): *API Category (Hosted Cards)*, GET /hosted-cards/{id} — Retrieve a hosted card resource by its resource ID. [200] (RetrieveHostedCard)
- [Update HostedCard](https://developer.elavon.com/readmes/post-hosted-cards-id.md): *API Category (Hosted Cards)*, POST /hosted-cards/{id} — Overwrite the details of an existing hosted card resource. [200] Requires: card. (UpdateHostedCard)

### Hsm Cards

- [Create HsmCard](https://developer.elavon.com/readmes/post-hsm-cards.md): *API Category (Hsm Cards)*, POST /hsm-cards — Create an HSM-encrypted card resource for terminal/card-present transactions. Requires terminal and account entry mode. [201] Requires: terminal, accountEntryMode. (CreateHsmCard)
- [Retrieve HsmCard](https://developer.elavon.com/readmes/get-hsm-cards-id.md): *API Category (Hsm Cards)*, GET /hsm-cards/{id} — Retrieve an HSM (Hardware Security Module) encrypted card resource used for terminal-based transactions. [200] (RetrieveHsmCard)

### Manual Batches

- [Create Manual Batch](https://developer.elavon.com/readmes/post-manual-batches.md): *API Category (Manual Batches)*, POST /manual-batches — Mark selected transactions for manual settlement outside the automatic batch cycle. [201] Requires: account. (CreateManualBatch)
- [Retrieve Manual Batches](https://developer.elavon.com/readmes/get-manual-batches.md): *API Category (Manual Batches)*, GET /manual-batches — Retrieve a list of manual batches. [200] Query params: pageToken, limit. (RetrieveManualBatches)
- [Retrieve Manual Batch](https://developer.elavon.com/readmes/get-manual-batches-id.md): *API Category (Manual Batches)*, GET /manual-batches/{id} — Retrieve a Manual Batch created for manual settlement of selected transactions. [200] (RetrieveManualBatch)
- [Update Manual Batch](https://developer.elavon.com/readmes/post-manual-batches-id.md): *API Category (Manual Batches)*, POST /manual-batches/{id} — Update an existing Manual Batch. [200] (UpdateManualBatch)

### Merchants

- [Retrieve Merchants](https://developer.elavon.com/readmes/get-merchants.md): *API Category (Merchants)*, GET /merchants — Return the merchant based on the merchantAlias used to authenticate. [200] Query params: pageToken, limit. (RetrieveMerchants)
- [Retrieve Merchant](https://developer.elavon.com/readmes/get-merchants-id.md): *API Category (Merchants)*, GET /merchants/{id} — Retrieve details of a Merchant including name, contact info, and linked accounts. [200] (RetrieveMerchant)

### Notifications

- [Retrieve Notifications](https://developer.elavon.com/readmes/get-notifications.md): *API Category (Notifications)*, GET /notifications — Get a list of Notifications. [200] Query params: pageToken, limit. (RetrieveNotifications)
- [Retrieve Notification](https://developer.elavon.com/readmes/get-notifications-id.md): *API Category (Notifications)*, GET /notifications/{id} — Retrieve details of a webhook notification event, including delivery status and payload. [200] (RetrieveNotification)

### Orders

- [Create Order](https://developer.elavon.com/readmes/post-orders.md): *API Category (Orders)*, POST /orders — Creates an order. [201] Requires: total. Returns: `{ id, href, total, customReference, ... }`. (CreateOrder)
- [Retrieve Orders](https://developer.elavon.com/readmes/get-orders.md): *API Category (Orders)*, GET /orders — Retrieves all Orders. [200] Query params: pageToken, limit. (RetrieveOrders)
- [Retrieve Order](https://developer.elavon.com/readmes/get-orders-id.md): *API Category (Orders)*, GET /orders/{id} — Get an Order by resource ID. [200] (RetrieveOrder)
- [Update Order](https://developer.elavon.com/readmes/post-orders-id.md): *API Category (Orders)*, POST /orders/{id} — Overwrite an existing Order. [200] Examples: Update Order. (UpdateOrder)

### Pan Tokens

- [Create PanTokens](https://developer.elavon.com/readmes/post-pan-tokens.md): *API Category (Pan Tokens)*, POST /pan-tokens — Tokenize one or more PANs (card numbers) for PCI-compliant storage; tokens are unique per merchant. [201] (CreatePanTokens)

### Payment Link Events

- [Create PaymentLinkEvent](https://developer.elavon.com/readmes/post-payment-link-events.md): *API Category (Payment Link Events)*, POST /payment-link-events — Create a Payment Link Event. [201] Requires: paymentLink, type, shopperEmailAddress. (CreatePaymentLinkEvent)
- [Retrieve PaymentLinkEvent](https://developer.elavon.com/readmes/get-payment-link-events-id.md): *API Category (Payment Link Events)*, GET /payment-link-events/{id} — Retrieve a Payment Link Event by ID. [200] (RetrievePaymentLinkEvent)
- [Retrieve PaymentLinks PaymentLinkEvents](https://developer.elavon.com/readmes/get-payment-links-id-payment-link-events.md): *API Category (Payment Link Events)*, GET /payment-links/{id}/payment-link-events — Retrieve a list of Payment Link Events associated with a Payment Link. [200] (RetrievePaymentLinksPaymentLinkEvents)

### Payment Links

- [Create PaymentLink](https://developer.elavon.com/readmes/post-payment-links.md): *API Category (Payment Links)*, POST /payment-links — Create a Payment Link. [201] Requires: expiresAt, total. Returns: `{ id, href, paymentPageUrl, expiresAt, total, state, ... }`. (CreatePaymentLink)
- [Retrieve PaymentLinks](https://developer.elavon.com/readmes/get-payment-links.md): *API Category (Payment Links)*, GET /payment-links — Get a list of Payment Links. [200] Query params: pageToken, limit. (RetrievePaymentLinks)
- [Retrieve PaymentLink](https://developer.elavon.com/readmes/get-payment-links-id.md): *API Category (Payment Links)*, GET /payment-links/{id} — Retrieve a Payment Link by ID. [200] (RetrievePaymentLink)
- [Update PaymentLink](https://developer.elavon.com/readmes/post-payment-links-id.md): *API Category (Payment Links)*, POST /payment-links/{id} — Overwrite an existing Payment Link. [200] Examples: Update Custom Reference; Update Custom Fields. (UpdatePaymentLink)

### Payment Method Links

- [Create PaymentMethodLink](https://developer.elavon.com/readmes/post-payment-method-links.md): *API Category (Payment Method Links)*, POST /payment-method-links — Create a payment method link. [201] Requires: expiresAt, shopper. (CreatePaymentMethodLink)
- [Retrieve Payment Method Links](https://developer.elavon.com/readmes/get-payment-method-links.md): *API Category (Payment Method Links)*, GET /payment-method-links — Retrieves all Payment Method Links. [200] Query params: pageToken, limit. (RetrievePaymentMethodLinks)
- [Retrieve PaymentMethodLink](https://developer.elavon.com/readmes/get-payment-method-links-id.md): *API Category (Payment Method Links)*, GET /payment-method-links/{id} — Retrieve a payment method link resource by ID. [200] (RetrievePaymentMethodLink)
- [Update PaymentMethodLink](https://developer.elavon.com/readmes/post-payment-method-links-id.md): *API Category (Payment Method Links)*, POST /payment-method-links/{id} — Overwrite an existing payment method link (e.g., update custom fields). [200] Examples: Update custom fields.. (UpdatePaymentMethodLink)

### Payment Method Sessions

- [Create PaymentMethodSession](https://developer.elavon.com/readmes/post-payment-method-sessions.md): *API Category (Payment Method Sessions)*, POST /payment-method-sessions — Create a session to capture a shopper's payment method without charging. [201] Examples: Create payment method session.. (CreatePaymentMethodSession)
- [Retrieve Payment Method Sessions](https://developer.elavon.com/readmes/get-payment-method-sessions.md): *API Category (Payment Method Sessions)*, GET /payment-method-sessions — Retrieves all Payment Method Sessions. [200] Query params: pageToken, limit. (RetrievePaymentMethodSessions)
- [Retrieve PaymentMethodSession](https://developer.elavon.com/readmes/get-payment-method-sessions-id.md): *API Category (Payment Method Sessions)*, GET /payment-method-sessions/{id} — Retrieve a payment method session resource by ID. [200] (RetrievePaymentMethodSession)
- [Update PaymentMethodSession](https://developer.elavon.com/readmes/post-payment-method-sessions-id.md): *API Category (Payment Method Sessions)*, POST /payment-method-sessions/{id} — Overwrite an existing payment method session with new information. [200] Examples: Update Billing; Update custom fields.. (UpdatePaymentMethodSession)

### Payment Sessions

- [Create PaymentSession](https://developer.elavon.com/readmes/post-payment-sessions.md): *API Category (Payment Sessions)*, POST /payment-sessions — Create a payment session. [201] Requires: order. Returns: `{ id, href, paymentPageUrl, order, ... }`. (CreatePaymentSession)
- [Retrieve PaymentSession](https://developer.elavon.com/readmes/get-payment-sessions-id.md): *API Category (Payment Sessions)*, GET /payment-sessions/{id} — Retrieve a payment session resource by ID. [200] Returns: `{ id, href, paymentPageUrl, order, state, transaction, ... }`. (RetrievePaymentSession)
- [Update PaymentSession](https://developer.elavon.com/readmes/post-payment-sessions-id.md): *API Category (Payment Sessions)*, POST /payment-sessions/{id} — Overwrite an existing payment session with new information. [200] Examples: Update Billing; Update Email. (UpdatePaymentSession)

### Paze Payments

- [Create PazePayment](https://developer.elavon.com/readmes/post-paze-payments.md): *API Category (Paze Payments)*, POST /paze-payments — Submit a Paze wallet token to create a payment. [201] Requires: payloadId, sessionId. (CreatePazePayment)
- [Retrieve PazePayment](https://developer.elavon.com/readmes/get-paze-payments-id.md): *API Category (Paze Payments)*, GET /paze-payments/{id} — Retrieve a Paze payment resource by ID. [200] (RetrievePazePayment)

### Plan Lists

- [Retrieve PlanLists](https://developer.elavon.com/readmes/get-plan-lists.md): *API Category (Plan Lists)*, GET /plan-lists — Retrieve all read-only PlanList resources (one per Account) containing subscription Plans. [200] Query params: pageToken, limit. (RetrievePlanLists)
- [Retrieve PlanList](https://developer.elavon.com/readmes/get-plan-lists-id.md): *API Category (Plan Lists)*, GET /plan-lists/{id} — A read-only collection of Plans associated with an Account for subscription billing. [200] (RetrievePlanList)

### Plans

- [Create Plan](https://developer.elavon.com/readmes/post-plans.md): *API Category (Plans)*, POST /plans — Creates a Plan. [201] Requires: name, billingInterval, total. Returns: `{ id, href, name, billingInterval, total, ... }`. (CreatePlan)
- [Retrieve Plans](https://developer.elavon.com/readmes/get-plans.md): *API Category (Plans)*, GET /plans — Retrieve all Plans. [200] Query params: pageToken, limit. (RetrievePlans)
- [Retrieve Plan](https://developer.elavon.com/readmes/get-plans-id.md): *API Category (Plans)*, GET /plans/{id} — Retrieve a Plan by resource ID. [200] (RetrievePlan)
- [Update Plan](https://developer.elavon.com/readmes/post-plans-id.md): *API Category (Plans)*, POST /plans/{id} — Overwrite an existing Plan. [200] Examples: Update Plan. (UpdatePlan)
- [Delete Plan](https://developer.elavon.com/readmes/delete-plans-id.md): *API Category (Plans)*, DELETE /plans/{id} — Delete a Plan. [204] (DeletePlan)

### Processor Accounts

- [Retrieve ProcessorAccounts](https://developer.elavon.com/readmes/get-processor-accounts.md): *API Category (Processor Accounts)*, GET /processor-accounts — Retrieve all processor accounts. [200] Query params: pageToken, limit. (RetrieveProcessorAccounts)
- [Retrieve ProcessorAccount](https://developer.elavon.com/readmes/get-processor-accounts-id.md): *API Category (Processor Accounts)*, GET /processor-accounts/{id} — Retrieve a Processor Account by resource ID. [200] (RetrieveProcessorAccount)

### Refund Surcharge Advices

- [Create RefundSurchargeAdvice](https://developer.elavon.com/readmes/post-refund-surcharge-advices.md): *API Category (Refund Surcharge Advices)*, POST /refund-surcharge-advices — Create a refund surcharge advice. [201] Requires: parentTransaction. (CreateRefundSurchargeAdvice)
- [Retrieve RefundSurchargeAdvice](https://developer.elavon.com/readmes/get-refund-surcharge-advices-id.md): *API Category (Refund Surcharge Advices)*, GET /refund-surcharge-advices/{id} — Retrieve a refund surcharge advice resource by ID. [200] (RetrieveRefundSurchargeAdvice)

### Shoppers

- [Create Shopper](https://developer.elavon.com/readmes/post-shoppers.md): *API Category (Shoppers)*, POST /shoppers — Create a Shopper resource. [201] Requires: fullName. Returns: `{ id, href, fullName, emailAddress, ... }`. (CreateShopper)
- [Retrieve Shoppers](https://developer.elavon.com/readmes/get-shoppers.md): *API Category (Shoppers)*, GET /shoppers — Retrieve a list of all shoppers. [200] Query params: pageToken, limit. (RetrieveShoppers)
- [Retrieve Shopper](https://developer.elavon.com/readmes/get-shoppers-id.md): *API Category (Shoppers)*, GET /shoppers/{id} — Retrieve a Shopper by resource ID. [200] (RetrieveShopper)
- [Retrieve Shoppers StoredCards](https://developer.elavon.com/readmes/get-shoppers-id-stored-cards.md): *API Category (Shoppers)*, GET /shoppers/{id}/stored-cards — Retrieve a list of Stored Cards associated with a Shopper. [200] (RetrieveShoppersStoredCards)
- [Update Shopper](https://developer.elavon.com/readmes/post-shoppers-id.md): *API Category (Shoppers)*, POST /shoppers/{id} — Overwrite an existing Shopper resource. [200] Requires: fullName. (UpdateShopper)
- [Delete Shopper](https://developer.elavon.com/readmes/delete-shoppers-id.md): *API Category (Shoppers)*, DELETE /shoppers/{id} — Delete a Shopper. [204] (DeleteShopper)

### Stored ACH Payments

- [Create Stored ACH payment](https://developer.elavon.com/readmes/post-stored-ach-payments.md): *API Category (Stored ACH Payments)*, POST /stored-ach-payments — Create a Stored ACH payment resource. [201] (CreateStoredAchPayment)
- [Retrieve StoredAchPayment](https://developer.elavon.com/readmes/get-stored-ach-payments-id.md): *API Category (Stored ACH Payments)*, GET /stored-ach-payments/{id} — Retrieve a stored ACH payment by resource ID. [200] (RetrieveStoredAchPayment)
- [Update StoredAchPayment](https://developer.elavon.com/readmes/post-stored-ach-payments-id.md): *API Category (Stored ACH Payments)*, POST /stored-ach-payments/{id} — Overwrite an existing stored ACH payment resource. [200] (UpdateStoredAchPayment)
- [Delete StoredAchPayment](https://developer.elavon.com/readmes/delete-stored-ach-payments-id.md): *API Category (Stored ACH Payments)*, DELETE /stored-ach-payments/{id} — Delete a stored ACH payment resource. [204] (DeleteStoredAchPayment)

### Stored Cards

- [Create StoredCard](https://developer.elavon.com/readmes/post-stored-cards.md): *API Category (Stored Cards)*, POST /stored-cards — Create a Stored Card resource. [201] Requires: shopper. Returns: `{ id, href, last4, expirationMonth, expirationYear, cardBrand, shopper, ... }`. (CreateStoredCard)
- [Retrieve StoredCard](https://developer.elavon.com/readmes/get-stored-cards-id.md): *API Category (Stored Cards)*, GET /stored-cards/{id} — Retrieve a stored card by resource ID. [200] (RetrieveStoredCard)
- [Update StoredCard](https://developer.elavon.com/readmes/post-stored-cards-id.md): *API Category (Stored Cards)*, POST /stored-cards/{id} — Overwrite an existing stored card resource. [200] Examples: Update stored card custom fields; Update stored card expiration. (UpdateStoredCard)
- [Delete StoredCard](https://developer.elavon.com/readmes/delete-stored-cards-id.md): *API Category (Stored Cards)*, DELETE /stored-cards/{id} — Delete a stored card resource. [204] (DeleteStoredCard)

### Subscriptions

- [Create Subscription](https://developer.elavon.com/readmes/post-subscriptions.md): *API Category (Subscriptions)*, POST /subscriptions — Create a subscription for a customer. [201] Requires: plan, storedCard, firstBillAt, timeZoneId. Returns: `{ id, href, plan, storedCard, state, firstBillAt, nextBillAt, ... }`. (CreateSubscription)
- [Retrieve Subscriptions](https://developer.elavon.com/readmes/get-subscriptions.md): *API Category (Subscriptions)*, GET /subscriptions — Retrieve all subscriptions. [200] Query params: pageToken, limit. (RetrieveSubscriptions)
- [Retrieve Subscription](https://developer.elavon.com/readmes/get-subscriptions-id.md): *API Category (Subscriptions)*, GET /subscriptions/{id} — Retrieve a subscription by resource ID. [200] (RetrieveSubscription)
- [Update Subscription](https://developer.elavon.com/readmes/post-subscriptions-id.md): *API Category (Subscriptions)*, POST /subscriptions/{id} — Overwrite an existing subscription resource. [200] Examples: Update Subscription. (UpdateSubscription)

### Surcharge Advices

- [Create SurchargeAdvice](https://developer.elavon.com/readmes/post-surcharge-advices.md): *API Category (Surcharge Advices)*, POST /surcharge-advices — Create a surcharge advice. [201] Requires: total. Returns: `{ id, href, surchargeAmount, totalWithSurcharge, ... }`. (CreateSurchargeAdvice)
- [Retrieve SurchargeAdvice](https://developer.elavon.com/readmes/get-surcharge-advices-id.md): *API Category (Surcharge Advices)*, GET /surcharge-advices/{id} — Retrieve a surcharge advice resource by ID. [200] (RetrieveSurchargeAdvice)

### Terminals

- [Retrieve Terminals](https://developer.elavon.com/readmes/get-terminals.md): *API Category (Terminals)*, GET /terminals — Retrieve a list of all terminals. [200] Query params: pageToken, limit. (RetrieveTerminals)
- [Retrieve Terminal details](https://developer.elavon.com/readmes/get-terminals-id.md): *API Category (Terminals)*, GET /terminals/{id} — Retrieve terminal resource by ID. [200] (RetrieveTerminal)
- [Retrieve EMV keys](https://developer.elavon.com/readmes/get-terminals-id-emv-keys.md): *API Category (Terminals)*, GET /terminals/{id}/emv-keys — Retrieve a list of all EMV keys. [200] (RetrieveEmvKeys)
- [Retrieve Provisioning Code](https://developer.elavon.com/readmes/get-terminals-id-provisioning-codes.md): *API Category (Terminals)*, GET /terminals/{id}/provisioning-codes — Retrieve the provisioning code. [200] (RetrieveProvisioningCode)
- [Create Apple Tap To Pay token](https://developer.elavon.com/readmes/post-terminals-id-apple-tap-to-pay-token.md): *API Category (Terminals)*, POST /terminals/{id}/apple-tap-to-pay-token — Generate an Apple Tap to Pay token for in-person contactless acceptance. [201] (CreateAppleTapToPayToken)

### Total Adjustment Surcharge Advices

- [Create total adjustment surcharge advice](https://developer.elavon.com/readmes/post-total-adjustment-surcharge-advices.md): *API Category (Total Adjustment Surcharge Advices)*, POST /total-adjustment-surcharge-advices — Create total adjustment surcharge advice. [201] Requires: transaction. (CreateTotalAdjustmentSurchargeAdvice)
- [Retrieve total adjustment surcharge advice details](https://developer.elavon.com/readmes/get-total-adjustment-surcharge-advices-id.md): *API Category (Total Adjustment Surcharge Advices)*, GET /total-adjustment-surcharge-advices/{id} — Retrieve TotalAdjustmentSurchargeAdvice resource by ID. [200] (RetrieveTotalAdjustmentSurchargeAdvice)

### Total Adjustments

- [Create total adjustment](https://developer.elavon.com/readmes/post-total-adjustments.md): *API Category (Total Adjustments)*, POST /total-adjustments — Adjust the transaction's total/tip amount. [201] Requires: transaction. (CreateTotalAdjustment)
- [Retrieve Total Adjustment details](https://developer.elavon.com/readmes/get-total-adjustments-id.md): *API Category (Total Adjustments)*, GET /total-adjustments/{id} — Retrieve TotalAdjustment resource by ID. [200] (RetrieveTotalAdjustment)
- [Retrieve Total Adjustments](https://developer.elavon.com/readmes/get-transactions-id-total-adjustments.md): *API Category (Total Adjustments)*, GET /transactions/{id}/total-adjustments — Retrieve all adjustments [200] (RetrieveTotalAdjustments)

### Transactions

- [Create Transaction](https://developer.elavon.com/readmes/post-transactions.md): *API Category (Transactions)*, POST /transactions — Create a Transaction. [201] Examples: Create 'sale' transaction with expired card; Create 'sale' transaction with a hosted card.; Create 'void' transaction for 'sale' transaction. Returns: `{ id, href, type, state, total, isAuthorized, authorizationCode, card, ... }`. (CreateTransaction)
- [Retrieve Transactions](https://developer.elavon.com/readmes/get-transactions.md): *API Category (Transactions)*, GET /transactions — Retrieve all Transactions. [200] Query params: limit, pageToken, queryParams. (RetrieveTransactions)
- [Retrieve Transaction](https://developer.elavon.com/readmes/get-transactions-id.md): *API Category (Transactions)*, GET /transactions/{id} — Retrieve a Transaction by ID. [200] Returns: `{ id, href, type, state, total, isAuthorized, authorizationCode, card, order, batch, ... }`. (RetrieveTransaction)
- [Update Transaction](https://developer.elavon.com/readmes/post-transactions-id.md): *API Category (Transactions)*, POST /transactions/{id} — Overwrite an existing Transaction. [200] Examples: Update and capture 'sale' transaction. (UpdateTransaction)
- [Create email receipt request](https://developer.elavon.com/readmes/post-transactions-id-email-receipt-requests.md): *API Category (Transactions)*, POST /transactions/{id}/email-receipt-requests — Send an email receipt for a completed transaction to a specified email address. [201] Requires: shopperEmailAddress. (CreateEmailReceiptRequest)
