# Praxis Docs Documentation > Documentation for building, integrating, and orchestrating payment workflows with Praxis. Append .md to any documentation page URL to get its markdown version. ## Guides - [Introduction to Praxis Products](https://docs.praxis.tech/docs/get-started.md): How Praxis can support your payment needs. - [Set up the Integration](https://docs.praxis.tech/docs/set-up-the-integration.md) - [Authentication](https://docs.praxis.tech/docs/authentication.md): Every request to Praxis APIs requires a secure signature. This guide explains how to generate and validate these signatures correctly. - [PCI DSS](https://docs.praxis.tech/docs/pci-dss.md) - [Hosted Payment Page (Cashier)](https://docs.praxis.tech/docs/hosted-payment-page.md): A fully hosted secure payment solution - [Payment Page SDK](https://docs.praxis.tech/docs/payment-page-sdk.md): Allows custom code execution by listening for predefined events occurring within the Payment Page(Cashier) SDK. - [Withdrawal Management](https://docs.praxis.tech/docs/withdrawal-management.md): Withdrawal management is the process of handling a customer's request for funds, including merchant approval, processing, and eventual fulfillment via subsequent payout or refund transactions. - [Return URLs & Dynamic Redirects](https://docs.praxis.tech/docs/return-urls-and-dynamic-redirects.md): Learn how to configure Return URLs, use dynamic placeholders, and securely redirect customers back to your application after a transaction made from the Hosted Payment Page(Cashier) . - [Hosted Payment Fields](https://docs.praxis.tech/docs/hosted-payment-fields.md): PCI-compliant card payment fields - [Payment Field SDK Events and API functions](https://docs.praxis.tech/docs/payment-fields-events.md): Event-driven callbacks for real-time field validation and programmatic functions for card data retrieval, selection, and secure tokenization within the Hosted Payment Fields (HPF). - [Customizing payment fields](https://docs.praxis.tech/docs/customizing-payment-fields.md): Control the presentation and behavior of card input fields rendered by the SDK - [Server to Server](https://docs.praxis.tech/docs/server-to-server.md): This integration approach, grants merchants maximum control by enabling direct communication between their backend and the payment gateway. - [Google Pay](https://docs.praxis.tech/docs/google-pay.md): Google Payâ„¢ is a supported digital wallet option within the Praxis Cashier, enabling secure, tokenized card payments and reducing the PCI DSS compliance burden for merchants. - [Apple Pay](https://docs.praxis.tech/docs/apple-pay.md) - [Zero Amount Authorization](https://docs.praxis.tech/docs/zero-amount-authorization.md) - [Transaction Lifecycle](https://docs.praxis.tech/docs/transaction-lifecycle.md): This describes the specific processing flow and sequence of status changes for each transaction type based on its unique characteristics. - [Transaction Statuses](https://docs.praxis.tech/docs/transaction-statuses.md): An overview of the payment statuses seen during deposits, payouts, refunds, and withdrawals. - [API Status & Error Codes](https://docs.praxis.tech/docs/api-status-and-error-codes.md): This document outlines the API response status codes and descriptions. - [Data Formats](https://docs.praxis.tech/docs/data-formats.md): This section defines standardized formats for currency, phone numbers, and locales used across the API. - [Understanding Amounts](https://docs.praxis.tech/docs/understanding-amounts.md): This section describes how amounts are handled throughout a transaction, covering essential aspects like fees, currency conversion, and the final values used for crediting or debiting the customer's balance. - [Crypto Currencies](https://docs.praxis.tech/docs/crypto-currencies.md): Cryptocurrencies are distinct from fiat currencies due to their high volatility, granular fractional values, and dynamic, decentralized market structure, making unique technical integration considerations vital. - [Testing](https://docs.praxis.tech/docs/testing.md): This section outlines the specific test cases and credentials required to simulate various transaction outcomes using our dedicated testing interfaces. - [MCP](https://docs.praxis.tech/docs/mcp.md) ## API Reference - [Create Payment Request](https://docs.praxis.tech/reference/cashierpaymentrequest.md) - [Create Payment Request](https://docs.praxis.tech/reference/virtualterminalpaymentrequest.md) - [Create authorization or sale](https://docs.praxis.tech/reference/createauthorizationorsalerequestcard.md) - [Create payout](https://docs.praxis.tech/reference/createpayoutcard.md) - [Create sale with wallet data](https://docs.praxis.tech/reference/createsaleapmrequest.md) - [Create sale with wallet token](https://docs.praxis.tech/reference/createsalerequestwallettoken.md) - [Create payout with wallet data](https://docs.praxis.tech/reference/createpayoutapmrequest.md) - [Create payout with wallet token](https://docs.praxis.tech/reference/createpayoutapmwallettokenrequest.md) - [Open HPF Session](https://docs.praxis.tech/reference/openhpfsession.md) - [Get Customer Cards](https://docs.praxis.tech/reference/getcustomercards.md) - [Get Card details](https://docs.praxis.tech/reference/carddetails.md) - [Get Customer Wallet Tokens](https://docs.praxis.tech/reference/getcustomerwallettokens.md) - [Remove Customer Card](https://docs.praxis.tech/reference/removecustomercard.md) - [Remove Customer Wallet Token](https://docs.praxis.tech/reference/removecustomerwallettoken.md) - [Capture or Cancel authorization request](https://docs.praxis.tech/reference/captureorcancelauthorizationrequest.md) - [Complete or Cancel withdrawal request](https://docs.praxis.tech/reference/completeorcancelwithdrawalrequest.md) - [Create Split Withdrawal request](https://docs.praxis.tech/reference/createsplitwithdrawalrequest.md) - [Create Refund](https://docs.praxis.tech/reference/createrefund.md) - [Find Transaction](https://docs.praxis.tech/reference/findtransaction.md) - [Find Order](https://docs.praxis.tech/reference/findorder.md) - [Get available gateways](https://docs.praxis.tech/reference/getavailablegateways.md) - [Get gateway options](https://docs.praxis.tech/reference/getgatewayoptions.md) - [Get Available Subscription Plans](https://docs.praxis.tech/reference/getavailablesubscriptionplans.md) - [Get Subscription Plan](https://docs.praxis.tech/reference/getsubscriptionplan.md) - [Update Subscription Plan](https://docs.praxis.tech/reference/updatesubscriptionplan.md) - [Create Subscription Plan Price](https://docs.praxis.tech/reference/createsubscriptionplanprice.md) - [Delete Subscription Plan Price](https://docs.praxis.tech/reference/deletesubscriptionplanprice.md) - [Create Subscription Plan](https://docs.praxis.tech/reference/createsubscriptionplan.md) - [Create Subscription](https://docs.praxis.tech/reference/createsubscription.md) - [Update Subscription](https://docs.praxis.tech/reference/updatesubscription.md) - [Update Subscription Payment Method](https://docs.praxis.tech/reference/updatesubscriptionpaymentmethod.md) - [Get Customer Subscriptions](https://docs.praxis.tech/reference/getcustomersubscriptions.md) - [Get Subscription Payment History](https://docs.praxis.tech/reference/gesubscriptionpaymenthistory.md) - [Payment Notification](https://docs.praxis.tech/reference/paymentnotification.md): Notification from Praxis where merchant would receive the latest status of the transaction.

Note: You would be sending notification_url as part of Initiate payment payload and Praxis would send the latest status to this mentioned url.

Important Guidelines
- [Payment Validation](https://docs.praxis.tech/reference/paymentvalidation.md): Webhook that allows the merchant to approve or reject a transaction after payment details are submitted in [Cashier](/reference/cashierpaymentrequest) or [Virtual Terminal](/reference/virtualterminalpaymentrequest) before processing.

Note: You must pass the validation_url as part of the Cashier or Virtual Terminal Initiate Payment payload, and Praxis will send the validation request to this URL.

- [Customer Sync Notification](https://docs.praxis.tech/reference/customersync.md): Notification from Praxis where the merchant receives the customer's details from their CRM when an agent attempts to access the Virtual Terminal for a customer from the Backoffice. To enable this retrieval, the CRM must implement an API callback endpoint that will be available to receive the request from Praxis and respond with the appropriate customer information.

Important: Ensure that you have provided the callback URL to your technical support representative before attempting to use the Virtual Terminal.

- [Subscription Notification](https://docs.praxis.tech/reference/subscriptionnotification.md): Notification from Praxis where merchant would receive subscription notifications when provided a [`notification_url`]() while creating new a new subscription using the /api/v1.3/subscription endpoint (or via the Atlas Back Office).