# Introduction

Welcome to the OxaPay Crypto Payment Gateway documentation. OxaPay provides a robust and secure platform for processing cryptocurrency payments, allowing businesses and developers to easily integrate cryptocurrency payments into their applications and websites.

### What is OxaPay?

OxaPay is a leading crypto payment gateway that enables businesses to accept payments in various cryptocurrencies securely. With OxaPay, merchants can expand their customer base by offering a convenient and efficient payment method that leverages the benefits of blockchain technology.

### What is the OxaPay API?

The OxaPay API is a powerful RESTful interface that allows developers to interact with their OxaPay accounts programmatically. It provides a comprehensive set of endpoints and methods to facilitate the creation and management of invoices, retrieval of real-time rate information, and processing of payments. The OxaPay API enables seamless integration of crypto payments into applications, e-commerce platforms, and websites.

### Who is this documentation for?

This documentation is designed for developers, merchants, and businesses who wish to integrate OxaPay's crypto payment gateway into their applications or websites. It provides comprehensive information about the OxaPay API, including endpoint descriptions, request and response examples, and use cases. Whether you are a developer looking to implement crypto payments or a merchant seeking to enhance your payment options, this documentation will guide you through the process of integrating and leveraging OxaPay's powerful crypto payment solutions.

Now that you have an overview of OxaPay and the purpose of this documentation, let's get started by creating an account and generating an API key.


# Integrations

You need an OxaPay account for managing and saving your crypto assets. You can create your OxaPay account for free at this link (you just need an email, and you can sign up in less&#x20;than one minute).

{% embed url="<https://app.oxapay.com/signin>" %}


# Payment Link

Create crypto payment invoices effortlessly, without any coding knowledge and just a few clicks. Suitable for any type of business, these links are particularly advantageous for those without a website. Simply share the payment links with customers, get real-time updates on payment status, and receive payments efficiently. Streamline your transactions with reliability and ease.\
Customers can then make payments conveniently by clicking on the provided link. This integration simplifies the payment process and enhances the customer experience.

#### Follow these steps to generate Payment Link:

1. Log in to your OxaPay account.
2. Navigate to the Payment Link page.
3. Fill in the form, then click on the "Generate Payment Link" button.

#### Watch the video below for a step-by-step walkthrough of the process:

{% embed url="<https://www.youtube.com/watch?v=T8ZSVGlsCKc>" %}

{% embed url="<https://app.oxapay.com/payment-link>" %}

<br>


# Donation Service

Create a donation link to let visitors easily support your cause with cryptocurrencies like Bitcoin and Ethereum. With OxaPay, you can start receiving crypto donations in minutes, no technical skills required. Simply add a donation button to your website and share it on social networks like X and Instagram to expand your reach. OxaPay ensures a safe and swift process, making it easy for anyone around the world to support your cause.

#### Follow these steps to generate Donation Link:

1. Log in to your OxaPay account.
2. Navigate to the Donation Link page.
3. Fill in the form, then click on the "Generate Donation Link" button.

#### Watch the video below for a step-by-step walkthrough of the process:

{% embed url="<https://www.youtube.com/watch?v=TxaxoIr2dgo>" %}

{% embed url="<https://app.oxapay.com/donation-service>" %}


# Merchant Service

OxaPay Merchant Services streamlines the integration of cryptocurrency payments for businesses. Offering tools like crypto invoicing, white label solutions, and static addresses, these services cater to a variety of merchant needs. Begin by obtaining a Merchant API key, which enables secure, efficient crypto transactions.

{% embed url="<https://app.oxapay.com/merchant-service>" %}


# Payout Service

OxaPay's Payout service allows businesses to automate and streamline cryptocurrency payouts, enabling efficient mass transfers to multiple recipients. This tool boosts operational efficiency, cuts costs, and ensures accurate payments, making it perfect for webmasters and businesses with frequent payouts. Ideal for rapid, secure fund distribution.

{% embed url="<https://app.oxapay.com/payout-service>" %}


# Swap Service

You can streamline your asset swaps using OxaPay's API. Our platform provides various tools and endpoints to help you identify swap pairs, assess swap rates, and calculate amounts. Begin by obtaining a General API key from your dashboard. With this key, access the swap request endpoint to execute swaps efficiently. This feature is designed to automate and enhance your trading processes, making it easier to manage digital assets directly through API integration.

{% embed url="<https://app.oxapay.com/swap>" %}


# Plugins

OxaPay offers dedicated digital currency payment gateway plugins for various popular eCommerce platforms, making it easier for merchants to integrate cryptocurrency payments into their online stores.

With these plugins, merchants can effortlessly add OxaPay's payment gateway functionality to their eCommerce platforms, allowing customers to choose cryptocurrencies as a payment option during the checkout process. The plugins are designed to ensure a smooth and secure payment experience for customers, while also providing merchants with real-time transaction updates and order management.

<table data-card-size="large" data-view="cards"><thead><tr><th></th><th></th><th></th><th data-hidden data-card-cover data-type="image">Cover image</th><th data-hidden data-card-target data-type="content-ref"></th></tr></thead><tbody><tr><td><strong>WooCommerce</strong></td><td>WooCommerce is an open-source e-commerce plugin for WordPress. It is designed for small to large-sized online merchants using WordPress.</td><td><a href="https://downloads.wordpress.org/plugin/oxapay.1.0.0.zip">Download Plugin</a></td><td><a href="/files/P1RXCPiuOdGFNOCFbOzX">/files/P1RXCPiuOdGFNOCFbOzX</a></td><td><a href="/pages/YjZ2AGXdnzxYprGVMt8a">/pages/YjZ2AGXdnzxYprGVMt8a</a></td></tr><tr><td><strong>WISECP</strong></td><td>WISECP is an all-in-one web hosting automation and management platform. It is designed for web hosting companies, domain registrars, and other online service providers</td><td><a href="https://github.com/OxaPay/oxapay-wisecp/releases/download/v1.0.0/oxapay_wisecp.zip"> Download Plugin</a></td><td><a href="/files/FAUF73TtFKrIvzJQXz8v">/files/FAUF73TtFKrIvzJQXz8v</a></td><td><a href="/pages/0Lb0Cdxry4FscHeHYyws">/pages/0Lb0Cdxry4FscHeHYyws</a></td></tr><tr><td><strong>Clientexec</strong></td><td>Clientexec is a comprehensive billing and client management platform designed specifically for web hosting businesses.</td><td><a href="https://github.com/OxaPay/oxapay-clientexec/releases/download/v1.0.0/oxapay_clientexec.zip">Download Plugin</a></td><td><a href="/files/v0W1hShYHtWlcUrvmaiU">/files/v0W1hShYHtWlcUrvmaiU</a></td><td><a href="/pages/iE2BcqYjuerOYAF79ULX">/pages/iE2BcqYjuerOYAF79ULX</a></td></tr><tr><td><strong>Blesta</strong></td><td>Blesta is an open-source billing and client management platform. It is designed for web hosting companies and other service providers.</td><td><a href="https://github.com/OxaPay/oxapay-blesta/releases/download/v1.0.0/oxapay_blesta.zip">Download Plugin</a></td><td><a href="/files/wV9LNhWOaJJh8szrJZAL">/files/wV9LNhWOaJJh8szrJZAL</a></td><td><a href="/pages/FWs67SRuBzEcy811FgoV">/pages/FWs67SRuBzEcy811FgoV</a></td></tr><tr><td><strong>WHMCS</strong></td><td>WHMCS is a powerful billing and automation platform tailored for web hosting companies, enabling them to manage billing and client accounts.</td><td><a href="https://github.com/OxaPay/oxapay-whmcs/releases/download/v1.0.0/oxapay_whmcs.zip">Download Plugin</a></td><td><a href="/files/8VYVlcAbVi6GWiJln7RD">/files/8VYVlcAbVi6GWiJln7RD</a></td><td><a href="/pages/8IlnO7VhZ8NI0YGSiBaL">/pages/8IlnO7VhZ8NI0YGSiBaL</a></td></tr><tr><td><strong>PrestaShop</strong></td><td>PrestaShop is an open-source e-commerce platform that allows users to create and manage online stores with customizable features.</td><td><a href="https://github.com/OxaPay/oxapay-prestashop/releases/download/v1.0.0/oxapay_prestashop.zip">Download Plugin</a></td><td><a href="/files/PDDFlysi740FkcIqXPPj">/files/PDDFlysi740FkcIqXPPj</a></td><td><a href="/pages/nbm0shuQ0s0CIJSrom10">/pages/nbm0shuQ0s0CIJSrom10</a></td></tr><tr><td><strong>Easy Digital Downloads</strong></td><td>Easy Digital Downloads (EDD) is a popular WordPress plugin designed for selling digital products like ebooks, software, and digital art. </td><td><a href="https://downloads.wordpress.org/plugin/oxapay-payment-gateway-for-easy-digital-downloads.1.0.0.zip">Download Plugin</a></td><td><a href="/files/litiZbAp44FfB6rzKSo9">/files/litiZbAp44FfB6rzKSo9</a></td><td><a href="/pages/XOlK7TSBlrDqDTaRbBJG">/pages/XOlK7TSBlrDqDTaRbBJG</a></td></tr><tr><td><strong>Paid Memberships Pro</strong></td><td>Manage member subscriptions with recurring payments, user registration, custom profile fields, and robust member management.</td><td><a href="https://oxapay.com/plugins/oxapay_pmpro.zip">Download Plugin</a> </td><td><a href="/files/XkweQHvF5T3svxmp6c6S">/files/XkweQHvF5T3svxmp6c6S</a></td><td><a href="/pages/Jf2zZsMWLjr7AQyWnJEW">/pages/Jf2zZsMWLjr7AQyWnJEW</a></td></tr><tr><td><strong>Gravity Forms</strong></td><td>Gravity Forms is a powerful WordPress plugin that allows users to create advanced and customizable forms with ease.</td><td><a href="https://downloads.wordpress.org/plugin/oxapay-crypto-payment-gateway-for-gravity-forms.1.0.0.zip">Download Plugin</a></td><td><a href="/files/AmSGbFQnUKeUovej6wRK">/files/AmSGbFQnUKeUovej6wRK</a></td><td><a href="/pages/Gr5Psdic2PYtrmb9NwFr">/pages/Gr5Psdic2PYtrmb9NwFr</a></td></tr><tr><td>Kadence Memberships</td><td>Kadence Memberships is a powerful WordPress membership plugin that allows you to monetize content access.</td><td><a href="https://github.com/OxaPay/oxapay-restrict-content/releases/download/v1.0.0/oxapay-crypto-payment-gateway-for-restrict-content.zip">Download Plugin</a></td><td><a href="/files/9pp6FTpRaLKJBEZZTEYy">/files/9pp6FTpRaLKJBEZZTEYy</a></td><td><a href="/pages/V0A7KmZuz05yYjbmkvn5">/pages/V0A7KmZuz05yYjbmkvn5</a></td></tr><tr><td>VirtueMart</td><td>VirtueMart is a Free open-source eCommerce extension for Joomla! CMS has been active in development since 2002.</td><td><a href="https://github.com/OxaPay/oxapay-virtuemart/releases/download/v1.0.0/oxapay_virtuemart.zip">Download Plugin</a></td><td><a href="/files/JXR5OchFm5dquMFTaM4v">/files/JXR5OchFm5dquMFTaM4v</a></td><td><a href="/pages/1wYQ8Jw3qwnWj2DZAKgO">/pages/1wYQ8Jw3qwnWj2DZAKgO</a></td></tr><tr><td><strong>OpenCart</strong></td><td>OpenCart is a free, open-source e-commerce platform designed for building and managing online stores.</td><td><a href="https://github.com/OxaPay/oxapay-opencart/releases/download/v1.0.0/oxapay.ocmod.zip">Download Plugin</a></td><td><a href="/files/hlut8A3mZn3IIFFWwOQa">/files/hlut8A3mZn3IIFFWwOQa</a></td><td><a href="/pages/kZHuHjT8YN5oa8t79O7n">/pages/kZHuHjT8YN5oa8t79O7n</a></td></tr><tr><td><strong>Magento 2</strong></td><td>Magento 2 is a powerful open-source eCommerce platform designed to help businesses build scalable online stores. </td><td><a href="https://github.com/OxaPay/oxapay-magento2/releases/download/1.0.0/oxapay_magento2.zip">Download Plugin</a></td><td><a href="/files/pNqOG8amirx7jqjDtuXp">/files/pNqOG8amirx7jqjDtuXp</a></td><td><a href="/pages/dYt6sWViAig0gZ7UnKIx">/pages/dYt6sWViAig0gZ7UnKIx</a></td></tr></tbody></table>


# WordPress


# WooCommerce

## What is WooCommerce?

WooCommerce is a free plugin for the WordPress content management system that allows users to easily set up and manage their online stores. It is one of the most popular and widely used tools for creating e-commerce websites. Due to its high flexibility and the ability to extend its functionality with various plugins and themes, WooCommerce is an ideal choice for both small and large businesses.

## Key Features of WooCommerce:

1. **Free to Use**: WooCommerce is available for free, allowing you to set up your online store without any additional costs.
2. **Integration with WordPress**: WooCommerce is fully integrated with WordPress, enabling you to leverage all of WordPress’s capabilities.
3. **Flexibility**: It offers high customization options through various themes and plugins, allowing you to design your store exactly how you want.
4. **Product Management**: WooCommerce provides easy management of products, allowing you to add, delete, and edit products with details like pricing, images, descriptions, and categories.
5. **Payment Gateways**: It supports multiple payment gateways, including local and international options, making it easy to receive payments from your customers.
6. **Reporting and Analytics**: WooCommerce includes tools for reporting and analyzing your store's performance, helping you monitor and improve your business.
7. **Multilingual Support**: With the help of various plugins, WooCommerce can be set up to support multiple languages, allowing you to serve customers from around the world.
8. **Strong SEO Capabilities**: WooCommerce benefits from WordPress’s powerful SEO features, helping your store get better visibility in search engines.

## OxaPay Plugin For WooCommerce

Integrating OxaPay with WooCommerce is a strategic move to expand your business and achieve new milestones. The OxaPay plugin for WooCommerce enables businesses to accept cryptocurrency as a fully integrated payment method, thereby broadening your customer base and enhancing payment flexibility.

By leveraging WooCommerce, you can efficiently manage various aspects of your online store. Activating the OxaPay plugin on the WooCommerce platform boosts operational efficiency and enhances customer engagement by enabling crypto transactions with minimal fees and fast processing times.

## How To Set Up OxaPay Plugin For WooCommerce?

1. Log in to your WordPress control panel, navigate to the "Plugins" section, and click on "Add New". Select "Upload Plugin" then upload the "OxaPay" plugin ZIP file ([Click here to download it](https://downloads.wordpress.org/plugin/oxapay.1.0.0.zip)) and click on the"Install Now" button.

<figure><img src="/files/wRy25UnJSgu5kLyZpiCQ" alt=""><figcaption></figcaption></figure>

2. Once the plugin is installed, click on "Activate Plugin" to enable it.

<figure><img src="/files/X9c0ezCIjNd8tQpJA7na" alt=""><figcaption></figcaption></figure>

3. In the list of installed plugins, locate OxaPay and click on the "Configure" link.

<figure><img src="/files/Xq6FVCO6FEwrAC3CU281" alt=""><figcaption></figcaption></figure>

4. Enter your OxaPay Merchant API key (You can find this key in your OxaPay dashboard. If you don't have an API key, [click here](/welcome-to-oxapay/integrations/merchant-service) for instructions on how to create one). Complete any other required fields. You can use the "sandbox" mode for testing. Once all the details are filled in, click "Save Changes" to finalize the setup.

<figure><img src="/files/eA0uuuM625G5F3WADI0O" alt=""><figcaption></figcaption></figure>

#### If you encounter the following error:

> “There are no payment methods available. This may be an error on our side. Please contact us if you need any help placing your order.”

#### Simply navigate to the "Checkout" page in the "Pages" section of your WordPress admin panel. Click on "Form" and then select "Switch to classic checkout" to resolve the issue.

#### You can download the OxaPay plugin for WooCommerce by clicking on the file below:

{% file src="/files/ISPFTyIiSHSqCVY9zb1O" %}

We hope this article was helpful to you! The OxaPay plugin for WooCommerce is a powerful and valuable tool to take your business to the next level.


# Easy Digital Downloads

## What is Easy Digital Downloads?

Easy Digital Downloads (EDD) is a popular WordPress plugin designed for selling digital products like ebooks, software, and digital art. It provides an easy-to-use platform for managing downloads, payments, and customer data.

## Key Features of Easy Digital Downloads:

1. **Digital Product Management**: With the robust eCommerce platform that comes with a full-featured shopping cart, Easy Digital Downloads allows you to sell digital products with ease and manage your online store efficiently. With a user-friendly interface and a variety of customization options, Easy Digital Downloads is an excellent choice for anyone looking to sell digital goods online.
2. **Get paid effortlessly**: Provides flexible payment options, including support for popular payment gateways like OxaPay, PayPal, Stripe, and Google Pay, as well as subscriptions, giving customers a range of options to pay in a way that suits them.
3. **Intelligently designed:** The effects of site design on customer behavior are well-known. Easy Digital Downloads plays its role by including a base style that looks great as-is, but is also ready to integrate with any WordPress theme.
4. **Unlimited file downloads:** Easy Digital Downloads is a platform for selling digital products that does not impose any additional bandwidth charges on file downloads. This means that you can sell and distribute your digital products without worrying about any extra fees based on the amount of data transferred to customers.
5. **Automatic access control:** With Easy Digital Downloads, you can rest easy knowing that our secure file delivery system logs every customer interaction, giving you complete control over your business.

## OxaPay Plugin For Easy Digital Downloads

The OxaPay Plugin for Easy Digital Downloads (EDD) is a payment gateway integration that allows digital product sellers to accept payments through OxaPay, a cryptocurrency-based payment system. By integrating this plugin with EDD, store owners can offer their customers the option to pay using various cryptocurrencies, enhancing the flexibility of payment options and catering to a broader audience. The plugin seamlessly integrates into the EDD checkout process, ensuring a smooth and secure transaction experience without compromising usability or security.

In addition to offering cryptocurrency payments, the OxaPay plugin provides features like real-time exchange rate conversions, detailed transaction tracking, and automatic payment confirmations, reducing manual tasks for store owners. This plugin is particularly beneficial for businesses looking to expand globally, as it eliminates issues related to traditional currency conversion fees or regional payment restrictions, making it easier to cater to an international customer base.

## How To Set Up OxaPay Plugin For Easy Digital Downloads?

1. Log in to your WordPress control panel, navigate to the "Plugins" section, and click on "Add New". Select "Upload Plugin" then upload the "OxaPay" plugin ZIP file ([Click here to download it](https://downloads.wordpress.org/plugin/oxapay-payment-gateway-for-easy-digital-downloads.1.0.0.zip)) and click on the"Install Now" button.

<figure><img src="/files/rRpjsQmrfDIypSbVFM0a" alt=""><figcaption></figcaption></figure>

2. Once the plugin is installed, click on "Activate Plugin" to enable it.

<figure><img src="/files/GLk4JuhDnhafnOXxKwnT" alt=""><figcaption></figcaption></figure>

3. Go to your "Easy Digital Downloads" settings and navigate to the Payment section. After activating the OxaPay plugin, in the top bar, you will see an option for OxaPay. Click on it to configure the payment gateway settings.

<figure><img src="/files/l3RvVkJAPz7Gg9GXvbLd" alt=""><figcaption></figcaption></figure>

4. Enter your OxaPay Merchant API key (You can find this key in your OxaPay dashboard. If you don't have an API key, click here for instructions on how to create one). Complete any other fields. You can use the "sandbox" mode for testing. Once all the details are filled in, click "Save Changes" to finalize the setup.

<figure><img src="/files/hzvUpt4494uJuDQMnIyN" alt=""><figcaption></figcaption></figure>

#### You can download the OxaPay plugin for Easy Digital Downloads by clicking on the file below:

{% file src="/files/8TJ1MBnycCeOK12VIMpJ" %}

\
We hope this article was helpful! The OxaPay plugin for Easy Digital Downloads is a powerful and valuable tool that can help take your business to the next level.


# Paid Memberships Pro

## What is Paid Memberships Pro?

Paid Memberships Pro is a popular WordPress plugin designed for managing and selling paid memberships. It allows site administrators to restrict access to content or services based on membership levels, offering exclusive content to paying members. With this plugin, you can set up multiple membership tiers, integrate various payment gateways, and manage access to premium content.

## Key Features of Paid Memberships Pro:

1. **Unlimited Membership Levels**: Create an unlimited number of membership tiers with varying prices and access privileges. Each level can offer unique benefits, allowing you to cater to different types of members or audiences.
2. **Content Restriction**: Restrict access to specific content (such as posts, pages, categories, or custom post types) based on membership status. This lets you offer exclusive content to paying members while keeping general content available to all.
3. **Flexible Payment Gateways**: Integrates seamlessly with popular payment gateways like OxaPay, PayPal, Stripe, and Authorize.net. You can offer different payment methods for your members and manage payments with ease, ensuring a smooth and secure transaction process.
4. **Member Management**: Provides a detailed interface to manage your members, allowing you to view, edit, or update member profiles, change their membership level, or handle billing issues directly from the admin dashboard.
5. **Reports & Analytics**: Track membership statistics with built-in reporting tools that give insights into revenue, active memberships, and overall growth. You can generate custom reports for better decision-making and optimization of your membership strategy.
6. **Email Notifications**: Automate emails for critical events, such as membership signups, renewals, cancellations, and expiration reminders. Customize these email templates to communicate effectively with your members.
7. **Add-ons & Integrations**: Expand the functionality of Paid Memberships Pro with a wide variety of add-ons, like affiliate tracking, WooCommerce integration, or custom member directories. This allows you to scale your membership site and add features as your needs grow.

## OxaPay Plugin For Paid Memberships Pro

The OxaPay Plugin for Paid Memberships Pr**o** is an extension designed to integrate the OxaPay payment gateway with the Paid Memberships Pro plugin, allowing websites to accept cryptocurrency payments for membership subscriptions. OxaPay is known for facilitating secure and efficient cryptocurrency transactions, offering users the ability to pay with various digital currencies like Bitcoin, Ethereum, and more. This integration expands payment options for membership-based websites, catering to customers who prefer using cryptocurrencies instead of traditional payment methods.

With this plugin, website owners can leverage the benefits of blockchain technology, such as faster transactions, lower fees, and broader international reach. The OxaPay plugin ensures a smooth checkout process, providing a seamless experience for members while maintaining compatibility with Paid Memberships Pro. This makes it a valuable solution for businesses seeking to diversify their payment options and attract a global audience.

## How To Set Up OxaPay Plugin For Paid Memberships Pro?

1. Log in to your WordPress control panel, navigate to the "Plugins" section, and click on "Add New". Select "Upload Plugin" then upload the "OxaPay" plugin ZIP file ([Click here to download it](https://oxapay.com/plugins/oxapay_pmpro.zip)) and click on the"Install Now" button.

<figure><img src="/files/9DuMVg9ClXfdanz2RwJS" alt=""><figcaption></figcaption></figure>

2. Go to your "Paid Memberships Pro" settings and navigate to the "Payment Gateway".

<figure><img src="/files/tPom7mnY9BtNM5KLOgMu" alt=""><figcaption></figcaption></figure>

3. Enter your OxaPay Merchant API key (You can find this key in your OxaPay dashboard. If you don't have an API key, click here for instructions on how to create one). Complete any other fields. You can use the "sandbox" mode for testing. Once all the details are filled in, click "Save Settings" to finalize the setup.

<figure><img src="/files/2at4ssuIH9NTDsvQsNQz" alt=""><figcaption></figcaption></figure>

#### You can download the OxaPay plugin for Paid Memberships Pro by clicking on the file below:

{% file src="/files/Zi3SeNsgBFBtuWBUcZBL" %}

We hope this article was helpful! The OxaPay plugin for Paid Memberships Pro is a powerful and valuable tool that can help take your business to the next level.


# Kadence Memberships

## What is Kadence Memberships?

Kadence Memberships, formerly known as Restrict Content Pro, is a powerful WordPress membership plugin that allows you to monetize content access. As a content restriction plugin, Kadence Memberships gives you full control over who can and cannot view content on your WordPress site. As a design tool, Kadence Memberships helps you create pages that dynamically display content based on user role or membership level.

### Key Features of Kadence Memberships:

1. **Membership Levels:** Set access level, duration (in days, months, years), number of renewals, price, signup fee, status, assign WordPress user role. Set any price (including free) or optionally set a sign up fee. Set the frequency and period, and specify a user role that will be assigned to members when they register.
2. **Auto-Created Member Pages:** Pages generated by the plugin include: Registration, Success, Account, Edit Profile and Update Billing Card.
3. **Auto Renewals:** Select to let customer choose whether to auto renew, always auto renew, or never auto renew.
4. **Payment Gateways:** The system supports various payment gateways including OxaPay, PayPal, Authorize.net, Braintree, and Manual Payments. This ensures secure and diverse options for processing transactions.
5. **Member Emails:** Paid membership activation email, free membership activation email, cancelled membership email, expired membership email, payment received email, renewal payment failed email
6. **Upgrade/Downgrade Membership:** Members can easily upgrade or downgrade their subscription at any time. This ensures they have control over their plan.

## OxaPay Plugin For Kadence Memberships

Integrating OxaPay with Kadence Memberships is an excellent way to modernize your payment system and expand your reach. This integration allows businesses to effortlessly accept cryptocurrency payments for membership plans and flexible payment solution.

OxaPay ensures that all transactions are handled with top-tier security, providing a safe and reliable payment experience for both businesses and customers. By enabling cryptocurrency payments in Kadence Memberships, you can attract a audience, simplify payment management, and enhance the overall experience for your members.

## How To Set Up OxaPay Plugin For Kadence Memberships?

1. Log in to your WordPress control panel, navigate to the "Plugins" section, and click on "Add New". Select "Upload Plugin" then upload the "OxaPay" plugin ZIP file ([Click here to download it](https://wordpress.org/plugins/oxapay-crypto-payment-gateway-for-restrict-content-pro/)) and click on the"Install Now" button.

<figure><img src="/files/s7JmmgCKkM8Mr432nB6B" alt=""><figcaption></figcaption></figure>

2. After installing and activating the Oxapay plugin, go to the "Kadence Memberships" settings page and click on Payments to enter your OxaPay Merchant API key (You can find this key in your OxaPay dashboard. If you don't have an API key, [click here](https://docs.oxapay.com/integrations/merchant-api) for instructions on how to create one). Complete any other fields. Once all the details are filled in, click "Save Settings" to finalize the setup. (Make sure to check OxaPay in the "Enabled Gateways" section)

<figure><img src="/files/GvE1iHmjkbiLDyJYoLtR" alt=""><figcaption></figcaption></figure>

**You can install the plugin from the official WordPress.org** [**plugin directory**](https://wordpress.org/plugins/oxapay-crypto-payment-gateway-for-restrict-content-pro/)**.**

We hope you found this article useful! The OxaPay plugin for Kadence Memberships is a powerful tool that can help elevate your business to new heights.


# Gravity Forms

## What is Gravity Forms?

Gravity Forms is a powerful WordPress plugin that allows users to create advanced and customizable forms with ease. It’s ideal for building contact forms, surveys, registrations, online payments, and more. Key features include a drag-and-drop interface, integration with third-party services (like OxaPay and PayPal ), and conditional logic to enhance user experience.

## Key Features of Gravity Forms:

1. **Ease of Use:** Gravity Forms provides a user-friendly drag-and-drop form builder, allowing you to create professional forms in minutes without requiring technical expertise.
2. **Seamless WordPress Integration:** As a WordPress plugin, Gravity Forms integrates effortlessly with WordPress, enabling smooth performance and leveraging all of WordPress’s capabilities.
3. **Customizable Forms:** With extensive field options and advanced settings, you can create contact forms, surveys, payment forms, registration forms, and more to suit your exact needs.
4. **Payment Integrations:** Gravity Forms supports major payment gateways like OxaPay, PayPal, and Stripe, making it easy to accept payments, donations, or subscriptions directly through your forms.
5. **Notifications and Confirmations :**&#x41;utomate email notifications to inform both users and administrators upon form submissions, and customize confirmation messages or redirects to enhance user engagement.
6. **Responsive Design:** Forms created with Gravity Forms are mobile-friendly and responsive, ensuring they function perfectly across all devices, including tablets and smartphones.

## OxaPay Plugin For Gravity Forms

Integrating OxaPay with Gravity Forms is a strategic way to enhance your payment options and reach a broader audience. The OxaPay integration enables businesses to seamlessly accept cryptocurrency payments directly through Gravity Forms, offering customers greater flexibility and modernizing your payment process.

Additionally, OxaPay prioritizes security, ensuring that every transaction is safe, reliable, and protected. By adding cryptocurrency as a payment option in Gravity Forms, businesses can attract a wider customer base while streamlining their payment workflows and improving the overall user experience.

## How To Set Up OxaPay Plugin For Gravity Forms? <a href="#how-to-set-up-oxapay-plugin-for-gravity-forms" id="how-to-set-up-oxapay-plugin-for-gravity-forms"></a>

1. Log in to your WordPress control panel, navigate to the "Plugins" section, and click on "Add New". Select "Upload Plugin" then upload the "OxaPay" plugin ZIP file ([Click here to download it](https://downloads.wordpress.org/plugin/oxapay-crypto-payment-gateway-for-gravity-forms.1.0.0.zip)) and click on the"Install Now" button.

<figure><img src="/files/LwJJf5NeWtKZLE80TmAJ" alt=""><figcaption></figcaption></figure>

2. After installing and activating the Oxapay plugin, go to the **Gravity Forms** settings page and click on OxaPay to enter your OxaPay Merchant API key (You can find this key in your OxaPay dashboard. If you don't have an API key, [click here](/welcome-to-oxapay/integrations/merchant-service) for instructions on how to create one). Complete any other required fields. You can use the "sandbox" mode for testing. Once all the details are filled in, click "Save Settings" to finalize the setup.

<figure><img src="/files/EU2W93sq2wyH7D0Ew2Fp" alt=""><figcaption></figcaption></figure>

3. Now click on OxaPay in the navigation bar and to add your form, click on Add New.

<figure><img src="/files/rLyGMfHv7eOtwTNc5a04" alt=""><figcaption></figcaption></figure>

4. After entering the "Add New Form" page, select the form type, choose your desired form and click the "Save" button.

<figure><img src="/files/LLa0DXa9oTsVXpoar6Ns" alt=""><figcaption></figcaption></figure>

**You can download the OxaPay plugin for Gravity Forms by clicking on the file below:**

{% file src="/files/AnoOJzQzRukiUmV8Z1oy" %}

We hope you found this article useful! The OxaPay plugin for Gravity Forms is a powerful tool that can help elevate your business to new heights.


# WHMCS

## What is WHMCS?

WHMCS (Web Host Manager Complete Solution) is a comprehensive web hosting management and billing software designed for online businesses. It automates various aspects of web hosting operations, such as client management, billing, support, and domain registration.

## Key Features of WHMCS :

1. **Support System**: WHMCS includes a built-in support ticket system, knowledge base, and support department routing. This helps in managing customer support requests efficiently and provides a streamlined way for clients to get help.
2. **Billing Automation**: WHMCS automates invoicing, payment processing, and reminders. It supports multiple currencies and integrates with numerous payment gateways like PayPal, Stripe, and others, making it easier for web hosting companies to manage their billing.
3. **Domain Management**: The platform allows users to register, transfer, and manage domain names directly through WHMCS. It integrates with a wide range of domain registrars, enabling automated provisioning and management of domain services.
4. **Automation**: WHMCS automates many tasks related to provisioning hosting accounts and managing renewals. This reduces the workload on administrators and improves service delivery speed.
5. **Reporting and Analytics**: The platform provides detailed reports and analytics to track business performance, including sales, revenue, and customer activity.
6. **Client Management**: It offers a complete client management interface, allowing businesses to manage client accounts, track order history, and handle communications efficiently. Clients can also log into a self-service portal to manage their services, pay invoices, and contact support.

## OxaPay Plugin For WHMCS

Integrating OxaPay with WHMCS is a smart move to elevate your business to new heights. The OxaPay plugin for WHMCS allows businesses to accept cryptocurrency as a fully integrated payment option, expanding your customer base and offering greater payment flexibility.

The OxaPay plugin ensures that businesses can process payments quickly, with minimal transaction fees, and without the traditional delays associated with fiat currencies. This helps attract a broader audience, including customers who prefer using cryptocurrencies for their online purchases. Additionally, OxaPay's strong security features provide peace of mind, ensuring that every transaction is safe and reliable.

## How To Set Up OxaPay Plugin For WHMCS?

1. First, unzip the downloaded OxaPay plugin archive ([Click here to download it](https://github.com/OxaPay/oxapay-whmcs/releases/download/v1.0.0/oxapay_whmcs.zip)) to your computer or directly on your hosting server.
2. Locate the "oxapaygateway" folder and the "oxapaygateway.php" file from the unzipped archive. Move these to the following directory on your WHMCS installation: "*WHMCS → modules → gateways".*
3. Transfer the Callback File: Next, find the **oxapaygateway.php** file located in the "callback" folder. Transfer this file to the following path on your WHMCS installation: *"WHMCS → modules → gateways → callback".*
4. Now, hover over the settings icon, then select "Apps And Integrations" from the menu.

<figure><img src="/files/6ToNeLgYRZQu01aJI10H" alt=""><figcaption></figcaption></figure>

5. Navigate to the "Search" tab and enter "OxaPay" in the search bar. In the results window that appears, click on "Activate" and proceed to the plugin settings.
6. Now, enter your “OxaPay Merchant API Key” in the designated field. You can find this key in your OxaPay panel. If you don't have an API key, [click here](/welcome-to-oxapay/integrations/merchant-service) to learn how to create one, or you can use the “sandbox” mode for testing purposes. After entering your API key, complete the remaining configuration settings and click on “Save Changes”.

<figure><img src="/files/isEtb1InzFn3wE41UhwZ" alt=""><figcaption></figcaption></figure>

#### You can download the OxaPay plugin for WHMCS by clicking on the file below:

{% file src="/files/aRJAQTFNS6NlMuj7wiea" %}

We hope this article was helpful to you! The OxaPay plugin for WHMCS is a powerful and valuable tool that can elevate your business to the next level.


# OpenCart

## What is OpenCart?

OpenCart is a free, open-source e-commerce platform designed for building and managing online stores. It offers a user-friendly interface, a wide range of extensions, and supports multiple payment gateways, making it a popular choice for businesses looking to sell products online.

## Key features of OpenCart:

1. **Store Management**: OpenCart offers a comprehensive admin panel that allows businesses to efficiently manage their products, categories, and customer accounts. With multi-store functionality, users can control multiple shops from a single interface, streamlining operations.
2. **Payment Integration**: OpenCart supports various payment gateways such as OxaPay, PayPal, and others, making it easy for businesses to handle transactions. It also supports multiple currencies, ensuring smooth global payments and invoicing.
3. **Product and Inventory Management**: The platform provides tools for managing a wide range of product options, attributes, and stock levels. This helps businesses organize their product catalog and track inventory efficiently.
4. **Automation**: OpenCart offers automated features for order processing, shipping, and notifications. This helps reduce manual tasks, speeding up order fulfillment and enhancing the customer experience.
5. **Analytics and Reports**: Built-in reporting tools provide valuable insights into sales, customer activity, and product performance. These analytics help businesses make data-driven decisions and track overall store performance.
6. **Customer Management**: OpenCart includes customer account management, allowing store owners to track order history, handle communications, and manage customer reviews. Customers can also use a self-service portal to view orders and make changes to their accounts.

## OxaPay Plugin For OpenCart

Integrating OxaPay with OpenCart is a great way to take your online store to the next level. The OxaPay extension for OpenCart enables businesses to accept cryptocurrency as a native payment method, providing customers with more payment options and expanding your market reach.

With the OxaPay integration, businesses can process transactions quickly and efficiently, with lower fees and faster settlement times compared to traditional fiat currencies. This makes it an attractive option for customers who prefer using cryptocurrencies for their purchases. Additionally, OxaPay offers robust security measures, ensuring that each transaction is secure and reliable, giving both merchants and customers peace of mind.

## How To Set Up OxaPay Plugin For OpenCart?

1. Ensure that you have OpenCart version 4.x installed on your website. Once logged into your dashboard, go to the left menu, find the "Extensions" tab, click on it, and select "Installer".
2. After that, upload the Oxapay plugin ([Click here to download it](https://github.com/OxaPay/oxapay-opencart/releases/download/v1.0.0/oxapay.ocmod.zip)). Once you receive a successful upload message, go to the Oxapay bar in the action section and click on the "Install" button to complete the installation.

<figure><img src="/files/uycwJcTpXxevSVB9vW0f" alt=""><figcaption></figcaption></figure>

3. Now, first choose the "Payments" type from the list. Then, find the Oxapay bar and click on the "Install" button. After the installation is complete, click on the "Edit" button to configure the settings.

<figure><img src="/files/SONeGCwM98GHpaMwUIjq" alt=""><figcaption></figcaption></figure>

4. Now, enter your "OxaPay Merchant API Key" in the designated field (you can find it in your OxaPay panel. If you don’t have an API key, [click here](/welcome-to-oxapay/integrations/merchant-service) to learn how to create one, or you can use the "sandbox" mode for testing). Complete the remaining configurations, and then click on the "Save" button.

<figure><img src="/files/ziZI3UOCts36pjy3iKP3" alt=""><figcaption></figcaption></figure>

**You can download the OxaPay plugin for OpenCart by clicking on the file below:**

{% file src="/files/Gs3zmNepThzvCUz8T8FE" %}

We hope this article was helpful to you! The OxaPay plugin for OpenCart is a powerful and valuable tool to help take your business to the next level.


# VirtueMart

## What is VirtueMart?

**VirtueMart** is an **open-source eCommerce solution** designed to work with the **Joomla** content management system (CMS). It enables users to build and manage online stores with features that support product listings, customer management, orders, and payment processing.

## Key Features of VirtueMart:

1. **Flexible Product Management:** VirtueMart enables easy management of products, categories, attributes, and variants, allowing administrators to efficiently organize and showcase their merchandise.
2. **Multi-Language Support:** With built-in multi-language support, VirtueMart caters to international markets, allowing users to create and manage multilingual online stores.
3. **Multiple Payment Gateways:** VirtueMart supports various payment gateways, including PayPal, Stripe, Authorize.Net, and more, offering flexibility in accepting payments securely.
4. **Shipping and Tax Calculation:** The platform provides tools for calculating shipping costs and taxes based on different parameters such as weight, destination, and tax rates, streamlining the checkout process.
5. **Inventory Management:** VirtueMart offers inventory management features, including stock tracking, low-stock notifications, and backorder management, helping users keep track of their inventory levels.
6. **SEO-Friendly:** The platform is designed with search engine optimization (SEO) in mind, providing features such as customizable URLs, meta tags, and sitemaps to improve online visibility and rankings.
7. **Extensions and Add-ons:** VirtueMart offers a wide range of extensions and add-ons, allowing users to extend the functionality of their online store with additional features and integrations.

## OxaPay Plugin For VirtueMart

Integrating OxaPay with VirtueMart offers a modern and efficient way to accept cryptocurrency payments in your Joomla-based online store. This powerful combination enables businesses to easily accept crypto for products, providing a fast, secure, and borderless shopping experience for customers around the world.

With enterprise-level security, OxaPay ensures that all transactions are processed safely and reliably. This builds trust with your customers while expanding your store’s market reach. Enabling crypto payments in VirtueMart not only simplifies payment processing but also helps attract new customers and boost sales.

## How To Set Up OxaPay Plugin For VirtueMart?

1. Go through the path “System -> Extensions” and upload the "OxaPay" plugin ZIP file ([Click here to download it](https://github.com/OxaPay/oxapay-virtuemart/releases/download/v1.0.0/oxapay_virtuemart.zip)) After that, the plugin must be activated in Plugins.

<figure><img src="/files/6XkcoCzYtos9slowGmWA" alt=""><figcaption></figcaption></figure>

<figure><img src="/files/54NtbINWUo4dxzruLjoI" alt=""><figcaption></figcaption></figure>

2. Now go to “Components -> VirtueMart -> Payment Methods” and then create a new payment method. Select the “VM Payment - OxaPay Crypto Payment Gateway” in Payment Method.

<figure><img src="/files/A9gUmdXLEnCf1HeBYGK6" alt=""><figcaption></figcaption></figure>

3. Go to Configuration and enter your OxaPay Merchant API key (You can find this key in your OxaPay dashboard. If you don't have an API key, [click here](/welcome-to-oxapay/integrations/merchant-service) for instructions on how to create one). Complete any other fields. Once all the details are filled in, click "Save" to finalize the setup.

<figure><img src="/files/8WEKAjvqVfjdeogWZgBa" alt=""><figcaption></figcaption></figure>

**You can download the OxaPay plugin for VirtueMart by clicking on the file below:**

{% file src="/files/ajcWQN7bWdylvs4XQrhp" %}

We hope you found this article useful! The OxaPay plugin for **VirtueMart** is a powerful tool that can help elevate your business to new heights.


# PrestaShop

## What is PrestaShop?

PrestaShop is an open-source e-commerce platform used to create and manage online stores. It allows users to build a fully customizable online shop with features for inventory management, payment processing, and shipping. PrestaShop is popular for small to medium-sized businesses due to its flexibility and a large marketplace of add-ons and themes.

## Key Features of PrestaShop:

1. **Customizable Storefront**: PrestaShop provides an extensive selection of themes and templates, enabling merchants to fully personalize the appearance of their online stores. From color schemes to layout designs, everything is customizable to create a unique brand experience.
2. **Product Management**: Managing your product catalog is made simple with robust tools that allow easy addition and organization of products. You can create detailed product listings with attributes such as size, color, and material, manage variations.
3. **Multi-Language Support**: PrestaShop is built to cater to global markets by offering support for multiple languages and currencies. This enables businesses to sell to international customers, improving accessibility and boosting sales.&#x20;
4. **Payment Gateway Integration**: The platform integrates with a wide range of popular payment gateways, including OxaPay, PayPal, Stripe, and many others. This flexibility allows customers to choose their preferred payment method, improving conversion rates.
5. **Advanced Reporting & Analytics**: The platform includes powerful reporting and analytics tools that provide in-depth insights into your store’s performance. You can access detailed sales reports, track customer behavior, monitor key performance indicators (KPIs), and analyze customer data to make informed business decisions.

## OxaPay Plugin For PrestaShop

Integrating OxaPay with PrestaShop is a powerful step to grow your business and reach new heights. The OxaPay plugin for PrestaShop allows merchants to seamlessly accept cryptocurrency payments, opening up new possibilities for expanding your customer base and offering greater payment flexibility.

Enabling the OxaPay plugin on the PrestaShop platform improves operational efficiency and enhances customer experience by providing fast, low-fee crypto transactions as a fully integrated payment method.

## How To Set Up OxaPay Plugin For PrestaShop?

1. First, after logging into your PrestaShop admin panel, locate the "Modules" tab. Click on it, then select "Module Manager" from the dropdown menu.

<figure><img src="/files/7qJPZMEBNYv2uKbqR4TK" alt=""><figcaption></figcaption></figure>

2. Next, click on the "Upload a module" button and upload the OxaPay plugin file ([Click here to download it](https://github.com/OxaPay/oxapay-prestashop/releases/download/v1.0.0/oxapay_prestashop.zip)).

<figure><img src="/files/Tse1LIKwlljT7pNf5mUz" alt=""><figcaption></figcaption></figure>

3. The module installation will begin automatically. Once you see the message "Module installed" and the "Configure" button appears, click it to proceed.

<figure><img src="/files/PlzJg6bCRcZ6EHmAXRPf" alt=""><figcaption></figcaption></figure>

4. Enter your OxaPay Merchant API key (You can find this key in your OxaPay dashboard. If you don't have an API key, [click here](/welcome-to-oxapay/integrations/merchant-service) for instructions on how to create one). Complete any other field. You can use the "sandbox" mode for testing. Once all the details are filled in, click "Save" to finalize the setup.

<figure><img src="/files/lwCwyWizPLtRRmlpBz1I" alt=""><figcaption></figcaption></figure>

#### You can download the OxaPay plugin for PrestaShop by clicking on the file below:

{% file src="/files/lpKJHU5dzcrFNYstuWGg" %}

We hope you found this article helpful! The OxaPay plugin for PrestaShop is a powerful tool that can elevate your business to new heights.


# Magento 2

## What is Magento 2?

Magento 2 is a powerful open-source eCommerce platform designed to help businesses build scalable and customizable online stores. It offers extensive features for product management, order processing, and customer experience optimization. With its modular architecture and large extension ecosystem, Magento 2 enables developers to tailor functionality to specific business needs.&#x20;

## Key Features of Magento 2

1. **Product Management:** Offers comprehensive tools for managing products, including support for multiple product types, customizable attributes, categories, and inventory control.
2. **Order Management:** Handles the full order lifecycle with features for invoicing, shipping, refunds, and configurable checkout options to streamline the purchasing process.
3. **Customer Management**: Provides detailed customer profiles, customer groups, order history, and account tools, enabling businesses to deliver personalized shopping experiences.
4. **Marketing and Promotions**: Includes built-in promotion tools such as discount codes, pricing rules, cross-sell options, and integration with marketing platforms.
5. **Security**: Features strong security measures including user permissions, data encryption, regular security patches, and compliance with industry standards for secure transactions.
6. **Performance and Scalability**: Designed for high-performance stores with built-in caching, CDN support, and scalable architecture suitable for growing businesses.

## OxaPay Plugin For Magento 2

Integrating OxaPay with Magento 2 is a powerful step toward expanding your business and achieving new levels of growth. The OxaPay plugin for Magento 2 enables online stores to accept cryptocurrency as a secure and fully supported payment method, opening the door to a wider customer base and offering greater flexibility at checkout.

By using Magento 2’s e-commerce platform, you can streamline and automate many aspects of your store management. Activating the OxaPay plugin on Magento 2 enhances operational efficiency and elevates customer satisfaction by enabling fast, low-fee crypto payments. This integration empowers your business with a modern payment solution that improves conversion rates and keeps you ahead in the evolving digital marketplace.

## How To Set Up OxaPay Plugin For Magento 2

1. First, unzip the downloaded OxaPay plugin archive ([Click here to download it](https://github.com/OxaPay/oxapay-magento2/releases/download/1.0.0/oxapay_magento2.zip)) to your computer or directly on your hosting server.
2. Locate the **“OxaPay”** folder from the unzipped archive. Move this folder into your Magento 2 installation at the following path:

```
Magento → app → code
```

3. Open your command-line interface and navigate to your Magento 2 root directory. Enable the OxaPay module by running the following command:

```php
php bin/magento module:enable OxaPay_OxaPayGateway
```

4. While still in your Magento 2 root directory, apply database updates for the OxaPay module by running the following command:

```php
php bin/magento setup:upgrade
```

5. Clear the cache to ensure all changes from the OxaPay module are applied by running the following command:

```php
php bin/magento cache:flush
```

6. To configure OxaPay payment settings, first click on **Stores** in the Magento 2 navigation bar, then select **Configuration** under the **Settings** section.

<div data-with-frame="true"><figure><img src="/files/zv69JVVBNKrMo1kf4lJ4" alt=""><figcaption></figcaption></figure></div>

7. In the **Configuration** page, scroll down to the **SALES** section and select **Payment Methods**. Then, under **Other Payment Methods**, click on **OxaPay Crypto Payment Gateway** and fill in the required settings.

<div data-with-frame="true"><figure><img src="/files/15kc8Cj6rGnp43tsfD4a" alt=""><figcaption></figcaption></figure></div>

#### **You can download the OxaPay plugin for Magento 2 by clicking on the file below:**

{% file src="/files/INnIvRAcICCWUTD1decQ" %}

We hope you found this guide helpful! The **OxaPay plugin for Magento 2** is a powerful tool that can help take your online store to the next level by enabling seamless cryptocurrency payments and enhancing customer convenience.


# WISECP

## What is WISECP?

WISECP is next generation hosting and digital solutions automation. It includes a client area, admin area and a website interface. It has been developed for companies operating in the field of information technologies. With WISECP, all invoicing transactions, accounting (cash, income, expense) records, client management, product management, support services and many other operations can be carried out easily.

## Key Features of WISECP:

1. **Client Management**: WISECP allows you to easily manage your client information, issue invoices, and view payment history.
2. **Invoicing and Payments**: The platform enables automatic invoicing and payment management for clients, supporting various payment gateways.
3. **Service Automation**: WISECP can automate the provisioning of web hosting, domain registration, and other services to clients. It handles the necessary configurations and sends access information to clients automatically.
4. **Support and Ticketing**: WISECP includes a ticket management system that helps you respond to client requests and issues, ensuring more effective customer support.
5. **Client Portal**: Your clients can manage their services, pay invoices, and communicate with your support team through a web-based client portal.
6. **Reporting and Analytics**: WISECP provides various tools for generating reports on business performance, financial status, and client information, helping you make better decisions to improve your business.

## OxaPay Plugin For WISECP

The integration of OxaPay with WISECP is a valuable opportunity to expand your business horizons and achieve new milestones. The OxaPay plugin for WISECP allows businesses to accept cryptocurrency as a complete payment method, thereby expanding the customer base and enhancing convenience.

Using WISECP helps you automate your business operations in the most efficient way. By enabling the OxaPay plugin on the WISECP platform, you can increase effectiveness and customer engagement by facilitating all types of crypto transactions with minimal fees and in the shortest possible time.

## How To Set Up OxaPay Plugin For WISECP?

1. To install the OxaPay plugin ([Click here to download it](https://github.com/OxaPay/oxapay-wisecp/releases/download/v1.0.0/oxapay_wisecp.zip)) for WISECP, move the plugin folder to the following path *“WISECP → coremio → modules → payment”*.
2. Go to the WISECP admin panel and follow the certain path *“setting → billing → payment gateways”.*

<figure><img src="/files/y6tKjeBfAXi4b5QKnyDM" alt=""><figcaption></figcaption></figure>

3. Now, simply search for "OxaPay" in the "Enabled Module Selection" section and click on it.&#x20;

<figure><img src="/files/gLKaHr3LiU43ER4D7RMt" alt=""><figcaption></figcaption></figure>

3. Next, go to the "All Modules" section, type "OxaPay" in the search bar, and click on "OxaPay" in the search results.

<figure><img src="/files/e4qcypbNNAJJJriLsa3q" alt=""><figcaption></figcaption></figure>

4. Now, enter your "OxaPay Merchant API Key" in the designated field (you can find it in your OxaPay panel. If you don’t have an API key, [click here](/welcome-to-oxapay/integrations/merchant-service) to learn how to create one, or you can use the "sandbox" mode for testing). Complete the remaining configurations, and then click on "Save Settings".

<figure><img src="/files/14myoXvltaVZwvaN7JrD" alt=""><figcaption></figcaption></figure>

#### You can download the OxaPay plugin for WISECP by clicking on the file below:

{% file src="/files/GYeXFt7LnSdDS3Su7Wy2" %}

We hope this article was helpful to you! The WISECP plugin by OxaPay is a powerful and valuable tool to elevate your business to the next level.


# Clientexec

## What is Clientexec?

Clientexec is a comprehensive billing and client management platform designed specifically for web hosting businesses. It allows companies to automate and streamline various aspects of their operations, including invoicing, customer management, and support.

## Key Features of Clientexec:

1. **Automated Billing**: Manages invoicing, recurring payments, and integrates with multiple payment gateways, streamlining financial transactions.
2. **Client Management**: Provides tools for customer support, including a ticketing system, and a customizable client portal where users can manage their accounts and services.
3. **Service Management**: Automates the provisioning of services such as hosting accounts and domain registrations. It also supports customizable order forms for different products.
4. **Customization and Extensibility**: Offers API access, plugin support, and custom fields to tailor the platform to specific business needs.
5. **Security**: Features robust user permissions and SSL support to ensure data security and controlled access.
6. **User Interface**: The platform is designed with a responsive, mobile-friendly interface for both admin and client areas, improving usability across devices.

## OxaPay Plugin For Clientexec

Integrating OxaPay with Clientexec is a strategic move to expand your business and reach new milestones. The OxaPay plugin for Clientexec enables businesses to accept cryptocurrency as a full-fledged payment method, thereby broadening your customer base and enhancing payment convenience.

By using Clientexec, you can automate various aspects of your business operations efficiently. Enabling the OxaPay plugin on the Clientexec platform increases operational effectiveness and boosts customer engagement by facilitating crypto transactions with minimal fees and in the shortest time possible.

## How To Set Up OxaPay Plugin For Clientexec?

1. To install the OxaPay plugin ([Click here to download it](https://github.com/OxaPay/oxapay-clientexec/releases/download/v1.0.0/oxapay_clientexec.zip)) for Clientexec, move the plugin folder to the following path *“Clientexec → plugins → gateways ”.*
2. The next step is to navigate to the web interface on Clientexec. Hover over the "Settings" tab in the top menu. Then, under the "Plugins" section, click on "Payment Processors."

<figure><img src="/files/MqjTnuAxnVJ9hguwRh6i" alt=""><figcaption></figcaption></figure>

3. Now that you are on the “Payment Processors” page, type "OxaPay" in the dropdown menu. When "OxaPay" appears, click on it to proceed to the plugin settings page.

<figure><img src="/files/nEahmi3hfFXSHxCEIvVe" alt=""><figcaption></figcaption></figure>

4. Now, enter your "OxaPay merchant API key" in the designated field (you can find it in your OxaPay panel. If you don’t have an API key, [click here](/welcome-to-oxapay/integrations/merchant-service) to learn how to create one, or you can use the "sandbox" mode for testing). Complete the remaining configurations, and then click on "Update Settings".

<figure><img src="/files/5baILCaq5x21pwJwg4ud" alt=""><figcaption></figcaption></figure>

#### You can download the OxaPay plugin for Clientexec by clicking on the file below:

{% file src="/files/c62zxtpKyymTHIMGTvS6" %}

We hope this article was helpful to you! The OxaPay plugin for Clientexec is a powerful and valuable tool to elevate your business to the next level.


# Blesta

## What is Blesta?

Blesta is a comprehensive billing and client management platform designed primarily for web hosting companies and other service providers. It's a software solution that automates various aspects of a business, including billing, invoicing, client management, and support.

## Key Features of Blesta:

1. **Billing Automation**: Automatically generates and sends invoices, handles both one-time and recurring payments, and supports various payment gateways.
2. **Client Management**: Offers a centralized client portal for managing services, viewing invoices, and making payments, with support for multiple currencies and languages.
3. **Service Provisioning**: Integrates with web hosting control panels and domain registrars to automate service management, supporting a wide range of digital services.
4. **Support System**: Includes a built-in ticketing system, enabling businesses to provide customer support directly through Blesta.
5. **Customizable and Extendable**: Features a modular design that allows for easy customization and the addition of new features through plugins and extensions.
6. **Security**: Offers robust security measures like two-factor authentication (2FA) and data encryption, with regular updates to ensure security.
7. **Reporting and Analytics**: Provides detailed reports on business metrics, with customizable dashboards for real-time monitoring.
8. **Multi-Company Support**: Allows management of multiple companies or brands from a single installation, each with distinct settings and services.

## OxaPay Plugin For Blesta

Integrating OxaPay with Blesta is a strategic step toward expanding your business and reaching new milestones. The OxaPay plugin for Blesta allows businesses to accept cryptocurrency as a fully integrated payment method, thereby widening your customer base and enhancing payment convenience.

By leveraging Blesta, you can efficiently automate various aspects of your business operations. Enabling the OxaPay plugin on the Blesta platform enhances operational efficiency and increases customer engagement by facilitating crypto transactions with minimal fees and rapid processing times.

## How To Set Up OxaPay Plugin For Blesta?

1. To install the OxaPay plugin ([Click here to download it](https://github.com/OxaPay/oxapay-blesta/archive/refs/tags/v1.0.0.zip)) for Blesta, move the plugin folder to the following path *“Blesta → components → gateways → nonmerchant”*.
2. Navigate to the settings section within Blesta. Click on the "Payment Gateway" option in the settings page.

<figure><img src="/files/2G42QeUaIudDsanLmzcF" alt=""><figcaption></figcaption></figure>

3. In the "Available" section, locate the "OxaPay Payment Gateway" under the Non-Merchant category, and click on the "Install" button.

<figure><img src="/files/lmFaXWDQvSbkCvcNtaRg" alt=""><figcaption></figcaption></figure>

4. Enter your OxaPay Merchant API key in the designated field. You can find this key in your OxaPay panel. If you don't have an API key, [click here](/welcome-to-oxapay/integrations/merchant-service) to learn how to create one. Alternatively, you can use the "sandbox" mode for testing. After entering the Merchant API key, click on "Update Settings" to finalize the setup.

<figure><img src="/files/lOtmrPlEnpIfEdvJay9B" alt=""><figcaption></figcaption></figure>

#### You can download the OxaPay plugin for Blesta by clicking on the file below:

{% file src="/files/HaQBvhQGiBay3uFrhQEK" %}

We hope this article was helpful to you! The OxaPay plugin for Blesta is a powerful and valuable tool to elevate your business to the next level.


# SDKs


# PHP SDK

Official PHP SDK for OxaPay — accept crypto payments, exchanges, and payouts.

## Installation <a href="#installation" id="installation"></a>

```bash
composer  require  oxapay/oxapay-php
```

After installing, if you updated autoloaded classes, run:

```bash
composer  dump-autoload  -o
```

### Quick start <a href="#quick-start" id="quick-start"></a>

```php

<?php

require  __DIR__  .  '/vendor/autoload.php';

use OxaPay\PHP\OxaPayManager;

use OxaPay\PHP\Support\Facades\OxaPay;

// via static method

$oxapay = new  OxaPayManager(timeout: 10);

$res = $oxapay->payment("XXXXXX-XXXXXX-XXXXXX-XXXXXX")

->generateInvoice([

'amount' => 10.5,

'currency' => 'USDT'

]);

// via facade

$res = OxaPay::payment("XXXXXX-XXXXXX-XXXXXX-XXXXXX")

->generateInvoice([

'amount' => 10.5,

'currency' => 'USDT'

]);

print_r($res);
```

### Handling Webhooks (Payments & Payouts) <a href="#handling-webhooks-payments--payouts" id="handling-webhooks-payments--payouts"></a>

```php

<?php

require  __DIR__  .  '/../vendor/autoload.php';

use OxaPay\PHP\Support\Facades\OxaPay;

use OxaPay\PHP\Exceptions\WebhookSignatureException;

// use for merchant webhook endpoint

try {

$data = OxaPay::webhook(merchantApiKey: "XXXXXX-XXXXXX-XXXXXX-XXXXXX")->getData();

// ...

} catch (WebhookSignatureException  $e) {

// ...

}
  
// use for payout webhook endpoint

try {

$data = OxaPay::webhook(payoutApiKey: "XXXXXX-XXXXXX-XXXXXX-XXXXXX")->getData();

// ...

} catch (WebhookSignatureException  $e) {

// ...

}

// Use when your endpoint is used for both webhook merchant and payout

try {

$data = OxaPay::webhook(merchantApiKey: "XXXXXX-XXXXXX-XXXXXX-XXXXXX", payoutApiKey: "XXXXXX-XXXXXX-XXXXXX-XXXXXX")->getData();

// ...

} catch (WebhookSignatureException  $e) {

// ...

}

// or you can get data without verify HMAC

$data = OxaPay::webhook()->getData(false);
```

### Available methods <a href="#available-methods" id="available-methods"></a>

#### 🔹payment <a href="#payment" id="payment"></a>

* `generateInvoice` – Create invoice & get payment URL. [More details](https://docs.oxapay.com/api-reference/payment/generate-invoice)
* `generateWhiteLabel` – White-label payment. [More details](https://docs.oxapay.com/api-reference/payment/generate-white-label)
* `generateStaticAddress` – Create static deposit address. [More details](https://docs.oxapay.com/api-reference/payment/generate-static-address)
* `revokeStaticAddress` – Revoke static address. [More details](https://docs.oxapay.com/api-reference/payment/revoking-static-address)
* `staticAddressList` – List static addresses. [More details](https://docs.oxapay.com/api-reference/payment/static-address-list)
* `information` – Single payment information. [More details](https://docs.oxapay.com/api-reference/payment/payment-information)
* `history` – Payment history list. [More details](https://docs.oxapay.com/api-reference/payment/payment-history)
* `acceptedCurrencies` – Accepted currencies. [More details](https://docs.oxapay.com/api-reference/payment/accepted-currencies)

#### 🔹account <a href="#account" id="account"></a>

* `balance` – Account balance. [More details](https://docs.oxapay.com/api-reference/common/account-balance)

#### 🔹payout <a href="#payout" id="payout"></a>

* `generate` – Request payout. [More details](https://docs.oxapay.com/api-reference/payout/generate-payout)
* `information` – Single payout information. [More details](https://docs.oxapay.com/api-reference/payout/payout-information)
* `history` – Payout history list. [More details](https://docs.oxapay.com/api-reference/payout/payout-history)

#### 🔹exchange <a href="#exchange" id="exchange"></a>

* `swapRequest` – Swap request. [More details](https://docs.oxapay.com/api-reference/swap/swap-request)
* `swapHistory` – Swap history. [More details](https://docs.oxapay.com/api-reference/swap/swap-history)
* `swapPairs` – Swap pairs. [More details](https://docs.oxapay.com/api-reference/swap/swap-pairs)
* `swapCalculate` – Swap pre-calc. [More details](https://docs.oxapay.com/api-reference/swap/swap-calculate)
* `swapRate` – Swap Quote rate. [More details](https://docs.oxapay.com/api-reference/swap/swap-rate)

#### 🔹common <a href="#common" id="common"></a>

* `prices` – Market prices. [More details](https://docs.oxapay.com/api-reference/common/prices)
* `currencies` – Supported crypto. [More details](https://docs.oxapay.com/api-reference/common/supported-currencies)
* `fiats` – Supported fiats. [More details](https://docs.oxapay.com/api-reference/common/supported-fiat-currencies)
* `networks` – Supported networks. [More details](https://docs.oxapay.com/api-reference/common/supported-networks)
* `monitor` – System status. [More details](https://docs.oxapay.com/api-reference/common/system-status)

#### 🔹webhook <a href="#webhook" id="webhook"></a>

* `verify` – Validates `HMAC` header (sha512 of raw body).
* `getData` – Validates `HMAC` header and return webhook data. [More details](https://docs.oxapay.com/webhook)

***

### Exceptions <a href="#exceptions" id="exceptions"></a>

All SDK exceptions extend `OxaPay\PHP\Exceptions\OxaPayException`:

* `ValidationRequestException` (HTTP 400)
* `InvalidApiKeyException` (HTTP 401)
* `NotFoundException` (HTTP 404)
* `RateLimitException` (HTTP 429)
* `ServerErrorException` (HTTP 500)
* `ServiceUnavailableException` (HTTP 503)
* `HttpException` (network/unknown)
* `MissingApiKeyException` (missing api key)
* `MissingTrackIdException` (missing track id)
* `MissingAddressException` (missing address)
* `WebhookSignatureException` (bad/missing HMAC)
* `WebhookNotReceivedException` (webhook request was not received)

#### Security Notes <a href="#security-notes" id="security-notes"></a>

* Verify webhook HMAC before use input data.
* Whitelist OxaPay IPs on your firewall (ask support).
* Use HTTPS everywhere.
* Store keys in `.env`, not code.
* Rotate keys regularly.

***

### Testing (safe & offline) <a href="#testing-safe--offline" id="testing-safe--offline"></a>

This package uses **Pest**, **PHPUnit**, and **Orchestra Testbench** for testing.

Dependencies are already listed under `require-dev` in `composer.json`.

Run tests with composer:

```bash
composer  test
```

Run tests with pest:

```bash
vendor/bin/pest
```

### Compatibility <a href="#compatibility" id="compatibility"></a>

* PHP +8.x

### Security <a href="#security" id="security"></a>

If you discover a security vulnerability, please email <info@oxapay.com>.

Do not disclose publicly until it has been fixed.

### Contributing <a href="#contributing" id="contributing"></a>

Pull requests are welcome. For major changes, open an issue first.

Run coding standards & static analysis before PR:

```bash
composer  cs-fix
composer  phpstan
composer  test
```

### License <a href="#license" id="license"></a>

Apache-2.0 — see [LICENSE](https://github.com/OxaPay/oxapay-php/blob/HEAD/LICENSE).

### Changelog <a href="#changelog" id="changelog"></a>

See [CHANGELOG.md](https://github.com/OxaPay/oxapay-php/blob/HEAD/CHANGELOG.md) for version history.

### To view the OxaPay package on Packagist:

{% embed url="<https://packagist.org/packages/oxapay/oxapay-php>" %}


# Python SDK

Official Python SDK for OxaPay — accept crypto payments, exchanges, and payouts.

### Installation

```bash
pip install oxapay-python
```

### Quick start

```python
from oxapay_python import OxaPayManager

oxapay = OxaPayManager(timeout=10)
res = (
    oxapay
    .payment("XXXXXX-XXXXXX-XXXXXX-XXXXXX")
    .generate_invoice({
        "amount": 10.5,
        "currency": "USDT",
    })
)

print(res)
```

### Handling Webhooks (Payments & Payouts)

> OxaPay sends `HMAC` header (sha512 over raw request body).

```python
from oxapay_python import OxaPayManager
from oxapay_python.exceptions import WebhookSignatureException

raw_body = request.get_data(as_text=True)  # Flask example
headers = dict(request.headers)            # Flask example

oxapay = OxaPayManager()

# Merchant webhook
try:
    data = oxapay.webhook(merchant_api_key="XXXXXX-XXXXXX-XXXXXX-XXXXXX", raw_body=raw_body, headers=headers).get_data()
except WebhookSignatureException:
    pass

# Payout webhook
try:
    data = oxapay.webhook(payout_api_key="XXXXXX-XXXXXX-XXXXXX-XXXXXX", raw_body=raw_body, headers=headers).get_data()
except WebhookSignatureException:
    pass

# Both
try:
    data = oxapay.webhook(
        merchant_api_key="XXXXXX-XXXXXX-XXXXXX-XXXXXX",
        payout_api_key="XXXXXX-XXXXXX-XXXXXX-XXXXXX",
        raw_body=raw_body,
        headers=headers,
    ).get_data()
except WebhookSignatureException:
    pass

# Or skip verification
data = oxapay.webhook(raw_body=raw_body, headers=headers).get_data(verify=False)
```

***

### Available methods

#### 🔹payment

* `generate_invoice` – Create invoice & get payment URL. [More details](https://docs.oxapay.com/api-reference/payment/generate-invoice)
* `generate_white_label` – White-label payment. [More details](https://docs.oxapay.com/api-reference/payment/generate-white-label)
* `generate_static_address` – Create static deposit address. [More details](https://docs.oxapay.com/api-reference/payment/generate-static-address)
* `revoke_static_address` – Revoke static address. [More details](https://docs.oxapay.com/api-reference/payment/revoking-static-address)
* `static_address_list` – List static addresses. [More details](https://docs.oxapay.com/api-reference/payment/static-address-list)
* `information` – Single payment information. [More details](https://docs.oxapay.com/api-reference/payment/payment-information)
* `history` – Payment history list. [More details](https://docs.oxapay.com/api-reference/payment/payment-history)
* `accepted_currencies` – Accepted currencies. [More details](https://docs.oxapay.com/api-reference/payment/accepted-currencies)

#### 🔹account

* `balance` – Account balance. [More details](https://docs.oxapay.com/api-reference/common/account-balance)

#### 🔹payout

* `generate` – Request payout. [More details](https://docs.oxapay.com/api-reference/payout/generate-payout)
* `information` – Single payout information. [More details](https://docs.oxapay.com/api-reference/payout/payout-information)
* `history` – Payout history list. [More details](https://docs.oxapay.com/api-reference/payout/payout-history)

#### 🔹exchange

* `swap_request` – Swap request. [More details](https://docs.oxapay.com/api-reference/swap/swap-request)
* `swap_history` – Swap history. [More details](https://docs.oxapay.com/api-reference/swap/swap-history)
* `swap_pairs` – Swap pairs. [More details](https://docs.oxapay.com/api-reference/swap/swap-pairs)
* `swap_calculate` – Swap pre-calc. [More details](https://docs.oxapay.com/api-reference/swap/swap-calculate)
* `swap_rate` – Swap Quote rate. [More details](https://docs.oxapay.com/api-reference/swap/swap-rate)

#### 🔹common

* `prices` – Market prices. [More details](https://docs.oxapay.com/api-reference/common/prices)
* `currencies` – Supported crypto. [More details](https://docs.oxapay.com/api-reference/common/supported-currencies)
* `fiats` – Supported fiats. [More details](https://docs.oxapay.com/api-reference/common/supported-fiat-currencies)
* `networks` – Supported networks. [More details](https://docs.oxapay.com/api-reference/common/supported-networks)
* `monitor` – System status. [More details](https://docs.oxapay.com/api-reference/common/system-status)

#### 🔹webhook

* `verify` – Validates `HMAC` header (sha512 of raw body).
* `get_data` – Validates `HMAC` header and return webhook data. [More details](https://docs.oxapay.com/webhook)

***

### Raw responses

By default, endpoints return the unwrapped `data` field. To receive the full API response (`data`, `status`, `message`, `error`, `version`), enable raw mode:

```python
from oxapay_python import OxaPayManager

sdk = OxaPayManager(timeout=20, raw=True)
res = sdk.payment("MERCHANT_API_KEY").generate_invoice({"amount": 1, "currency": "USDT"})
print(res["data"])  # unwrap manually
```

### Exceptions

All SDK exceptions extend `oxapay.exceptions.OxaPayException`:

* `ValidationRequestException` (HTTP 400)
* `InvalidApiKeyException` (HTTP 401)
* `NotFoundException` (HTTP 404)
* `RateLimitException` (HTTP 429)
* `ServerErrorException` (HTTP 500)
* `ServiceUnavailableException` (HTTP 503)
* `HttpException` (network/unknown)
* `MissingApiKeyException` (missing api key)
* `MissingTrackIdException` (missing track id)
* `MissingAddressException` (missing address)
* `WebhookSignatureException` (bad/missing HMAC)
* `WebhookNotReceivedException` (webhook request was not received)

#### Security Notes

* Verify webhook HMAC before use input data.
* Whitelist OxaPay IPs on your firewall (ask support).
* Use HTTPS everywhere.
* Store keys in `.env`, not code.
* Rotate keys regularly.

***

### Testing (safe & offline)

This package uses **pytest** and **responses** for testing.

```bash
pip install -e ".[dev]"
pytest
```

### Compatibility

* Python 3.8+

### Security

If you discover a security vulnerability, please email <contact@oxapay.com>. Do not disclose publicly until it has been fixed.

### Contributing

Pull requests are welcome. For major changes, open an issue first.

```bash
pip install -e ".[dev]"
ruff check .
pytest
```

### License

Apache-2.0 — see [LICENSE](https://github.com/OxaPay/oxapay-python/blob/main/LICENSE).

### Changelog

See [CHANGELOG.md](https://github.com/OxaPay/oxapay-python/blob/main/CHANGELOG.md) for version history.

### To view the OxaPay package on PyPI:

{% embed url="<https://pypi.org/project/oxapay-python/>" %}


# Laravel SDK

Official Laravel SDK for OxaPay — accept crypto payments, exchanges, and payouts.

> **Frameworks:** Laravel 8–12\
> **PHP:** 8.0+ (Laravel 8–9) / 8.1+ (Laravel 10) / 8.2+ (Laravel 11–12)

## Installation

```bash
composer require oxapay/oxapay-laravel
```

#### Publish `config/oxapay.php`

```bash
php artisan oxapay:install
```

> You can use `--force` flag to overwrite config from package

> Service provider and facade are auto-discovered.

#### Add your keys to `.env` or update oxapay config:

```dotenv
OXAPAY_MERCHANT_KEY=your_merchant_api_key
OXAPAY_PAYOUT_KEY=your_payout_api_key
OXAPAY_GENERAL_KEY=your_general_api_key
```

> You can define multiple slots.

***

## Quick start

```php
use OxaPay\Laravel\Support\Facades\OxaPay;

// via facade
$res = OxaPay::payment()->generateInvoice([
    'amount' => 10.5,
    'currency' => 'USDT'
]);

// via helper
$res = oxapay()->payment()->generateInvoice([ 
    'amount' => 10.5,
    'currency' => 'USDT'
]);

// key is optional and use default key from config if no passed
$res = OxaPay::payment('key_2')->generateInvoice([
    'amount' => 10.5,
    'currency' => 'USDT'
]);

// or use raw key
$res = OxaPay::payment("XXXXXX-XXXXXX-XXXXXX-XXXXXX")->generateInvoice([
    'amount' => 10.5,
    'currency' => 'USDT'
]);
```

## Handling Webhooks (Payments & Payouts)

```php
use OxaPay\Laravel\Support\Facades\OxaPay;

try{
    $res = OxaPay::webhook()->getData();
    // ...
}catch (WebhookSignatureException $e) {
    // ...
}

// or you can get data without verify HMAC
$res = OxaPay::webhook()->getData(false);
```

***

## Available methods

#### 🔹payment

* `generateInvoice` – Create invoice & get payment URL. [More details](https://docs.oxapay.com/api-reference/payment/generate-invoice)
* `generateWhiteLabel` – White-label payment. [More details](https://docs.oxapay.com/api-reference/payment/generate-white-label)
* `generateStaticAddress` – Create static deposit address. [More details](https://docs.oxapay.com/api-reference/payment/generate-static-address)
* `revokeStaticAddress` – Revoke static address. [More details](https://docs.oxapay.com/api-reference/payment/revoking-static-address)
* `staticAddressList` – List static addresses. [More details](https://docs.oxapay.com/api-reference/payment/static-address-list)
* `information` – Single payment information. [More details](https://docs.oxapay.com/api-reference/payment/payment-information)
* `history` – Payment history list. [More details](https://docs.oxapay.com/api-reference/payment/payment-history)
* `acceptedCurrencies` – Accepted currencies. [More details](https://docs.oxapay.com/api-reference/payment/accepted-currencies)

#### 🔹account

* `balance` – Account balance. [More details](https://docs.oxapay.com/api-reference/common/account-balance)

#### 🔹payout

* `generate` – Request payout. [More details](https://docs.oxapay.com/api-reference/payout/generate-payout)
* `information` – Single payout information. [More details](https://docs.oxapay.com/api-reference/payout/payout-information)
* `history` – Payout history list. [More details](https://docs.oxapay.com/api-reference/payout/payout-history)

#### 🔹exchange

* `swapRequest` – Swap request. [More details](https://docs.oxapay.com/api-reference/swap/swap-request)
* `swapHistory` – Swap history. [More details](https://docs.oxapay.com/api-reference/swap/swap-history)
* `swapPairs` – Swap pairs. [More details](https://docs.oxapay.com/api-reference/swap/swap-pairs)
* `swapCalculate` – Swap pre-calc. [More details](https://docs.oxapay.com/api-reference/swap/swap-calculate)
* `swapRate` – Swap Quote rate. [More details](https://docs.oxapay.com/api-reference/swap/swap-rate)

#### 🔹common

* `prices` – Market prices. [More details](https://docs.oxapay.com/api-reference/common/prices)
* `currencies` – Supported crypto. [More details](https://docs.oxapay.com/api-reference/common/supported-currencies)
* `fiats` – Supported fiats. [More details](https://docs.oxapay.com/api-reference/common/supported-fiat-currencies)
* `networks` – Supported networks. [More details](https://docs.oxapay.com/api-reference/common/supported-networks)
* `monitor` – System status. [More details](https://docs.oxapay.com/api-reference/common/system-status)

#### 🔹webhook

* `verify` – Validates `HMAC` header (sha512 of raw body).
* `getData` – Validates `HMAC` header and return webhook data. [More details](https://docs.oxapay.com/webhook)

## Exceptions

All SDK exceptions extend `OxaPay\Laravel\Exceptions\OxaPayException`:

* `ValidationRequestException` (HTTP 400)
* `InvalidApiKeyException` (HTTP 401)
* `NotFoundException` (HTTP 404)
* `RateLimitException` (HTTP 429)
* `ServerErrorException` (HTTP 500)
* `ServiceUnavailableException` (HTTP 503)
* `HttpException` (network/unknown)
* `MissingApiKeyException` (missing api key)
* `MissingTrackIdException` (missing track id)
* `MissingAddressException` (missing address)
* `WebhookSignatureException` (bad/missing HMAC)
* `WebhookNotReceivedException` (webhook request was not received)

## Security Notes

* Verify webhook HMAC before use input data.
* Whitelist OxaPay IPs on your firewall (ask support).
* Use HTTPS everywhere.
* Store keys in `.env`, not code.
* Rotate keys regularly.

## Testing (safe & offline)

This package uses **Pest**, **PHPUnit**, and **Orchestra Testbench** for testing.\
Dependencies are already listed under `require-dev` in `composer.json`.

Run tests with composer:

```php
composer test
```

Run tests with pest:

```php
vendor/bin/pest
```

### Compatibility

* Laravel 8–9 → PHP 8.0+
* Laravel 10 → PHP 8.1+
* Laravel 11–12 → PHP 8.2+

### Security

If you discover a security vulnerability, please email <info@oxapay.com>.\
Do not disclose publicly until it has been fixed.

### Contributing

Pull requests are welcome. For major changes, open an issue first.\
Run coding standards & static analysis before PR:

```php
composer cs-fix
composer phpstan
composer test
```

### License

Apache-2.0 — see [LICENSE](https://github.com/OxaPay/oxapay-laravel/blob/main/LICENSE).

### Changelog

See [CHANGELOG.md](https://github.com/OxaPay/oxapay-laravel/blob/main/CHANGELOG.md) for version history.

### To view the OxaPay package on Packagist:

{% embed url="<https://packagist.org/packages/oxapay/oxapay-laravel>" %}


# Make Automation

**OxaPay for Make** enables you to automate your cryptocurrency payment workflows with ease no coding required. This integration helps you save time, reduce manual work, and ensure real time synchronization between OxaPay and your other apps or services.

## What is Make?

Make is a visual, no code and low code automation platform that enables teams to design, build, and scale workflows effortlessly. By connecting apps and services through an intuitive drag and drop interface, Make allows users to automate complex processes without writing code. The platform supports thousands of pre built integrations, custom API connections, and AI powered tools for real time orchestration and monitoring. With robust enterprise features for security and governance, Make helps organizations streamline operations, reduce manual work, and drive innovation across all departments.

<div data-with-frame="true"><figure><img src="/files/0hve4gdQpsbdOBnZMb5M" alt=""><figcaption></figcaption></figure></div>

## Key Features of Make: <a href="#key-features-of-woocommerce" id="key-features-of-woocommerce"></a>

***

1. **Visual workflow builder:** Design, connect, and manage workflows easily using a drag and drop interface. The visual builder helps teams understand complex processes and make quick adjustments without writing code.
2. **No code and low code automation:** Build advanced automations with simple logic and preconfigured modules. Even users without technical backgrounds can automate repetitive tasks and integrate systems efficiently.
3. **Extensive integrations:** Connect thousands of popular apps and web services including CRMs, marketing tools, databases, and cloud platforms. You can also create custom integrations through API connections to meet specific business needs.
4. **AI and smart tools:** Use AI capabilities to enhance automation, analyze data, and make intelligent real time decisions. These tools help reduce errors, improve performance, and optimize workflow execution.
5. **Real time monitoring:** Monitor your workflows as they run, get instant alerts on errors or delays, and view detailed logs for troubleshooting. This ensures reliability and transparency in all automated processes.
6. **Enterprise ready:** Designed with strong security, compliance, and governance controls, Make supports collaboration across teams and departments. Role management, audit logs, and secure data handling make it suitable for enterprise environments.
7. **Scalable and flexible:** Easily adjust workflows as your organization grows. Whether automating a few simple tasks or managing complex enterprise systems, Make provides the flexibility and performance needed to scale seamlessly.

## How to Configure the OxaPay App in Make?

1. To start using the **OxaPay app**, you first need to create a **scenario**. To do this, simply go to the **dashboard** and click the **“Create scenario”** button located in the corner of the page.

<div data-with-frame="true"><figure><img src="/files/9HzOS9X19lsstIKUQj2E" alt=""><figcaption></figcaption></figure></div>

1. After creating your scenario, simply select **OxaPay Crypto Payment Gateway** from the list of available apps.

<div data-with-frame="true"><figure><img src="/files/2H5hyXCDvb6nlhaO0K27" alt=""><figcaption></figcaption></figure></div>

3. After selecting **OxaPay**, you can choose the desired module from one of the following categories: **Payment**, **Payout**, **Swap**, **Common**, **Webhook**, or **Other**.

<div data-with-frame="true"><figure><img src="/files/XypnVX7xB8vF6vZg3RfA" alt=""><figcaption></figcaption></figure></div>

4. After selecting your desired module, in some cases you will need to **create a connection**. To do this, generate the required API key in your **OxaPay account**, enter it in the corresponding field after clicking **“Create a connection”**, and then click **Save** to establish the connection.

<div align="center" data-with-frame="true"><figure><img src="/files/ZtB9KEaoPi6yalqlKmTO" alt=""><figcaption></figcaption></figure></div>

> You can follow the guides below to generate the necessary keys:
>
> * [How to Generate a Merchant API Key](https://docs.oxapay.com/api-reference/payment#to-process-payments-youll-need-a-merchant-api-key.-follow-these-steps-to-generate-it)
> * [How to Generate a Payout API Key](https://docs.oxapay.com/api-reference/payout#to-process-payouts-youll-need-a-payout-api-key.-follow-these-steps-to-generate-it)
> * [How to Generate a General API Key](https://docs.oxapay.com/api-reference/swap#to-process-swap-youll-need-a-general-api-key.-follow-these-steps-to-generate-it)

5. If the selected module requires configuration, you will need to fill in the **required fields** and click **Save.** It’s important to note that each module is based on **OxaPay’s APIs**, so all parameters available in the corresponding API are accessible and fully configurable within the module.

<div data-with-frame="true"><figure><img src="/files/jpj2jJ26SvqZJcdot5Yk" alt=""><figcaption></figcaption></figure></div>

6. After completing the settings and saving them, you can click the **“+”** button to select the app you want to integrate with **OxaPay** and easily build your desired scenario.

<div data-with-frame="true"><figure><img src="/files/SBmCIEplveL3Pt5YGSBF" alt=""><figcaption></figcaption></figure></div>

## Automate your OxaPay workflows using Make

Currently, **Make** supports over **3,000 apps**, including **OpenAI**, **Telegram**, **WhatsApp**, and **Shopify**. You can easily integrate any app supported by Make with OxaPay without any coding knowledge and build your desired scenarios effortlessly.&#x20;

Once you’ve configured the OxaPay app in Make, you’re ready to manage your transactions and workflows automatically. Don’t forget to test your scenarios to ensure a smooth, error-free experience. If you encounter any issues or have questions, please reach out to OxaPay support.

## For more information you can visit:

* [OxaPay on Make Integrations](https://www.make.com/en/integrations/oxapay-crypto-pay-gtw)
* [OxaPay on Make Apps](https://apps.make.com/oxapay-crypto-pay-gtw)
* [Make Help Center](https://help.make.com/)


# Telegram Bot

This integration allows you to connect OxaPay with Telegram using Make.&#x20;By combining OxaPay’s payment and invoice system with Telegram bots or chats, you can automate payment notifications, order confirmations, and user interactions in real-time.

<div data-with-frame="true"><figure><img src="/files/JTDgI31WZXU7zLBcp3LJ" alt=""><figcaption></figcaption></figure></div>

### Using OxaPay and Telegram together on Make, you can:

* Send Telegram messages when a payment is completed
* Generate invoices and automatically deliver them to customers through Telegram
* Automatically deliver digital products after successful payment
* Alert users about payment expiration or failure
* Create a Telegram based payment notification system for merchants

> **In short, you can build virtually any payment related automation by combining OxaPay and Telegram on Make.**

### Example Automation Scenarios

{% stepper %}
{% step %}

#### **Scenario 1: Payment Notification Bot**

When a payment status changes to Paid in OxaPay, a Telegram message is sent automatically to a user or group.
{% endstep %}

{% step %}

#### **Scenario 2: Admin Alert System**

Admins are notified in a private Telegram group when a new or high-value transaction is completed.
{% endstep %}

{% step %}

#### **Scenario 3: Invoice Creation & Tracking**

An invoice is created in OxaPay and the payment link is instantly sent to the customer via Telegram.
{% endstep %}
{% endstepper %}

### **Telegram Payment Bot with OxaPay Scenario** <a href="#telegram-payment-bot-with-oxapay-scenario" id="telegram-payment-bot-with-oxapay-scenario"></a>

This scenario creates a Telegram bot powered by OxaPay that allows merchants to generate payment requests directly inside Telegram. Using this bot, users can create invoice links, white-label addresses, or static addresses, and receive instant Telegram notifications whenever a payment is completed. You can download the scenario blueprint file below:

{% file src="/files/7R3Iw4D9hqOllyWauqld" %}

#### Before starting, make sure you have:

* An active OxaPay account with API access
* A Telegram bot token created via BotFather
* A Make account with access to Data Store

#### **How to build and configure this Telegram payment bot using Make?**

1. First, create a new scenario by going to the Make dashboard and clicking the "**Create scenario**" button.

<div data-with-frame="true"><figure><img src="/files/kEoUyh29cqZ6q4e9nm0n" alt=""><figcaption></figcaption></figure></div>

2. In the top-right corner, click the three-dot menu, then choose "**Import blueprint"** and upload the downloaded scenario file.

<div data-with-frame="true"><figure><img src="/files/fspzZ1jZ8QHSSsxDdzX7" alt=""><figcaption></figcaption></figure></div>

3. Now, click on each **module** one by one and complete the required **connection** and configuration steps.

<div data-with-frame="true"><figure><img src="/files/JRLKxQIopRcTbGScFACv" alt=""><figcaption></figcaption></figure></div>

4. In the "**Data Store**" module, you need to connect it to a database with the following structure.

<div data-with-frame="true"><figure><img src="/files/Wpx8s0FEr7gaBIpQfnVc" alt=""><figcaption></figcaption></figure></div>

5. Once all modules are configured, click **Save** to store the scenario.

<div data-with-frame="true"><figure><img src="/files/sWpFDQOr75IukdFhWYX6" alt=""><figcaption></figcaption></figure></div>

6. Now, go to the scenario page you created and click the **Active** button to activate the scenario.

<div data-with-frame="true"><figure><img src="/files/9BXIPRYSurvSCmFrnhmE" alt=""><figcaption></figcaption></figure></div>

7. For real-time payment status notifications, create a separate scenario and import the blueprint file below into a new scenario.

{% file src="/files/LUJYerlrBmJtBQVpeASm" %}

8. In the "**Data Store**" module in this scenario, you need to connect it to a database with the following structure.

<div data-with-frame="true"><figure><img src="/files/Bf73CvPpBZGEZxJ39tPu" alt=""><figcaption></figcaption></figure></div>

9. Once all modules are configured, copy the webhook URL from the "**Watch Payment Webhook**" module and add it to the Callback URL of all OxaPay modules that create invoices or payment requests in the previous scenario. Finally, save and activate the scenario.

<div data-with-frame="true"><figure><img src="/files/Be9yXE4Xuub7hbrmtEjs" alt=""><figcaption></figcaption></figure></div>

### Conclusion and Next Steps

**With these two Make scenarios configured, you now have a fully functional Telegram payment bot powered by OxaPay:**

* Scenario 1 handles user interaction and payment creation inside Telegram.
* Scenario 2 receives real-time payment status updates via webhook and sends automated Telegram notifications.

**This setup can be extended further by:**

* Delivering digital products or access credentials after successful payment
* Logging transactions in external tools such as Google Sheets or CRM systems
* Adding retry or fallback flows for expired or failed payments

By combining OxaPay, Telegram, and Make, you can build flexible and scalable crypto payment automations without writing custom backend code.


# Shopify

This integration allows you to connect OxaPay with Shopify. By combining OxaPay’s crypto payment gateway with Shopify stores, you can accept cryptocurrency payments, generate payment requests, and automate order processing and payment confirmations in real time.

<div data-with-frame="true"><figure><img src="/files/edVUTsmSiAsRValQxZxs" alt=""><figcaption></figcaption></figure></div>

## What is Shopify? <a href="#what-is-magento-2" id="what-is-magento-2"></a>

Shopify is a leading cloud-based eCommerce platform that enables businesses to build, manage, and scale online stores with minimal infrastructure requirements. It provides a complete set of tools for product and inventory management, checkout and payments, order processing, shipping, and customer experience optimization.

## Key Features of Shopify

1. **Product Management:** Provides flexible tools for creating and managing products, including variants, SKUs, pricing, collections and inventory tracking for efficient catalog control.
2. **Order Management:** Supports the complete order lifecycle (from checkout to fulfillment) with capabilities for order status tracking, shipping labels, refunds, returns (depending on setup/apps), and customizable checkout and delivery options.
3. **Customer Management:** Maintains customer profiles with contact details and order history, supports customer segmentation, and enables personalized experiences through targeted communications and storefront customization.
4. **Marketing and Promotions:** Includes built-in tools for discount codes, automatic discounts, gift cards, abandoned cart recovery, and integrations with major marketing channels such as email, social media, and search platforms through apps and native integrations.
5. **Payments and Security:** Offers secure checkout and payment processing options with features like fraud analysis, SSL encryption, role-based staff access, and compliance support aligned with industry standards for handling transactions.
6. **Performance and Scalability:** Cloud-hosted infrastructure is optimized for reliability and speed, with global CDN support and scalable architecture that can handle growing traffic and product catalogs without requiring server management.

## OxaPay Integration for Shopify (via Make)

Integrating OxaPay with Shopify via Make is an effective way to add cryptocurrency payments to your store without installing a native Shopify app. In this approach, the integration is implemented as an automation workflow that connects the Shopify module with the OxaPay module, enabling your store to create and manage crypto payment requests in a structured, trackable process.

By using Make to orchestrate the integration, you can automate key steps such as generating payment invoices, syncing payment status, and updating order records. This integration provides a modern payment option that can enhance the overall payment experience and support growth in a digital-first marketplace.

## Integrating OxaPay with Shopify Scenario

This integration is built with **three separate** Scenarios:

<table><thead><tr><th width="171.33331298828125"></th><th></th></tr></thead><tbody><tr><td>Scenario 1</td><td>Generate and store Shopify access token every 20 hours</td></tr><tr><td>Scenario 2</td><td>Receive Shopify order, create OxaPay invoice, send invoice email</td></tr><tr><td>Scenario 3</td><td>Receive OxaPay payment webhook and mark Shopify order as Paid</td></tr></tbody></table>

### Before starting, make sure you have:&#xD; <a href="#before-starting-make-sure-you-have" id="before-starting-make-sure-you-have"></a>

* A Shopify store with admin access
* Access to Shopify Dev Dashboard
* Your OxaPay Merchant API Key
* A Make account with access to Data Store

### Step 1 — Create a Shopify App

1. From the Shopify Admin, go to **Settings → Apps → Develop apps → Build apps in Dev Dashboard**. This will open the Shopify Dev Dashboard, where you can manage custom apps for your store. In the Dev Dashboard, create a new app and provide the required app details.

<div data-with-frame="true"><figure><img src="/files/SqCczfnqNW8c7EoguBLp" alt=""><figcaption></figcaption></figure></div>

2. Create a new app version and configure the required settings before releasing it. If the app is not embedded in the Shopify Admin, set the **App URL** to a public URL or use your own n8n/application URL. Set **Embed app in Shopify admin** to **Off** and for the **Webhooks API version**, select the latest available stable Shopify API version, for example `2026-04`.

<div data-with-frame="true"><figure><img src="/files/uGflLmu9kq0uh2U6WJt5" alt=""><figcaption></figcaption></figure></div>

3. Next, add the required **Admin API scopes** for the app. The minimum recommended scopes are `read_orders`, `write_orders`, `read_products` and `read_customers`. After completing the configuration, release the app version so the settings become active.

<div data-with-frame="true"><figure><img src="/files/d5QmCQI4sK2IpMKqM6NA" alt=""><figcaption></figcaption></figure></div>

4. After the app version has been released, install the app on the target Shopify store. In the Shopify Dev Dashboard, open the app and go to **App → Home → Install app**. Select the store where the app should be installed, then review and approve the requested Admin API scopes.

<div data-with-frame="true"><figure><img src="/files/5YASM9XkHpXp8AUjB4sj" alt=""><figcaption></figcaption></figure></div>

5. In the Shopify Dev Dashboard, open the app’s settings page and copy the **Client ID** and **Secret**. These values will be stored in the n8n Data Table and used later during the authentication process.

<div data-with-frame="true"><figure><img src="/files/OEDPhb20Ew70coFFgOUj" alt=""><figcaption></figcaption></figure></div>

> The **Client ID** is used to identify the Shopify app, while the **Secret** is used to request Shopify access tokens. Make sure both values are copied correctly and stored securely, as they are required for generating a valid Admin API access token.

### Step 2 — Create the Make Data Store&#xD; <a href="#step-2-create-the-n8n-data-table" id="step-2-create-the-n8n-data-table"></a>

1. Scenario 1 requires a dedicated place to store the Shopify client credentials, the Shopify store identifier, and the latest generated access token. For this purpose, create a Data Store in Make with the recommended name shopify\_config.
2. Create exactly one record in this data store with four columns: client\_id, secret, shopify\_store, and access\_token. The **Client ID** and **Secret** should be copied from the Shopify Dev Dashboard. The **Shopify Store** field should contain only the **subdomain** without .myshopify.com . The Access Token will be generated and updated by the scenario after the app is installed and authorized.

<table><thead><tr><th width="220.77783203125">client_id</th><th width="208.77777099609375">secret</th><th width="179.4443359375">shopify_store</th><th>access_token</th></tr></thead><tbody><tr><td><code>YOUR_SHOPIFY_CLIENT_ID</code></td><td><code>YOUR_SHOPIFY_SECRET</code></td><td><code>YOUR_SHOPIFY_STORE_SUBDOMAIN</code></td><td><code>Null</code></td></tr></tbody></table>

### Step 3 — scenario 1: Generate Shopify Access Token

1. First, create a new scenario by going to the Make dashboard and clicking the "**Create scenario**" button.

<div data-with-frame="true"><figure><img src="/files/NoQGw5Xp2pbpIODLcegd" alt=""><figcaption></figcaption></figure></div>

2. In the top-right corner, click the three-dot menu, then choose "**Import blueprint"** and upload the downloaded scenario file.

{% file src="/files/YsbLuPRHl4hfBwQiZ0Gi" %}

<div data-with-frame="true"><figure><img src="/files/qAoRd12lZPdieidu5Hlj" alt=""><figcaption></figcaption></figure></div>

3. Now, click on each **module** one by one and complete the required **connection** and configuration steps.

<figure><img src="/files/eF2MaKBFpL1bRnagSQ0U" alt=""><figcaption></figcaption></figure>

4. Once all modules are configured, set Scheduling to 1200 minutes, which equals 20 hours, then click Save to store the scenario.

<div data-with-frame="true"><figure><img src="/files/9D1L620S1OpcRXGBrKpB" alt=""><figcaption></figcaption></figure></div>

5. Now, go to the scenario page you created and click the **Active** button to activate the scenario.

<div data-with-frame="true"><figure><img src="/files/kTIhRIJNizdnJ0S3kvIo" alt=""><figcaption></figcaption></figure></div>

### Step 4 — Scenario 2: Create OxaPay Invoice and Send Shopify Invoice Email <a href="#step-4-workflow-2-create-oxapay-invoice-and-send-shopify-invoice-email" id="step-4-workflow-2-create-oxapay-invoice-and-send-shopify-invoice-email"></a>

Next, download the scenario blueprint provided below and import it into Make, following the same steps used for the previous scenario. After importing the scenario, review and configure each module based on your account settings. Once all module configurations are completed, then click Save and turn on the scenario to ensure it runs properly and can process payment-related events automatically.

{% file src="/files/ygGgWcyOut2uvBFkQwHS" %}

<div data-with-frame="true"><figure><img src="/files/nNiCinkUcdXQsQvqCOD4" alt=""><figcaption></figcaption></figure></div>

### **Step 5 — Create Shopify Order Created Webhook**&#xD;

Shopify must be configured to send new order data to n8n through a webhook. In the Shopify Admin, go to **Settings → Notifications → Webhooks**, then click **Create webhook** to add a new webhook endpoint.

<div data-with-frame="true"><figure><img src="/files/gxpAeExxgtbwDN2m0DWZ" alt=""><figcaption></figcaption></figure></div>

Set the webhook event to Order creation and choose JSON as the data format. In the URL field, paste  the webhook URL generated by the Make Custom Webhook module in Scenario 2.\\

### Step 6 — Add OxaPay as a Manual Payment Method in Shopify

To allow customers to select OxaPay during checkout, add OxaPay as a custom manual payment method in Shopify. In the Shopify Admin, go to **Settings → Payments**, then find the **Manual payment methods** section and click **Create custom payment method**.

<div data-with-frame="true"><figure><img src="/files/EfS4IHJBVoDd81vM5BJY" alt=""><figcaption></figcaption></figure></div>

Use a clear payment method name, such as **OxaPay Crypto Payment**. In the **Additional details** field, you can explain that customers will pay securely with cryptocurrency through OxaPay and that an invoice email containing the crypto payment link will be sent after the order is placed.

#### Step 7 — Customize the Shopify Order Invoice Email Template&#xD; <a href="#step-7-customize-the-shopify-order-invoice-email-template" id="step-7-customize-the-shopify-order-invoice-email-template"></a>

1. Customize the Shopify **Order invoice** email template so customers can clearly see the OxaPay payment instructions and access the crypto payment link directly. In the Shopify Admin, go to **Settings → Notifications**, then open **Customer notifications → Order invoice** and click **Edit code**.

<div data-with-frame="true"><figure><img src="/files/1bdolDmHSeWji1TZqnW1" alt=""><figcaption></figcaption></figure></div>

2. The invoice email sent by Workflow 2 uses `custom_message`, so the template must include a custom message block to display the OxaPay payment message. Make sure the template contains a Liquid condition such as `{% if custom_message != blank %}` and outputs `{{ custom_message }}` inside the email body. This ensures that the OxaPay payment instructions are shown only when a custom message is provided.

{% code expandable="true" %}

```
custom_message
```

{% endcode %}

3. To connect the **Pay Now** button directly to the OxaPay payment link, replace the default Shopify payment URL variable, `checkout_payment_collection_url`, with `custom_message` in the button link. This allows the customer to click **Pay Now** and be redirected directly to the OxaPay crypto payment page instead of the default Shopify payment collection page.

{% code expandable="true" %}

```
<a href="{{ checkout_payment_collection_url }}">Pay Now</a>

Replace it with:

<a href="{{ custom_message }}">Pay Now</a>
```

{% endcode %}

### Step 8 — Workflow 3: Receive OxaPay Payment Webhook and Mark Shopify Order as Paid

1. Download the ready-made Scenario 3 blueprint and import it into Make by creating a new scenario and selecting Import Blueprint. After importing the scenario, review and configure the required modules based on your account settings. Once all module configurations are completed, click Save and turn on the scenario to ensure it runs properly.

{% file src="/files/ZV53DbAXfJQfgQIPlFbn" %}

<div data-with-frame="true"><figure><img src="/files/iCLQ2dEvnycv54pPPzjg" alt=""><figcaption></figcaption></figure></div>

2. This scenario is responsible for receiving payment status updates from OxaPay. Once OxaPay confirms that a payment has been completed, the scenario continues processing and marks the related Shopify order as Paid.
3. Then copy the webhook URL generated by the Make Custom Webhook module and use it as the callback\_url when creating OxaPay invoices in Scenario 2.

We hope this guide was helpful! The OxaPay integration for Shopify is a powerful solution that enables your store to accept cryptocurrency payments and automate the payment flow, helping you deliver a smoother checkout experience and support your business growth.


# Discord Bot

This integration lets you connect OxaPay with Discord using Make. By combining OxaPay’s payment and invoicing system with Discord bots or channels, you can automate payment alerts and order confirmations. It also enables real-time user interactions for a smoother and faster payment experience.

<div data-with-frame="true"><figure><img src="/files/m66exBNwuIGrgK6lZgmv" alt=""><figcaption></figcaption></figure></div>

### Using **OxaPay** and **Discord** together on **Make**, you can:

* Trigger real-time Discord alerts when a transaction is confirmed
* Create OxaPay invoices and send payment links automatically via Discord DM or channel
* Fulfill digital orders instantly (e.g., license keys, access links, roles) after successful payment
* Send reminder messages for pending invoices and notify users of failed or expired payments

### Example Automation Scenarios

{% stepper %}
{% step %}

#### **Scenario 1:** Customer Payment Confirmation Flow

When OxaPay marks a transaction as **Paid**, Make sends a personalized Discord DM to the customer with payment details, order ID, and next-step instructions.
{% endstep %}

{% step %}

#### **Scenario 2:** High Value Transaction Monitoring

If a payment exceeds a defined amount, an alert is posted instantly in a private Discord staff channel so admins can review and process priority orders faster.
{% endstep %}

{% step %}

#### **Scenario 3:** Invoice Reminder & Status Updates

After an invoice is created in OxaPay, the payment link is sent to the customer on Discord, followed by automatic reminders before expiry and a final status update (Paid/Expired/Failed).
{% endstep %}

{% step %}

#### **Scenario 4:** Digital Delivery After Verification

Once payment is confirmed, Make triggers automatic delivery of digital products (license key, download link, or access role) through Discord without manual intervention.
{% endstep %}
{% endstepper %}

### Discord Payment Bot with OxaPay Scenario

This scenario builds a Discord payment bot integrated with OxaPay through Make, allowing merchants to create payment requests directly inside Discord. With simple bot actions, users can generate invoice links, white-label payment addresses, and receive instant Discord notifications when a payment is confirmed.&#x20;

**You can download the scenario blueprint file below:**

{% file src="/files/RDs2V7wnp69GyevK0e8Z" %}

### **Before starting, make sure you have:**

* An active OxaPay account with API access
* A **Discord bot token** created in the Discord Developer Portal
* A Make account with access to Data Store

### How to build and configure this **Discord** payment bot using **Make**?

1. After logging in to your Discord account, go to [**https://discord.com/developers/applications**](https://discord.com/developers/applications). Click **New Application**, enter your desired application name, and then click **Create**.

<div data-with-frame="true"><figure><img src="/files/dDkcwDboZ6Qjiceq9yfh" alt=""><figcaption></figcaption></figure></div>

2. After creating the application, click **Bot** in the left sidebar. In the bot settings, under **Privileged Gateway Intents**, enable **Message Content Intent**, then click **Save Changes**.

<div data-with-frame="true"><figure><img src="/files/JcUCDTnhtOFdsEzcKOmg" alt=""><figcaption></figcaption></figure></div>

3. On the same **Bot** page, go to **Token** section and copy your bot token. If the token is not visible, click **Reset Token** to generate and reveal a new one, then copy it immediately. Keep this token secure and never share it.

<div data-with-frame="true"><figure><img src="/files/QQPHaOnYZvCFtlMYBINU" alt=""><figcaption></figcaption></figure></div>

4. In the left sidebar, click **Installation**. Under **Default Install Settings → Guild Install**, open **Scopes** and add **bot**. Then, in **Permissions**, select **Administrator**, and click **Save Changes**.

<div data-with-frame="true"><figure><img src="/files/ptC2iJTNc0C41mB7jzMP" alt=""><figcaption></figcaption></figure></div>

5. Use the generated **Install Link** to install your application on the target Discord server. Select the server, review the requested permissions, and click **Authorize**.

<div data-with-frame="true"><figure><img src="/files/4jw84RUTFDSg8cvxsDWd" alt=""><figcaption></figcaption></figure></div>

6. In your Make dashboard, click **Create a new scenario** to start building the automation flow.

<div data-with-frame="true"><figure><img src="/files/kEoUyh29cqZ6q4e9nm0n" alt=""><figcaption></figcaption></figure></div>

7. In the top-right corner, click the three-dot menu, then choose "**Import blueprint"** and upload the downloaded scenario file.

<div data-with-frame="true"><figure><img src="/files/Hd5yPQ6Y4vweYennmvfZ" alt=""><figcaption></figcaption></figure></div>

8. Once the scenario canvas opens, add a **Discord** module and click it to configure. In the configuration window, click **Create a connection.**

<div data-with-frame="true"><figure><img src="/files/QcT1Ab4pzUQ4qOj4pvYe" alt=""><figcaption></figcaption></figure></div>

9. In the window that opens, enable **Advanced Settings**. Enter your bot token, then under **Bot Permissions**, click **Select All** and press **Save**. On the authorization page, choose your target server and click **Authorize**.

<div data-with-frame="true"><figure><img src="/files/0NTk73Mz4KRdAp0BbLif" alt=""><figcaption></figcaption></figure></div>

10. Now, click on each **module** one by one and complete the required **connection** and configuration steps.

<div data-with-frame="true"><figure><img src="/files/sFW3GASShzePConAzJXE" alt=""><figcaption></figcaption></figure></div>

11. In the "**Data Store**" module, you need to connect it to a database with the following structure.

<div data-with-frame="true"><figure><img src="/files/05YTiGA9i6svj8hsuGuV" alt=""><figcaption></figcaption></figure></div>

12. After configuring all modules, click **Save** to store the scenario. Then open the **Webhooks** module, copy the webhook URL, and keep this address. (you’ll need it in the next steps)

<div data-with-frame="true"><figure><img src="/files/HtiuTu4KmlRIALWUJ1e3" alt=""><figcaption></figcaption></figure></div>

13. Deploy the Python script on an active server. Before running it, replace:

    * `YOUR_DISCORD_BOT_TOKEN` with your actual Discord bot token
    * `YOUR_MAKE_WEBHOOK_URL` with your Make webhook URL

    For security, keep both values private and load them from environment variables instead of hardcoding them in the script.

{% file src="/files/yMG74Z2NLncCkB3TSh5l" %}

14. Whenever you want to create a new payment, simply send a message containing keywords like “**OxaPay**”, “**Invoice**”, or “**Crypto**” in a channel where the bot is active. The bot will automatically trigger and run the payment workflow.
15. For real-time payment status notifications, create a separate scenario and import the blueprint file below into a new scenario.

{% file src="/files/JWv26n6dwyZTEP4exa9V" %}

16. In the "**Data Store**" module in this scenario, you need to connect it to a database with the following structure.

<div data-with-frame="true"><figure><img src="/files/TpgzqgBMx6CrVCCiYoTj" alt=""><figcaption></figcaption></figure></div>

17. Once all modules are configured, copy the webhook URL from the "**Watch Payment Webhook**" module and add it to the Callback URL of all OxaPay modules that create invoices or payment requests in the previous scenario. Finally, save and activate the scenario.

<figure><img src="/files/sWL0rlkRHSisFJ3UXe2F" alt=""><figcaption></figcaption></figure>

### Conclusion and Next Steps

**With these two Make scenarios configured, you now have a fully functional Discord payment bot powered by OxaPay:**

* **Scenario 1** manages user interaction in Discord and creates payment invoices through OxaPay.
* **Scenario 2** listens for real-time OxaPay webhook updates and automatically posts payment status notifications in Discord.

#### **This setup can be extended even further by:**

* **Automatically delivering digital products or access credentials** after a successful payment confirmation
* **Recording transactions in external systems** such as Google Sheets, Airtable, or your CRM for reporting and reconciliation
* **Implementing retry and fallback logic** for expired, underpaid, or failed invoices to improve payment recovery rates

By combining **OxaPay, Discord, and Make**, you can build flexible, scalable crypto payment automations without writing custom backend code.<br>


# N8N Automation

OxaPay for n8n enables you to automate your cryptocurrency payment workflows with flexibility and control. With this integration, you can connect OxaPay to your business tools, trigger workflows from payment events, create invoices, manage payouts, retrieve transaction data, and build advanced crypto payment automations with little or no code.

## What is n8n?

n8n is a workflow automation platform that combines visual automation with the flexibility of code. It allows teams to connect apps, APIs, databases, and internal systems using a visual workflow builder while still supporting custom logic when needed.

With n8n, users can build workflows using triggers, actions, conditions, webhooks, API requests, and data transformation tools. It is especially useful for technical teams that need more control over automation logic, deployment, data handling, and custom integrations.

<div data-with-frame="true"><figure><img src="/files/yjWjPMdtfUXQ8AowoEvG" alt=""><figcaption></figcaption></figure></div>

## Key Features of n8n:

***

1. **Visual workflow builder:** Build workflows by connecting nodes on a visual canvas. This makes it easy to design, understand, and manage even complex automation flows.
2. **Low-code and code-friendly automation:** Create workflows without writing code, or add custom JavaScript, expressions, API calls, and advanced logic whenever your use case requires more flexibility.
3. **Webhook support:** Trigger workflows instantly when payment, payout, or other OxaPay events occur. This is useful for real-time notifications, order updates, reconciliation, and internal operations.
4. **Self-hosting option:** Run n8n on your own infrastructure when you need more control over privacy, security, deployment, and data storage.
5. **Extensive app ecosystem:** Connect OxaPay with hundreds of popular apps and services, including CRMs, databases, spreadsheets, messaging tools, e-commerce platforms, AI tools, and internal systems.
6. **Advanced workflow logic:** Use filters, conditions, loops, error handling, retries, schedules, and data transformations to build reliable payment operations.
7. **AI-ready automation:** Combine OxaPay payment data with AI tools to create smart workflows, generate reports, classify transactions, analyze customer behavior, or automate support processes.

## How to Configure the OxaPay Node in n8n?

1. Currently, the OxaPay node for n8n is available for self-hosted n8n instances only. To install and use the OxaPay node, make sure you are running n8n in a self-hosted environment. Then, go to **Settings > Community Nodes**, click **Install**, enter the official OxaPay package name, and complete the installation.

> **OxaPay package name:**
>
> `n8n-nodes-oxapay`

<div data-with-frame="true"><figure><img src="/files/YncCNuGLm72QPhDQcdML" alt=""><figcaption></figcaption></figure></div>

2. To start using the OxaPay node in n8n, first log in to your n8n instance and create a new workflow. You can do this from the dashboard by clicking the “Create Workflow” button.

<div data-with-frame="true"><figure><img src="/files/qwcxTZz8tw14N98IlZWo" alt=""><figcaption></figcaption></figure></div>

3. Once your workflow has been created, click the “+” button to add a new node. Search for **OxaPay** and select the OxaPay node or module you want to use.

<div data-with-frame="true"><figure><img src="/files/7jZU76iwk7PjPy7HUuMg" alt=""><figcaption></figcaption></figure></div>

4. Depending on your workflow, choose the required operation from the available OxaPay categories, such as Payment, Payout, Swap, Common, Webhook, or other supported actions.

<div data-with-frame="true"><figure><img src="/files/7m4aF1xoPtEU3dy4TCtZ" alt=""><figcaption></figcaption></figure></div>

5. In some cases, you need to create credentials before using an OxaPay operation. To configure OxaPay credentials in n8n, click **+ Create new credential**, enter your OxaPay API key in the corresponding field, and click **Save** to complete the setup.

<div data-with-frame="true"><figure><img src="/files/QsVuHqkUz9BorzIagxZG" alt=""><figcaption></figcaption></figure></div>

> You can follow the guides below to generate the necessary keys:
>
> * [How to Generate a Merchant API Key](https://docs.oxapay.com/api-reference/payment#to-process-payments-youll-need-a-merchant-api-key.-follow-these-steps-to-generate-it)
> * [How to Generate a Payout API Key](https://docs.oxapay.com/api-reference/payout#to-process-payouts-youll-need-a-payout-api-key.-follow-these-steps-to-generate-it)
> * [How to Generate a General API Key](https://docs.oxapay.com/api-reference/swap#to-process-swap-youll-need-a-general-api-key.-follow-these-steps-to-generate-it)

6. After adding your credentials, configure the required fields for the selected operation. Each OxaPay node is based on OxaPay APIs, so the available fields are designed to match the corresponding API parameters.

<div data-with-frame="true"><figure><img src="/files/pSTRnJ7FQQiAc1SXDbtJ" alt=""><figcaption></figcaption></figure></div>

7. Click **Execute step** or run the workflow manually to make sure the OxaPay node is configured correctly. Review the output data returned by OxaPay and use it in the next steps of your workflow.

<div data-with-frame="true"><figure><img src="/files/eYkkgc3j9ZqASOD3Rfi0" alt=""><figcaption></figcaption></figure></div>

8. After confirming that the OxaPay step works correctly, connect it to other apps or services in your workflow. For example, you can send a Telegram message, update a Google Sheet, create a CRM record, send an email, update your database, or call another internal API.

<div data-with-frame="true"><figure><img src="/files/vvK02WYlBu2rhZ5GebHH" alt=""><figcaption></figcaption></figure></div>

## Using OxaPay Webhooks in n8n

OxaPay webhooks allow your n8n workflows to react to payment and payout events in real time. This is useful when you want to automatically update order statuses, notify your team, trigger fulfillment, record transactions, or synchronize payment data with another system.

To use OxaPay webhooks in n8n:

1. Create a new workflow in n8n.
2. Add an OxaPay webhook trigger or a standard Webhook node.
3. Copy the webhook URL generated by n8n.
4. Add this URL to the callback URL field in your OxaPay API request.
5. Complete a test payment or payout event.
6. Check the received webhook payload in n8n.
7. Add the next steps of your workflow, such as sending a notification, updating an order, or storing the transaction.

## Example OxaPay n8n Workflows

Here are some common automation examples you can build with OxaPay and n8n:

1. **Payment notification workflow:** When a payment is completed, send an instant notification to Telegram, Discord, Slack, or email.
2. **Order update workflow:** Receive an OxaPay payment webhook and automatically update the order status in your e-commerce platform or database.
3. **Invoice creation workflow:** Create an OxaPay invoice from a form submission, CRM deal, spreadsheet row, or internal system request.
4. **Transaction reporting workflow:** Retrieve payment data from OxaPay and sync it with Google Sheets, Airtable, Notion, or your internal dashboard.
5. **Payout automation workflow:** Generate payout requests based on approved records in your database, spreadsheet, or back-office system.
6. **Balance monitoring workflow:** Check your OxaPay account balances on a schedule and notify your finance team when balances reach a specific threshold.
7. **Swap automation workflow:** Create swap requests or retrieve swap rates as part of your treasury, accounting, or operational workflow.
8. **AI-powered payment analysis:** Send OxaPay transaction data to an AI model to summarize activity, classify customers, detect anomalies, or generate reports.

## Automate your OxaPay workflows using n8n

Once you have configured OxaPay in n8n, you can start building powerful automation workflows for crypto payments, payouts, swaps, reporting, notifications, and internal operations.

n8n gives you the flexibility to connect OxaPay with external apps, internal APIs, databases, AI tools, and custom business systems. You can start with a simple workflow, test each step carefully, and then expand it into a complete automated payment operation.

Before going live, make sure to test your workflows, validate your API keys, review webhook behavior, and confirm that your automation handles errors correctly. If you encounter any issues or have questions, please contact OxaPay support.


# Telegram Bot

This integration shows how to connect **OxaPay** with **Telegram** using **n8n workflows**. By combining OxaPay’s crypto payment APIs with Telegram automation in n8n, you can create a bot that generates payment requests, sends invoice links to customers, receives real-time payment status updates, and notifies users or admins when a transaction is completed.

<div data-with-frame="true"><figure><img src="/files/QKbYbp76OS4NOJe1vBiv" alt=""><figcaption></figcaption></figure></div>

### What can you build with OxaPay and Telegram on n8n?

* Generate crypto invoice links from Telegram commands
* Send payment links directly to users in private chats or groups
* Send automatic confirmation messages when a payment is paid
* Deliver digital products, activation keys, download links, or access credentials after successful payment
* Store payment records inside n8n Data Tables, Google Sheets, Airtable, Notion, or your own database

### Example Automation Scenarios <a href="#example-automation-scenarios" id="example-automation-scenarios"></a>

{% stepper %}
{% step %}

#### Scenario 1: Telegram Payment Bot

n8n receives the message through the Telegram Trigger node, extracts the amount and currency, creates an OxaPay invoice through the OxaPay node, and sends the generated payment URL back to the user in Telegram.
{% endstep %}

{% step %}

#### Scenario 2: Admin Alert System

Whenever a payment is created, paid, underpaid, expired, or refunded, n8n can send a message to a private Telegram admin group.
{% endstep %}

{% step %}

#### Scenario 3: Digital Product Delivery

After OxaPay confirms that the invoice status is paid, n8n can automatically send a digital product to the customer.
{% endstep %}
{% endstepper %}

### **Telegram Payment Bot with OxaPay** Workflow&#x20;

This n8n workflow connects the OxaPay node with the Telegram node to create a fully automated Telegram payment bot. Merchants can use the bot to generate OxaPay invoice links, white-label addresses, or static payment addresses directly from Telegram. The Webhook workflow listens for payment updates and sends real-time Telegram notifications when a payment is received, confirmed, or completed. You can download the n8n workflow file below:

{% file src="/files/tTSBlVXy5p0j4yDmI0hc" %}

#### Before starting, make sure you have:

* An active OxaPay account with API access
* A Telegram bot token created via BotFather
* A self-hosted n8n instance with access to community nodes

#### How to build and configure this Telegram payment bot using n8n?

1. Before importing or configuring the workflow, make sure the OxaPay Community node is installed in your n8n instance. You can install it from the n8n settings by going to Settings, opening Community nodes, selecting Install, entering the package name n8n-nodes-oxapay, and confirming the installation. After installation, the OxaPay node will be available in your n8n node list.

<div data-with-frame="true"><figure><img src="/files/auW2snCWrrxGF6XPDSP1" alt=""><figcaption></figcaption></figure></div>

2. To get started, open your n8n dashboard and create a new workflow by clicking “Create Workflow”.&#x20;

<div data-with-frame="true"><figure><img src="/files/qwcxTZz8tw14N98IlZWo" alt=""><figcaption></figcaption></figure></div>

3. In the top-right corner of the n8n workflow editor, click the three-dot menu, select “Import from File”, and upload the downloaded workflow JSON file.

<figure><img src="/files/iMUeLKtB6J6ZvwTuUQFx" alt=""><figcaption></figcaption></figure>

4. Now, open each node in the workflow one by one and complete the required setup steps, including connecting your OxaPay and Telegram credentials, checking the node parameters, and adjusting any values based on your use case.

<div data-with-frame="true"><figure><img src="/files/7Bv92lrpb2ECwe3rjm3j" alt=""><figcaption></figcaption></figure></div>

5. In the n8n Data Table section, create a new table by importing the provided CSV file. After importing the file, review each column, save the table and connect it to the related Data Table nodes in the workflow.

{% file src="/files/NQtMW3PczEMqVNJw7JqI" %}

<div data-with-frame="true"><figure><img src="/files/KuRpNvSxot41NerIOTQd" alt=""><figcaption></figcaption></figure></div>

6. Now, click Publish in the top-right corner. This will save and activate the workflow so it can start receiving Telegram events.

<div data-with-frame="true"><figure><img src="/files/6FO4Mkx0B5YmD5aLr7r4" alt=""><figcaption></figcaption></figure></div>

7. For real-time payment status notifications, create a separate n8n workflow and import the webhook workflow file below. This workflow will receive OxaPay payment updates and send automated Telegram notifications when a payment status changes.

{% file src="/files/EyEzOYjVVjOsMsac605W" %}

8. In this workflow, the Data Table node is used to store Telegram payment records. Before running the workflow, create a new Data Table in n8n by importing the provided CSV file below.

{% file src="/files/3Q2X5LhJg7HAB1s1HkpU" %}

9. Once all nodes are configured, copy the Production URL from the Webhook node in this workflow and add it as the Callback URL in all OxaPay nodes that create invoices or payment requests in the previous workflow. Finally, click Publish to save and activate the workflow.

### Conclusion and Next Steps

**With these two n8n workflows configured, your Telegram payment bot powered by OxaPay is ready to use:**

* The first workflow manages Telegram interactions and creates payment requests through the OxaPay node.
* The second workflow receives OxaPay payment updates through a webhook and sends automated Telegram notifications when a payment is updated or completed.

**You can extend this setup by adding:**

* Automatic delivery of digital products, license keys, invite links, or access credentials after successful payment
* Transaction logging in Google Sheets, Airtable, CRM platforms, or external databases
* Admin notifications for new payments, completed payments, and payment-related issues

By connecting OxaPay, Telegram, and n8n, you can create a flexible crypto payment automation system that works directly inside Telegram without building a custom backend.


# Discord Bot

By connecting OxaPay and Discord through n8n, you can build automated crypto payment workflows for your community, store, or private server. n8n works as the automation bridge between OxaPay and Discord, helping you generate invoices, send payment links, receive real-time payment updates, notify users or admins, and trigger fulfillment after successful payments.

<div data-with-frame="true"><figure><img src="/files/VT85a4Yb4KqZ9tLeg4pQ" alt=""><figcaption></figcaption></figure></div>

Using **OxaPay** and **Discord** together on **n8n**, you can:

* Create OxaPay invoices automatically from a Discord command
* Send payment links to a Discord channel, private staff channel, or customer DM
* Receive real-time OxaPay webhook updates inside n8n when a payment status changes
* Fulfill digital orders instantly after a confirmed payment, such as license keys, download links, private roles, or access instructions
* Store payment metadata in n8n Data Store, Google Sheets, Airtable, Notion, or your CRM for tracking and reconciliation

### Example Automation Scenarios

{% stepper %}
{% step %}

#### Scenario 1: Discord Payment Request Flow

A user or admin starts a payment request from Discord. The OxaPay node in n8n creates a new crypto payment invoice, returns the payment details such as the `track_id` and payment URL, and the workflow sends the generated payment link back to the selected Discord channel or user.&#x20;
{% endstep %}

{% step %}

#### Scenario 2: Real-Time Payment Confirmation Alerts

The OxaPay Trigger node listens for payment status updates from OxaPay. When an invoice status changes, n8n checks the payment result and sends an automatic confirmation message to Discord once the payment is marked as `Paid`.
{% endstep %}

{% step %}

#### Scenario 3: High-Value Transaction Monitoring

When the OxaPay node receives or retrieves a confirmed payment, n8n checks the transaction amount against your defined threshold. If the payment is above the limit, the workflow sends a detailed alert to a private Discord staff channel with the order ID, amount, currency, customer details, and OxaPay `track_id.`
{% endstep %}

{% step %}

#### Scenario 4: Digital Delivery After Payment Confirmation

After the OxaPay node confirms that a payment is successfully completed, n8n can automatically deliver the purchased item or access. This can include sending a license key, download link, access instructions, or assigning a paid Discord role to the customer.
{% endstep %}
{% endstepper %}

***

### Discord Payment Bot with OxaPay on n8n

This workflow builds a Discord payment automation powered by OxaPay and n8n. It allows merchants to generate payment links, send invoice messages in Discord, listen for OxaPay payment status updates, and notify customers or staff automatically.  You can download the n8n workflow file below:

{% file src="/files/5S62z8NjiWC3l7zNy9G7" %}

#### Before starting, make sure you have:

* An active OxaPay account with API access
* A **Discord bot token** created in the Discord Developer Portal
* A self-hosted n8n instance with access to community nodes

### How to build and configure this Discord Payment Bot using n8n?

1. After logging in to your Discord account, go to the [Discord Developer Portal](https://discord.com/developers/applications) and create a new application. Click **New Application**, enter a name for your app, such as `OxaPay Payment Bot`, and then click **Create**.

<div data-with-frame="true"><figure><img src="/files/M812VmTZ4gmR1VPC1SYX" alt=""><figcaption></figcaption></figure></div>

2. After creating the application, click **Bot** in the left sidebar. In the bot settings, under **Privileged Gateway Intents**, enable **Message Content Intent**, then click **Save Changes**.

<div data-with-frame="true"><figure><img src="/files/bDxd40SHa6s42NkLlyu3" alt=""><figcaption></figcaption></figure></div>

3. On the same **Bot** page, go to **Token** section and copy your bot token. If the token is not visible, click **Reset Token** to generate and reveal a new one, then copy it immediately. Keep this token secure and never share it.

<div data-with-frame="true"><figure><img src="/files/hGIKamvv2aWQYq2IZq3G" alt=""><figcaption></figcaption></figure></div>

4. In the left sidebar, click **Installation**. Under **Default Install Settings → Guild Install**, open **Scopes** and add **bot**. Then, in **Permissions**, select **Administrator**, and click **Save Changes**.

<div data-with-frame="true"><figure><img src="/files/5CRn0bRb0uHHbDCQMLu7" alt=""><figcaption></figcaption></figure></div>

5. Use the generated **Install Link** to install your application on the target Discord server. Select the server, review the requested permissions, and click **Authorize**.

<div data-with-frame="true"><figure><img src="/files/56Oys5C4MDtv7nJlmq6J" alt=""><figcaption></figcaption></figure></div>

6. Before importing or configuring the workflow, make sure the OxaPay Community Node is installed in your n8n instance. You can install it from the n8n settings by going to Settings, opening Community Nodes, selecting Install, entering the package name `n8n-nodes-oxapay`, and confirming the installation. After installation, the OxaPay node will be available in your n8n node list.

<div data-with-frame="true"><figure><img src="/files/YncCNuGLm72QPhDQcdML" alt=""><figcaption></figcaption></figure></div>

7. Now open your n8n dashboard and create a new workflow by clicking “Create Workflow”.

<div data-with-frame="true"><figure><img src="/files/qwcxTZz8tw14N98IlZWo" alt=""><figcaption></figcaption></figure></div>

8. In the top-right corner of the n8n workflow editor, click the three-dot menu, select “Import from file”, and upload the downloaded workflow JSON file.

<div data-with-frame="true"><figure><img src="/files/iMUeLKtB6J6ZvwTuUQFx" alt=""><figcaption></figcaption></figure></div>

9. Next, open each node in the workflow and configure it according to your setup. Make sure your OxaPay and Discord credentials are connected, review all required fields, and customize values such as the payment amount, currency, invoice description, Discord channel and notification message based on your business needs.

<div data-with-frame="true"><figure><img src="/files/syY2nm9YwH9wZmNWqo4u" alt=""><figcaption></figcaption></figure></div>

10. In the n8n Data Table section, create a new table by importing the provided CSV file. After importing the file, review each column, save the table and connect it to the related Data Table nodes in the workflow.

{% file src="/files/aESXRwQbp2yK0N29b4p0" %}

<div data-with-frame="true"><figure><img src="/files/KuRpNvSxot41NerIOTQd" alt=""><figcaption></figcaption></figure></div>

11. Once all nodes are configured, save the workflow in n8n. Next, open the Webhook node and copy its Production URL. Keep this URL available, as you will use it in the next steps to trigger the Discord notification workflow.
12. Deploy the Python script on an active server. Before running it, replace:

* `YOUR_DISCORD_BOT_TOKEN` with your actual Discord bot token
* `YOUR_N8N_WEBHOOK_URL` with your n8n Webhook Production URL

For security, keep both values private and load them from environment variables instead of hardcoding them in the script.

{% file src="/files/yMG74Z2NLncCkB3TSh5l" %}

13. Now, click Publish in the top-right corner. This will save and activate the workflow so it can start receiving Discord events.

<div data-with-frame="true"><figure><img src="/files/6FO4Mkx0B5YmD5aLr7r4" alt=""><figcaption></figcaption></figure></div>

14. Whenever you want to create a new payment, simply send a message containing keywords like “**OxaPay**”, “**Start**”, or “**Crypto**” in a channel where the bot is active. The bot will automatically trigger and run the payment workflow.
15. For real-time payment status notifications, create a separate n8n workflow and import the workflow file provided below. This workflow will receive OxaPay payment callbacks, check the payment status, and send automatic updates to your Discord channel.

{% file src="/files/fEGBdtTZljdzXz4HeCm8" %}

16. In this workflow, the Data Table node is used to store Discord payment records. Before running the workflow, create a new Data Table in n8n by importing the provided CSV file below.

{% file src="/files/QCRWTkBzqlKG0ii4VVws" %}

17. Once all nodes are configured, copy the Production URL from the Webhook node in this workflow and add it as the Callback URL in all OxaPay nodes that create invoices or payment requests in the previous workflow. Finally, click Publish to save and activate the workflow.

***

### Conclusion and Next Steps

**With these two n8n workflows configured, you have a functional Discord payment automation powered by OxaPay:**

* Workflow 1 creates OxaPay invoices, white-label payments, and static addresses, then sends the generated payment links or address details through Discord.
* Workflow 2 receives OxaPay webhook updates and posts real-time payment notifications to Discord

**This setup can be extended even further by:**

* Delivering license keys or download links after successful payment
* Assigning paid Discord roles automatically
* Logging payments to Google Sheets, Airtable, Notion, HubSpot, or your CRM
* Sending staff alerts for high-value or suspicious transactions
* Creating retry flows for expired or failed invoices

By combining OxaPay, Discord, and n8n, you can build scalable crypto payment workflows that are easy to customize and maintain without writing a full backend application.


# Shopify

With the OxaPay Shopify integration, store owners can seamlessly offer cryptocurrency payments to their customers. The integration simplifies payment request creation, tracks transactions in real time, and helps automate order updates once payments are confirmed.

<div data-with-frame="true"><figure><img src="/files/aK2JUHguqi9mNrroxdbd" alt=""><figcaption></figcaption></figure></div>

## What is Shopify? <a href="#what-is-magento-2" id="what-is-magento-2"></a>

Shopify is a cloud-based eCommerce platform that helps businesses create, run, and grow online stores without needing complex technical infrastructure. It offers built-in tools for managing products, inventory, payments, checkout, orders, shipping, and customer interactions, making it easier for merchants to sell products online and manage their store operations efficiently.

## Key Features of Shopify <a href="#key-features-of-shopify" id="key-features-of-shopify"></a>

1. **Product Management:** Provides flexible tools for creating and managing products, including variants, SKUs, pricing, collections and inventory tracking for efficient catalog control.
2. **Order Management:** Supports the complete order lifecycle (from checkout to fulfillment) with capabilities for order status tracking, shipping labels, refunds, returns (depending on setup/apps), and customizable checkout and delivery options.
3. **Customer Management:** Maintains customer profiles with contact details and order history, supports customer segmentation, and enables personalized experiences through targeted communications and storefront customization.
4. **Marketing and Promotions:** Includes built-in tools for discount codes, automatic discounts, gift cards, abandoned cart recovery, and integrations with major marketing channels such as email, social media, and search platforms through apps and native integrations.
5. **Payments and Security:** Offers secure checkout and payment processing options with features like fraud analysis, SSL encryption, role-based staff access, and compliance support aligned with industry standards for handling transactions.
6. **Performance and Scalability:** Cloud-hosted infrastructure is optimized for reliability and speed, with global CDN support and scalable architecture that can handle growing traffic and product catalogs without requiring server management.

## OxaPay Integration for Shopify via n8n

Integrating OxaPay with Shopify via n8n is an effective way to add cryptocurrency payments to your store without installing a native Shopify app. In this approach, the integration is implemented as an automation workflow that connects Shopify with OxaPay, allowing your store to create and manage crypto payment requests in a structured and trackable process.

By using n8n to orchestrate the integration, you can automate key steps such as generating payment invoices, syncing payment statuses, and updating order records. This integration provides a modern payment option that can improve the overall checkout experience and support business growth in a digital-first marketplace.

## Integrating OxaPay with Shopify Workflow

This integration is built with **three separate n8n workflows**:

<table><thead><tr><th width="184.666748046875">Workflow</th><th></th></tr></thead><tbody><tr><td>Workflow 1</td><td>Generate and store Shopify access token every 20 hours</td></tr><tr><td>Workflow 2</td><td>Receive Shopify order, create OxaPay invoice, send invoice email</td></tr><tr><td>Workflow 3</td><td>Receive OxaPay payment webhook and mark Shopify order as Paid</td></tr></tbody></table>

### Before starting, make sure you have:

* A Shopify store with admin access
* Access to Shopify Dev Dashboard
* Your OxaPay Merchant API Key
* An n8n instance with a public HTTPS URL
* Stable production n8n URLs for Shopify and OxaPay webhooks

### Step 1 — Create a Shopify App

1. From the Shopify Admin, go to **Settings → Apps → Develop apps → Build apps in Dev Dashboard**. This will open the Shopify Dev Dashboard, where you can manage custom apps for your store. In the Dev Dashboard, create a new app and provide the required app details.

<div data-with-frame="true"><figure><img src="/files/WUVY4j3yvSWkZr8hx6XO" alt=""><figcaption></figcaption></figure></div>

2. Create a new app version and configure the required settings before releasing it. If the app is not embedded in the Shopify Admin, set the **App URL** to a public URL or use your own n8n/application URL. Set **Embed app in Shopify admin** to **Off** and for the **Webhooks API version**, select the latest available stable Shopify API version, for example `2026-04`.

<div data-with-frame="true"><figure><img src="/files/PEiFdBNbFiDigDV1qXT1" alt=""><figcaption></figcaption></figure></div>

3. Next, add the required **Admin API scopes** for the app. The minimum recommended scopes are `read_orders`, `write_orders`, `read_products` and `read_customers`. After completing the configuration, release the app version so the settings become active.

<div data-with-frame="true"><figure><img src="/files/oUCEgEXDAjRTnhLuBeKk" alt=""><figcaption></figcaption></figure></div>

4. After the app version has been released, install the app on the target Shopify store. In the Shopify Dev Dashboard, open the app and go to **App → Home → Install app**.  Select the store where the app should be installed, then review and approve the requested Admin API scopes.&#x20;

<div data-with-frame="true"><figure><img src="/files/xCRtXZKabt97K7del7my" alt=""><figcaption></figcaption></figure></div>

5. In the Shopify Dev Dashboard, open the app’s settings page and copy the **Client ID** and **Secret**. These values will be stored in the n8n Data Table and used later during the authentication process.

<figure><img src="/files/yTsBIWODgnqDWXV6ghiB" alt=""><figcaption></figcaption></figure>

> The **Client ID** is used to identify the Shopify app, while the **Secret** is used to request Shopify access tokens. Make sure both values are copied correctly and stored securely, as they are required for generating a valid Admin API access token.

### Step 2 — Create the n8n Data Table

1. Workflow 1 requires a dedicated place to store the Shopify client credentials, the Shopify store identifier, and the latest generated access token. For this purpose, create an n8n Data Table with the recommended table name **`shopify_config`**.

<div data-with-frame="true"><figure><img src="/files/w5V4DVnekkZk9Om8YHfE" alt=""><figcaption></figcaption></figure></div>

2. Create exactly one record in this table with four columns: client\_id, secret, shopify\_store, and access\_token. The **Client ID** and **Secret** should be copied from the Shopify Dev Dashboard. The **Shopify Store** field should contain only the **subdomain** without .myshopify.com . The Access Token will be generated and updated by the workflow after the app is installed and authorized.

<table data-header-hidden><thead><tr><th width="216.11114501953125"></th><th width="193.77783203125"></th><th width="186.77783203125"></th><th></th></tr></thead><tbody><tr><td>client_id</td><td>secret</td><td>shopify_store</td><td>access_token</td></tr><tr><td><code>YOUR_SHOPIFY_CLIENT_ID</code></td><td><code>YOUR_SHOPIFY_SECRET</code></td><td><code>YOUR_SHOPIFY_STORE_SUBDOMAIN</code></td><td><code>Null</code></td></tr></tbody></table>

You can also use the CSV file provided below to create or import the Data Table structure more easily. Make sure the table contains only one record, since Workflow 1 will read and update this single row when managing the Shopify access token and store connection details.

{% file src="/files/eF9DLneQzRVXLlwVC16v" %}

### Step 3 — Workflow 1: Generate Shopify Access Token&#x20;

1. Before importing or configuring the workflow, make sure the OxaPay Community node is installed in your n8n instance. You can install it from the n8n settings by going to Settings, opening Community nodes, selecting Install, entering the package name n8n-nodes-oxapay, and confirming the installation. After installation, the OxaPay node will be available in your n8n node list.

<div data-with-frame="true"><figure><img src="/files/gHY0yem3C0GRhLEZ9TY3" alt=""><figcaption></figcaption></figure></div>

2. To get started, open your n8n dashboard and create a new workflow by clicking “Create Workflow”.&#x20;

<div data-with-frame="true"><figure><img src="/files/rmAk8qkIQySEgCAc2FMy" alt=""><figcaption></figcaption></figure></div>

3. In the top-right corner of the n8n workflow editor, click the three-dot menu, select “Import from File”, and upload the downloaded workflow JSON file.

{% file src="/files/zyHWJV3h26CA1Kpf1C1I" %}

<div data-with-frame="true"><figure><img src="/files/rhTpHj69jpFXqKpAL9ic" alt=""><figcaption></figcaption></figure></div>

4. Now, open each node in the workflow one by one and complete the required setup steps, including connecting your OxaPay and Shopify credentials, checking the node parameters, and adjusting any values based on your use case.

<div data-with-frame="true"><figure><img src="/files/NlkotX7KF83SsoNwjD8v" alt=""><figcaption></figcaption></figure></div>

5. Now, click Publish in the top-right corner. This will save and activate the workflow so it can start receiving Telegram events.

<div data-with-frame="true"><figure><img src="/files/uY2CcuxIqivdBvfb6Ofr" alt=""><figcaption></figcaption></figure></div>

### Step 4 — Workflow 2: Create OxaPay Invoice and Send Shopify Invoice Email

Next, download the workflow provided below and **import** it into **n8n**, following the same steps used for the **previous workflow**. After importing the workflow, review and **configure** the nodes based on your account settings. Once all node configurations are completed, **publish** the workflow to ensure it runs properly and can process payment-related events automatically.

{% file src="/files/6cDk5hP9WaXCOYB1vOXc" %}

<div data-with-frame="true"><figure><img src="/files/xfWvvATQy1Z4bWEmfiSN" alt=""><figcaption></figcaption></figure></div>

### Step 5 — Create Shopify Order Created Webhook

Shopify must be configured to send new order data to n8n through a webhook. In the Shopify Admin, go to **Settings → Notifications → Webhooks**, then click **Create webhook** to add a new webhook endpoint.

<div data-with-frame="true"><figure><img src="/files/9QvjQIdO9BJJ5QPyfHaM" alt=""><figcaption></figcaption></figure></div>

Set the webhook event to **Order creation** and choose **JSON** as the data format. In the **URL** field, paste the **Production URL** from the Webhook node in Workflow 2.

### Step 6 — Add OxaPay as a Manual Payment Method in Shopify

To allow customers to select OxaPay during checkout, add OxaPay as a custom manual payment method in Shopify. In the Shopify Admin, go to **Settings → Payments**, then find the **Manual payment methods** section and click **Create custom payment method**.

<div data-with-frame="true"><figure><img src="/files/bKcwgrnqS9iF4Kmi5h3o" alt=""><figcaption></figcaption></figure></div>

Use a clear payment method name, such as **OxaPay Crypto Payment**. In the **Additional details** field, you can explain that customers will pay securely with cryptocurrency through OxaPay and that an invoice email containing the crypto payment link will be sent after the order is placed.

### Step 7 — Customize the Shopify Order Invoice Email Template

1. Customize the Shopify **Order invoice** email template so customers can clearly see the OxaPay payment instructions and access the crypto payment link directly. In the Shopify Admin, go to **Settings → Notifications**, then open **Customer notifications → Order invoice** and click **Edit code**.

<div data-with-frame="true"><figure><img src="/files/RTkd7WFNpxtAnuDlfSkA" alt=""><figcaption></figcaption></figure></div>

2. The invoice email sent by Workflow 2 uses `custom_message`, so the template must include a custom message block to display the OxaPay payment message. Make sure the template contains a Liquid condition such as `{% if custom_message != blank %}` and outputs `{{ custom_message }}` inside the email body. This ensures that the OxaPay payment instructions are shown only when a custom message is provided.

{% code expandable="true" %}

```
custom_message
```

{% endcode %}

3. To connect the **Pay Now** button directly to the OxaPay payment link, replace the default Shopify payment URL variable, `checkout_payment_collection_url`, with `custom_message` in the button link. This allows the customer to click **Pay Now** and be redirected directly to the OxaPay crypto payment page instead of the default Shopify payment collection page.

```
<a href="{{ checkout_payment_collection_url }}">Pay Now</a>

Replace it with:

<a href="{{ custom_message }}">Pay Now</a>
```

### Step 8 — Workflow 3: Receive OxaPay Payment Webhook and Mark Shopify Order as Paid <a href="#customize-the-shopify-order-invoice-email-template" id="customize-the-shopify-order-invoice-email-template"></a>

1. Download the ready-made **Workflow 3** file and import it into n8n by going to **New Workflow → Import from File**. After importing the workflow, review and configure the required nodes. Once all node configurations are completed, **publish** the workflow to ensure it runs properly.

{% file src="/files/LgCztxjSDuVW3X27Ajx8" %}

<div data-with-frame="true"><figure><img src="/files/g6bNaIUndqlUVpGjyJR0" alt=""><figcaption></figcaption></figure></div>

2. This workflow is responsible for receiving payment status updates from OxaPay. Once OxaPay confirms that a payment has been completed, the workflow continues processing and marks the related Shopify order as **Paid**.
3. Then copy the node’s **Production URL** and use it as the `callback_url` when creating OxaPay invoices in Workflow 2.

We hope this guide was helpful! The OxaPay integration for Shopify is a powerful solution that enables your store to accept cryptocurrency payments and automate the payment flow, helping you deliver a smoother checkout experience and support your business growth.


# Payment

If you require a reliable solution to handle payment processing programmatically, Merchant Services are essential. They provide the tools and APIs necessary to seamlessly integrate payment functionality into your application or website. With these services, developers can efficiently manage transactions, ensuring secure and convenient payment processing for users.

#### To process payments, you'll need a Merchant API key. Follow these steps to generate it:

1. Log in to your OxaPay account.
2. Navigate to the Merchant Service.
3. Fill in the form then click on the "Generate Merchant API Key" button.

#### Watch the video below for a step-by-step walkthrough of the process:

{% embed url="<https://www.youtube.com/watch?v=sbnGWWz1Q6Y>" %}

#### Below, you’ll find the three types of merchant services available.

### &#x20;Merchant Invoice

OxaPay’s crypto invoice service streamlines payment processes for businesses across retail, e-commerce, and services. This solution simplifies issuing and managing invoices, accepting crypto payments, and providing instant payment updates. Its seamless integration allows for enhanced payment options, boosting customer satisfaction. This service provides a comprehensive solution for businesses eager to engage with the expanding cryptocurrency market, delivering a secure and seamless payment experience.

You can generate your invoice with the guidance provided in the [Generate Invoice](https://docs.oxapay.com/api-reference/payment/generate-invoice) in the API references.

### Merchant White Label

OxaPay's White Label solution seamlessly integrates cryptocurrency payments into your brand, enabling the creation of customized payment processes that reflect your brand identity. This solution provides a secure and versatile payment gateway without the high costs or need for extensive technical expertise. Tailor payment processes to align with your brand, utilizing advanced features to streamline your payment operations. This cost-effective solution enhances your brand and expands payment options.

You can generate your own white-label with the guidance provided in the [Generate White Label](https://docs.oxapay.com/api-reference/payment/generate-white-label) in the API references.

### Merchant Static Address

OxaPay's Static Address solution gives each of your customers a unique and static payment address. This address remains the same for all future payments, simplifying the payment process for both the merchant and the customer. It eliminates the complexity of managing multiple addresses and enhances transaction efficiency, security, and financial management. Ideal for high-volume businesses seeking improved user experience.Streamline operations, reduce costs, and boost customer satisfaction with OxaPay's Static Address solution and advanced payment tools.

You can generate your static address with the guidance provided in the[ Generate Static Address](https://docs.oxapay.com/api-reference/payment/generate-static-address) in the API references.

By referring to the API Reference, you can gain a comprehensive understanding of the OxaPay API and leverage its capabilities to create a seamless payment experience for your users. Whether you need to initiate payments, retrieve payment details, or manage transactions, the API Reference provides the necessary documentation to facilitate successful integration.


# Generate Invoice

This endpoint enables you to generate a new invoice and obtain a payment URL for completing the transaction. By providing the required parameters in your request, you can specify the invoice amount and customize various options for the payment process.

## POST /payment/invoice

>

```json
{"openapi":"3.0.0","info":{"title":"Payments","version":"1.0.0"},"servers":[{"url":"https://api.oxapay.com/v1"}],"security":[],"paths":{"/payment/invoice":{"post":{"operationId":"generateInvoice","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["amount"],"properties":{"amount":{"type":"number","format":"decimal","description":"The amount for the payment. If the currency field is not filled, the amount should be specified in dollars. If the `currency` field is filled, the amount should correspond to the specified currency."},"currency":{"type":"string","description":"Specify the currency symbol if you want the invoice amount calculated with a specific currency. You can also generate invoices in fiat currencies."},"lifetime":{"type":"integer","description":"Set the expiration time for the payment link in minutes.","minimum":15,"maximum":2880,"default":60},"fee_paid_by_payer":{"type":"number","format":"decimal","description":"Specify whether the payer will cover the invoice commission. 1 indicates that the payer will pay the fee, while 0 indicates that the merchant will pay the fee.","minimum":0,"maximum":1,"default":"Merchant setting"},"under_paid_coverage":{"type":"number","format":"decimal","description":"Specify the acceptable inaccuracy in payment. Determines the maximum acceptable difference between the requested and paid amount.","minimum":0,"maximum":60,"default":"Merchant setting"},"to_currency":{"type":"string","description":"The currency symbol of the cryptocurrency you want to convert to. You can only convert paid crypto currencies to USDT."},"auto_withdrawal":{"type":"boolean","description":"1 indicates that the received currency will be sent to the address specified in your Address List on the Settings page and 0 indicates that the amount will be credited to your OxaPay balance."},"mixed_payment":{"type":"boolean","description":"Specify whether the payer can cover the remaining amount with another currency if they pay less than the invoice amount. 1 allows the user to pay the remainder with a different coin, while 0 doesn't allow it.","default":"Merchant setting"},"callback_url":{"type":"string","description":"The URL where payment information will be sent. Use this to receive notifications about the payment status."},"return_url":{"type":"string","description":"The URL where the payer will be redirected after a successful payment."},"email":{"type":"string","description":"Provide the payer's email address for reporting purposes."},"order_id":{"type":"string","description":"Specify a unique order ID for reference in your system."},"thanks_message":{"type":"string","description":"A thanks message that brief note displayed to the payer after a successful payment."},"description":{"type":"string","description":"Provide order details or any additional information that will be shown in different reports."},"sandbox":{"type":"boolean","description":"The sandbox field is a boolean that specifies whether the API request should operate in sandbox mode (test environment). Set it to true for testing and false for live transactions."}}}}}},"responses":{"200":{"description":"Successful operation","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","properties":{"track_id":{"type":"string","description":"Unique identifier for the payment session in the OxaPay gateway. It is used to track the payment status, query details, and generate reports."},"payment_url":{"type":"string","description":"The URL of the payment page linked to the track ID. This link is shared with the payer to complete the payment process."},"expired_at":{"type":"integer","description":"The expiration timestamp (UNIX epoch) of the payment link. After this time, the link becomes invalid."},"date":{"type":"integer","description":"The creation timestamp (UNIX epoch) of the payment session."}}},"message":{"type":"string","description":"A message containing additional information about the result of the request."},"error":{"type":"object","description":"An object that provides details about any errors that occurred.","nullable":true,"properties":{"type":{"type":"string","description":"Type of the error"},"key":{"type":"string","description":"Key related to the error"},"message":{"type":"string","description":"Error message"}}},"status":{"type":"integer","description":"The status of the request response. Typically provided as a numeric code (e.g., 200 for success or other codes for errors)."},"version":{"type":"string","description":"The version of the API being used."}}}}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","properties":{}},"message":{"type":"string","description":"A message containing additional information about the result of the request."},"error":{"type":"object","description":"An object that provides details about any errors that occurred.","nullable":true,"properties":{"type":{"type":"string","description":"Type of the error"},"key":{"type":"string","description":"Key related to the error"},"message":{"type":"string","description":"Error message"}}},"status":{"type":"integer","description":"The status of the request response. Typically provided as a numeric code (e.g., 200 for success or other codes for errors)."},"version":{"type":"string","description":"The version of the API being used."}}}}}}},"tags":["Invoice"],"parameters":[{"in":"header","name":"merchant_api_key","required":true,"schema":{"type":"string"},"description":"Your Merchant API Key for authentication and authorization."},{"in":"header","name":"Content-Type","required":true,"schema":{"type":"string","default":"application/json"}}]}}}}
```


# Generate White Label

This endpoint allows you to generate white-labeled payment solutions, delivering a fully branded payment experience powered by the OxaPay gateway. Instead of generating an invoice URL, this endpoint provides comprehensive payment details, including the payment address, currency, amount, expiration time, and other relevant information, enabling you to manage the payment process within your own interface.

> Please note that the generated addresses are valid only for the specified lifetime. Any funds sent after the expiration of this period will be permanently lost and cannot be recovered.

{% hint style="warning" icon="triangle-exclamation" %}
For **XRP transactions**, if you forget to include the **Destination Tag** or enter it incorrectly, your funds may be permanently lost.
{% endhint %}

## POST /payment/white-label

>

```json
{"openapi":"3.0.0","info":{"title":"Payments","version":"1.0.0"},"servers":[{"url":"https://api.oxapay.com/v1"}],"security":[],"paths":{"/payment/white-label":{"post":{"operationId":"generateWhiteLabel","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["pay_currency","amount"],"properties":{"pay_currency":{"type":"string","description":"Specify the currency symbol if you want the invoice to be paid in a specific currency. Defines the currency in which you wish to receive your settlements."},"amount":{"type":"number","format":"decimal","description":"The amount for the payment. If the currency field is not filled, the amount should be specified in dollars. If the `currency` field is filled, the amount should correspond to the specified currency."},"currency":{"type":"string","description":"Specify the currency symbol if you want the invoice amount calculated with a specific currency. You can also generate invoices in fiat currencies."},"network":{"type":"string","description":"The blockchain network on which the payment should be created. If not specified, the default network will be used."},"lifetime":{"type":"integer","description":"Set the expiration time for the payment link in minutes.","minimum":15,"maximum":2880,"default":60},"fee_paid_by_payer":{"type":"number","format":"decimal","description":"Specify whether the payer will cover the invoice commission. 1 indicates that the payer will pay the fee, while 0 indicates that the merchant will pay the fee.","minimum":0,"maximum":1,"default":"Merchant setting"},"under_paid_coverage":{"type":"number","format":"decimal","description":"Specify the acceptable inaccuracy in payment. Determines the maximum acceptable difference between the requested and paid amount.","minimum":0,"maximum":60,"default":"Merchant setting"},"to_currency":{"type":"string","description":"The currency symbol of the cryptocurrency you want to convert to. You can only convert paid crypto currencies to USDT."},"auto_withdrawal":{"type":"boolean","description":"1 indicates that the received currency will be sent to the address specified in your Address List on the Settings page and 0 indicates that the amount will be credited to your OxaPay balance."},"callback_url":{"type":"string","format":"uri","description":"The URL where payment information will be sent. Use this to receive notifications about the payment status."},"email":{"type":"string","format":"email","description":"Provide the payer's email address for reporting purposes."},"order_id":{"type":"string","description":"Specify a unique order ID for reference in your system."},"description":{"type":"string","description":"Provide order details or any additional information that will be shown in different reports."}}}}}},"responses":{"200":{"description":"Successful operation","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","properties":{"track_id":{"type":"string","description":"Unique identifier for the payment."},"amount":{"type":"number","format":"decimal","description":"The amount of currency for the invoice."},"currency":{"type":"string","description":"The currency in which the amount is specified (e.g., 'usd')."},"pay_amount":{"type":"number","format":"decimal","description":"The amount to be paid in the payment currency (e.g., BTC value)."},"pay_currency":{"type":"string","description":"The currency in which the payment is made (e.g., 'btc')."},"network":{"type":"string","description":"The blockchain network being used (e.g., 'Bitcoin Network')."},"address":{"type":"string","description":"The wallet address where the payment will be sent."},"memo":{"type":"string","description":"Additional memo, tag, or destination note required for some blockchain networks. Empty if not required."},"callback_url":{"type":"string","format":"uri","description":"The URL to which payment status updates will be sent."},"description":{"type":"string","description":"A description for the invoice."},"email":{"type":"string","format":"email","description":"The email address of the payer."},"fee_paid_by_payer":{"type":"number","format":"decimal","description":"Indicates if the payer is responsible for paying the network fees (1 = yes, 0 = no)."},"lifetime":{"type":"integer","description":"The lifetime of the invoice in minutes before it expires."},"order_id":{"type":"string","description":"A unique identifier for the order associated with this invoice."},"under_paid_coverage":{"type":"number","format":"decimal","description":"The percentage of underpayment that will still be considered valid."},"rate":{"type":"number","format":"decimal","description":"The exchange rate between the base currency and the payment currency."},"qr_code":{"type":"string","format":"uri","description":"URL to a QR code representing the payment address and amount."},"expired_at":{"type":"integer","format":"unix-time","description":"Timestamp (UNIX epoch) when the invoice will expire."},"date":{"type":"integer","format":"unix-time","description":"Timestamp (UNIX epoch) of when the invoice was created."}}},"message":{"type":"string","description":"A message containing additional information about the result of the request."},"error":{"type":"object","description":"An object that provides details about any errors that occurred.","nullable":true,"properties":{"type":{"type":"string","description":"Type of the error"},"key":{"type":"string","description":"Key related to the error"},"message":{"type":"string","description":"Error message"}}},"status":{"type":"integer","description":"The status of the request response. Typically provided as a numeric code (e.g., 200 for success or other codes for errors)."},"version":{"type":"string","description":"The version of the API being used."}}}}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","properties":{}},"message":{"type":"string","description":"A message containing additional information about the result of the request."},"error":{"type":"object","description":"An object that provides details about any errors that occurred.","nullable":true,"properties":{"type":{"type":"string","description":"Type of the error"},"key":{"type":"string","description":"Key related to the error"},"message":{"type":"string","description":"Error message"}}},"status":{"type":"integer","description":"The status of the request response. Typically provided as a numeric code (e.g., 200 for success or other codes for errors)."},"version":{"type":"string","description":"The version of the API being used."}}}}}}},"tags":["White-label"],"parameters":[{"in":"header","name":"merchant_api_key","required":true,"schema":{"type":"string"},"description":"Your Merchant API Key for authentication and authorization."},{"in":"header","name":"Content-Type","required":true,"schema":{"type":"string","default":"application/json"}}]}}}}
```


# Generate Static Address

This endpoint allows you to generate a static address for a specific currency and network. The static address will be linked to a unique track\_id, and if a callback\_url is provided, your server will receive notifications for any payments made to the address. This enables you to track and receive transactions to the static address, regardless of the amount or timing.

> Please note that static addresses with no transactions for six months will be revoked.

{% hint style="warning" icon="triangle-exclamation" %}
For **XRP transactions**, if you forget to include the **Destination Tag** or enter it incorrectly, your funds may be permanently lost.
{% endhint %}

## POST /payment/static-address

>

```json
{"openapi":"3.0.0","info":{"title":"Payments","version":"1.0.0"},"servers":[{"url":"https://api.oxapay.com/v1"}],"security":[],"paths":{"/payment/static-address":{"post":{"operationId":"generateStaticAddress","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["network"],"properties":{"network":{"type":"string","description":"The blockchain network on which the static address should be created."},"to_currency":{"type":"string","description":"The currency symbol of the cryptocurrency you want to convert to."},"auto_withdrawal":{"type":"number","format":"decimal","description":"1 indicates that the received currency will be sent to the address specified in your Address List on the Settings page and 0 indicates that the amount will be credited to your OxaPay balance.","minimum":0,"maximum":1},"callback_url":{"type":"string","description":"The URL where payment information will be sent. Use this to receive notifications about payments made to the static address."},"email":{"type":"string","format":"email","description":"Provide the payer's email address for reporting purposes."},"order_id":{"type":"string","description":"Specify a unique order ID for reference in your system."},"description":{"type":"string","description":"Provide order details or any additional information that will be shown in different reports."}}}}}},"responses":{"200":{"description":"Successful operation","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","properties":{"track_id":{"type":"string","description":"Unique identifier for each payment session in the OxaPay payment gateway. It can be used to query the payment status and generate reports."},"network":{"type":"string","description":"The blockchain network where the cryptocurrency payment is expected to be received (e.g., 'Bitcoin Network')."},"address":{"type":"string","description":"The generated cryptocurrency address where the payer should send the payment."},"memo":{"type":"string","description":"Additional memo, tag, or destination note required for some blockchain networks. Empty if not required."},"qr_code":{"type":"string","description":"URL to a QR code image containing the cryptocurrency address and payment amount for easier transactions."},"date":{"type":"integer","description":"Timestamp (UNIX epoch) indicating when the static payment address was created."}}},"message":{"type":"string","description":"A message containing additional information about the result of the request."},"error":{"type":"object","description":"An object that provides details about any errors that occurred.","nullable":true,"properties":{"type":{"type":"string","description":"Type of the error"},"key":{"type":"string","description":"Key related to the error"},"message":{"type":"string","description":"Error message"}}},"status":{"type":"integer","description":"The status of the request response. Typically provided as a numeric code (e.g., 200 for success or other codes for errors)."},"version":{"type":"string","description":"The version of the API being used."}}}}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","properties":{}},"message":{"type":"string","description":"A message containing additional information about the result of the request."},"error":{"type":"object","description":"An object that provides details about any errors that occurred.","nullable":true,"properties":{"type":{"type":"string","description":"Type of the error"},"key":{"type":"string","description":"Key related to the error"},"message":{"type":"string","description":"Error message"}}},"status":{"type":"integer","description":"The status of the request response. Typically provided as a numeric code (e.g., 200 for success or other codes for errors)."},"version":{"type":"string","description":"The version of the API being used."}}}}}}},"tags":["Static-address"],"parameters":[{"in":"header","name":"merchant_api_key","required":true,"schema":{"type":"string"},"description":"Your Merchant API Key for authentication and authorization."},{"in":"header","name":"Content-Type","required":true,"schema":{"type":"string","default":"application/json"}}]}}}}
```


# Revoking Static Address

You can revoke a static wallet by providing the merchant API key and the address associated with the static wallet. This action will disable the static wallet and prevent any further transactions from being credited to the specified address.

To avoid reaching the limit on generating new static addresses, we recommend manually revoking addresses with no transactions. If you have too many static addresses without transactions, the system will prevent you from generating additional ones. Therefore, it's important to proactively revoke inactive addresses to ensure you can continue generating new ones.

## POST /payment/static-address/revoke

>

```json
{"openapi":"3.0.0","info":{"title":"Payments","version":"1.0.0"},"servers":[{"url":"https://api.oxapay.com/v1"}],"security":[],"paths":{"/payment/static-address/revoke":{"post":{"operationId":"revokingStaticAddress","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["address"],"properties":{"address":{"type":"string","description":"The address of the static wallet you want to revoke."}}}}}},"responses":{"200":{"description":"Successful operation","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","properties":{}},"message":{"type":"string","description":"A message containing additional information about the result of the request."},"error":{"type":"object","description":"An object that provides details about any errors that occurred.","nullable":true,"properties":{"type":{"type":"string","description":"Type of the error"},"key":{"type":"string","description":"Key related to the error"},"message":{"type":"string","description":"Error message"}}},"status":{"type":"integer","description":"The status of the request response. Typically provided as a numeric code (e.g., 200 for success or other codes for errors)."},"version":{"type":"string","description":"The version of the API being used."}}}}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","properties":{}},"message":{"type":"string","description":"A message containing additional information about the result of the request."},"error":{"type":"object","description":"An object that provides details about any errors that occurred.","nullable":true,"properties":{"type":{"type":"string","description":"Type of the error"},"key":{"type":"string","description":"Key related to the error"},"message":{"type":"string","description":"Error message"}}},"status":{"type":"integer","description":"The status of the request response. Typically provided as a numeric code (e.g., 200 for success or other codes for errors)."},"version":{"type":"string","description":"The version of the API being used."}}}}}}},"tags":["Revoke-Static-address"],"parameters":[{"in":"header","name":"merchant_api_key","required":true,"schema":{"type":"string"},"description":"Your Merchant API Key for authentication and authorization."},{"in":"header","name":"Content-Type","required":true,"schema":{"type":"string","default":"application/json"}}]}}}}
```


# Static Address List

Use this endpoint to retrieve a list of static addresses associated with a specific business. The list can be filtered by various criteria, such as trackId, address, network, email and orderId. Pagination is also available to fetch the results in smaller sets.

## GET /payment/static-address

>

```json
{"openapi":"3.0.0","info":{"title":"Payments","version":"1.0.0"},"servers":[{"url":"https://api.oxapay.com/v1"}],"security":[],"paths":{"/payment/static-address":{"get":{"operationId":"staticAddressList","responses":{"200":{"description":"Successful operation","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","properties":{"list":{"type":"array","items":{"type":"object","properties":{"track_id":{"type":"string","description":"Unique identifier for each payment session in the OxaPay payment gateway. It is used to track the payment status and generate reports."},"address":{"type":"string","description":"The static cryptocurrency address where the payment is expected to be sent."},"network":{"type":"string","description":"The blockchain network associated with the cryptocurrency (e.g., 'Bitcoin Network')."},"callback_url":{"type":"string","format":"uri","description":"The URL to which payment status updates will be sent. This allows you to receive notifications about the payment progress."},"email":{"type":"string","format":"email","description":"The email address of the payer."},"order_id":{"type":"string","description":"A unique identifier for the order associated with this payment."},"description":{"type":"string","description":"Additional details or description related to the static address or transaction."},"date":{"type":"integer","description":"Timestamp (UNIX epoch) indicating when the static address was generated."}}}},"meta":{"type":"object","properties":{"page":{"type":"integer","description":"The current page number of the result set."},"last_page":{"type":"integer","description":"The total number of pages available based on the number of records and page size."},"total":{"type":"integer","description":"The total number of static addresses available for the specified criteria."}}}}},"message":{"type":"string","description":"A message containing additional information about the result of the request."},"error":{"type":"object","description":"An object that provides details about any errors that occurred.","nullable":true,"properties":{"type":{"type":"string","description":"Type of the error"},"key":{"type":"string","description":"Key related to the error"},"message":{"type":"string","description":"Error message"}}},"status":{"type":"integer","description":"The status of the request response. Typically provided as a numeric code (e.g., 200 for success or other codes for errors)."},"version":{"type":"string","description":"The version of the API being used."}}}}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","properties":{}},"message":{"type":"string","description":"A message containing additional information about the result of the request."},"error":{"type":"object","description":"An object that provides details about any errors that occurred.","nullable":true,"properties":{"type":{"type":"string","description":"Type of the error"},"key":{"type":"string","description":"Key related to the error"},"message":{"type":"string","description":"Error message"}}},"status":{"type":"integer","description":"The status of the request response. Typically provided as a numeric code (e.g., 200 for success or other codes for errors)."},"version":{"type":"string","description":"The version of the API being used."}}}}}}},"tags":["Static-address-list"],"parameters":[{"in":"header","name":"merchant_api_key","required":true,"schema":{"type":"string"},"description":"Your Merchant API Key for authentication and authorization."},{"in":"header","name":"Content-Type","required":true,"schema":{"type":"string","default":"application/json"}},{"name":"track_id","in":"query","description":"Filter addresses by a specific ID.","required":false,"schema":{"type":"integer"}},{"name":"network","in":"query","description":"Filter addresses by the expected blockchain network for the specified crypto currency.","required":false,"schema":{"type":"string"}},{"name":"currency","in":"query","description":"Filter addresses by the expected currency.","required":false,"schema":{"type":"string"}},{"name":"address","in":"query","description":"Filter static addresses by the expected address. It’s better to filter static addresses.","required":false,"schema":{"type":"string"}},{"name":"have_tx","in":"query","description":"Filter the addresses that had transactions.","required":false,"schema":{"type":"boolean"}},{"name":"order_id","in":"query","description":"Filter addresses by a unique order ID for reference.","required":false,"schema":{"type":"string"}},{"name":"email","in":"query","description":"Filter addresses by the email.","required":false,"schema":{"type":"string","format":"email"}},{"name":"page","in":"query","description":"The page number of the results you want to retrieve.","required":false,"schema":{"type":"integer","minimum":1,"default":1}},{"name":"size","in":"query","description":"Number of records to display per page.","required":false,"schema":{"type":"integer","minimum":1,"maximum":200,"default":1}}]}}}}
```


# Payment Information

Utilize the Payment Information endpoint to retrieve detailed information about a specific payment using its `track_id`. After generating an invoice, you will receive a `track_id`, which serves as a reference for requesting payment details.

## GET /payment/{track\_id}

>

```json
{"openapi":"3.0.0","info":{"title":"Payments","version":"1.0.0"},"servers":[{"url":"https://api.oxapay.com/v1"}],"security":[],"paths":{"/payment/{track_id}":{"get":{"operationId":"paymentInformation","responses":{"200":{"description":"Successful operation","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","properties":{"track_id":{"type":"string","description":"Unique identifier for each payment session in the OxaPay payment gateway. It is used to track the payment status and generate reports."},"type":{"type":"string","description":"Describes the payment type, e.g., invoice, white-label, etc."},"amount":{"type":"number","format":"decimal","description":"The total amount of the invoice in the specified currency."},"currency":{"type":"string","description":"The currency of the payment, e.g., USD, EUR, BTC."},"status":{"type":"string","description":"The current status of the invoice, such as pending, completed, failed, etc."},"mixed_payment":{"type":"boolean","description":"A flag indicating whether the payment is mixed (involving multiple payment currencies)."},"callback_url":{"type":"string","description":"The URL to which payment status updates will be sent."},"description":{"type":"string","description":"A description for the invoice."},"email":{"type":"string","description":"The email address of the payer."},"fee_paid_by_payer":{"type":"number","format":"decimal","description":"Indicates if the payer is responsible for paying the network fees (1 = yes, 0 = no)."},"lifetime":{"type":"integer","description":"The lifetime of the invoice in minutes before it expires."},"order_id":{"type":"string","description":"A unique identifier for the order associated with this invoice."},"under_paid_coverage":{"type":"number","format":"decimal","description":"The percentage of underpayment that will still be considered valid."},"return_url":{"type":"string","description":"The URL the user will be redirected to after completing the payment."},"thanks_message":{"type":"string","description":"A custom message to thank the user for the payment."},"expired_at":{"type":"integer","description":"Timestamp (UNIX epoch) when the invoice will expire."},"date":{"type":"integer","description":"Timestamp (UNIX epoch) of when the invoice was created."},"txs":{"type":"array","items":{"type":"object","properties":{"tx_hash":{"type":"string","description":"Unique hash of the transaction on the blockchain, used to identify the transaction."},"amount":{"type":"number","format":"decimal","description":"The amount involved in the transaction."},"currency":{"type":"string","description":"The currency of the transaction."},"network":{"type":"string","description":"The blockchain network on which the transaction was made (e.g., Bitcoin, Ethereum)."},"address":{"type":"string","description":"The receiver wallet address."},"status":{"type":"string","description":"The current status of the transaction, such as confirming, confirmed, failed, etc."},"confirmations":{"type":"integer","description":"The number of confirmations the transaction has received on the network."},"auto_convert":{"type":"object","properties":{"processed":{"type":"boolean","description":"Indicates whether the transaction was automatically converted to another currency."},"amount":{"type":"number","format":"decimal","description":"The amount of currency that was converted."},"currency":{"type":"string","description":"The currency to which the amount was converted."}}},"auto_withdrawal":{"type":"object","properties":{"processed":{"type":"boolean","description":"Indicates whether the funds were automatically withdrawn after the transaction."}}},"date":{"type":"integer","description":"The timestamp when the transaction occurred."}}}}}},"message":{"type":"string","description":"A message containing additional information about the result of the request."},"error":{"type":"object","description":"An object that provides details about any errors that occurred.","nullable":true,"properties":{"type":{"type":"string","description":"Type of the error"},"key":{"type":"string","description":"Key related to the error"},"message":{"type":"string","description":"Error message"}}},"status":{"type":"integer","description":"The status of the request response. Typically provided as a numeric code (e.g., 200 for success or other codes for errors)."},"version":{"type":"string","description":"The version of the API being used."}}}}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","properties":{}},"message":{"type":"string","description":"A message containing additional information about the result of the request."},"error":{"type":"object","description":"An object that provides details about any errors that occurred.","nullable":true,"properties":{"type":{"type":"string","description":"Type of the error"},"key":{"type":"string","description":"Key related to the error"},"message":{"type":"string","description":"Error message"}}},"status":{"type":"integer","description":"The status of the request response. Typically provided as a numeric code (e.g., 200 for success or other codes for errors)."},"version":{"type":"string","description":"The version of the API being used."}}}}}}},"tags":["payment-information"],"parameters":[{"name":"track_id","in":"path","required":true,"description":"Unique identifier for the payment session.","schema":{"type":"string"}},{"in":"header","name":"merchant_api_key","required":true,"schema":{"type":"string"},"description":"Your Merchant API Key for authentication and authorization."},{"in":"header","name":"Content-Type","required":true,"schema":{"type":"string","default":"application/json"}}]}}}}
```


# Payment History

Use this endpoint to retrieve a list of payments associated with your account, determined by your Merchant API Key. You can filter the results using various criteria, including time range, payment status, amount, payment type, and more. Additionally, the endpoint supports pagination with page and size parameters, allowing you to customize the number of results per request.

## GET /payment

>

```json
{"openapi":"3.0.0","info":{"title":"Payments","version":"1.0.0"},"servers":[{"url":"https://api.oxapay.com/v1"}],"security":[],"paths":{"/payment":{"get":{"operationId":"paymentHistory","responses":{"200":{"description":"Successful operation","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","properties":{"list":{"type":"array","items":{"type":"object","properties":{"track_id":{"type":"string","description":"Unique identifier for each payment session in the OxaPay payment gateway. It is used to track the payment status and generate reports."},"type":{"type":"string","description":"Describes the payment type, e.g., invoice, white-label, etc."},"amount":{"type":"number","format":"decimal","description":"The total amount of the invoice in the specified currency."},"currency":{"type":"string","description":"The currency of the payment, e.g., USD, EUR, BTC."},"status":{"type":"string","description":"The current status of the invoice, such as pending, completed, failed, etc."},"mixed_payment":{"type":"boolean","description":"A flag indicating whether the payment is mixed (involving multiple payment currencies)."},"callback_url":{"type":"string","description":"The URL to which payment status updates will be sent."},"description":{"type":"string","description":"A description for the invoice."},"email":{"type":"string","description":"The email address of the payer."},"fee_paid_by_payer":{"type":"number","format":"decimal","description":"Indicates if the payer is responsible for paying the network fees (1 = yes, 0 = no)."},"lifetime":{"type":"integer","description":"The lifetime of the invoice in minutes before it expires."},"order_id":{"type":"string","description":"A unique identifier for the order associated with this invoice."},"under_paid_coverage":{"type":"number","format":"decimal","description":"The percentage of underpayment that will still be considered valid."},"return_url":{"type":"string","description":"The URL the user will be redirected to after completing the payment."},"thanks_message":{"type":"string","description":"A custom message to thank the user for the payment."},"expired_at":{"type":"integer","description":"Timestamp (UNIX epoch) when the invoice will expire."},"date":{"type":"integer","description":"Timestamp (UNIX epoch) of when the invoice was created."},"txs":{"type":"array","items":{"type":"object","properties":{"tx_hash":{"type":"string","description":"Unique hash of the transaction on the blockchain, used to identify the transaction."},"amount":{"type":"number","format":"decimal","description":"The amount involved in the transaction."},"currency":{"type":"string","description":"The currency of the transaction."},"network":{"type":"string","description":"The blockchain network on which the transaction was made (e.g., Bitcoin, Ethereum)."},"address":{"type":"string","description":"The receiver wallet address."},"status":{"type":"string","description":"The current status of the transaction, such as confirming, confirmed, failed, etc."},"confirmations":{"type":"integer","description":"The number of confirmations the transaction has received on the network."},"auto_convert":{"type":"object","properties":{"processed":{"type":"boolean","description":"Indicates whether the transaction was automatically converted to another currency."},"amount":{"type":"number","format":"decimal","description":"The amount of currency that was converted."},"currency":{"type":"string","description":"The currency to which the amount was converted."}}},"auto_withdrawal":{"type":"object","properties":{"processed":{"type":"boolean","description":"Indicates whether the funds were automatically withdrawn after the transaction."}}},"date":{"type":"integer","description":"The timestamp when the transaction occurred."}}}}}}},"meta":{"type":"object","properties":{"page":{"type":"integer","description":"The current page number of the result set."},"last_page":{"type":"integer","description":"The total number of pages available based on the number of records and page size."},"total":{"type":"integer","description":"The total number of payments available for the specified criteria."}}}}},"message":{"type":"string","description":"A message containing additional information about the result of the request."},"error":{"type":"object","description":"An object that provides details about any errors that occurred.","nullable":true,"properties":{"type":{"type":"string","description":"Type of the error"},"key":{"type":"string","description":"Key related to the error"},"message":{"type":"string","description":"Error message"}}},"status":{"type":"integer","description":"The status of the request response. Typically provided as a numeric code (e.g., 200 for success or other codes for errors)."},"version":{"type":"string","description":"The version of the API being used."}}}}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","properties":{}},"message":{"type":"string","description":"A message containing additional information about the result of the request."},"error":{"type":"object","description":"An object that provides details about any errors that occurred.","nullable":true,"properties":{"type":{"type":"string","description":"Type of the error"},"key":{"type":"string","description":"Key related to the error"},"message":{"type":"string","description":"Error message"}}},"status":{"type":"integer","description":"The status of the request response. Typically provided as a numeric code (e.g., 200 for success or other codes for errors)."},"version":{"type":"string","description":"The version of the API being used."}}}}}}},"tags":["payment-history"],"parameters":[{"in":"header","name":"merchant_api_key","required":true,"schema":{"type":"string"},"description":"Your Merchant API Key for authentication and authorization."},{"in":"header","name":"Content-Type","required":true,"schema":{"type":"string","default":"application/json"}},{"name":"track_id","in":"query","description":"Filter payments by a specific invoice ID.","required":false,"schema":{"type":"integer"}},{"name":"type","in":"query","description":"Filter payments by type.","required":false,"schema":{"type":"string","enum":["invoice","white_label","static_address"]}},{"name":"status","in":"query","description":"Filter payments by status.","required":false,"schema":{"type":"string","enum":["Paying","Paid"]}},{"name":"pay_currency","in":"query","description":"Filter payments by a specific crypto currency symbol in which the pay amount is specified.","required":false,"schema":{"type":"string"}},{"name":"currency","in":"query","description":"Filter payments by a specific currency symbol.","required":false,"schema":{"type":"string"}},{"name":"network","in":"query","description":"Filter payments by the expected blockchain network for the specified crypto currency.","required":false,"schema":{"type":"string"}},{"name":"address","in":"query","description":"Filter payments by the expected address. It’s better to filter static addresses.","required":false,"schema":{"type":"string"}},{"name":"from_date","in":"query","description":"The start of the date window to query for payments in UNIX format.","required":false,"schema":{"type":"integer"}},{"name":"to_date","in":"query","description":"The end of the date window to query for payments in UNIX format.","required":false,"schema":{"type":"integer"}},{"name":"from_amount","in":"query","description":"Filter payments with amounts greater than or equal to the specified value.","required":false,"schema":{"type":"number","format":"decimal"}},{"name":"to_amount","in":"query","description":"Filter payments with amounts less than or equal to the specified value.","required":false,"schema":{"type":"number","format":"decimal"}},{"name":"sort_by","in":"query","description":"Sort the received list by a parameter.","required":false,"schema":{"type":"string","enum":["create_date","pay_date","amount"],"default":"create_date"}},{"name":"sort_type","in":"query","description":"Display the list in ascending or descending order.","required":false,"schema":{"type":"string","enum":["asc","desc"],"default":"desc"}},{"name":"page","in":"query","description":"The page number of the results you want to retrieve.","required":false,"schema":{"type":"integer","minimum":1,"default":1}},{"name":"size","in":"query","description":"Number of records to display per page.","required":false,"schema":{"type":"integer","minimum":1,"maximum":200,"default":10}}]}}}}
```


# Payment Statistics

Use this endpoint to retrieve aggregated payment statistics associated with your account, determined by your Merchant API Key. The results are grouped by cryptocurrency and include the total number of payments and the total received amount for each pay currency. You can filter the statistics by payment type, blockchain network, cryptocurrency symbol, and date range to generate more specific reports.

## GET /payment/stats

>

```json
{"openapi":"3.0.0","info":{"title":"Payments","version":"1.0.0"},"servers":[{"url":"https://api.oxapay.com/v1"}],"security":[],"paths":{"/payment/stats":{"get":{"operationId":"getPaymentStatistics","responses":{"200":{"description":"Successful operation","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","properties":{"list":{"type":"array","description":"A list of aggregated payment statistics grouped by cryptocurrency.","items":{"type":"object","properties":{"pay_currency":{"type":"string","description":"The cryptocurrency symbol in which the payment was received."},"total":{"type":"integer","description":"The total number of payments for this cryptocurrency."},"received_amount":{"type":"string","description":"The total received amount for this cryptocurrency. Returned as a decimal string to preserve precision."}}}},"meta":{"type":"object","properties":{"page":{"type":"integer","description":"The current page number of the result set."},"last_page":{"type":"integer","description":"The total number of pages available based on the number of records and page size."},"total":{"type":"integer","description":"The total number of statistic records available for the specified criteria."}}}}},"message":{"type":"string","description":"A message containing additional information about the result of the request."},"error":{"type":"object","description":"An object that provides details about any errors that occurred.","nullable":true,"properties":{"type":{"type":"string","description":"Type of the error."},"key":{"type":"string","description":"Key related to the error."},"message":{"type":"string","description":"Error message."}}},"status":{"type":"integer","description":"The status of the request response. Typically provided as a numeric code."},"version":{"type":"string","description":"The version of the API being used."}}}}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","properties":{}},"message":{"type":"string","description":"A message containing additional information about the result of the request."},"error":{"type":"object","description":"An object that provides details about any errors that occurred.","nullable":true,"properties":{"type":{"type":"string","description":"Type of the error"},"key":{"type":"string","description":"Key related to the error"},"message":{"type":"string","description":"Error message"}}},"status":{"type":"integer","description":"The status of the request response. Typically provided as a numeric code (e.g., 200 for success or other codes for errors)."},"version":{"type":"string","description":"The version of the API being used."}}}}}}},"tags":["payment-statistics"],"parameters":[{"in":"header","name":"merchant_api_key","required":true,"schema":{"type":"string"},"description":"Your Merchant API Key for authentication and authorization."},{"in":"header","name":"Content-Type","required":true,"schema":{"type":"string","default":"application/json"}},{"name":"type","in":"query","description":"Filter payment statistics by payment type.","required":false,"schema":{"type":"string","enum":["invoice","white_label","static_address"]}},{"name":"network","in":"query","description":"Filter payment statistics by blockchain network.","required":false,"schema":{"type":"string"}},{"name":"pay_currency","in":"query","description":"Filter payment statistics by a specific cryptocurrency symbol.","required":false,"schema":{"type":"string"}},{"name":"from_date","in":"query","description":"The start of the date window to query for payment statistics in UNIX timestamp format.","required":false,"schema":{"type":"integer"}},{"name":"to_date","in":"query","description":"The end of the date window to query for payment statistics in UNIX timestamp format.","required":false,"schema":{"type":"integer"}}]}}}}
```


# Accepted Currencies

The endpoint retrieves the list of cryptocurrencies available for payment processing through OxaPay. These currencies are configured by you on the "Merchant Service" page of your account, specifying the cryptocurrencies your business accepts for payments.

## GET /payment/accepted-currencies

>

```json
{"openapi":"3.0.0","info":{"title":"Payments","version":"1.0.0"},"servers":[{"url":"https://api.oxapay.com/v1"}],"security":[],"paths":{"/payment/accepted-currencies":{"get":{"operationId":"acceptedCurrencies","responses":{"200":{"description":"Successful operation","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","properties":{"list":{"type":"array","description":"An array containing the cryptocurrency symbols that are accepted for payments.","items":{"type":"string"}}}},"message":{"type":"string","description":"A message containing additional information about the result of the request."},"error":{"type":"object","description":"An object that provides details about any errors that occurred.","nullable":true,"properties":{"type":{"type":"string","description":"Type of the error"},"key":{"type":"string","description":"Key related to the error"},"message":{"type":"string","description":"Error message"}}},"status":{"type":"integer","description":"The status of the request response. Typically provided as a numeric code (e.g., 200 for success or other codes for errors)."},"version":{"type":"string","description":"The version of the API being used."}}}}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","properties":{}},"message":{"type":"string","description":"A message containing additional information about the result of the request."},"error":{"type":"object","description":"An object that provides details about any errors that occurred.","nullable":true,"properties":{"type":{"type":"string","description":"Type of the error"},"key":{"type":"string","description":"Key related to the error"},"message":{"type":"string","description":"Error message"}}},"status":{"type":"integer","description":"The status of the request response. Typically provided as a numeric code (e.g., 200 for success or other codes for errors)."},"version":{"type":"string","description":"The version of the API being used."}}}}}}},"tags":["accepted-currencies"],"parameters":[{"in":"header","name":"merchant_api_key","required":true,"schema":{"type":"string"},"description":"Your Merchant API Key for authentication and authorization."},{"in":"header","name":"Content-Type","required":true,"schema":{"type":"string","default":"application/json"}}]}}}}
```


# Payment Status Table

These are the possible payment statuses you may encounter while using the OxaPay Merchant Service. Each status indicates the progress of the payment process, helping you track and manage payments effectively.

<table><thead><tr><th width="216">Status</th><th>Description</th></tr></thead><tbody><tr><td>new</td><td>A newly created invoice. The payer has not selected the payment currency yet.</td></tr><tr><td>waiting</td><td>The payer has selected the payment currency. Awaiting payment.</td></tr><tr><td>paying</td><td>The payer is attempting to complete the invoice payment.</td></tr><tr><td>paid</td><td>The invoice has been fully paid.</td></tr><tr><td>manual_accept</td><td>The invoice was manually accepted by you, and the corresponding amount has been charged to your balance.</td></tr><tr><td>underpaid</td><td>The payer made a partial payment, but the invoice is not fully paid.</td></tr><tr><td>refunding</td><td>A refund request has been initiated, and the paid amount is in the process of being returned to the payer.</td></tr><tr><td>refunded</td><td>The payment has been successfully refunded to the payer.</td></tr><tr><td>expired</td><td>The payer did not pay the invoice within the required time frame.</td></tr></tbody></table>


# Payout

If your business needs to make cryptocurrency payments to your users, the payout service is the ideal solution. With this service, you can easily send payments directly from your OxaPay balances, streamlining the process and ensuring efficiency. It’s a secure and convenient way to manage payouts, allowing you to handle user transactions smoothly without relying on external wallets or platforms. This feature is designed to save time, enhance reliability, and cater to businesses with frequent payout needs.

#### To process payouts, you'll need a Payout API key. Follow these steps to generate it:

1. Log in to your OxaPay account.
2. Navigate to the Payout Service page.
3. Fill in the form then click on the "Generate Payout API Key" button.

#### Watch the video below for a step-by-step walkthrough of the process:

{% embed url="<https://www.youtube.com/watch?v=TF690TmM3lw>" %}

You can create your own payout with the guidance provided in the [Generate Payout](https://docs.oxapay.com/api-reference/payout/generate-payout) in the API references.


# Generate Payout

This endpoint enables you to generate a cryptocurrency payout request, allowing you to transfer funds to a specified address. It is designed to facilitate seamless and secure transactions by generating a payout request within your account.

## POST /payout

>

```json
{"openapi":"3.0.0","info":{"title":"Payouts","version":"1.0.0"},"servers":[{"url":"https://api.oxapay.com/v1"}],"security":[],"paths":{"/payout":{"post":{"operationId":"generatePayout","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["address","currency","amount"],"properties":{"address":{"type":"string","description":"The recipient's cryptocurrency address where the payout will be sent."},"currency":{"type":"string","description":"The symbol of the cryptocurrency to be sent (e.g., BTC, ETH, LTC, etc.)."},"amount":{"type":"number","format":"decimal","description":"The exact amount of cryptocurrency to be sent as the payout."},"network":{"type":"string","description":"The blockchain network to be used for the payout. Required for currencies with multiple supported networks."},"callback_url":{"type":"string","format":"uri","description":"The URL for sending payment status updates."},"memo":{"type":"string","description":"A memo or tag for transactions on supported networks (e.g., for GRAM)."},"description":{"type":"string","description":"A description or additional information for the payout, useful for reports."}}}}}},"responses":{"200":{"description":"Successful operation","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","properties":{"track_id":{"type":"string","description":"The unique identifier for the pay in the OxaPay payment gateway. You can use this track ID to query the payment status and generate reports."},"status":{"type":"string","description":"The status of payout transaction."}}},"message":{"type":"string","description":"A message containing additional information about the result of the request."},"error":{"type":"object","description":"An object that provides details about any errors that occurred.","nullable":true,"properties":{"type":{"type":"string","description":"Type of the error"},"key":{"type":"string","description":"Key related to the error"},"message":{"type":"string","description":"Error message"}}},"status":{"type":"integer","description":"The status of the request response. Typically provided as a numeric code (e.g., 200 for success or other codes for errors)."},"version":{"type":"string","description":"The version of the API being used."}}}}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","properties":{}},"message":{"type":"string","description":"A message containing additional information about the result of the request."},"error":{"type":"object","description":"An object that provides details about any errors that occurred.","nullable":true,"properties":{"type":{"type":"string","description":"Type of the error"},"key":{"type":"string","description":"Key related to the error"},"message":{"type":"string","description":"Error message"}}},"status":{"type":"integer","description":"The status of the request response. Typically provided as a numeric code (e.g., 200 for success or other codes for errors)."},"version":{"type":"string","description":"The version of the API being used."}}}}}}},"tags":["Generate-payout"],"parameters":[{"in":"header","name":"payout_api_key","required":true,"schema":{"type":"string"},"description":"Your Payout API Key for authentication and authorization."},{"in":"header","name":"Content-Type","required":true,"schema":{"type":"string","default":"application/json"}}]}}}}
```


# Payout Information

This endpoint retrieves the details of a specific payout using its track\_id. After generating a payout request, you will receive a track\_id, which can be used to obtain detailed information about the payout.

## GET /payout/{track\_id}

>

```json
{"openapi":"3.0.0","info":{"title":"Payouts","version":"1.0.0"},"servers":[{"url":"https://api.oxapay.com/v1"}],"security":[],"paths":{"/payout/{track_id}":{"get":{"operationId":"payoutInformaion","responses":{"200":{"description":"Successful operation","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","properties":{"track_id":{"type":"string","description":"Unique identifier for the payout session, used for tracking the payout status."},"address":{"type":"string","description":"The cryptocurrency wallet address where the payout is expected to be sent."},"currency":{"type":"string","description":"The cryptocurrency symbol in which the payout is made (e.g., BTC, ETH, USDT)."},"network":{"type":"string","description":"The blockchain network associated with the cryptocurrency, e.g., \"Bitcoin Network\" or \"Ethereum Network\"."},"amount":{"type":"number","format":"decimal","description":"The total amount of the payout in the specified currency."},"fee":{"type":"number","format":"decimal","description":"The fee associated with processing the payout."},"status":{"type":"string","description":"The current status of the payout, e.g., pending, confirmed, rejected, etc."},"tx_hash":{"type":"string","description":"Unique transaction hash for the transaction on the blockchain."},"description":{"type":"string","description":"A description providing additional details related to the payout or the transaction."},"internal":{"type":"boolean","description":"Flag indicating whether the transaction is internal or external."},"memo":{"type":"string","description":"An optional memo field for including additional details or a note regarding the payout."},"date":{"type":"integer","description":"Timestamp (UNIX epoch) representing when the payout."}}},"message":{"type":"string","description":"A message containing additional information about the result of the request."},"error":{"type":"object","description":"An object that provides details about any errors that occurred.","nullable":true,"properties":{"type":{"type":"string","description":"Type of the error"},"key":{"type":"string","description":"Key related to the error"},"message":{"type":"string","description":"Error message"}}},"status":{"type":"integer","description":"The status of the request response. Typically provided as a numeric code (e.g., 200 for success or other codes for errors)."},"version":{"type":"string","description":"The version of the API being used."}}}}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","properties":{}},"message":{"type":"string","description":"A message containing additional information about the result of the request."},"error":{"type":"object","description":"An object that provides details about any errors that occurred.","nullable":true,"properties":{"type":{"type":"string","description":"Type of the error"},"key":{"type":"string","description":"Key related to the error"},"message":{"type":"string","description":"Error message"}}},"status":{"type":"integer","description":"The status of the request response. Typically provided as a numeric code (e.g., 200 for success or other codes for errors)."},"version":{"type":"string","description":"The version of the API being used."}}}}}}},"tags":["Payout-information"],"parameters":[{"name":"track_id","in":"path","required":true,"description":"Unique identifier for the payout session.","schema":{"type":"string"}},{"in":"header","name":"payout_api_key","required":true,"schema":{"type":"string"},"description":"Your Payout API Key for authentication and authorization."},{"in":"header","name":"Content-Type","required":true,"schema":{"type":"string","default":"application/json"}}]}}}}
```


# Payout History

This endpoint retrieves a list of payout transactions associated with your account, based on your Payout API Key. You can filter the results by various criteria, including time range, status, amount, currency, network, type (internal or external), and more. Additionally, pagination allows you to retrieve the results in smaller, manageable sets.

## GET /payout

>

```json
{"openapi":"3.0.0","info":{"title":"Payouts","version":"1.0.0"},"servers":[{"url":"https://api.oxapay.com/v1"}],"security":[],"paths":{"/payout":{"get":{"operationId":"payoutHistory","responses":{"200":{"description":"Successful operation","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","properties":{"list":{"type":"array","items":{"type":"object","properties":{"track_id":{"type":"string","description":"Unique identifier for the payout session, used for tracking the payout status."},"address":{"type":"string","description":"The cryptocurrency wallet address where the payout is expected to be sent."},"currency":{"type":"string","description":"The cryptocurrency symbol in which the payout is made (e.g., BTC, ETH, USDT)."},"network":{"type":"string","description":"The blockchain network associated with the cryptocurrency, e.g., 'Bitcoin Network' or 'Ethereum Network'."},"amount":{"type":"number","format":"decimal","description":"The total amount of the payout in the specified currency."},"fee":{"type":"number","format":"decimal","description":"The fee associated with processing the payout."},"status":{"type":"string","description":"The current status of the payout, e.g., pending, confirmed, rejected, etc."},"tx_hash":{"type":"string","description":"Unique transaction hash for the transaction on the blockchain."},"description":{"type":"string","description":"A description providing additional details related to the payout or the transaction."},"internal":{"type":"boolean","description":"Flag indicating whether the transaction is internal or external."},"memo":{"type":"string","description":"An optional memo field for including additional details or a note regarding the payout."},"date":{"type":"integer","description":"Timestamp (UNIX epoch) representing when the payout."}}}},"meta":{"type":"object","properties":{"page":{"type":"integer","description":"The current page number of the result set."},"last_page":{"type":"integer","description":"The total number of pages available based on the number of records and page size."},"total":{"type":"integer","description":"The total number of payments available for the specified criteria."}}}}},"message":{"type":"string","description":"A message containing additional information about the result of the request."},"error":{"type":"object","description":"An object that provides details about any errors that occurred.","nullable":true,"properties":{"type":{"type":"string","description":"Type of the error"},"key":{"type":"string","description":"Key related to the error"},"message":{"type":"string","description":"Error message"}}},"status":{"type":"integer","description":"The status of the request response. Typically provided as a numeric code (e.g., 200 for success or other codes for errors)."},"version":{"type":"string","description":"The version of the API being used."}}}}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","properties":{}},"message":{"type":"string","description":"A message containing additional information about the result of the request."},"error":{"type":"object","description":"An object that provides details about any errors that occurred.","nullable":true,"properties":{"type":{"type":"string","description":"Type of the error"},"key":{"type":"string","description":"Key related to the error"},"message":{"type":"string","description":"Error message"}}},"status":{"type":"integer","description":"The status of the request response. Typically provided as a numeric code (e.g., 200 for success or other codes for errors)."},"version":{"type":"string","description":"The version of the API being used."}}}}}}},"tags":["Payout-history"],"parameters":[{"in":"header","name":"payout_api_key","required":true,"schema":{"type":"string"},"description":"Your Payout API Key for authentication and authorization."},{"in":"header","name":"Content-Type","required":true,"schema":{"type":"string","default":"application/json"}},{"name":"status","in":"query","description":"Filter payouts based on their status (processing, complete, rejected, etc.).","required":false,"schema":{"type":"string"}},{"name":"type","in":"query","description":"Filter payouts based on type.","required":false,"schema":{"type":"string","enum":["external","internal"]}},{"name":"currency","in":"query","description":"Specify the currency symbol for filtering payouts in a specific currency.","required":false,"schema":{"type":"string"}},{"name":"network","in":"query","description":"Specify the blockchain network for filtering payouts on a particular network.","required":false,"schema":{"type":"string"}},{"name":"from_amount","in":"query","description":"Specify the minimum payout amount for filtering.","required":false,"schema":{"type":"number","format":"decimal"}},{"name":"to_amount","in":"query","description":"Specify the maximum payout amount for filtering.","required":false,"schema":{"type":"number","format":"decimal"}},{"name":"from_date","in":"query","description":"The start of the date window to query for payouts in UNIX format.","required":false,"schema":{"type":"integer"}},{"name":"to_date","in":"query","description":"The end of the date window to query for payouts in UNIX format.","required":false,"schema":{"type":"integer"}},{"name":"sort_by","in":"query","description":"Sort the received list by a parameter.","required":false,"schema":{"type":"string","enum":["create_date","pay_date","amount"],"default":"create_date"}},{"name":"sort_type","in":"query","description":"Display the list in ascending or descending order.","required":false,"schema":{"type":"string","enum":["asc","desc"],"default":"desc"}},{"name":"size","in":"query","description":"Number of records to be displayed on one page.","required":false,"schema":{"type":"integer","minimum":1,"maximum":200,"default":10}},{"name":"page","in":"query","description":"The page number of the results you want to retrieve.","required":false,"schema":{"type":"integer","minimum":1,"default":1}}]}}}}
```


# Payout Status Table

These are the possible payout statuses you may encounter while using the OxaPay Payout Service. Each status indicates the progress of the payout process, helping you track and manage payouts effectively.

<table><thead><tr><th width="150.5">Status</th><th>Description</th></tr></thead><tbody><tr><td>processing</td><td>Request submitted and is being processed.</td></tr><tr><td>pending</td><td>Request has been processed and is now in the payment queue.</td></tr><tr><td>confirming</td><td>Transaction created and is awaiting confirmation on the blockchain.</td></tr><tr><td>confirmed</td><td>The transaction has been paid successfully.</td></tr><tr><td>canceled</td><td>Payout request was canceled.</td></tr><tr><td>rejected</td><td>The request was rejected for certain reasons.</td></tr></tbody></table>


# Swap

If your business requires a service to seamlessly exchange cryptocurrency assets through an API, the Swap Service is the perfect solution. It enables you to integrate crypto swapping functionality directly into your platform or application, allowing you to automate and simplify asset exchanges. With this service, you can efficiently convert one cryptocurrency to another without relying on external platforms, providing flexibility and convenience.

#### To process swap, you'll need a General API key. Follow these steps to generate it:

1. Log in to your OxaPay account.
2. Navigate to the Account Settings page.
3. Fill in the form then click on the "Generate General API Key" button.

#### Watch the video below for a step-by-step walkthrough of the process:

{% embed url="<https://www.youtube.com/watch?v=y37bcIvl9ZM>" %}

You can swap your crypto assets with the guidance provided in the [Swap Request](https://docs.oxapay.com/api-reference/swap/swap-request) in the API references.


# Swap Request

This endpoint allows you to swap your account assets. You can swap one cryptocurrency for another instantly at the current market rate. To see the supported swap options, refer to the [swap pairs](broken://pages/bancbhOzoUadpQw2nMkF) endpoint. Whether you're swapping Bitcoin for Tether, Tether for Litecoin, or any other supported combination, this feature ensures secure and accurate asset swaps. Swaps are processed in real-time to provide you with the best available rates.

## POST /general/swap

>

```json
{"openapi":"3.0.0","info":{"title":"Swaps","version":"1.0.0"},"servers":[{"url":"https://api.oxapay.com/v1"}],"security":[],"paths":{"/general/swap":{"post":{"operationId":"swapRequest","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["from_currency","to_currency","amount"],"properties":{"from_currency":{"type":"string","description":"Specify the currency symbol you want to swap from."},"to_currency":{"type":"string","description":"Specify the currency symbol you want to swap to."},"amount":{"type":"number","format":"decimal","description":"Specify the amount of currency you want to swap."}}}}}},"responses":{"200":{"description":"Successful operation","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","properties":{"track_id":{"type":"string","description":"Unique identifier for the transaction, typically represented as a string."},"from_currency":{"type":"string","description":"The currency being exchanged from."},"to_currency":{"type":"string","description":"The currency being exchanged to."},"from_amount":{"type":"number","format":"decimal","description":"The amount of the \"from_currency\" being swapped, represented with high precision."},"to_amount":{"type":"number","format":"decimal","description":"The amount of the \"to_currency\" received after the swap, represented with high precision."},"rate":{"type":"number","format":"decimal","description":"The exchange rate between the \"from_currency\" and \"to_currency\" at the time of the transaction."},"date":{"type":"integer","description":"Timestamp (UNIX epoch) representing when the swap occurred, typically in seconds."}}},"message":{"type":"string","description":"A message containing additional information about the result of the request."},"error":{"type":"object","description":"An object that provides details about any errors that occurred.","nullable":true,"properties":{"type":{"type":"string","description":"Type of the error"},"key":{"type":"string","description":"Key related to the error"},"message":{"type":"string","description":"Error message"}}},"status":{"type":"integer","description":"The status of the request response. Typically provided as a numeric code (e.g., 200 for success or other codes for errors)."},"version":{"type":"string","description":"The version of the API being used."}}}}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","properties":{}},"message":{"type":"string","description":"A message containing additional information about the result of the request."},"error":{"type":"object","description":"An object that provides details about any errors that occurred.","nullable":true,"properties":{"type":{"type":"string","description":"Type of the error"},"key":{"type":"string","description":"Key related to the error"},"message":{"type":"string","description":"Error message"}}},"status":{"type":"integer","description":"The status of the request response. Typically provided as a numeric code (e.g., 200 for success or other codes for errors)."},"version":{"type":"string","description":"The version of the API being used."}}}}}}},"tags":["Swap-request"],"parameters":[{"in":"header","name":"general_api_key","required":true,"schema":{"type":"string"},"description":"Your General API Key for authentication and authorization."},{"in":"header","name":"Content-Type","required":true,"schema":{"type":"string","default":"application/json"}}]}}}}
```


# Swap History

This endpoint allows you to retrieve a list of swap transactions based on your General API Key. You can filter the results by various criteria, including time range, currency, and swap type (e.g., auto\_convert, manual\_swap, or swap\_by\_api). Pagination support lets you fetch the results in smaller, manageable sets for better control and efficiency.

## GET /general/swap

>

```json
{"openapi":"3.0.0","info":{"title":"Swaps","version":"1.0.0"},"servers":[{"url":"https://api.oxapay.com/v1"}],"security":[],"paths":{"/general/swap":{"get":{"operationId":"swapHistory","responses":{"200":{"description":"Successful operation","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","properties":{"list":{"type":"array","items":{"type":"object","properties":{"track_id":{"type":"string","description":"Unique identifier for the transaction, typically represented as a string."},"from_currency":{"type":"string","description":"The currency being exchanged from."},"to_currency":{"type":"string","description":"The currency being exchanged to."},"from_amount":{"type":"number","format":"decimal","description":"The amount of the \"from_currency\" being swapped, represented with high precision."},"to_amount":{"type":"number","format":"decimal","description":"The amount of the \"to_currency\" received after the swap, represented with high precision."},"rate":{"type":"number","format":"decimal","description":"The exchange rate between the \"from_currency\" and \"to_currency\" at the time of the transaction."},"date":{"type":"integer","description":"Timestamp (UNIX epoch) representing when the swap occurred, typically in seconds."}}}},"meta":{"type":"object","properties":{"page":{"type":"integer","description":"The current page number of the result set."},"last_page":{"type":"integer","description":"The total number of pages available based on the number of records and page size."},"total":{"type":"integer","description":"The total number of payments available for the specified criteria."}}}}},"message":{"type":"string","description":"A message containing additional information about the result of the request."},"error":{"type":"object","description":"An object that provides details about any errors that occurred.","nullable":true,"properties":{"type":{"type":"string","description":"Type of the error"},"key":{"type":"string","description":"Key related to the error"},"message":{"type":"string","description":"Error message"}}},"status":{"type":"integer","description":"The status of the request response. Typically provided as a numeric code (e.g., 200 for success or other codes for errors)."},"version":{"type":"string","description":"The version of the API being used."}}}}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","properties":{}},"message":{"type":"string","description":"A message containing additional information about the result of the request."},"error":{"type":"object","description":"An object that provides details about any errors that occurred.","nullable":true,"properties":{"type":{"type":"string","description":"Type of the error"},"key":{"type":"string","description":"Key related to the error"},"message":{"type":"string","description":"Error message"}}},"status":{"type":"integer","description":"The status of the request response. Typically provided as a numeric code (e.g., 200 for success or other codes for errors)."},"version":{"type":"string","description":"The version of the API being used."}}}}}}},"tags":["Swap-history"],"parameters":[{"in":"header","name":"general_api_key","required":true,"schema":{"type":"string"},"description":"Your General API Key for authentication and authorization."},{"in":"header","name":"Content-Type","required":true,"schema":{"type":"string","default":"application/json"}},{"name":"track_id","in":"query","description":"Filter spesific exchange by it`s trackId.","required":false,"schema":{"type":"integer"}},{"name":"type","in":"query","description":"Filter exchanges based on type.","required":false,"schema":{"type":"string","enum":["autoConvert","manualSwap","swapByApi"]}},{"name":"from_currency","in":"query","description":"Specify the currency symbol for filtering exchanges in a specific fromCurrency.","required":false,"schema":{"type":"string"}},{"name":"to_currency","in":"query","description":"Specify the currency symbol for filtering exchanges in a specific toCurrency.","required":false,"schema":{"type":"string"}},{"name":"from_date","in":"query","description":"The start of the date window to query for exchanges in unix format.","required":false,"schema":{"type":"integer"}},{"name":"to_date","in":"query","description":"The start of the date window to query for exchanges in unix format.","required":false,"schema":{"type":"integer"}},{"name":"sort_by","in":"query","description":"Sort the received list by a parameter.","required":false,"schema":{"type":"string","enum":["create_date","amount"],"default":"create_date"}},{"name":"sort_type","in":"query","description":"Display the list in ascending or descending order.","required":false,"schema":{"type":"string","enum":["asc","desc"],"default":"desc"}},{"name":"size","in":"query","description":"Number of records to be displayed on one page.","required":false,"schema":{"type":"integer","minimum":1,"maximum":200,"default":10}},{"name":"page","in":"query","description":"The page number of the results you want to retrieve.","required":false,"schema":{"type":"integer","minimum":1,"default":1}}]}}}}
```


# Swap Pairs

This endpoint allows you to access a list of swappable cryptocurrencies along with their minimum swap amounts. It provides the available options for the from\_currency and to\_currency fields when performing cryptocurrency swaps. Whether you're swapping Bitcoin for Tether or Tether for Litecoin, this list ensures clarity on supported pairs and their minimum swap requirements, helping you plan seamless transactions.

## GET /general/swap/pairs

>

```json
{"openapi":"3.0.0","info":{"title":"Swaps","version":"1.0.0"},"servers":[{"url":"https://api.oxapay.com/v1"}],"security":[],"paths":{"/general/swap/pairs":{"get":{"operationId":"swapPairs","responses":{"200":{"description":"Successful operation","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","properties":{"list":{"type":"array","items":{"type":"object","properties":{"from_currency":{"type":"string","description":"The currency being exchanged from."},"to_currency":{"type":"string","description":"The currency being exchanged to."},"min_amount":{"type":"number","format":"decimal","description":"The minimum amount of the \"from_currency\" required for the swap, represented with high precision."}}}}}},"message":{"type":"string","description":"A message containing additional information about the result of the request."},"error":{"type":"object","description":"An object that provides details about any errors that occurred.","nullable":true,"properties":{"type":{"type":"string","description":"Type of the error"},"key":{"type":"string","description":"Key related to the error"},"message":{"type":"string","description":"Error message"}}},"status":{"type":"integer","description":"The status of the request response. Typically provided as a numeric code (e.g., 200 for success or other codes for errors)."},"version":{"type":"string","description":"The version of the API being used."}}}}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","properties":{}},"message":{"type":"string","description":"A message containing additional information about the result of the request."},"error":{"type":"object","description":"An object that provides details about any errors that occurred.","nullable":true,"properties":{"type":{"type":"string","description":"Type of the error"},"key":{"type":"string","description":"Key related to the error"},"message":{"type":"string","description":"Error message"}}},"status":{"type":"integer","description":"The status of the request response. Typically provided as a numeric code (e.g., 200 for success or other codes for errors)."},"version":{"type":"string","description":"The version of the API being used."}}}}}}},"tags":["Swap-pairs"],"parameters":[{"in":"header","name":"general_api_key","required":true,"schema":{"type":"string"},"description":"Your General API Key for authentication and authorization."},{"in":"header","name":"Content-Type","required":true,"schema":{"type":"string","default":"application/json"}}]}}}}
```


# Swap Calculate

This endpoint allows you to instantly calculate how much cryptocurrency you'll receive when swapping one currency for another. Designed for ease of use, it provides real-time rates to ensure accurate calculations. Simply integrate this feature into your app to access the latest rates anytime. Whether you're buying or selling, this endpoint simplifies the process by giving you quick and precise swap amounts for your desired currency.

## POST /general/swap/calculate

>

```json
{"openapi":"3.0.0","info":{"title":"Swaps","version":"1.0.0"},"servers":[{"url":"https://api.oxapay.com/v1"}],"security":[],"paths":{"/general/swap/calculate":{"post":{"operationId":"swapCalculate","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["from_currency","to_currency","amount"],"properties":{"from_currency":{"type":"string","description":"Specify the currency symbol you want to swap from."},"to_currency":{"type":"string","description":"Specify the currency symbol you want to swap to."},"amount":{"type":"number","format":"decimal","description":"Specify the amount of currency you want to swap."}}}}}},"responses":{"200":{"description":"Successful operation","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","properties":{"to_amount":{"type":"number","format":"decimal","description":"The amount of the \"to_currency\" received after the swap, represented with high precision."},"rate":{"type":"number","format":"decimal","description":"The swap rate between the \"from_currency\" and \"to_currency\" at the time of the request."},"amount":{"type":"number","format":"decimal","description":"The amount of the \"from_currency\" being swapped, represented with high precision."}}},"message":{"type":"string","description":"A message containing additional information about the result of the request."},"error":{"type":"object","description":"An object that provides details about any errors that occurred.","nullable":true,"properties":{"type":{"type":"string","description":"Type of the error"},"key":{"type":"string","description":"Key related to the error"},"message":{"type":"string","description":"Error message"}}},"status":{"type":"integer","description":"The status of the request response. Typically provided as a numeric code (e.g., 200 for success or other codes for errors)."},"version":{"type":"string","description":"The version of the API being used."}}}}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","properties":{}},"message":{"type":"string","description":"A message containing additional information about the result of the request."},"error":{"type":"object","description":"An object that provides details about any errors that occurred.","nullable":true,"properties":{"type":{"type":"string","description":"Type of the error"},"key":{"type":"string","description":"Key related to the error"},"message":{"type":"string","description":"Error message"}}},"status":{"type":"integer","description":"The status of the request response. Typically provided as a numeric code (e.g., 200 for success or other codes for errors)."},"version":{"type":"string","description":"The version of the API being used."}}}}}}},"tags":["Swap-calculate"],"parameters":[{"in":"header","name":"general_api_key","required":true,"schema":{"type":"string"},"description":"Your General API Key for authentication and authorization."},{"in":"header","name":"Content-Type","required":true,"schema":{"type":"string","default":"application/json"}}]}}}}
```


# Swap Rate

This endpoint allows you to fetch real-time swap rates for cryptocurrency pairs supported by OxaPay. It’s ideal for applications that need the latest cryptocurrency prices to ensure accurate and timely calculations.

## POST /general/swap/rate

>

```json
{"openapi":"3.0.0","info":{"title":"Swaps","version":"1.0.0"},"servers":[{"url":"https://api.oxapay.com/v1"}],"security":[],"paths":{"/general/swap/rate":{"post":{"operationId":"swapRate","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["from_currency","to_currency"],"properties":{"from_currency":{"type":"string","description":"Specify the currency symbol you want to swap from."},"to_currency":{"type":"string","description":"Specify the currency symbol you want to swap to."}}}}}},"responses":{"200":{"description":"Successful operation","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","properties":{"rate":{"type":"number","format":"decimal","description":"The swap rate between the \"from_currency\" and \"to_currency\" at the time of the request."}}},"message":{"type":"string","description":"A message containing additional information about the result of the request."},"error":{"type":"object","description":"An object that provides details about any errors that occurred.","nullable":true,"properties":{"type":{"type":"string","description":"Type of the error"},"key":{"type":"string","description":"Key related to the error"},"message":{"type":"string","description":"Error message"}}},"status":{"type":"integer","description":"The status of the request response. Typically provided as a numeric code (e.g., 200 for success or other codes for errors)."},"version":{"type":"string","description":"The version of the API being used."}}}}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","properties":{}},"message":{"type":"string","description":"A message containing additional information about the result of the request."},"error":{"type":"object","description":"An object that provides details about any errors that occurred.","nullable":true,"properties":{"type":{"type":"string","description":"Type of the error"},"key":{"type":"string","description":"Key related to the error"},"message":{"type":"string","description":"Error message"}}},"status":{"type":"integer","description":"The status of the request response. Typically provided as a numeric code (e.g., 200 for success or other codes for errors)."},"version":{"type":"string","description":"The version of the API being used."}}}}}}},"tags":["Swap-rate"],"parameters":[{"in":"header","name":"general_api_key","required":true,"schema":{"type":"string"},"description":"Your General API Key for authentication and authorization."},{"in":"header","name":"Content-Type","required":true,"schema":{"type":"string","default":"application/json"}}]}}}}
```


# Common

To access and use the APIs in the common section, no authentication key or token is required. Simply call the desired API endpoint directly, and you will receive a response based on the parameters or requests you provide. This makes the common APIs straightforward and easy to integrate, enabling you to quickly test their functionality and incorporate them into your application without worrying about additional authentication steps. Remember to examine the response structure carefully to ensure seamless integration with your application logic.


# Account Balance

This endpoint allows you to retrieve the details of all wallets associated with a user, including a list of currencies and their corresponding amounts.

## GET /general/account/balance

> Get account balance

```json
{"openapi":"3.0.0","info":{"title":"Commons","version":"1.0.0"},"servers":[{"url":"https://api.oxapay.com/v1"}],"security":[],"paths":{"/general/account/balance":{"get":{"operationId":"accountBalance","summary":"Get account balance","responses":{"200":{"description":"Successful operation","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","description":"Object keyed by currency symbol. Each value represents the account balance for that currency."},"message":{"type":"string","description":"A message containing additional information about the result of the request."},"error":{"type":"object","description":"An object that provides details about any errors that occurred.","nullable":true,"properties":{"type":{"type":"string","description":"Type of the error"},"key":{"type":"string","description":"Key related to the error"},"message":{"type":"string","description":"Error message"}}},"status":{"type":"integer","description":"The status of the request response. Typically provided as a numeric code."},"version":{"type":"string","description":"The version of the API being used."}}}}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","properties":{}},"message":{"type":"string","description":"A message containing additional information about the result of the request."},"error":{"type":"object","description":"An object that provides details about any errors that occurred.","nullable":true,"properties":{"type":{"type":"string","description":"Type of the error"},"key":{"type":"string","description":"Key related to the error"},"message":{"type":"string","description":"Error message"}}},"status":{"type":"integer","description":"The status of the request response. Typically provided as a numeric code."},"version":{"type":"string","description":"The version of the API being used."}}}}}}},"tags":["Account-balance"],"parameters":[{"in":"header","name":"general_api_key","required":true,"schema":{"type":"string"},"description":"Your General API Key for authentication and authorization."},{"in":"header","name":"Content-Type","required":true,"schema":{"type":"string","default":"application/json"}},{"name":"currency","in":"query","description":"Specify a specific currency to get the balance for that currency. If not provided, the response will contain the balance for all available currencies.","required":false,"schema":{"type":"string"}}]}}}}
```


# Prices

This endpoint allows you to retrieve the current prices of all cryptocurrencies supported by OxaPay.

## GET /common/prices

> Get cryptocurrency prices

```json
{"openapi":"3.0.0","info":{"title":"Commons","version":"1.0.0"},"servers":[{"url":"https://api.oxapay.com/v1"}],"security":[],"paths":{"/common/prices":{"get":{"operationId":"prices","summary":"Get cryptocurrency prices","responses":{"200":{"description":"Successful operation","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","description":"Object keyed by cryptocurrency symbol. Each value represents the current price."},"message":{"type":"string","description":"A message containing additional information about the result of the request."},"error":{"type":"object","description":"An object that provides details about any errors that occurred.","nullable":true,"properties":{"type":{"type":"string","description":"Type of the error"},"key":{"type":"string","description":"Key related to the error"},"message":{"type":"string","description":"Error message"}}},"status":{"type":"integer","description":"The status of the request response. Typically provided as a numeric code."},"version":{"type":"string","description":"The version of the API being used."}}}}}}},"tags":["Prices"]}}}}
```


# Supported Currencies

This endpoint allows you to access a comprehensive list of supported cryptocurrencies, including their network details, symbol, name, and withdrawal information, enabling you to identify the appropriate network for each currency.

## GET /common/currencies

> Get supported cryptocurrencies

```json
{"openapi":"3.0.0","info":{"title":"Commons","version":"1.0.0"},"servers":[{"url":"https://api.oxapay.com/v1"}],"security":[],"paths":{"/common/currencies":{"get":{"operationId":"currencies","summary":"Get supported cryptocurrencies","responses":{"200":{"description":"Successful operation","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","description":"Object keyed by cryptocurrency symbol. Each item includes currency metadata and supported networks.","additionalProperties":{"type":"object","properties":{"symbol":{"type":"string","description":"The symbol of the currency (e.g., BTC, ETH)."},"name":{"type":"string","description":"The name of the currency (e.g., Bitcoin, Ethereum)."},"status":{"type":"boolean","description":"Indicates whether the currency is active or not."},"networks":{"type":"object","description":"A dynamic object where each key is a network name and value is network-specific settings.","additionalProperties":{"type":"object","properties":{"network":{"type":"string","description":"The technical name or code of the network."},"name":{"type":"string","description":"The human-readable name of the network."},"keys":{"type":"array","items":{"type":"string"},"description":"A list of required keys or identifiers for the network."},"required_confirmations":{"type":"integer","description":"Number of confirmations required for transactions on the network."},"withdraw_fee":{"type":"number","format":"decimal","description":"Withdrawal fee for this network."},"withdraw_min":{"type":"number","format":"decimal","description":"Minimum amount required to initiate a withdrawal."},"deposit_min":{"type":"number","format":"decimal","description":"Minimum amount required to make a deposit."},"static_fixed_fee":{"type":"number","format":"decimal","description":"A fixed fee applied for static address usage."}}}}}}},"message":{"type":"string","description":"A message containing additional information about the result of the request."},"error":{"type":"object","description":"An object that provides details about any errors that occurred.","nullable":true,"properties":{"type":{"type":"string","description":"Type of the error"},"key":{"type":"string","description":"Key related to the error"},"message":{"type":"string","description":"Error message"}}},"status":{"type":"integer","description":"The status of the request response. Typically provided as a numeric code."},"version":{"type":"string","description":"The version of the API being used."}}}}}}},"tags":["Currencies"]}}}}
```


# Supported Fiat Currencies

This endpoint allows you to retrieve a list of supported fiat currencies, with details including currency code (e.g., USD, AUD), symbol, name, price, and display precision. Merchants can use this data to create invoices in fiat currencies.

## GET /common/fiats

> Get supported fiat currencies

```json
{"openapi":"3.0.0","info":{"title":"Commons","version":"1.0.0"},"servers":[{"url":"https://api.oxapay.com/v1"}],"security":[],"paths":{"/common/fiats":{"get":{"operationId":"fiats","summary":"Get supported fiat currencies","responses":{"200":{"description":"Successful operation","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","description":"Object keyed by fiat currency symbol. Each item includes fiat metadata and pricing information.","additionalProperties":{"type":"object","properties":{"symbol":{"type":"string","description":"The symbol of the currency (e.g., BTC, ETH)."},"name":{"type":"string","description":"The name of the currency (e.g., Bitcoin, Ethereum)."},"price":{"type":"number","format":"decimal","description":"The current price of the currency."},"display_precision":{"type":"number","format":"decimal","description":"Decimal precision used when displaying the currency."}}}},"message":{"type":"string","description":"A message containing additional information about the result of the request."},"error":{"type":"object","description":"An object that provides details about any errors that occurred.","nullable":true,"properties":{"type":{"type":"string","description":"Type of the error"},"key":{"type":"string","description":"Key related to the error"},"message":{"type":"string","description":"Error message"}}},"status":{"type":"integer","description":"The status of the request response. Typically provided as a numeric code."},"version":{"type":"string","description":"The version of the API being used."}}}}}}},"tags":["Fiats"]}}}}
```


# Supported Networks

This endpoint allows you to retrieve a list of blockchain networks supported by OxaPay for cryptocurrency transactions.

## GET /common/networks

> Get supported networks

```json
{"openapi":"3.0.0","info":{"title":"Commons","version":"1.0.0"},"servers":[{"url":"https://api.oxapay.com/v1"}],"security":[],"paths":{"/common/networks":{"get":{"operationId":"networks","summary":"Get supported networks","responses":{"200":{"description":"Successful operation","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","properties":{"list":{"type":"array","description":"List of supported blockchain networks.","items":{"type":"string"}}}},"message":{"type":"string","description":"A message containing additional information about the result of the request."},"error":{"type":"object","description":"An object that provides details about any errors that occurred.","nullable":true,"properties":{"type":{"type":"string","description":"Type of the error"},"key":{"type":"string","description":"Key related to the error"},"message":{"type":"string","description":"Error message"}}},"status":{"type":"integer","description":"The status of the request response. Typically provided as a numeric code."},"version":{"type":"string","description":"The version of the API being used."}}}}}}},"tags":["Networks"]}}}}
```


# System Status

This endpoint allows you to check the current status of the OxaPay API, ensuring it is functioning correctly.

## GET /common/monitor

> Get API monitor status

```json
{"openapi":"3.0.0","info":{"title":"Commons","version":"1.0.0"},"servers":[{"url":"https://api.oxapay.com/v1"}],"security":[],"paths":{"/common/monitor":{"get":{"operationId":"monitor","summary":"Get API monitor status","responses":{"200":{"description":"Successful operation","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","properties":{"status":{"type":"boolean","description":"Indicates whether the OxaPay API monitor status is operational."}}},"message":{"type":"string","description":"A message containing additional information about the result of the request."},"error":{"type":"object","description":"An object that provides details about any errors that occurred.","nullable":true,"properties":{"type":{"type":"string","description":"Type of the error"},"key":{"type":"string","description":"Key related to the error"},"message":{"type":"string","description":"Error message"}}},"status":{"type":"integer","description":"The status of the request response. Typically provided as a numeric code."},"version":{"type":"string","description":"The version of the API being used."}}}}}}},"tags":["Monitor"]}}}}
```


# Error

**API Error Responses**

When an error occurs in the OxaPay API, the response will be structured in a standardized format. This allows users to easily identify and address issues with their requests. Below is an overview of the error response structure, the possible status codes, and the types of errors you may encounter.

{% tabs %}
{% tab title="Error response structure" %}

```json
{
  "data": {},
  "message": string, // A message containing additional information about the result of the request.
  "error": {
    "type": string,
    "key": string,
    "message": string
  } || {}, // An object that provides details about any errors that occurred.
  "status": integer, // The status of the request response. Typically provided as a numeric code (e.g., 200 for success or other codes for errors).
  "version": string // The version of the API being used.
}
```

{% endtab %}
{% endtabs %}

#### Statuses

| **Status Code**               | **Meaning**                                               | **Common Causes**                                                               |
| ----------------------------- | --------------------------------------------------------- | ------------------------------------------------------------------------------- |
| **200 OK**                    | The request was successful.                               | The request was processed without errors.                                       |
| **400 Bad Request**           | The request was invalid or malformed.                     | Missing required fields, invalid data format, or unacceptable parameter values. |
| **401 Unauthorized**          | The user is not authenticated or has invalid credentials. | Missing or invalid API key, incorrect session or token.                         |
| **404 Not Found**             | The requested resource could not be found.                | The resource doesn't exist or the endpoint is incorrect.                        |
| **500 Internal Server Error** | An unexpected server-side error occurred.                 | Server failure, issues with third-party integrations or dependencies.           |
| **503 Service Unavailable**   | One of the services is temporarily unavailable.           | Server overload, service downtime, or maintenance.                              |


# Webhook

Merchants can set up a `callback_url` in their merchant requests, and upon processing payments, OxaPay will send you notifications in JSON format—including the amount and status—when the payment&#x20;status changes to paying or paid.

To receive Webhook notifications, first, you should implement a standard HTTP POST (application/json) call over an HTTPS URL to a CGI script on your server. Insert your created endpoint address in the `callback_url` field of merchant requests. You will receive payment updates (statuses) to this URL address.

However, you will initially receive a callback with the "paying" status. You should wait for a second callback where the "status" value will be "paid". When we confirm the transaction, we are ready to manage all the risks concerning accepting real funds later. You should not be concerned about it.

Merchant's `callback_url` must return an HTTP 200 response with content "ok" for the OxaPay API to\
consider the callback successful. The system will try to deliver a Webhook notification up to 5 times or until a successful delivery occurs, whichever happens first. If the first attempt fails, the second one is triggered after approximately 1 minute. The third one is delayed for 3 more minutes, the fourth for 30 minutes, and the last one for 3 hours.

The payout Webhook is similar to the merchant Webhook. However, for withdrawals, you will receive different values for the “address” parameter in each callback.

## Validating Callbacks

Merchants must validate the signature of callbacks coming from OxaPay using their `MERCHANT_API_KEY` to prevent fraudulent activity. Also for payout Webhooks you must validate the signature using your `PAYOUT_API_KEY`. OxaPay uses your `MERCHANT_API_KEY` as the HMAC shared secret key to generate an HMAC (sha512) signature of the raw POST data. The HMAC signature is sent as an HTTP header called HMAC. The body of the request contains the callback data in JSON format, similar to the Payment Information API response body.

## Testing Webhook

For payment callback handling, you can use tools like [requestcatcher.com](https://requestcatcher.com) or [webhook.site](https://webhook.site/) to create a test `callback_url` and inspect the callback data sent from OxaPay. Note that OxaPay payment callbacks will not be sent to private networks (e.g., localhost).

For local debugging, you can use services like [ngrok.io](https://ngrok.io) to expose your local server to the internet and receive webhook callbacks.

**To utilize the payment webhook, please follow these steps:**

1\. Create a web server and define an endpoint to handle POST requests.

&#x20;  \- Ensure that the firewall software on your server (e.g., Cloudflare) allows incoming requests from OxaPay. You may need to whitelist OxaPay's IP addresses on your side. Please reach out to <contact@oxapay.com> to obtain the list of IP addresses.

2\. Configure your server to receive POST requests at the specified endpoint URL.

&#x20;  \- The POST request body will contain the necessary parameters sent by OxaPay in JSON format.

3\. Validate the HMAC signature of the request to ensure the authenticity of the callback.

&#x20;  \- Use your API\_SECRET\_KEY to calculate the HMAC signature and compare it with the received HMAC header.

4\. Process the callback data accordingly based on the status and other parameters provided.

## Sample Payment IPN data

In this section, we will provide examples of the data OxaPay send to your system at various stages of the payment process.

### The input transaction types are:

* invoice
* white\_label
* static\_address
* payment\_link
* donation

```json
// Paying IPN
// Payer transferred the payment for the invoice. Awaiting blockchain network confirmation.
{
"track_id":"151811887", string
"status":"Paying", string
"type":"invoice", string
"module_name":"OxaPay", string
"amount":10, decimal
"value":3.6839, decimal
"sent_value": 3.6839, decimal
"currency":"POL", string
"order_id":"ORD-12345", string
"email":"customer@oxapay.com", string
"note":"", string
"fee_paid_by_payer":0, boolean
"under_paid_coverage":0, decimal
"description":"Test Description", string
"date":1738493900, integer
"txs":[{
    "status":"confirming", string
    "tx_hash":"x", string
    "sent_amount":10, decimal
    "received_amount":9.85, decimal
    "value":3.6839, decimal
    "sent_value": 3.6839, decimal
    "currency":"POL", string
    "network":"Polygon Network", string
    "sender_address": "x", string
    "address":"x", string
    "rate":0.36839, decimal
    "confirmations":10, integer
    "auto_convert_amount":0, decimal
    "auto_convert_currency":"USDT", string
    "date":1738494035 integer
    }]
}
```

```json
// Paid IPN
// Payment is confirmed by the network and has been credited to the merchant. Purchased goods/services can be safely delivered to the payer.
{
"track_id":"151811887", string
"status":"Paid", string
"type":"invoice", string
"module_name":"OxaPay", string
"amount":10, decimal
"value":3.6839, decimal
"sent_value": 3.6839, decimal
"currency":"POL", string
"order_id":"ORD-12345", string
"email":"customer@oxapay.com", string
"note":"", string
"fee_paid_by_payer":0, boolean 
"under_paid_coverage":0, decimal
"description":"Test Description", string
"date":1738493900, integer
"txs":[{
    "status":"confirmed", string
    "tx_hash":"x", string
    "sent_amount":10, decimal
    "received_amount":9.85, decimal
    "value":3.6839, decimal
    "sent_value": 3.6839, decimal
    "currency":"POL", string
    "network":"Polygon Network", string
    "sender_address": "x", string
    "address":"x", string
    "rate":0.36839, decimal
    "confirmations":250, integer
    "auto_convert_amount":3.62864, decimal
    "auto_convert_currency":"USDT", string
    "date":1738494035 integer
    }]
}
```

## Sample Payout IPN data

In this section, we will provide examples of the data OxaPay send to your system at various stages of the payout process.

### The output transaction types are:

* payout

```json
// Confirming IPN
// You payout request sent and awaiting blockchain network confirmation.
{
"track_id":"227296189", string
"status":"Confirming", string
"type":"payout", string
"tx_hash":"x", string
"address":"x", string
"amount":10.0, decimal
"value":4.01, decimal
"currency":"POL", string
"network":"Polygon Network", string
"description":"Order #12345", string
"date":1738492316 integer
}
```

```json
// Confirmed IPN
// Payout is confirmed by the network.
{
"track_id":"227296189", string
"status":"Confirmed", string
"type":"payout", string
"tx_hash":"x", string
"address":"x", string
"amount":10.0, decimal
"value":4.01, decimal
"currency":"POL", string
"network":"Polygon Network", string
"description":"Order #12345", string
"date":1738492316 integer
}
```

```json
// Failed IPN
// Payout is Failed.
{
"track_id":"227652478", string
"status":"Failed", string
"type":"payout", string
"tx_hash":"", string
"address":"x", string
"amount":10.0, decimal
"value":4.01, decimal
"currency":"POL", string
"network":"Polygon Network", string
"description":"Order #12345", string
"date":1738492316 integer
}
```

> Even if your request cannot be processed for any reason, we will still send the webhook payload.

## Example codes

{% tabs %}
{% tab title="PHP" %}

```php
<?php
// Get the request data
$postData = file_get_contents('php://input');
$data = json_decode($postData, true);

// Validate HMAC signature
if ($data['type'] === 'invoice') {
    $apiSecretKey = 'YOUR_MERCHANT_API_KEY';
} elseif ($data['type'] === 'payout') {
    $apiSecretKey = 'YOUR_PAYOUT_API_KEY';
} else {
    http_response_code(400);
    echo 'Invalid data.type';
    exit;
}

$hmacHeader = $_SERVER['HTTP_HMAC'];
$calculatedHmac = hash_hmac('sha512', $postData, $apiSecretKey);

if ($calculatedHmac === $hmacHeader) {
    // HMAC signature is valid
    // Process the callback data
    if ($data['type'] === 'payment') {
        echo 'Received payment callback: ' . json_encode($data);
        // Process payment data here
    } elseif ($data['type'] === 'payout') {
        echo 'Received payout callback: ' . json_encode($data);
        // Process payout data here
    }

    // Return HTTP Response 200 with content "OK"
    http_response_code(200);
    echo 'OK';
} else {
    // HMAC signature is not valid
    // Handle the error accordingly
    http_response_code(400);
    echo 'Invalid HMAC signature';
}
?>

```

{% endtab %}

{% tab title="Node.js" %}

```javascript
const http = require('http');
const crypto = require('crypto');

const server = http.createServer((req, res) => {
    if (req.url === '/callback' && req.method === 'POST') {
        // Validate HMAC signature
        let postData = '';

        req.on('data', chunk => {
            postData += chunk;
        });

        req.on('end', () => {
            // Parse the JSON data
            let data = null;
            try {
                data = JSON.parse(postData);
            } catch (error) {
                res.statusCode = 400;
                res.end('Invalid JSON data');
                return;
            }

            const apiSecretKey = (data.type === 'payment') ? 'YOUR_MERCHANT_API_KEY' : 'YOUR_PAYOUT_API_KEY';
            const hmacHeader = req.headers['hmac'];
            const calculatedHmac = crypto
                .createHmac('sha512', apiSecretKey)
                .update(postData)
                .digest('hex');

            if (calculatedHmac === hmacHeader) {
                // HMAC signature is valid
                // Process the callback data based on the type
                if (data.type === 'invoice') {
                    console.log('Received payment callback:', data);
                    // Process payment data here
                } else if (data.type === 'payout') {
                    console.log('Received payout callback:', data);
                    // Process payout data here
                }

                // Return HTTP Response 200 with content "OK"
                res.statusCode = 200;
                res.end('OK');
            } else {
                // HMAC signature is not valid
                // Handle the error accordingly
                res.statusCode = 400;
                res.end('Invalid HMAC signature');
            }
        });
    } else {
        // Invalid path or method
        res.statusCode = 404;
        res.end('Not Found');
    }
});

server.listen(3000, () => {
    console.log('Server listening on port 3000');
});

```

{% endtab %}

{% tab title="Python" %}

```python
from flask import Flask, request
import hmac
import hashlib
import json

app = Flask(__name__)

@app.route('/callback', methods=['POST'])
def handle_callback():
    post_data = request.get_data(as_text=True)
    data = json.loads(post_data)

    # Validate HMAC signature
    if data['type'] == 'payment':
        api_secret_key = 'YOUR_MERCHANT_API_KEY'
    elif data['type'] == 'payout':
        api_secret_key = 'YOUR_PAYOUT_API_KEY'
    else:
        return 'Invalid data.type', 400
    hmac_header = request.headers.get('HMAC')
    post_data = request.get_data()
    calculated_hmac = hmac.new(api_secret_key.encode(), post_data, hashlib.sha512).hexdigest()

    if calculated_hmac == hmac_header:
        # HMAC signature is valid
        # Process the callback data
        if data['type'] == 'invoice':
            print('Received payment callback:', data)
            # Process payment data here
        elif data['type'] == 'payout':
            print('Received payout callback:', data)
            # Process payout data here
            # Return HTTP Response 200 with content "OK"
        return 'OK', 200
    else:
        # HMAC signature is not valid
        # Handle the error accordingly
        return 'Invalid HMAC signature', 400


if __name__ == '__main__':
    app.run(host='YOUR_HOST_ADDRESS',port=3000)
```

{% endtab %}
{% endtabs %}

Again, please note that these code snippets serve as examples and may require modifications based on your specific implementation and framework.


# Use Cases

## E-commerce Flow

In an e-commerce scenario, merchants can leverage OxaPay's cryptocurrency payment gateway to offer customers the option to make purchases using various cryptocurrencies. The flow for this use case is as follows:

1\. The payer selects item/items for purchase, determining the total sum.

2\. The payer selects the preferred payment currency.

3\. The merchant generates a payment link using the OxaPay API's "Create an Invoice" endpoint. This endpoint allows the merchant to create a payment link with all the necessary payment details, such as the payment amount, currency, and other optional parameters like expiration time, fee\_paid\_by\_payer, and under\_paid\_coverage.

4\. The API generates a unique payment link for the payer, containing the payment details.

5\. The payer receives the payment link and can click on it to proceed with the payment. Alternatively, the merchant can display the payment link on their website or send it via email or any other communication channel.

6\. When the payer clicks on the payment link, they are redirected to OxaPay's payment gateway to complete the payment.

7\. OxaPay's payment gateway displays the payment details and prompts the payer to select their desired cryptocurrency and network.

8\. After selecting the payment currency and network, OxaPay's payment gateway generates a specific payment address for the payer to send the cryptocurrency.

9\. The payer's crypto wallet application opens with the specified payment address pre-filled.

10\. The payer initiates the payment by sending the required cryptocurrency to the generated payment address.

11\. OxaPay's system monitors the transaction and updates the payment status in real-time.

12\. After a successful payment, the payer receives a payment confirmation alert on the page.

13\. The payer can then click on the "Return to Website" button to redirect to the merchant's specified return\_url (if provided).

14\. The merchant's system receives a callback with payment information, such as transaction status, currency, amount, and fees.

15\. The merchant updates the order status and processes the purchase, allowing the payer to access their purchased goods or services.

16\. The merchant can access detailed payment-related information in their OxaPay accounts, providing transparency and easy management.

## E-commerce with Seamless Payment Flow

In an e-commerce scenario, merchants can leverage OxaPay's payment link feature to create a seamless payment experience for their customers. The flow for this use case, which includes the creation of a payment link, is as follows:<br>

1\. The payer selects item/items for purchase, determining the total sum.

2\. The payer selects the preferred payment currency.

3\. The system retrieves the exchange rate for the selected currency and estimates the total amount in cryptocurrency.

4\. The merchant calls the "Create white-label" method to generate a payment link and obtain the payment address (e.g., a BTC wallet address for BTC payments).

5\. The payer is provided with the payment address and can initiate the payment by sending the required cryptocurrency to the given address.

6\. The payer can scan the QR code or manually copy the address and proceed with the payment using their preferred crypto wallet application.

7\. When the payer sends the cryptocurrency to the payment address, OxaPay's system receives a callback containing payment information, such as transaction status, currency, amount, and fees.

8\. The merchant's system updates the payment status based on the callback information, completing the purchase process.

9\. The merchant can access all payment-related information in their OxaPay accounts, ensuring transparency and easy management.

## Investment Flow

For investment platforms or websites, OxaPay offers a seamless crypto deposit and balance management flow. The steps for this use case are as follows:

1\. The user has a crypto balance on the website.

2\. The user selects the desired payment currency for making a deposit.

3\. The merchant calls the "Create static address" method to generate a permanent deposit address for the selected currency.

4\. The website displays the deposit address (e.g., BTC address) to the user, who can initiate the deposit by sending the cryptocurrency to the provided address.

5\. The user can scan the QR code or manually copy the address and proceed with the deposit using their crypto wallet application.

6\. After the user sends the cryptocurrency to the deposit address, OxaPay's system receives a callback containing deposit information, such as transaction status, currency, amount, and fees.

7\. The merchant updates the user's crypto balance based on the callback information, reflecting the deposited amount in the user's account.

8\. All relevant information about the deposit and user's balance is accessible in the merchant's OxaPay account.

## Withdrawal Flow

In scenarios where users want to withdraw funds from their crypto balance on a website or platform, OxaPay simplifies the withdrawal process. The steps are as follows:

1\. The merchant has a crypto balance in their OxaPay account, which includes user funds.

2\. A user requests a withdrawal from their balance on the website.

3\. The merchant uses the OxaPay API's "/api/send" method to initiate a payout, providing the user's desired withdrawal address and amount.

4\. OxaPay's system sends the funds to the user's provided crypto address.

5\. After processing the payout, the merchant's system receives a callback containing transaction parameters, such as transaction status, currency, amount, and fees.

6\. The merchant updates the user's crypto balance, deducting the withdrawn amount from the user's account.

7\. The merchant can access comprehensive information about the transaction and balance in their OxaPay accounts, ensuring transparency and easy tracking.

## Global Freelance Marketplace

1\. A global freelance marketplace connects freelancers and clients from around the world for various projects and services.

2\. To facilitate secure and efficient cross-border payments, the freelance marketplace integrates OxaPay's payment gateway.

3\. When a client hires a freelancer and agrees on a project's terms, they proceed to make a payment for the services rendered.

4\. The client selects their preferred cryptocurrency and network for payment on the freelance marketplace's payment page.

5\. OxaPay's payment gateway calculates the total amount in the selected cryptocurrency based on the current exchange rate.

6\. The client is redirected to OxaPay's payment gateway to complete the transaction.

7\. OxaPay's payment gateway generates a specific payment address for the client to send the cryptocurrency.

8\. The client's crypto wallet application opens with the payment address pre-filled.

9\. The client initiates the payment by sending the required cryptocurrency to the generated payment address.

10\. OxaPay's system monitors the transaction and updates the payment status in real-time.

11\. After a successful payment, the freelancer is notified of the payment and can proceed with the project.

12\. The freelancer delivers the completed project to the client through the freelance marketplace's platform.

13\. The client reviews and approves the project's completion.

14\. Upon approval, the freelance marketplace receives a callback from OxaPay's payment gateway with payment information, such as transaction status, currency, amount, and fees.

15\. The freelance marketplace releases the payment to the freelancer's account on the platform.

16\. The freelancer can access their earnings and withdraw funds to their crypto wallet at any time.

17\. The freelancer can view detailed payment-related information in their OxaPay accounts for transparency and financial tracking.

By integrating OxaPay's payment gateway, the freelance marketplace streamlines global payments for freelancers and clients, enabling them to transact in various cryptocurrencies securely and conveniently. The ability to select payment currency and network provides clients with flexibility in cross-border transactions, while real-time payment status updates ensure transparency and efficiency. Additionally, OxaPay's comprehensive payment information and management features enable the freelance marketplace to enhance financial tracking and provide a seamless payment experience for both clients and freelancers.

## Online Gaming Platform with In-Game Purchases:

1\. Players on an online gaming platform want to make in-game purchases to enhance their gaming experience.

2\. The gaming platform integrates OxaPay's payment gateway to offer cryptocurrency payment options for in-game purchases.

3\. When a player decides to make an in-game purchase, the gaming platform prompts them to select their preferred cryptocurrency for payment.

4\. OxaPay's payment gateway calculates the total amount in the selected cryptocurrency based on the current exchange rate.

5\. The player is directed to OxaPay's payment gateway to complete the transaction. They can choose their desired cryptocurrency and network for payment.

6\. OxaPay's payment gateway generates a specific payment address for the player to send the cryptocurrency.

7\. The player's crypto wallet application opens with the payment address pre-filled.

8\. The player initiates the payment by sending the required cryptocurrency to the generated payment address.

9\. OxaPay's system monitors the transaction and updates the payment status in real-time.

10\. After a successful payment, the player receives a payment confirmation alert from their crypto wallet application.

11\. The player returns to the gaming platform, and the in-game purchase is instantly credited to their gaming account.

12\. The gaming platform receives a callback with payment information, such as transaction status, currency, amount, and fees.

13\. The gaming platform updates the player's account with the purchased in-game items or currency, providing them with an enhanced gaming experience.

14\. The gaming platform can access detailed payment-related information in their OxaPay accounts, ensuring transparency and seamless management of in-game purchases.

By integrating OxaPay's payment gateway, online gaming platforms can offer a secure, fast, and convenient way for players to make in-game purchases using various cryptocurrencies. The ability to select payment currency and network provides players with flexibility, while real-time payment status updates and payment confirmations ensure a smooth and reliable payment process. Additionally, OxaPay's comprehensive payment information and management features enable the gaming platform to streamline payment tracking and enhance the overall gaming experience for players.

These use cases demonstrate the versatility of OxaPay's cryptocurrency payment gateway, offering seamless payment processing, deposit management, and withdrawal functionalities to cater to various business needs. OxaPay's API integration provides the necessary tools and flexibility to enhance crypto-based transactions and offer an efficient payment solution for businesses and customers alike.

\
\ <br>


# Introduction

## Welcome to OxaPay

Welcome to the OxaPay Crypto Payment Gateway documentation. OxaPay provides a robust and secure platform for processing cryptocurrency payments, allowing businesses and developers to easily integrate crypto payments into their applications and websites.

### What is OxaPay?

OxaPay is a leading crypto payment gateway that enables businesses to accept payments in various cryptocurrencies securely. With OxaPay, merchants can expand their customer base by offering a convenient and efficient payment method that leverages the benefits of blockchain technology.

### What is the OxaPay API?

The OxaPay API is a powerful RESTful interface that allows developers to interact with their OxaPay accounts programmatically. It provides a comprehensive set of endpoints and methods to facilitate the creation and management of invoices, retrieval of real-time rate information, and processing of payments. The OxaPay API enables seamless integration of crypto payments into applications, e-commerce platforms, and websites.

### Who is this documentation for?

This documentation is designed for developers, merchants, and businesses who wish to integrate OxaPay's crypto payment gateway into their applications or websites. It provides comprehensive information about the OxaPay API, including endpoint descriptions, request and response examples, and use cases. Whether you are a developer looking to implement crypto payments or a merchant seeking to enhance your payment options, this documentation will guide you through the process of integrating and leveraging OxaPay's powerful crypto payment solutions.

Now that you have an overview of OxaPay and the purpose of this documentation, let's get started by creating an account and generating an API key.

##

{% content-ref url="/pages/wtb6MAE5x7Mylquaxz5E" %}
[API Reference](/legacy/api-reference)
{% endcontent-ref %}


# Getting Started

To start using the OxaPay Crypto Payment Gateway, follow these steps:

## 1. Create an Account

Visit the OxaPay website and sign up for an account. Fill in the required information and complete the registration process. Once your account is created, you will have access to the OxaPay dashboard.

Certainly! Here's the revised version of the "Generate an API Key" section, taking into account the two types of API keys available in OxaPay:

## 2. Generate API Keys

To interact with the OxaPay API, you need to generate two types of API keys: the Merchant API Key for processing payments and the Payout API Key for managing payouts. Follow these steps to generate your API keys:

### Merchant API Key

1. Log in to your OxaPay account.
2. Navigate to the Merchants API tab in your account.
3. Click on the "Generate Merchant API Key" button.
4. Give your Merchant API key a meaningful name for identification purposes.

Once generated, make sure to securely store your Merchant API key as it grants access to your OxaPay account for processing payments.

### Payout API Key

In addition to generating a Payout API key for managing payouts, OxaPay provides an extra layer of security by allowing you to specify Allowed IPs for transfers. This feature restricts payout requests to be initiated only from the specified IP addresses, enhancing the security of your payout operations. Follow these steps to generate your Payout API key and configure the Allowed IPs for transfer:

1. In your OxaPay account, go to the Payout API tab.
2. Click on the "Generate Payout API Key" button.
3. Provide a descriptive name for your Payout API key.
4. Optionally, you can set the Allowed IPs for transfer in the provided field. Enter the IP addresses from which you want to permit payout requests.

Safely store your Payout API key as it provides access to the payout functionality of your OxaPay account.

By setting the Allowed IPs for transfer, you can ensure that payout requests can only be initiated from the specified IP addresses, adding an extra layer of security to your payout operations. This helps prevent unauthorized access and reduces the risk of fraudulent activity.

Remember to keep your Payout API key confidential and avoid sharing it with unauthorized individuals or third parties. This key grants access to the payout functionality of your OxaPay account and should be treated with the same level of security as your login credentials.

Once you have generated the Payout API key and configured the Allowed IPs for transfer, you can proceed with integrating the OxaPay Crypto Payment Gateway and utilizing the Payout API for managing payouts. Refer to the API Reference section for detailed information on using the Payout API key and performing payout-related operations.

If you have any questions or need further assistance regarding the configuration of the Allowed IPs for transfer or any other aspects of the Payout API, feel free to reach out to our support team.

## 3. Test the API

Before integrating the OxaPay API into your application or website, it is recommended to test the API using the sandbox environment. The sandbox environment allows you to experiment and familiarize yourself with the API functionality without processing real transactions.

### Merchant API Testing

To test the Merchant APIs and validate the available gateways, you can use the 'sandbox' as the merchant field in your API requests. This allows you to simulate payment flows and evaluate the response from the OxaPay system. Note that the sandbox environment is specifically available for testing purposes with the following format:

`merchant: 'sandbox'`

By including the 'sandbox' value as the merchant field in your Merchant API requests, you can access the test environment and perform various payment scenarios without impacting real transactions or balances.&#x20;

During the testing phase, it is recommended to thoroughly explore the available API endpoints. These endpoints allow you to create payments, retrieve payment information, check transaction status, and more. By testing the API endpoints with different scenarios, you can verify the expected functionality and behavior of the OxaPay API.

Once you are confident with the testing results in the sandbox environment, you can proceed to integrate the OxaPay Crypto Payment Gateway into your live application or website. Make sure to update the merchant field to the appropriate value for production use.

Refer to the API Reference section for detailed information on available endpoints, request and response formats, and example code snippets to guide you through the integration process.

If you encounter any issues or have questions during the integration and testing process, our support team is available to assist you.

Let's dive into the API Reference section, where you will find detailed information about each API endpoint and how to use them effectively.


# Integrations


# Payment Links

Payment links are a versatile tool offered by OxaPay that enables merchants to create customized payment URLs for their customers. With payment links, merchants can easily share payment requests through email, social media, or messaging platforms. Customers can then make payments conveniently by clicking on the provided link. This integration simplifies the payment process and enhances the customer experience.

### Create your account

You need an OxaPay account for managing and saving your crypto assets. You can create your OxaPay account free at this link (Just need an email and sign up in less than 1 minute):

{% embed url="<https://app.oxapay.com/signin>" %}

### &#x20;Payment link page

On the [Payment link](https://app.oxapay.com/paymentlink) page (you can find it in your OxaPay panel menu), you can view the details of your payment link.

<figure><img src="/files/SJcYvoZyejKTg3Y6UoIc" alt=""><figcaption></figcaption></figure>

### Generate your payment link

1\. Enter a desired name for your payment link, which should be between 3 and 30 characters long, in the "Name" field.

2\. Specify the payment amount in the "Price" field.

3\. Choose the accepted coins in the "Accepted Coins" section. Accepted coins refer to specific cryptocurrencies that are considered valid and can be used for payment. You can manually select specific coins or click on "Select All" to choose all coins.

4\. In the "Underpaid Cover" section, you can set a percentage between 0% and 60%. If the payer submits a payment that is slightly less than or equal to the underpaid amount, the invoice will still be accepted.

5\. If you enable the "Fee paid by payer", your customer will cover all the fees for this payment.

6\. Provide additional information or description about your payment link in the "Description" field.

7\. Finally, click on "Create Payment Link" to generate your desired payment link.

<figure><img src="/files/wBT5J5vZmfxpgpm04sim" alt=""><figcaption></figcaption></figure>

### Payment Summary

In this section, you can see the total value of payment transactions for today, this week, this month, and overall.

<figure><img src="/files/3sPK5BBOBKxcFxUIhHyU" alt=""><figcaption></figcaption></figure>

### Payment links statistics

In the "Payment links statistics " section, you can view a chart displaying the payment transactions associated with your payment link. This chart provides a visual representation of the payment activity, allowing you to track and monitor the performance of your payment link over time.

<figure><img src="/files/fpLsudD22kx869UYhFC9" alt=""><figcaption></figcaption></figure>

### Your payment links

In the "Your payment links" section, you can view the details of your payment link and you can copy the URL of your payment link or use its QR code. This allows you to easily share the payment link with others.

<figure><img src="/files/EN1jWjVIHmSi52FzdtNs" alt=""><figcaption></figcaption></figure>

Please note that the created payment links are not editable, and if any changes are required, you must delete that link and create a new one.

### Your payment links transactions

In the "Your payment links transactions" section, you can view the details of your payment links transactions.

Please note that 'Amount' represents the invoice amount, 'Amount sent' is the amount paid, and 'Amount received' is the amount paid after deducting the transaction fee.

<figure><img src="/files/VLSbTo4JZSACVbj6VDIc" alt=""><figcaption></figcaption></figure>


# Donations

OxaPay provides a seamless way to accept donations for charitable organizations or fundraising campaigns. By utilizing OxaPay's payment gateway, donors can easily contribute funds through cryptocurrencies. This integration enables charitable organizations to expand their donor base and receive donations in a secure and efficient manner.

### Create your account

You need an OxaPay account for managing and saving your crypto assets. You can create your OxaPay account free at this link (Just need an email and sign up in less than 1 minute):

{% embed url="<https://app.oxapay.com/signin>" %}

### Donations page

On the [Donations page](https://app.oxapay.com/donations) (you can find it in your OxaPay panel menu), you can view the details of your donations.

<figure><img src="/files/bNBNdMC4o756HTqLkFcz" alt=""><figcaption></figcaption></figure>

### Generate your donations link

1- Enter a desired name for your donations link, which should be between 3 and 30 characters long, in the "Name" field.

2- Choose the accepted coins in the "Accepted Coins" section. Accepted coins refer to specific cryptocurrencies that are considered valid and can be used for payment. You can manually select specific coins or click on "Select All" to choose all coins.

3- In the field below, you can enable the SHOW option to display the NAME and EMAIL fields. By enabling this option, if the payer enters their name and email, it will be shown in Your Donation transactions.

4- Additionally, if name and email are necessary, you can activate the REQUIRE option to make the payer's name and email fields required. By enabling this option, the payer will be required to enter their name and email before proceeding with the payment.

5- Finally, click on the "Create donation button" to generate your desired donation link.

<figure><img src="/files/gX4QGnOUYU6qXoYOKjMC" alt=""><figcaption></figcaption></figure>

### Donations Summary

In this section, you can see the total value of donated transactions for today, this week, this month, and overall.

<figure><img src="/files/j9Y6kgPpDhj4cMi0Q67v" alt=""><figcaption></figcaption></figure>

### Donation payments statistics

In the " Donation payments statistics " section, you can view a chart displaying the payment transactions associated with your Donation payment. This chart provides visual information about the donation activity, allowing you to track and monitor the performance of your Donation over time.

<figure><img src="/files/PGoTFJPa2ne1srM7D9et" alt=""><figcaption></figcaption></figure>

### Your donation list

In the "Your donation list" section, you can view the details of your Donation link and copy the URL or use its QR code. This allows you to easily share the Donation link with others

Please note that the created donation links are not editable, and if any changes are required, you must delete that link and create a new one.

<figure><img src="/files/tq95CVvC9v3Hvl9Z1Uvl" alt=""><figcaption></figcaption></figure>

### pre-built donation button codes

If you wish, you can use the pre-built donation button codes provided by OxaPay.

<figure><img src="/files/BFGhIgjBP6qhb2rFcYRY" alt=""><figcaption></figcaption></figure>

### Your donations transactions

In the "your donations transactions" section, you can view the details of your donations transactions.

Please note that 'Amount sent' is the amount paid, and 'Amount received' is the amount paid after deducting the transaction fee.

<figure><img src="/files/Jqw9ksf5YfdgJQkKdgJv" alt=""><figcaption></figcaption></figure>


# Merchant API

Merchants refer to webmasters or businesses who use OxaPay's services to integrate cryptocurrency payments into their websites. OxaPay's Merchants Webservice provides an API for webmasters to easily add crypto as a payment method on their websites, apps, and bots.

### Create your account

You need an OxaPay account for managing and saving your crypto assets. You can create your OxaPay account free at this link (Need an email and sign up in less than 1 minute):

{% embed url="<https://app.oxapay.com/signin>" %}

### &#x20;Merchants page

On the [Merchants page](https://app.oxapay.com/merchant) (you can find it in your OxaPay panel menu), you can view the details of your Merchant keys.

<figure><img src="/files/gBmOsBz9Fhw2T6Z2uHDS" alt=""><figcaption></figcaption></figure>

### Generate your Merchant API key

1- Enter a desired name for your Merchant, which should be between 3 and 30 characters long, in the "Name" field.

2- Enter your logo’s URL in the “Logo URL” field. This logo will be displayed on your merchant payment page. The logo should have a transparent background and be in dark colors in PNG or SVG format.

3- Choose the accepted coins in the "Accepted Coins" section. Accepted coins refer to specific cryptocurrencies that are considered valid and can be used for payment. You can manually select specific coins or click on "Select All" to choose all coins.

4- In the "Underpaid Cover" section, you can set a percentage between 0% and 60%. If the payer submits a payment that is slightly less than or equal to the underpaid amount, the invoice will still be accepted.

5- If you enable the "Fee paid by payer", your customer will cover all the fees for this payment.

6- Finally, click on "Generate merchant API key" to generate your desired merchant key.

<figure><img src="/files/tlfHAegWTnibdytYhVlJ" alt=""><figcaption></figcaption></figure>

### Payment Summary

In this section, you can see the total value of the merchant’s transactions for today, this week, this month, and overall.

<figure><img src="/files/3sPK5BBOBKxcFxUIhHyU" alt=""><figcaption></figcaption></figure>

### Merchants payment statistics

In the "Merchants payments statistics " section, you can view a chart displaying the payment transactions associated with your Merchant payment. This chart provides visual information about the Merchant key activity, allowing you to track and monitor the performance of your Merchant payments over time.

<figure><img src="/files/97niuSq2sceEx9sSmx58" alt=""><figcaption></figcaption></figure>

### Your Merchants API keys

In the " Your merchant API keys " section, you can view the details of your merchant keys and you can copy the URL of your merchant key or use its QR code. This allows you to share the merchant key with others easily.

Please note that the created merchant keys are editable, and if any changes are required, you can click on the edit button in “Actions”.

<figure><img src="/files/bXgNGhrPBRyZDUhsjCFv" alt=""><figcaption></figcaption></figure>

### The process of using the merchant key

After obtaining the merchant key, you can create an invoice, static address, and white-label Payment with the guidance provided in the [API references](https://docs.oxapay.com/api-reference).

### What is an invoice link?

An invoice link is a dynamic payment link associated with a predefined expiration time and a specific invoice amount. Invoice links are typically generated for one-time use.

### How to create an invoice link?

You can create your invoice link with the guidance provided in the [Creating an Invoice](https://docs.oxapay.com/api-reference/creating-an-invoice) in the API references.

### What is a static address?

A static address is an address that remains valid indefinitely and has no restrictions on the amount or time of use.

### How to create a static address?

You can create your static address with the guidance provided in the [Creating Static Wallet](https://docs.oxapay.com/api-reference/creating-static-wallet) in the API references.

### What is white-label address?

A white-label address is a dynamic address associated with a predefined expiration time and a specific invoice amount. Unlike static addresses that remain constant, white-label addresses are typically generated for one-time use.

### How to create white-label Payment?

You can create your own white-label with the guidance provided in the Creating [White-Label](https://docs.oxapay.com/api-reference/creating-white-label-payment) Payment in the API references.

### Your merchant transactions

In the "Your merchants transactions" section, You can view the details of your merchants' transactions.

Please note that the ‘Invoice amount’ refers to the entered defined amount of the invoice. 'Amount sent' is the amount paid, and 'Amount received' is the amount paid after deducting the transaction fee.

<figure><img src="/files/LBLvkXx1djVC852zxT1v" alt=""><figcaption></figcaption></figure>


# Payout API

### What is Payout API?

OxaPay's payout API is a feature that allows users to mass transfer crypto assets to other users automatically. This feature is particularly useful for webmasters.

#### Internal payout API:

This feature is especially beneficial for webmasters who need to make micropayments to their users. The internal Payout API offers the capability to transfer with zero fees and without any limits.

#### External payout API:

This feature enables users to automate mass transfers of crypto assets to other users. However, please be aware that this option incurs fees and has limitations on the amount that can be transferred.

### Create your account

You need an OxaPay account for managing and saving your crypto assets. You can create your OxaPay account free at this link (Need an email and sign up in less than 1 minute):

{% embed url="<https://app.oxapay.com/signin>" %}

### &#x20;Payout API page

On the [Payout API page](https://app.oxapay.com/payout) (you can find it in your OxaPay panel menu), you can view the details of your Payout.

<figure><img src="/files/Juu5JrzIt7NeGxRDmlYA" alt=""><figcaption></figcaption></figure>

### Generate your Payout API key

1-Right from the start, It is important to note that you need to enable 2FA (Two-Factor Authentication) for your account to use the payout API.

2-Enter a desired name for your Payout API, which should be between 3 and 30 characters long, in the "Name" field.

3-In the “Allowed IPs for transfer” field you can set some IPs and permit them to transfer. Any request for transfer from other IPs will fail.

4-The “Total daily transfer limit” field is for more security of your API transfers and if your total daily transfer exceeds this amount, the remained transactions will fail.

5-The “Transfer limit per transaction” field is for more security of your API transfers and transactions with more than this amount will fail.

6-In the “2FA verification code” field you should enter your 2FA code.

<figure><img src="/files/KIaVUmCP67dj7RWSoPS8" alt=""><figcaption></figcaption></figure>

### Payment Summary

In this section, you can see the total value of the Payouts transactions for today, this week, this month, and overall.

<figure><img src="/files/kxYofokxuQejxaPefU6M" alt=""><figcaption></figcaption></figure>

### Payout Statistics

In the "Payouts statistics" section, you can view a chart displaying the payment transactions associated with your Payouts. This chart provides visual information about the Payout activity, allowing you to track and monitor the performance of your Payouts over time.

<figure><img src="/files/itkrWZcKZJdQNCLaN75u" alt=""><figcaption></figcaption></figure>

### Your Payout API keys

In "Your Payout API keys" section, you can view the details of your payout API and you can copy the URL of your payout API key or use its QR code. This allows you to easily share the payout API with others.

Please note that the created Payout API are editable, and if any changes are required, you can click on the edit button in “Actions”.

<figure><img src="/files/Dt6QDbuLET1c04Col4Jm" alt=""><figcaption></figcaption></figure>

### How to create Payout?

You can create your own Payout with the guidance provided in the [Creating Payout](https://docs.oxapay.com/api-reference/creating-payout) in the API references.

### Your Payout APIs transactions

In "Your Payout APIs transactions" section, you can view the details of your Payout APIs transactions.

Please note that the ‘Invoice amount’ refers to the entered defined amount of the invoice. 'Amount sent' is the amount paid, and 'Amount received' is the amount paid after deducting the transaction fee.

<figure><img src="/files/4fj3johIdZL2f2hjoKxf" alt=""><figcaption></figcaption></figure>


# Plugins

ءOxaPay offers dedicated digital currency payment gateway plugins for various popular eCommerce platforms, making it easier for merchants to integrate cryptocurrency payments into their online stores.

With these plugins, merchants can effortlessly add OxaPay's payment gateway functionality to their eCommerce platforms, allowing customers to choose cryptocurrencies as a payment option during the checkout process. The plugins are designed to ensure a smooth and secure payment experience for customers, while also providing merchants with real-time transaction updates and order management.

<table data-card-size="large" data-view="cards"><thead><tr><th></th><th></th><th></th><th data-hidden data-card-cover data-type="image">Cover image</th><th data-hidden data-card-target data-type="content-ref"></th></tr></thead><tbody><tr><td><strong>WooCommerce</strong></td><td>WooCommerce is an open-source e-commerce plugin for WordPress. It is designed for small to large-sized online merchants using WordPress.</td><td><a href="https://downloads.wordpress.org/plugin/oxapay.1.0.0.zip">Download Plugin</a></td><td><a href="/files/P1RXCPiuOdGFNOCFbOzX">/files/P1RXCPiuOdGFNOCFbOzX</a></td><td><a href="/pages/YjZ2AGXdnzxYprGVMt8a">/pages/YjZ2AGXdnzxYprGVMt8a</a></td></tr><tr><td><strong>WISECP</strong></td><td>WISECP is an all-in-one web hosting automation and management platform. It is designed for web hosting companies, domain registrars, and other online service providers</td><td><a href="https://github.com/OxaPay/oxapay-wisecp/archive/refs/tags/v1.0.0.zip">Download Plugin</a></td><td><a href="/files/ZBW9qIds0FoYMMUaD80a">/files/ZBW9qIds0FoYMMUaD80a</a></td><td><a href="/pages/0Lb0Cdxry4FscHeHYyws">/pages/0Lb0Cdxry4FscHeHYyws</a></td></tr><tr><td><strong>Clientexec</strong></td><td>Clientexec is a comprehensive billing and client management platform designed specifically for web hosting businesses.</td><td><a href="https://github.com/OxaPay/oxapay-clientexec/archive/refs/tags/v1.0.0.zip">Download Plugin</a></td><td><a href="/files/v0W1hShYHtWlcUrvmaiU">/files/v0W1hShYHtWlcUrvmaiU</a></td><td><a href="/pages/iE2BcqYjuerOYAF79ULX">/pages/iE2BcqYjuerOYAF79ULX</a></td></tr><tr><td><strong>Blesta</strong></td><td>Blesta is an open-source billing and client management platform. It is designed for web hosting companies and other service providers.</td><td><a href="https://github.com/OxaPay/oxapay-blesta/archive/refs/tags/v1.0.0.zip">Download Plugin</a></td><td><a href="/files/wV9LNhWOaJJh8szrJZAL">/files/wV9LNhWOaJJh8szrJZAL</a></td><td><a href="/pages/FWs67SRuBzEcy811FgoV">/pages/FWs67SRuBzEcy811FgoV</a></td></tr><tr><td><strong>WHMCS</strong></td><td>WHMCS is a powerful billing and automation platform tailored for web hosting companies, enabling them to manage billing and client accounts.</td><td><a href="https://github.com/OxaPay/oxapay-whmcs/releases/download/v1.0.0/oxapay_whmcs.zip">Download Plugin</a></td><td><a href="/files/8VYVlcAbVi6GWiJln7RD">/files/8VYVlcAbVi6GWiJln7RD</a></td><td><a href="/pages/8IlnO7VhZ8NI0YGSiBaL">/pages/8IlnO7VhZ8NI0YGSiBaL</a></td></tr><tr><td><strong>PrestaShop</strong></td><td>PrestaShop is an open-source e-commerce platform that allows users to create and manage online stores with customizable features.</td><td><a href="https://github.com/OxaPay/oxapay-prestashop/archive/refs/tags/v1.0.0.zip">Download Plugin</a></td><td><a href="/files/KdKadSOyvvmiUbF9kVZL">/files/KdKadSOyvvmiUbF9kVZL</a></td><td><a href="/pages/nbm0shuQ0s0CIJSrom10">/pages/nbm0shuQ0s0CIJSrom10</a></td></tr><tr><td><strong>Easy Digital Downloads</strong></td><td>Easy Digital Downloads (EDD) is a popular WordPress plugin designed for selling digital products like ebooks, software, and digital art. </td><td><a href="https://downloads.wordpress.org/plugin/oxapay-payment-gateway-for-easy-digital-downloads.1.0.0.zip">Download Plugin</a></td><td><a href="/files/litiZbAp44FfB6rzKSo9">/files/litiZbAp44FfB6rzKSo9</a></td><td><a href="/pages/XOlK7TSBlrDqDTaRbBJG">/pages/XOlK7TSBlrDqDTaRbBJG</a></td></tr><tr><td><strong>Paid Memberships Pro</strong></td><td>Manage member subscriptions with recurring payments, user registration, custom profile fields, and robust member management.</td><td><a href="https://oxapay.com/plugins/oxapay_pmpro.zip">Download Plugin</a></td><td><a href="/files/XkweQHvF5T3svxmp6c6S">/files/XkweQHvF5T3svxmp6c6S</a></td><td><a href="/pages/Jf2zZsMWLjr7AQyWnJEW">/pages/Jf2zZsMWLjr7AQyWnJEW</a></td></tr><tr><td><strong>Gravity Forms</strong></td><td>Gravity Forms is a powerful WordPress plugin that allows users to create advanced and customizable forms with ease. </td><td><a href="https://downloads.wordpress.org/plugin/oxapay-crypto-payment-gateway-for-gravity-forms.1.0.0.zip">Download Plugin</a></td><td><a href="/files/n3hw6E6OPcKowmVdqafH">/files/n3hw6E6OPcKowmVdqafH</a></td><td><a href="/pages/Zh48Who5wOabdtj9cKmE">/pages/Zh48Who5wOabdtj9cKmE</a></td></tr><tr><td><strong>Restrict Content Pro</strong></td><td>Restrict Content Pro is a powerful WordPress membership plugin that allows you to monetize content access. </td><td><a href="https://github.com/OxaPay/oxapay-restrict-content/archive/refs/tags/v1.0.0.zip">Download Plugin</a></td><td><a href="/files/IaLSFJKyAvUZaKfC3ycd">/files/IaLSFJKyAvUZaKfC3ycd</a></td><td><a href="/pages/pbk70g9IXwe0pHNZnAmY">/pages/pbk70g9IXwe0pHNZnAmY</a></td></tr><tr><td>VirtueMart</td><td>VirtueMart is a Free open-source eCommerce extension for Joomla! CMS has been active in development since 2002.</td><td><a href="https://github.com/OxaPay/oxapay-virtuemart/archive/refs/tags/v1.0.0.zip">Download Plugin</a></td><td><a href="/files/U8eIMKQnzmlgy46byGkw">/files/U8eIMKQnzmlgy46byGkw</a></td><td><a href="/pages/ILVGj0UYQC7uEIGuMcZ6">/pages/ILVGj0UYQC7uEIGuMcZ6</a></td></tr><tr><td>OpenCart</td><td>OpenCart is a free, open-source e-commerce platform designed for building and managing online stores.</td><td><a href="https://github.com/OxaPay/oxapay-opencart/releases/download/v1.0.0/oxapay.ocmod.zip">Download Plugin</a></td><td><a href="https://docs.oxapay.com/~gitbook/image?url=https%3A%2F%2F2150865118-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252F0cdQgWk1yvwE7MR49PSn%252Fuploads%252FkQ7S7vOxBghl6DyYUsIF%252Fopencart.jpg%3Falt%3Dmedia%26token%3De6fa2678-b35f-4773-8736-849a0d5672da&#x26;width=376&#x26;dpr=3&#x26;quality=100&#x26;sign=c73fb3aa&#x26;sv=2">https://docs.oxapay.com/~gitbook/image?url=https%3A%2F%2F2150865118-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252F0cdQgWk1yvwE7MR49PSn%252Fuploads%252FkQ7S7vOxBghl6DyYUsIF%252Fopencart.jpg%3Falt%3Dmedia%26token%3De6fa2678-b35f-4773-8736-849a0d5672da&#x26;width=376&#x26;dpr=3&#x26;quality=100&#x26;sign=c73fb3aa&#x26;sv=2</a></td><td><a href="/pages/kZHuHjT8YN5oa8t79O7n">/pages/kZHuHjT8YN5oa8t79O7n</a></td></tr><tr><td>Magento 2</td><td>Magento 2 is a powerful open-source eCommerce platform designed to help businesses build scalable online stores.</td><td><a href="https://github.com/OxaPay/oxapay-magento2/releases/download/1.0.0/oxapay_magento2.zip">Download Plugin</a></td><td><a href="/files/F6jFbRjDuC6Vcihp7jqV">/files/F6jFbRjDuC6Vcihp7jqV</a></td><td><a href="/pages/UyG621DvtUo40McSJwaw">/pages/UyG621DvtUo40McSJwaw</a></td></tr></tbody></table>


# WooCommerce

## What is WooCommerce?

WooCommerce is a free plugin for the WordPress content management system that allows users to easily set up and manage their online stores. It is one of the most popular and widely used tools for creating e-commerce websites. Due to its high flexibility and the ability to extend its functionality with various plugins and themes, WooCommerce is an ideal choice for both small and large businesses.

## Key Features of WooCommerce:

1. **Free to Use**: WooCommerce is available for free, allowing you to set up your online store without any additional costs.
2. **Integration with WordPress**: WooCommerce is fully integrated with WordPress, enabling you to leverage all of WordPress’s capabilities.
3. **Flexibility**: It offers high customization options through various themes and plugins, allowing you to design your store exactly how you want.
4. **Product Management**: WooCommerce provides easy management of products, allowing you to add, delete, and edit products with details like pricing, images, descriptions, and categories.
5. **Payment Gateways**: It supports multiple payment gateways, including local and international options, making it easy to receive payments from your customers.
6. **Reporting and Analytics**: WooCommerce includes tools for reporting and analyzing your store's performance, helping you monitor and improve your business.
7. **Multilingual Support**: With the help of various plugins, WooCommerce can be set up to support multiple languages, allowing you to serve customers from around the world.
8. **Strong SEO Capabilities**: WooCommerce benefits from WordPress’s powerful SEO features, helping your store get better visibility in search engines.

## OxaPay Plugin For WooCommerce

Integrating OxaPay with WooCommerce is a strategic move to expand your business and achieve new milestones. The OxaPay plugin for WooCommerce enables businesses to accept cryptocurrency as a fully integrated payment method, thereby broadening your customer base and enhancing payment flexibility.

By leveraging WooCommerce, you can efficiently manage various aspects of your online store. Activating the OxaPay plugin on the WooCommerce platform boosts operational efficiency and enhances customer engagement by enabling crypto transactions with minimal fees and fast processing times.

## How To Set Up OxaPay Plugin For WooCommerce?

1. Log in to your WordPress control panel, navigate to the "Plugins" section, and click on "Add New". Select "Upload Plugin" then upload the "OxaPay" plugin ZIP file ([Click here to download it](https://downloads.wordpress.org/plugin/oxapay.1.0.0.zip)) and click on the"Install Now" button.

<figure><img src="/files/wRy25UnJSgu5kLyZpiCQ" alt=""><figcaption></figcaption></figure>

2. Once the plugin is installed, click on "Activate Plugin" to enable it.

<figure><img src="/files/X9c0ezCIjNd8tQpJA7na" alt=""><figcaption></figcaption></figure>

3. In the list of installed plugins, locate OxaPay and click on the "Configure" link.

<figure><img src="/files/Xq6FVCO6FEwrAC3CU281" alt=""><figcaption></figcaption></figure>

4. Enter your OxaPay Merchant API key (You can find this key in your OxaPay dashboard. If you don't have an API key, [click here](/legacy/integrations/merchant-api) for instructions on how to create one). Complete any other required fields. You can use the "sandbox" mode for testing. Once all the details are filled in, click "Save Changes" to finalize the setup.

<figure><img src="/files/eA0uuuM625G5F3WADI0O" alt=""><figcaption></figcaption></figure>

#### If you encounter the following error:

> “There are no payment methods available. This may be an error on our side. Please contact us if you need any help placing your order.”

#### Simply navigate to the "Checkout" page in the "Pages" section of your WordPress admin panel. Click on "Form" and then select "Switch to classic checkout" to resolve the issue.

#### You can download the OxaPay plugin for WooCommerce by clicking on the file below:

{% file src="/files/NYrYPBqLOMJpnJyNDFn0" %}

We hope this article was helpful to you! The OxaPay plugin for WooCommerce is a powerful and valuable tool to take your business to the next level.


# WISECP

## What is WISECP?

WISECP is a next generation hosting and digital solutions automation. It includes a client area, admin area and a website interface. It has been developed for companies operating in the field of information technologies. With WISECP, all invoicing transactions, accounting (cash, income, expense) records, client management, product management, support services and many other operations can be carried out easily.

## Key Features of WISECP:

1. **Client Management**: WISECP allows you to easily manage your client information, issue invoices, and view payment history.
2. **Invoicing and Payments**: The platform enables automatic invoicing and payment management for clients, supporting various payment gateways.
3. **Service Automation**: WISECP can automate the provisioning of web hosting, domain registration, and other services to clients. It handles the necessary configurations and sends access information to clients automatically.
4. **Support and Ticketing**: WISECP includes a ticket management system that helps you respond to client requests and issues, ensuring more effective customer support.
5. **Client Portal**: Your clients can manage their services, pay invoices, and communicate with your support team through a web-based client portal.
6. **Reporting and Analytics**: WISECP provides various tools for generating reports on business performance, financial status, and client information, helping you make better decisions to improve your business.

## OxaPay Plugin For WISECP

The integration of OxaPay with WISECP is a valuable opportunity to expand your business horizons and achieve new milestones. The OxaPay plugin for WISECP allows businesses to accept cryptocurrency as a complete payment method, thereby expanding the customer base and enhancing convenience.

Using WISECP helps you automate your business operations in the most efficient way. By enabling the OxaPay plugin on the WISECP platform, you can increase effectiveness and customer engagement by facilitating all types of crypto transactions with minimal fees and in the shortest possible time.

## How To Set Up OxaPay Plugin For WISECP?

1. To install the OxaPay plugin ([Click here to download it](https://github.com/OxaPay/oxapay-wisecp/archive/refs/tags/v1.0.0.zip)) for WISECP, move the plugin folder to the following path *“WISECP → coremio → modules → payment”*.
2. Go to the WISECP admin panel and *“n*avigate to setting *→ billing → payment gateways”.*

<figure><img src="/files/y6tKjeBfAXi4b5QKnyDM" alt=""><figcaption></figcaption></figure>

3. Now, simply search for "OxaPay" in the "Enabled Module Selection" section and click on it.&#x20;

<figure><img src="/files/gLKaHr3LiU43ER4D7RMt" alt=""><figcaption></figcaption></figure>

4. Next, go to the "All Modules" section, type "OxaPay" in the search bar, and click on "OxaPay" in the search results.

<figure><img src="/files/e4qcypbNNAJJJriLsa3q" alt=""><figcaption></figcaption></figure>

5. Now, enter your "OxaPay Merchant API Key" in the designated field (you can find it in your OxaPay panel. If you don’t have an API key, [click here](/legacy/integrations/merchant-api) to learn how to create one, or you can use the "sandbox" mode for testing). Complete the remaining configurations, and then click on "Save Settings".

<figure><img src="/files/14myoXvltaVZwvaN7JrD" alt=""><figcaption></figcaption></figure>

#### You can download the OxaPay plugin for WISECP by clicking on the file below:

{% file src="/files/pFo8pLkbaalObldoBGCC" %}

We hope this article was helpful to you! The WISECP plugin by OxaPay is a powerful and valuable tool to elevate your business to the next level.


# Clientexec

## What is Clientexec?

Clientexec is a comprehensive billing and client management platform designed specifically for web hosting businesses. It allows companies to automate and streamline various aspects of their operations, including invoicing, customer management, and support.

## Key Features of Clientexec:

1. **Automated Billing**: Manages invoicing, recurring payments, and integrates with multiple payment gateways, streamlining financial transactions.
2. **Client Management**: Provides tools for customer support, including a ticketing system, and a customizable client portal where users can manage their accounts and services.
3. **Service Management**: Automates the provisioning of services such as hosting accounts and domain registrations. It also supports customizable order forms for different products.
4. **Customization and Extensibility**: Offers API access, plugin support, and custom fields to tailor the platform to specific business needs.
5. **Security**: Features robust user permissions and SSL support to ensure data security and controlled access.
6. **User Interface**: The platform is designed with a responsive, mobile-friendly interface for both admin and client areas, improving usability across devices.

## OxaPay Plugin For Clientexec

Integrating OxaPay with Clientexec is a strategic move to expand your business and reach new milestones. The OxaPay plugin for Clientexec enables businesses to accept cryptocurrency as a full-fledged payment method, thereby broadening your customer base and enhancing payment convenience.

By using Clientexec, you can automate various aspects of your business operations efficiently. Enabling the OxaPay plugin on the Clientexec platform increases operational effectiveness and boosts customer engagement by facilitating crypto transactions with minimal fees and in the shortest time possible.

## How To Set Up OxaPay Plugin For Clientexec?

1. To install the OxaPay plugin ([Click here to download it](https://github.com/OxaPay/oxapay-clientexec/archive/refs/tags/v1.0.0.zip)) for Clientexec, move the plugin folder to the following path *“Clientexec → plugins → gateways ”.*
2. The next step is to navigate to the web interface on Clientexec. Hover over the "Settings" tab in the top menu. Then, under the "Plugins" section, click on "Payment Processors."

<figure><img src="/files/MqjTnuAxnVJ9hguwRh6i" alt=""><figcaption></figcaption></figure>

3. Now that you are on the “Payment Processors” page, type "OxaPay" in the dropdown menu. When "OxaPay" appears, click on it to proceed to the plugin settings page.

<figure><img src="/files/nEahmi3hfFXSHxCEIvVe" alt=""><figcaption></figcaption></figure>

4. Now, enter your "OxaPay merchant API key" in the designated field (you can find it in your OxaPay panel. If you don’t have an API key, [click here](/legacy/integrations/merchant-api) to learn how to create one, or you can use the "sandbox" mode for testing). Complete the remaining configurations, and then click on "Update Settings".

<figure><img src="/files/5baILCaq5x21pwJwg4ud" alt=""><figcaption></figcaption></figure>

#### You can download the OxaPay plugin for Clientexec by clicking on the file below:

{% file src="/files/oYUwF9qlv9z4BGROj7UB" %}

We hope this article was helpful to you! The OxaPay plugin for Clientexec is a powerful and valuable tool to elevate your business to the next level.


# Blesta

## What is Blesta?

Blesta is a comprehensive billing and client management platform designed primarily for web hosting companies and other service providers. It's a software solution that automates various aspects of a business, including billing, invoicing, client management, and support.

## Key Features of Blesta:

1. **Billing Automation**: Automatically generates and sends invoices, handles both one-time and recurring payments, and supports various payment gateways.
2. **Client Management**: Offers a centralized client portal for managing services, viewing invoices, and making payments, with support for multiple currencies and languages.
3. **Service Provisioning**: Integrates with web hosting control panels and domain registrars to automate service management, supporting a wide range of digital services.
4. **Support System**: Includes a built-in ticketing system, enabling businesses to provide customer support directly through Blesta.
5. **Customizable and Extendable**: Features a modular design that allows for easy customization and the addition of new features through plugins and extensions.
6. **Security**: Offers robust security measures like two-factor authentication (2FA) and data encryption, with regular updates to ensure security.
7. **Reporting and Analytics**: Provides detailed reports on business metrics, with customizable dashboards for real-time monitoring.
8. **Multi-Company Support**: Allows management of multiple companies or brands from a single installation, each with distinct settings and services.

## OxaPay Plugin For Blesta

Integrating OxaPay with Blesta is a strategic step toward expanding your business and reaching new milestones. The OxaPay plugin for Blesta allows businesses to accept cryptocurrency as a fully integrated payment method, thereby widening your customer base and enhancing payment convenience.

By leveraging Blesta, you can efficiently automate various aspects of your business operations. Enabling the OxaPay plugin on the Blesta platform enhances operational efficiency and increases customer engagement by facilitating crypto transactions with minimal fees and rapid processing times.

## How To Set Up OxaPay Plugin For Blesta?

1. To install the OxaPay plugin ([Click here to download it](https://github.com/OxaPay/oxapay-blesta/archive/refs/tags/v1.0.0.zip)) for Blesta, move the plugin folder to the following path *“Blesta → components → gateways → nonmerchant”*.
2. Navigate to the settings section within Blesta. Click on the "Payment Gateway" option in the settings page.

<figure><img src="/files/2G42QeUaIudDsanLmzcF" alt=""><figcaption></figcaption></figure>

3. In the "Available" section, locate the "OxaPay Payment Gateway" under the Non-Merchant category, and click on the "Install" button.

<figure><img src="/files/lmFaXWDQvSbkCvcNtaRg" alt=""><figcaption></figcaption></figure>

4. Enter your OxaPay Merchant API key in the designated field. You can find this key in your OxaPay panel. If you don't have an API key, [click here](/legacy/integrations/merchant-api) to learn how to create one. Alternatively, you can use the "sandbox" mode for testing. After entering the Merchant API key, click on "Update Settings" to finalize the setup.

<figure><img src="/files/lOtmrPlEnpIfEdvJay9B" alt=""><figcaption></figcaption></figure>

#### You can download the OxaPay plugin for Blesta by clicking on the file below:

{% file src="/files/qF3wvOsbVhX7Xy8tMsAm" %}

We hope this article was helpful to you! The OxaPay plugin for Blesta is a powerful and valuable tool to elevate your business to the next level.


# WHMCS

## What is WHMCS?

WHMCS (Web Host Manager Complete Solution) is a comprehensive web hosting management and billing software designed for online businesses. It automates various aspects of web hosting operations, such as client management, billing, support, and domain registration.

## Key Features of WHMCS :

1. **Support System**: WHMCS includes a built-in support ticket system, knowledge base, and support department routing. This helps in managing customer support requests efficiently and provides a streamlined way for clients to get help.
2. **Billing Automation**: WHMCS automates invoicing, payment processing, and reminders. It supports multiple currencies and integrates with numerous payment gateways like PayPal, Stripe, and others, making it easier for web hosting companies to manage their billing.
3. **Domain Management**: The platform allows users to register, transfer, and manage domain names directly through WHMCS. It integrates with a wide range of domain registrars, enabling automated provisioning and management of domain services.
4. **Automation**: WHMCS automates many tasks related to provisioning hosting accounts and managing renewals. This reduces the workload on administrators and improves service delivery speed.
5. **Reporting and Analytics**: The platform provides detailed reports and analytics to track business performance, including sales, revenue, and customer activity.
6. **Client Management**: It offers a complete client management interface, allowing businesses to manage client accounts, track order history, and handle communications efficiently. Clients can also log into a self-service portal to manage their services, pay invoices, and contact support.

## OxaPay Plugin For WHMCS

Integrating OxaPay with WHMCS is a smart move to elevate your business to new heights. The OxaPay plugin for WHMCS allows businesses to accept cryptocurrency as a fully integrated payment option, expanding your customer base and offering greater payment flexibility.

The OxaPay plugin ensures that businesses can process payments quickly, with minimal transaction fees, and without the traditional delays associated with fiat currencies. This helps attract a broader audience, including customers who prefer using cryptocurrencies for their online purchases. Additionally, OxaPay's strong security features provide peace of mind, ensuring that every transaction is safe and reliable.

## How To Set Up OxaPay Plugin For WHMCS?

1. First, unzip the downloaded OxaPay plugin archive ([Click here to download it](https://github.com/OxaPay/oxapay-whmcs/releases/download/v1.0.0/oxapay_whmcs.zip)) to your computer or directly on your hosting server.
2. Locate the "oxapaygateway" folder and the "oxapaygateway.php" file from the unzipped archive. Move these to the following directory on your WHMCS installation: "*WHMCS → modules → gateways".*
3. Transfer the Callback File: Next, find the **oxapaygateway.php** file located in the "callback" folder. Transfer this file to the following path on your WHMCS installation: *"WHMCS → modules → gateways → callback".*
4. Now, hover over the settings icon, then select "Apps And Integrations" from the menu.

<figure><img src="/files/6ToNeLgYRZQu01aJI10H" alt=""><figcaption></figcaption></figure>

5. Navigate to the "Search" tab and enter "OxaPay" in the search bar. In the results window that appears, click on "Activate" and proceed to the plugin settings.
6. Now, enter your “OxaPay Merchant API Key” in the designated field. You can find this key in your OxaPay panel. If you don't have an API key, [click here](/legacy/integrations/merchant-api) to learn how to create one, or you can use the “sandbox” mode for testing purposes. After entering your API key, complete the remaining configuration settings and click on “Save Changes”.

<figure><img src="/files/isEtb1InzFn3wE41UhwZ" alt=""><figcaption></figcaption></figure>

#### You can download the OxaPay plugin for WHMCS by clicking on the file below:

{% file src="/files/oasQ0v3kQBEkUvXyC096" %}

We hope this article was helpful to you! The OxaPay plugin for WHMCS is a powerful and valuable tool that can elevate your business to the next level.


# PrestaShop

## What is PrestaShop?

PrestaShop is an open-source e-commerce platform used to create and manage online stores. It allows users to build a fully customizable online shop with features for inventory management, payment processing, and shipping. PrestaShop is popular for small to medium-sized businesses due to its flexibility and a large marketplace of add-ons and themes.

## Key Features of PrestaShop:

1. **Customizable Storefront**: PrestaShop provides an extensive selection of themes and templates, enabling merchants to fully personalize the appearance of their online stores. From color schemes to layout designs, everything is customizable to create a unique brand experience.
2. **Product Management**: Managing your product catalog is made simple with robust tools that allow easy addition and organization of products. You can create detailed product listings with attributes such as size, color, and material, manage variations.
3. **Multi-Language Support**: PrestaShop is built to cater to global markets by offering support for multiple languages and currencies. This enables businesses to sell to international customers, improving accessibility and boosting sales.&#x20;
4. **Payment Gateway Integration**: The platform integrates with a wide range of popular payment gateways, including OxaPay, PayPal, Stripe, and many others. This flexibility allows customers to choose their preferred payment method, improving conversion rates.
5. **Advanced Reporting & Analytics**: The platform includes powerful reporting and analytics tools that provide in-depth insights into your store’s performance. You can access detailed sales reports, track customer behavior, monitor key performance indicators (KPIs), and analyze customer data to make informed business decisions.

## OxaPay Plugin For PrestaShop

Integrating OxaPay with PrestaShop is a powerful step to grow your business and reach new heights. The OxaPay plugin for PrestaShop allows merchants to seamlessly accept cryptocurrency payments, opening up new possibilities for expanding your customer base and offering greater payment flexibility.

Enabling the OxaPay plugin on the PrestaShop platform improves operational efficiency and enhances customer experience by providing fast, low-fee crypto transactions as a fully integrated payment method.

## How To Set Up OxaPay Plugin For PrestaShop?

1. First, after logging into your PrestaShop admin panel, locate the "Modules" tab. Click on it, then select "Module Manager" from the dropdown menu.

<figure><img src="/files/7qJPZMEBNYv2uKbqR4TK" alt=""><figcaption></figcaption></figure>

2. Next, click on the "Upload a module" button and upload the OxaPay plugin file ([Click here to download it](https://github.com/OxaPay/oxapay-prestashop/archive/refs/tags/v1.0.0.zip)).

<figure><img src="/files/Tse1LIKwlljT7pNf5mUz" alt=""><figcaption></figcaption></figure>

3. The module installation will begin automatically. Once you see the message "Module installed" and the "Configure" button appears, click it to proceed.

<figure><img src="/files/PlzJg6bCRcZ6EHmAXRPf" alt=""><figcaption></figcaption></figure>

4. Enter your OxaPay Merchant API key (You can find this key in your OxaPay dashboard. If you don't have an API key, [click here](/legacy/integrations/merchant-api) for instructions on how to create one). Complete any other field. You can use the "sandbox" mode for testing. Once all the details are filled in, click "Save" to finalize the setup.

<figure><img src="/files/lwCwyWizPLtRRmlpBz1I" alt=""><figcaption></figcaption></figure>

#### You can download the OxaPay plugin for PrestaShop by clicking on the file below:

{% file src="/files/f18oCKI4uJjsVcZQErhq" %}

We hope you found this article helpful! The OxaPay plugin for PrestaShop is a powerful tool that can elevate your business to new heights.


# Easy Digital Downloads

## What is Easy Digital Downloads?

Easy Digital Downloads (EDD) is a popular WordPress plugin designed for selling digital products like ebooks, software, and digital art. It provides an easy-to-use platform for managing downloads, payments, and customer data.

## Key Features of Easy Digital Downloads:

1. **Digital Product Management**: With the robust eCommerce platform that comes with a full-featured shopping cart, Easy Digital Downloads allows you to sell digital products with ease and manage your online store efficiently. With a user-friendly interface and a variety of customization options, Easy Digital Downloads is an excellent choice for anyone looking to sell digital goods online.
2. **Get paid effortlessly**: Provides flexible payment options, including support for popular payment gateways like OxaPay, PayPal, Stripe, and Google Pay, as well as subscriptions, giving customers a range of options to pay in a way that suits them.
3. **Intelligently designed:** The effects of site design on customer behavior are well-known. Easy Digital Downloads plays its role by including a base style that looks great as-is, but is also ready to integrate with any WordPress theme.
4. **Unlimited file downloads:** Easy Digital Downloads is a platform for selling digital products that does not impose any additional bandwidth charges on file downloads. This means that you can sell and distribute your digital products without worrying about any extra fees based on the amount of data transferred to customers.
5. **Automatic access control:** With Easy Digital Downloads, you can rest easy knowing that our secure file delivery system logs every customer interaction, giving you complete control over your business.

## OxaPay Plugin For Easy Digital Downloads

The OxaPay Plugin for Easy Digital Downloads (EDD) is a payment gateway integration that allows digital product sellers to accept payments through OxaPay, a cryptocurrency-based payment system. By integrating this plugin with EDD, store owners can offer their customers the option to pay using various cryptocurrencies, enhancing the flexibility of payment options and catering to a broader audience. The plugin seamlessly integrates into the EDD checkout process, ensuring a smooth and secure transaction experience without compromising usability or security.

In addition to offering cryptocurrency payments, the OxaPay plugin provides features like real-time exchange rate conversions, detailed transaction tracking, and automatic payment confirmations, reducing manual tasks for store owners. This plugin is particularly beneficial for businesses looking to expand globally, as it eliminates issues related to traditional currency conversion fees or regional payment restrictions, making it easier to cater to an international customer base.

## How To Set Up OxaPay Plugin For Easy Digital Downloads?

1. Log in to your WordPress control panel, navigate to the "Plugins" section, and click on "Add New". Select "Upload Plugin" then upload the "OxaPay" plugin ZIP file ([Click here to download it](https://downloads.wordpress.org/plugin/oxapay-payment-gateway-for-easy-digital-downloads.1.0.0.zip)) and click on the"Install Now" button.

<figure><img src="/files/rRpjsQmrfDIypSbVFM0a" alt=""><figcaption></figcaption></figure>

2. Once the plugin is installed, click on "Activate Plugin" to enable it.

<figure><img src="/files/GLk4JuhDnhafnOXxKwnT" alt=""><figcaption></figcaption></figure>

3. Go to your "Easy Digital Downloads" settings and navigate to the Payment section. After activating the OxaPay plugin, in the top bar, you will see an option for OxaPay. Click on it to configure the payment gateway settings.

<figure><img src="/files/l3RvVkJAPz7Gg9GXvbLd" alt=""><figcaption></figcaption></figure>

4. Enter your OxaPay Merchant API key (You can find this key in your OxaPay dashboard. If you don't have an API key, click here for instructions on how to create one). Complete any other fields. You can use the "sandbox" mode for testing. Once all the details are filled in, click "Save Changes" to finalize the setup.

<figure><img src="/files/hzvUpt4494uJuDQMnIyN" alt=""><figcaption></figcaption></figure>

#### You can download the OxaPay plugin for Easy Digital Downloads by clicking on the file below:

{% file src="/files/Ya9XPznkZCvSdrLpKnoV" %}

\
We hope this article was helpful! The OxaPay plugin for Easy Digital Downloads is a powerful and valuable tool that can help take your business to the next level.


# Paid Memberships Pro

## What is Paid Memberships Pro?

Paid Memberships Pro is a popular WordPress plugin designed for managing and selling paid memberships. It allows site administrators to restrict access to content or services based on membership levels, offering exclusive content to paying members. With this plugin, you can set up multiple membership tiers, integrate various payment gateways, and manage access to premium content.

## Key Features of Paid Memberships Pro:

1. **Unlimited Membership Levels**: Create an unlimited number of membership tiers with varying prices and access privileges. Each level can offer unique benefits, allowing you to cater to different types of members or audiences.
2. **Content Restriction**: Restrict access to specific content (such as posts, pages, categories, or custom post types) based on membership status. This lets you offer exclusive content to paying members while keeping general content available to all.
3. **Flexible Payment Gateways**: Integrates seamlessly with popular payment gateways like OxaPay, PayPal, Stripe, and Authorize.net. You can offer different payment methods for your members and manage payments with ease, ensuring a smooth and secure transaction process.
4. **Member Management**: Provides a detailed interface to manage your members, allowing you to view, edit, or update member profiles, change their membership level, or handle billing issues directly from the admin dashboard.
5. **Reports & Analytics**: Track membership statistics with built-in reporting tools that give insights into revenue, active memberships, and overall growth. You can generate custom reports for better decision-making and optimization of your membership strategy.
6. **Email Notifications**: Automate emails for critical events, such as membership signups, renewals, cancellations, and expiration reminders. Customize these email templates to communicate effectively with your members.
7. **Add-ons & Integrations**: Expand the functionality of Paid Memberships Pro with a wide variety of add-ons, like affiliate tracking, WooCommerce integration, or custom member directories. This allows you to scale your membership site and add features as your needs grow.

## OxaPay Plugin For Paid Memberships Pro

The OxaPay Plugin for Paid Memberships Pr**o** is an extension designed to integrate the OxaPay payment gateway with the Paid Memberships Pro plugin, allowing websites to accept cryptocurrency payments for membership subscriptions. OxaPay is known for facilitating secure and efficient cryptocurrency transactions, offering users the ability to pay with various digital currencies like Bitcoin, Ethereum, and more. This integration expands payment options for membership-based websites, catering to customers who prefer using cryptocurrencies instead of traditional payment methods.

With this plugin, website owners can leverage the benefits of blockchain technology, such as faster transactions, lower fees, and broader international reach. The OxaPay plugin ensures a smooth checkout process, providing a seamless experience for members while maintaining compatibility with Paid Memberships Pro. This makes it a valuable solution for businesses seeking to diversify their payment options and attract a global audience.

## How To Set Up OxaPay Plugin For Paid Memberships Pro?

1. Log in to your WordPress control panel, navigate to the "Plugins" section, and click on "Add New". Select "Upload Plugin" then upload the "OxaPay" plugin ZIP file ([Click here to download it](https://oxapay.com/plugins/oxapay_pmpro.zip)) and click on the"Install Now" button.

<figure><img src="/files/9DuMVg9ClXfdanz2RwJS" alt=""><figcaption></figcaption></figure>

2. Go to your "Paid Memberships Pro" settings and navigate to the "Payment Gateway".

<figure><img src="/files/tPom7mnY9BtNM5KLOgMu" alt=""><figcaption></figcaption></figure>

3. Enter your OxaPay Merchant API key (You can find this key in your OxaPay dashboard. If you don't have an API key, click here for instructions on how to create one). Complete any other fields. You can use the "sandbox" mode for testing. Once all the details are filled in, click "Save Settings" to finalize the setup.

<figure><img src="/files/2at4ssuIH9NTDsvQsNQz" alt=""><figcaption></figcaption></figure>

#### You can download the OxaPay plugin for Paid Memberships Pro by clicking on the file below:

{% file src="/files/IOMNSBZAcqnWLXzOCY3M" %}

We hope this article was helpful! The OxaPay plugin for Paid Memberships Pro is a powerful and valuable tool that can help take your business to the next level.


# Gravity Forms

## What is Gravity Forms?

Gravity Forms is a powerful WordPress plugin that allows users to create advanced and customizable forms with ease. It’s ideal for building contact forms, surveys, registrations, online payments, and more. Key features include a drag-and-drop interface, integration with third-party services (like OxaPay and PayPal ), and conditional logic to enhance user experience.

## Key Features of Gravity Forms:

1. **Ease of Use:** Gravity Forms provides a user-friendly drag-and-drop form builder, allowing you to create professional forms in minutes without requiring technical expertise.
2. **Seamless WordPress Integration:** As a WordPress plugin, Gravity Forms integrates effortlessly with WordPress, enabling smooth performance and leveraging all of WordPress’s capabilities.
3. **Customizable Forms:** With extensive field options and advanced settings, you can create contact forms, surveys, payment forms, registration forms, and more to suit your exact needs.
4. **Payment Integrations:** Gravity Forms supports major payment gateways like OxaPay, PayPal, and Stripe, making it easy to accept payments, donations, or subscriptions directly through your forms.
5. **Notifications and Confirmations :**&#x41;utomate email notifications to inform both users and administrators upon form submissions, and customize confirmation messages or redirects to enhance user engagement.
6. **Responsive Design:** Forms created with Gravity Forms are mobile-friendly and responsive, ensuring they function perfectly across all devices, including tablets and smartphones.

## OxaPay Plugin For Gravity Forms

Integrating OxaPay with Gravity Forms is a strategic way to enhance your payment options and reach a broader audience. The OxaPay integration enables businesses to seamlessly accept cryptocurrency payments directly through Gravity Forms, offering customers greater flexibility and modernizing your payment process.

Additionally, OxaPay prioritizes security, ensuring that every transaction is safe, reliable, and protected. By adding cryptocurrency as a payment option inGravity Forms, businesses can attract a wider customer base while streamlining their payment workflows and improving the overall user experience.

## How To Set Up OxaPay Plugin For Gravity Forms?

1. Log in to your WordPress control panel, navigate to the "Plugins" section, and click on "Add New". Select "Upload Plugin" then upload the "OxaPay" plugin ZIP file ([Click here to download it](https://downloads.wordpress.org/plugin/oxapay-crypto-payment-gateway-for-gravity-forms.1.0.0.zip)) and click on the"Install Now" button.

<figure><img src="/files/YoRWrrCajWxvZaKauRji" alt=""><figcaption></figcaption></figure>

2. After installing and activating the OxaPay plugin, go to the "**Gravity Forms"** settings page and click on OxaPay to enter your OxaPay Merchant API key (You can find this key in your OxaPay dashboard. If you don't have an API key, [click here](/legacy/integrations/merchant-api) for instructions on how to create one). Complete any other required fields. You can use the "sandbox" mode for testing. Once all the details are filled in, click "Save Settings" to finalize the setup.

<figure><img src="/files/ykm8GZOQVp4W7MwOBnnX" alt=""><figcaption></figcaption></figure>

3. Now click on "OxaPay" in the navigation bar and to add your form, click on "Add New".

<figure><img src="/files/0nMlAQtS3cgvwi1XpIvG" alt=""><figcaption></figcaption></figure>

4. After entering the "Add New Form" page, select the form type, choose your desired form and click the "Save" button.

<figure><img src="/files/I0Gwrd5Hxs4ZBnHgZ7Z9" alt=""><figcaption></figcaption></figure>

**You can download the OxaPay plugin for Gravity Forms by clicking on the file below:**

{% file src="/files/gqD3y3q6dVIt2DKrfUo0" %}

We hope you found this article useful! The OxaPay plugin for Gravity Forms is a powerful tool that can help elevate your business to new heights.


# Restrict Content Pro

## What is Restrict Content Pro?

Restrict Content Pro is a powerful WordPress membership plugin that allows you to monetize content access. As a content restriction plugin, Restrict Content gives you full control over who can and cannot view content on your WordPress site. As a design tool, Restrict Content helps you create pages that dynamically display content based on user role or membership level.

## Key Features of Restrict Content Pro:

1. **Membership Levels:** Set access level, duration (in days, months, years), number of renewals, price, signup fee, status, assign WordPress user role. Set any price (including free) or optionally set a sign up fee. Set the frequency and period, and specify a user role that will be assigned to members when they register.
2. **Auto-Created Member Pages:** Pages generated by the plugin include: Registration, Success, Account, Edit Profile and Update Billing Card.
3. **Auto Renewals:** Select to let customer choose whether to auto renew, always auto renew, or never auto renew.
4. **Payment Gateways:** The system supports various payment gateways including OxaPay, PayPal, Authorize.net, Braintree, and Manual Payments. This ensures secure and diverse options for processing transactions.
5. **Member Emails:** Paid membership activation email, free membership activation email, cancelled membership email, expired membership email, payment received email, renewal payment failed email
6. **Upgrade/Downgrade Membership:** Members can easily upgrade or downgrade their subscription at any time. This ensures they have control over their plan.

## OxaPay Plugin For Restrict Content Pro

Integrating OxaPay with Restrict Content is an excellent way to modernize your payment system and expand your reach. This integration allows businesses to effortlessly accept cryptocurrency payments for membership plans and flexible payment solution.

OxaPay ensures that all transactions are handled with top-tier security, providing a safe and reliable payment experience for both businesses and customers. By enabling cryptocurrency payments in Restrict Content, you can attract an audience, simplify payment management, and enhance the overall experience for your members.

## How To Set Up OxaPay Plugin For Restrict Content Pro?

1. Log in to your WordPress control panel, navigate to the "Plugins" section, and click on "Add New". Select "Upload Plugin" then upload the "OxaPay" plugin ZIP file ([Click here to download it](https://oxapay.com/plugins/oxapay_restrictcontentpro.zip)) and click on the"Install Now" button.

<figure><img src="/files/CGAISH6Nk7Q1QtazLllU" alt=""><figcaption></figcaption></figure>

2. After installing and activating the Oxapay plugin, go to the "**Restrict Content"** settings page and click on Payments to enter your OxaPay Merchant API key (You can find this key in your OxaPay dashboard. If you don't have an API key, [click here](/legacy/integrations/merchant-api) for instructions on how to create one). Complete any other fields. You can use the "sandbox" mode for testing. Once all the details are filled in, click "Save Settings" to finalize the setup. (Make sure to check OxaPay in the "Enabled Gateways" section)

<figure><img src="/files/EBc34bnirbRB1ARKmKkD" alt=""><figcaption></figcaption></figure>

**You can download the OxaPay plugin for Restrict Content Pro by clicking on the file below:**

{% file src="/files/75q77xiDYk21qvlFcPWl" %}

We hope you found this article useful! The OxaPay plugin for Restrict Content is a powerful tool that can help elevate your business to new heights.


# VirtueMart

## What is VirtueMart?

**VirtueMart** is an **open-source eCommerce solution** designed to work with the **Joomla** content management system (CMS). It enables users to build and manage online stores with features that support product listings, customer management, orders, and payment processing.

## Key Features of VirtueMart:

1. **Flexible Product Management:** VirtueMart enables easy management of products, categories, attributes, and variants, allowing administrators to efficiently organize and showcase their merchandise.
2. **Multi-Language Support:** With built-in multi-language support, VirtueMart caters to international markets, allowing users to create and manage multilingual online stores.
3. **Multiple Payment Gateways:** VirtueMart supports various payment gateways, including PayPal, Stripe, Authorize.Net, and more, offering flexibility in accepting payments securely.
4. **Shipping and Tax Calculation:** The platform provides tools for calculating shipping costs and taxes based on different parameters such as weight, destination, and tax rates, streamlining the checkout process.
5. **Inventory Management:** VirtueMart offers inventory management features, including stock tracking, low-stock notifications, and backorder management, helping users keep track of their inventory levels.
6. **SEO-Friendly:** The platform is designed with search engine optimization (SEO) in mind, providing features such as customizable URLs, meta tags, and sitemaps to improve online visibility and rankings.
7. **Extensions and Add-ons:** VirtueMart offers a wide range of extensions and add-ons, allowing users to extend the functionality of their online store with additional features and integrations.

## OxaPay Plugin For VirtueMart

Integrating OxaPay with VirtueMart offers a modern and efficient way to accept cryptocurrency payments in your Joomla-based online store. This powerful combination enables businesses to easily accept crypto for products, providing a fast, secure, and borderless shopping experience for customers around the world.

With enterprise-level security, OxaPay ensures that all transactions are processed safely and reliably. This builds trust with your customers while expanding your store’s market reach. Enabling crypto payments in VirtueMart not only simplifies payment processing but also helps attract new customers and boost sales.

## How To Set Up OxaPay Plugin For VirtueMart?

1. Go to System -> Extensions, then upload the "OxaPay" plugin ZIP file ([Click here to download it](https://github.com/OxaPay/oxapay-virtuemart/archive/refs/tags/v1.0.0.zip)) After that, the plugin must be activated in Plugins.

<figure><img src="/files/RICCjVBraQLj5TGLtWqL" alt=""><figcaption></figcaption></figure>

<figure><img src="/files/ips3yCykxtAqVj7awwEw" alt=""><figcaption></figcaption></figure>

2. Now go to “Components -> VirtueMart -> Payment Methods” and then create a new payment method. Select the “VM Payment - OxaPay Crypto Payment Gateway” in Payment Method.

<figure><img src="/files/6LxCDM8q0sSkxn6ku6QI" alt=""><figcaption></figcaption></figure>

3. Go to Configuration and enter your OxaPay Merchant API key (You can find this key in your OxaPay dashboard. If you don't have an API key, [click here](/legacy/integrations/merchant-api) for instructions on how to create one). Complete any other fields. Once all the details are filled in, click "Save" to finalize the setup.

<figure><img src="/files/LEgSKmYb5XFRSwbeS6Da" alt=""><figcaption></figcaption></figure>

**You can download the OxaPay plugin for VirtueMart by clicking on the file below:**

{% file src="/files/PbzdYxj6ic6X1eiPMFh3" %}

We hope you found this article useful! The OxaPay plugin for **VirtueMart** is a powerful tool that can help elevate your business to new heights.


# OpenCart

## What is OpenCart?

OpenCart is a free, open-source e-commerce platform designed for building and managing online stores. It offers a user-friendly interface, a wide range of extensions, and supports multiple payment gateways, making it a popular choice for businesses looking to sell products online.

## Key features of OpenCart:

1. **Store Management**: OpenCart offers a comprehensive admin panel that allows businesses to efficiently manage their products, categories, and customer accounts. With multi-store functionality, users can control multiple shops from a single interface, streamlining operations.
2. **Payment Integration**: OpenCart supports various payment gateways such as OxaPay, PayPal, and others, making it easy for businesses to handle transactions. It also supports multiple currencies, ensuring smooth global payments and invoicing.
3. **Product and Inventory Management**: The platform provides tools for managing a wide range of product options, attributes, and stock levels. This helps businesses organize their product catalog and track inventory efficiently.
4. **Automation**: OpenCart offers automated features for order processing, shipping, and notifications. This helps reduce manual tasks, speeding up order fulfillment and enhancing the customer experience.
5. **Analytics and Reports**: Built-in reporting tools provide valuable insights into sales, customer activity, and product performance. These analytics help businesses make data-driven decisions and track overall store performance.
6. **Customer Management**: OpenCart includes customer account management, allowing store owners to track order history, handle communications, and manage customer reviews. Customers can also use a self-service portal to view orders and make changes to their accounts.

## OxaPay Plugin For OpenCart

Integrating OxaPay with OpenCart is a great way to take your online store to the next level. The OxaPay extension for OpenCart enables businesses to accept cryptocurrency as a native payment method, providing customers with more payment options and expanding your market reach.

With the OxaPay integration, businesses can process transactions quickly and efficiently, with lower fees and faster settlement times compared to traditional fiat currencies. This makes it an attractive option for customers who prefer using cryptocurrencies for their purchases. Additionally, OxaPay offers robust security measures, ensuring that each transaction is secure and reliable, giving both merchants and customers peace of mind.

## How To Set Up OxaPay Plugin For OpenCart?

1. Ensure that you have OpenCart version 4.x installed on your website. Once logged into your dashboard, go to the left menu, find the "Extensions" tab, click on it, and select "Installer".
2. After that, upload the Oxapay plugin ([Click here to download it](https://github.com/OxaPay/oxapay-opencart/releases/download/v1.0.0/oxapay.ocmod.zip)). Once you receive a successful upload message, go to the Oxapay bar in the action section and click on the "Install" button to complete the installation.

<figure><img src="/files/xHo2DCwYYE0STPXEnNMA" alt=""><figcaption></figcaption></figure>

3. Now, first choose the "Payments" type from the list. Then, find the Oxapay bar and click on the "Install" button. After the installation is complete, click on the "Edit" button to configure the settings.

<figure><img src="/files/6CCmRJ6kHa6W77cowvIa" alt=""><figcaption></figcaption></figure>

4. Now, enter your "OxaPay Merchant API Key" in the designated field (you can find it in your OxaPay panel. If you don’t have an API key, [click here](/legacy/integrations/merchant-api) to learn how to create one, or you can use the "sandbox" mode for testing). Complete the remaining configurations, and then click on the "Save" button.

<figure><img src="/files/9GCuRMGe0j5znkN1HVrU" alt=""><figcaption></figcaption></figure>

**You can download the OxaPay plugin for OpenCart by clicking on the file below:**

{% file src="/files/MROFmSDuJlGbjUBRGIi9" %}

[<br>](https://517956072-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FAQc1OXMAl6RP5j6dwH6R%2Fuploads%2FiLnrpPpcCQfdABDrB489%2FOxaPay_woocommerce.zip?alt=media\&token=c8dab002-375f-408a-81cc-dc7b737b0923)We hope this article was helpful to you! The OxaPay plugin for OpenCart is a powerful and valuable tool to help take your business to the next level.


# Magento 2

## What is Magento 2? <a href="#what-is-magento-2" id="what-is-magento-2"></a>

Magento 2 is a powerful open-source eCommerce platform designed to help businesses build scalable and customizable online stores. It offers extensive features for product management, order processing, and customer experience optimization. With its modular architecture and large extension ecosystem, Magento 2 enables developers to tailor functionality to specific business needs.

## Key Features of Magento 2 <a href="#key-features-of-magento-2" id="key-features-of-magento-2"></a>

1. **Product Management:** Offers comprehensive tools for managing products, including support for multiple product types, customizable attributes, categories, and inventory control.
2. **Order Management:** Handles the full order lifecycle with features for invoicing, shipping, refunds, and configurable checkout options to streamline the purchasing process.
3. **Customer Management**: Provides detailed customer profiles, customer groups, order history, and account tools, enabling businesses to deliver personalized shopping experiences.
4. **Marketing and Promotions**: Includes built-in promotion tools such as discount codes, pricing rules, cross-sell options, and integration with marketing platforms.
5. **Security**: Features strong security measures including user permissions, data encryption, regular security patches, and compliance with industry standards for secure transactions.
6. **Performance and Scalability**: Designed for high-performance stores with built-in caching, CDN support, and scalable architecture suitable for growing businesses.

## OxaPay Plugin For Magento 2 <a href="#oxapay-plugin-for-magento-2" id="oxapay-plugin-for-magento-2"></a>

Integrating OxaPay with Magento 2 is a powerful step toward expanding your business and achieving new levels of growth. The OxaPay plugin for Magento 2 enables online stores to accept cryptocurrency as a secure and fully supported payment method, opening the door to a wider customer base and offering greater flexibility at checkout.

By using Magento 2’s e-commerce platform, you can streamline and automate many aspects of your store management. Activating the OxaPay plugin on Magento 2 enhances operational efficiency and elevates customer satisfaction by enabling fast, low-fee crypto payments. This integration empowers your business with a modern payment solution that improves conversion rates and keeps you ahead in the evolving digital marketplace.

## How To Set Up OxaPay Plugin For Magento 2 <a href="#how-to-set-up-oxapay-plugin-for-magento-2" id="how-to-set-up-oxapay-plugin-for-magento-2"></a>

1. First, unzip the downloaded OxaPay plugin archive ([Click here to download it](https://github.com/OxaPay/oxapay-magento2/releases/download/1.0.0/oxapay_magento2.zip)) to your computer or directly on your hosting server.
2. Locate the **“OxaPay”** folder from the unzipped archive. Move this folder into your Magento 2 installation at the following path:

```
Magento → app → code
```

3. Open your command-line interface and navigate to your Magento 2 root directory. Enable the OxaPay module by running the following command:

```php
php bin/magento module:enable OxaPay_OxaPayGateway
```

4. While still in your Magento 2 root directory, apply database updates for the OxaPay module by running the following command:

```php
php bin/magento setup:upgrade
```

5. Clear the cache to ensure all changes from the OxaPay module are applied by running the following command:

```php
php bin/magento cache:flush
```

6. To configure OxaPay payment settings, first click on **Stores** in the Magento 2 navigation bar, then select **Configuration** under the **Settings** section.

<div data-with-frame="true"><figure><img src="https://docs.oxapay.com/~gitbook/image?url=https%3A%2F%2F2150865118-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252F0cdQgWk1yvwE7MR49PSn%252Fuploads%252F05hvYMD3741qV1ljeRvf%252FScreenshot%2520%28153%29.png%3Falt%3Dmedia%26token%3D27fb40fe-6b73-46d3-bedf-12b950f10200&#x26;width=768&#x26;dpr=4&#x26;quality=100&#x26;sign=b71d2a41&#x26;sv=2" alt=""><figcaption></figcaption></figure></div>

1. In the **Configuration** page, scroll down to the **SALES** section and select **Payment Methods**. Then, under **Other Payment Methods**, click on **OxaPay Crypto Payment Gateway** and fill in the required settings.

<div data-with-frame="true"><figure><img src="https://docs.oxapay.com/~gitbook/image?url=https%3A%2F%2F2150865118-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252F0cdQgWk1yvwE7MR49PSn%252Fuploads%252FuXqAZSufWkAEGZPvKucY%252FScreenshot%2520%28154%29.png%3Falt%3Dmedia%26token%3D36f96a59-cde5-4544-9b94-8119d272e889&#x26;width=768&#x26;dpr=4&#x26;quality=100&#x26;sign=a841e786&#x26;sv=2" alt=""><figcaption></figcaption></figure></div>

#### **You can download the OxaPay plugin for Magento 2 by clicking on the file below:**

{% file src="/files/LYydo0tGNPWXv8pOkTvK" %}

We hope you found this guide helpful! The **OxaPay plugin for Magento 2** is a powerful tool that can help take your online store to the next level by enabling seamless cryptocurrency payments and enhancing customer convenience.


# Merchant and Payout Service with API

OxaPay offers a comprehensive Merchant and Payout Service API that empowers merchants to access and manage their payment and payout activities programmatically. With this API integration, merchants can seamlessly create and manage payment links, process transactions, retrieve payment information, and initiate cryptocurrency payouts to recipients.

The Merchant API provides an easy-to-use interface for developers to integrate OxaPay's cryptocurrency payment gateway into their web and mobile applications. It allows businesses to offer cryptocurrency payments as a sole payment option, catering to the growing demand for crypto payments for digital currency transactions.

By utilizing the Payout API, businesses can efficiently initiate cryptocurrency payouts to multiple recipients simultaneously, simplifying processes like affiliate payments, vendor payouts, and more. The API offers robust security measures, ensuring that all transactions are processed securely and efficiently.

Please refer to the API Reference section for detailed information on the endpoints, request and response formats, and example code snippets for integrating the Merchant and Payout Service API into your applications.


# API Reference

The API Reference provides detailed information on the various endpoints and functionalities available in the OxaPay API. This section serves as a comprehensive guide to help you integrate the OxaPay Crypto Payment Gateway seamlessly into your application or website.

By referring to the API Reference, you can gain a comprehensive understanding of the OxaPay API and leverage its capabilities to create a seamless payment experience for your users. Whether you need to initiate payments, retrieve payment details, or manage transactions, the API Reference provides the necessary documentation to facilitate successful integration.

Now, let's dive into the API Reference section, where you'll find detailed information on each endpoint, their request and response formats, and example code snippets to assist you in integrating the OxaPay Crypto Payment Gateway seamlessly.


# Creating an Invoice

This endpoint allows you to create a new payment link and receive a URL that can be used to complete the payment. By sending a request to this endpoint with the required parameters, you can generate a payment link for a specific amount and configure various options for the payment process.

<mark style="color:green;">`POST`</mark> `https://api.oxapay.com/merchants/request`

#### Request Body

<table><thead><tr><th width="178">Name</th><th width="98">Type</th><th width="475">Description</th></tr></thead><tbody><tr><td>merchant<mark style="color:red;">*</mark></td><td>string</td><td>Your merchant API key for authentication and authorization.</td></tr><tr><td>amount<mark style="color:red;">*</mark></td><td>long</td><td>The amount for the payment. If the <code>currency</code> field is not filled, the amount should be specified in dollars. If the `currency` field is filled, the amount should correspond to the specified currency.</td></tr><tr><td>currency</td><td>string</td><td>Specify the <a href="/pages/J7efulCOZC0zGKzpVHol">currency symbol</a> if you want the invoice amount calculated with a specific currency. You can also create invoices in <a href="/pages/bIROvo4StwAlsWk0nJfz">fiat currencies</a>.</td></tr><tr><td>callbackUrl</td><td>string</td><td>The URL where payment information will be sent. Use this to receive notifications about the payment status.</td></tr><tr><td>underPaidCover</td><td>decimal</td><td><p>Specify the acceptable inaccuracy in payment. Determines the maximum acceptable difference between the requested and paid amount (0-60.00).</p><p><strong>Default:</strong> Merchant setting</p></td></tr><tr><td>feePaidByPayer</td><td>decimal</td><td>Specify whether the payer will cover the invoice commission. <code>1</code> indicates that the payer will pay the fee, while <code>0</code> indicates that the merchant will pay the fee. <strong>Default</strong>: Merchant setting.</td></tr><tr><td>lifeTime</td><td>integer</td><td><p>Set the expiration time for the payment link in minutes (15-2880).</p><p><strong>Default:</strong> 60.</p></td></tr><tr><td>email</td><td>string</td><td>Provide the payer's email address for reporting purposes.</td></tr><tr><td>orderId</td><td>string</td><td>Specify a unique order ID for reference in your system.</td></tr><tr><td>description</td><td>string</td><td>Provide order details or any additional information that will be shown in different reports.</td></tr><tr><td>returnUrl</td><td>string</td><td>The URL where the payer will be redirected after a successful payment.</td></tr></tbody></table>

{% tabs %}
{% tab title="200 The response will contain the following fields" %}

```json
{
  "result": integer, // The result code indicates the outcome of the request. Refer to the Result Code table for more information.
  "message": string, // A message containing additional information about the result of the request.
  "trackId": string, // The unique identifier for the payment session in the OxaPay payment gateway. You can use this track ID to query the payment status and generate reports.
  "payLink": string, // The payment page link associated with the generated track ID. This link can be forwarded to the payer to complete the payment.
  "expiredAt": string // The expiration timestamp of the payment link. After this time, the payment link will no longer be valid.
}
```

{% endtab %}
{% endtabs %}

### Additional Notes

\- If the payer does not submit a transaction within the specified time for payment (lifeTime), the invoice will expire.

\- If the payer sends a lower amount, the payment will not be made.

\- If the payer sends the exact amount or a higher amount, you will receive the paid amount.

\- If the payer makes multiple payments for one invoice, you will receive the first acceptable payment.

Please note that a successful request will return a result code 100 along with the payment track ID and payment link. In case of any issues or validation problems, refer to the corresponding [result codes](/legacy/api-reference/result-code-table) for further details.

This endpoint allows you to generate payment links with specific amounts and configure various options to tailor the payment process according to your requirements.

### Example codes

{% tabs %}
{% tab title="cURL" %}

```bash
curl -X POST https://api.oxapay.com/merchants/request \
  -d '{
    "merchant": "YOUR_MERCHANT_API_KEY",
    "amount": 100,
    "currency": "TRX",
    "lifeTime": 30,
    "feePaidByPayer": 0,
    "underPaidCover": 2.5,
    "callbackUrl": "https://example.com/callback",
    "returnUrl": "https://example.com/success",
    "description": "Order #12345",
    "orderId": "ORD-12345",
    "email": "customer@example.com"
  }'
```

{% endtab %}

{% tab title="PHP" %}

```php
<?php

$url = 'https://api.oxapay.com/merchants/request';

$data = array(
    'merchant' => 'YOUR_MERCHANT_API_KEY',
    'amount' => 100,
    'currency' => 'TRX',
    'lifeTime' => 30,
    'feePaidByPayer' => 0,
    'underPaidCover' => 2.5,
    'callbackUrl' => 'https://example.com/callback',
    'returnUrl' => 'https://example.com/success',
    'description' => 'Order #12345',
    'orderId' => 'ORD-12345',
    'email' => 'customer@example.com'
);

$options = array(
    'http' => array(
        'header' => 'Content-Type: application/json',
        'method'  => 'POST',
        'content' => json_encode($data),
    ),
);

$context  = stream_context_create($options);
$response = file_get_contents($url, false, $context);
$result = json_decode($response);
var_dump($result);
?>
```

{% endtab %}

{% tab title="Node.js" %}

```javascript
const axios = require('axios');
const url = 'https://api.oxapay.com/merchants/request';
const data = JSON.stringify({
    merchant: 'YOUR_MERCHANT_API_KEY',
    amount: 100,
    currency: 'TRX',
    lifeTime: 30,
    feePaidByPayer: 0,
    underPaidCover: 2.5,
    callbackUrl: 'https://example.com/callback',
    returnUrl: 'https://example.com/success',
    description: 'Order #12345',
    orderId: 'ORD-12345',
    email: 'customer@example.com'
});

axios.post(url, data)
    .then(response => {
        console.log(response.data);
    })
    .catch(error => {
        console.error(error);
    });
```

{% endtab %}

{% tab title="Python" %}

```python
import requests
import json

url = 'https://api.oxapay.com/merchants/request'
data = {
    'merchant': 'YOUR_MERCHANT_API_KEY',
    'amount': 100,
    'currency': 'TRX',
    'lifeTime': 30,
    'feePaidByPayer': 0,
    'underPaidCover': 2.5,
    'callbackUrl': 'https://example.com/callback',
    'returnUrl': 'https://example.com/success',
    'description': 'Order #12345',
    'orderId': 'ORD-12345',
    'email': 'customer@example.com'
}

response = requests.post(url, data=json.dumps(data))
result = response.json()
print(result)
```

{% endtab %}
{% endtabs %}

Please make sure to replace `YOUR_MERCHANT_API_KEY` in the code snippets with your actual merchant API key, and `usd` with the appropriate currency symbol.

These example code snippets demonstrate how to request the "Creating an invoice link" endpoint using different programming languages. You can customize the data parameters according to your specific requirements.

<br>


# Creating White-Label Payment

This endpoint allows you to create white-labeled payments, providing a seamless payment experience while utilizing the OxaPay payment gateway behind the scenes. Rather than generating an Invoice, this method provides detailed payment information, including the payment address, currency, amount, expiration time, and more.

To enhance flexibility and user convenience, you can utilize URI formats, such as the Bitcoin Improvement Proposal (BIP-0021). This format allows you to generate a payment link with the crypto address embedded within it. By using the generated URI link, the payer can initiate the payment directly from their preferred wallet application.

Furthermore, you have the option to generate QR codes that contain the URI link. QR codes are easily scannable by wallet applications, allowing the payer to effortlessly open their wallet app and proceed with the payment by simply scanning the QR code. The simplest way to create a QR code is to use [Google Chart Service.](https://developers.google.com/chart/infographics/docs/qr_codes)

Using URI formats and QR codes simplifies the payment process for the payer, as they can quickly open their wallet application with the specified address and amount pre-filled. This user-friendly approach enhances the convenience and efficiency of the payment experience.

<mark style="color:green;">`POST`</mark> `https://api.oxapay.com/merchants/request/whitelabel`

#### Request Body

<table><thead><tr><th width="174">Name</th><th width="100">Type</th><th width="481">Description</th></tr></thead><tbody><tr><td>merchant<mark style="color:red;">*</mark></td><td>string</td><td>Your merchant API key for authentication and authorization.</td></tr><tr><td>payCurrency<mark style="color:red;">*</mark></td><td>string</td><td>Specify the <a href="/pages/J7efulCOZC0zGKzpVHol">currency symbol</a> if you want the invoice to be paid in a specific currency. Defines the currency in which you wish to receive your settlements.</td></tr><tr><td>amount<mark style="color:red;">*</mark></td><td>long</td><td>The amount for the payment. If the <code>currency</code> field is not filled, the amount should be specified in dollars. If the <code>currency</code> field is filled, the amount should correspond to the specified currency.</td></tr><tr><td>email</td><td>string</td><td>Provide the payer's email address for reporting purposes.</td></tr><tr><td>orderId</td><td>string</td><td>Specify a unique order ID for reference in your system.</td></tr><tr><td>description</td><td>string</td><td>Provide order details or any additional information that will be shown in different reports.</td></tr><tr><td>callbackUrl</td><td>string</td><td>The URL where payment information will be sent. Use this to receive notifications about the payment status.</td></tr><tr><td>underPaidCover</td><td>decimal</td><td><p>Specify the acceptable inaccuracy in payment. Determines the maximum acceptable difference between the requested and paid amount (0-60.00).</p><p><strong>Default:</strong> Merchant setting.</p></td></tr><tr><td>feePaidByPayer</td><td>decimal</td><td>Specify whether the payer will cover the invoice commission. <code>1</code> indicates that the payer will pay the fee, while <code>0</code> indicates that the merchant will pay the fee. <strong>Default</strong>: Merchant setting.</td></tr><tr><td>lifeTime</td><td>integer</td><td><p>Set the expiration time for the payment link in minutes (15-2880).</p><p><strong>Default</strong>: 60.</p></td></tr><tr><td>network</td><td>string</td><td>The blockchain <a href="/pages/PDPsC6YSkcay1dmWueRA">network</a> on which the payment should be created. If not specified, the default network will be used.</td></tr><tr><td>currency</td><td>string</td><td>Specify the <a href="/pages/J7efulCOZC0zGKzpVHol">currency symbol</a> if you want the invoice amount calculated with a specific currency. You can also create invoices in <a href="/pages/bIROvo4StwAlsWk0nJfz">fiat currencies</a>.</td></tr></tbody></table>

{% tabs %}
{% tab title="200: OK " %}

```json
{
  "result": integer, // Request result. More information about this number can be found in the Result Code table.
  "message": string, // The message containing the result of the request.
  "trackId": string, // The unique identifier of each payment session of the OxaPay payment gateway, which can be used to query the payment status and report requests (if the request is successful).
  "amount": long, // The requested payment amount.
  "currency": string, // The requested payment currency.
  "payAmount": long, // The actual payment amount.
  "payCurrency": string, // The actual payment currency.
  "network": string, // The blockchain network on which the cryptocurrency is expected to be received.
  "address": string, // The generated cryptocurrency address for the payment.
  "callbackUrl": string, // The specified callback to receive payment notifications
  "description": string, // The specified description
  "email": string, // The specified email
  "feePaidByPayer": decimal, // The specified feePaidByPayer
  "lifeTime": integer, // The specified lifeTime
  "orderId": string, // The specified orderId
  "underPaidCover": decimal, // The specified underPaidCover
  "rate": decimal, // The exchange rate of the specified cryptocurrency.
  "expiredAt": string, // The expiration time of payment to the address.
  "createdAt": string, // The created invoice time
  "QRCode": string // the QRCode image link for coin and amount
}
```

{% endtab %}
{% endtabs %}

Please note that a successful request will return a result code 100. In case of any issues or validation problems, refer to the corresponding [result codes](/legacy/api-reference/result-code-table) for further details.

### Example codes

{% tabs %}
{% tab title="cURL" %}

```bash
curl -X POST https://api.oxapay.com/merchants/request/whitelabel \
  -d '{
    "merchant": "YOUR_MERCHANT_API_KEY",
    "amount": 100,
    "currency": "USD",
    "payCurrency": "TRX",
    "lifeTime": 90,
    "feePaidByPayer": 1,
    "underPaidCover": 10,
    "callbackUrl": "https://example.com/callback",
    "description": "Order #12345",
    "orderId": "12345",
    "email": "customer@example.com"
  }'
```

{% endtab %}

{% tab title="PHP" %}

```php
<?php

$url = 'https://api.oxapay.com/merchants/request/whitelabel';

$data = array(
    'merchant' => 'YOUR_MERCHANT_API_KEY',
    'amount' => 100,
    'currency' => 'USD',
    'payCurrency' => 'TRX',
    'lifeTime' => 90,
    'feePaidByPayer' => 1,
    'underPaidCover' => 10,
    'callbackUrl' => 'https://example.com/callback',
    'description' => 'Order #12345',
    'orderId' => '12345',
    'email' => 'payer@example.com'
);

$options = array(
    'http' => array(
        'header' => 'Content-Type: application/json',
        'method'  => 'POST',
        'content' => json_encode($data),
    ),
);

$context  = stream_context_create($options);
$response = file_get_contents($url, false, $context);
$result = json_decode($response);
var_dump($result);
?>
```

{% endtab %}

{% tab title="Node.js" %}

```javascript
const axios = require('axios');
const url = 'https://api.oxapay.com/merchants/request/whitelabel';
const data = JSON.stringify({
    merchant: 'YOUR_MERCHANT_API_KEY',
    amount: 100,
    currency: 'USD',
    payCurrency: "TRX",
    lifeTime: 90,
    feePaidByPayer: 1,
    underPaidCover: 10,
    callbackUrl: 'https://example.com/callback',
    description: 'Order #12345',
    orderId: 'ORD-12345',
    email: 'customer@example.com'
});

axios.post(url, data)
    .then(response => {
        console.log(response.data);
    })
    .catch(error => {
        console.error(error);
    });
```

{% endtab %}

{% tab title="Python" %}

```python
import requests
import json

url = 'https://api.oxapay.com/merchants/request/whitelabel'
data = {
    'merchant': 'YOUR_MERCHANT_API_KEY',
    'amount': 100,
    'currency': 'USD',
    'payCurrency': 'TRX',
    'lifeTime': 90,
    'feePaidByPayer': 1,
    'underPaidCover': 10,
    'callbackUrl': 'https://example.com/callback',
    'description': 'Order #12345',
    'orderId': '12345',
    'email': 'payer@example.com'
}

response = requests.post(url, data=json.dumps(data))
result = response.json()
print(result)
```

{% endtab %}
{% endtabs %}


# Creating Static Wallet

You can create a static address in a specific currency and network using this endpoint. The static address will be associated with a unique trackId, and if a `callbackUrl` is set, your server will be notified of any payments received to that address. This allows you to receive transactions to the static address regardless of the amount and time.

> Please note that static addresses with no transactions for six months will be revoked.

<mark style="color:green;">`POST`</mark> `https://api.oxapay.com/merchants/request/staticaddress`

#### Request Body

<table><thead><tr><th width="141">Name</th><th width="100">Type</th><th width="511">Description</th></tr></thead><tbody><tr><td>merchant<mark style="color:red;">*</mark></td><td>string</td><td>Your merchant API key for authentication and authorization.</td></tr><tr><td>callbackUrl</td><td>string</td><td>The URL where payment information will be sent. Use this to receive notifications about payments made to the static address.</td></tr><tr><td>network</td><td>string</td><td>The blockchain <a href="/pages/PDPsC6YSkcay1dmWueRA">network</a> on which the static address should be created. If not specified, the default network will be used.</td></tr><tr><td>currency<mark style="color:red;">*</mark></td><td>string</td><td>The specific <a href="/pages/J7efulCOZC0zGKzpVHol">currency</a> for which you want to create a static address.</td></tr><tr><td>email</td><td>string</td><td>Provide the payer's email address for reporting purposes.</td></tr><tr><td>orderId</td><td>string</td><td>Specify a unique order ID for reference in your system.</td></tr><tr><td>description</td><td>string</td><td>Provide order details or any additional information that will be shown in different reports.</td></tr></tbody></table>

{% tabs %}
{% tab title="200: OK " %}

```json
{
    "result": integer, // The result code indicates the success or failure of the request.
    "message": string, // A message providing additional information about the result.
    "address": string // The generated static address for the specified currency and network.
}
```

{% endtab %}
{% endtabs %}

Please note that a successful request will return a result code 100. In case of any issues or validation problems, refer to the corresponding [result codes](/legacy/api-reference/result-code-table) for further details.

### Example codes

{% tabs %}
{% tab title="cURL" %}

```bash
curl -X POST https://api.oxapay.com/merchants/request/staticaddress \
  -d '{
    "merchant": "YOUR_MERCHANT_API_KEY",
    "currency": "BTC",
    "callbackUrl": "https://example.com/callback",
    "description": "Order #12345",
    "orderId": "ORD-12345",
    "email": "customer@example.com"
  }'
```

{% endtab %}

{% tab title="PHP" %}

```php
<?php

$url = 'https://api.oxapay.com/merchants/request/staticaddress';

$data = array(
    'merchant' => 'YOUR_MERCHANT_API_KEY',
    'currency' => 'BTC',
    'callbackUrl' => 'https://example.com/callback',
    'description' => 'Order #12345',
    'orderId' => 'ORD-12345',
    'email' => 'customer@example.com'
);

$options = array(
    'http' => array(
        'header' => 'Content-Type: application/json',
        'method'  => 'POST',
        'content' => json_encode($data),
    ),
);

$context  = stream_context_create($options);
$response = file_get_contents($url, false, $context);
$result = json_decode($response);
var_dump($result);
?>
```

{% endtab %}

{% tab title="Node.js" %}

```javascript
const axios = require('axios');
const url = 'https://api.oxapay.com/merchants/request/staticaddress';
const data = JSON.stringify({
    merchant: 'YOUR_MERCHANT_API_KEY',
    currency: 'BTC',
    callbackUrl: 'https://example.com/callback',
    description: 'Order #12345',
    orderId: 'ORD-12345',
    email: 'customer@example.com'
});

axios.post(url, data)
    .then(response => {
        console.log(response.data);
    })
    .catch(error => {
        console.error(error);
    });
```

{% endtab %}

{% tab title="Python" %}

```python
import requests
import json

url = 'https://api.oxapay.com/merchants/request/staticaddress'
data = {
    'merchant': 'YOUR_MERCHANT_API_KEY',
    'currency': 'BTC',
    'callbackUrl': 'https://example.com/callback',
    'description': 'Order #12345',
    'orderId': 'ORD-12345',
    'email': 'customer@example.com'
}

response = requests.post(url, data=json.dumps(data))
result = response.json()
print(result)
```

{% endtab %}
{% endtabs %}

Please note that you need to replace `YOUR_MERCHANT_API_KEY` with your actual merchant API key in the code snippets.


# Revoking Static Wallet

You can revoke a static wallet by providing the merchant API key and the address associated with the static wallet. This action will disable the static wallet and prevent any further transactions from being credited to the specified address.

<mark style="color:green;">`POST`</mark> `https://api.oxapay.com/merchants/revoke/staticaddress`

#### Request Body

<table><thead><tr><th width="136">Name</th><th width="100">Type</th><th width="515">Description</th></tr></thead><tbody><tr><td>merchant<mark style="color:red;">*</mark></td><td>String</td><td>Your merchant API key for authentication and authorization.</td></tr><tr><td>address<mark style="color:red;">*</mark></td><td>String</td><td>The address of the static wallet you want to revoke.</td></tr></tbody></table>

{% tabs %}
{% tab title="200: OK The response will contain the following fields:" %}

```json
{
    "result": integer, // The result code indicates the success or failure of the request.
    "message": string // A message providing additional information about the result.
}
```

{% endtab %}
{% endtabs %}

Now, you can proceed with integrating this functionality into your application using the provided endpoint, parameters, and response codes. If you encounter any issues or have questions, feel free to reach out to our support team for assistance.

Please note that a successful request will return a result code 100. In case of any issues or validation problems, refer to the corresponding [result codes](/legacy/api-reference/result-code-table) for further details.

### Example codes

{% tabs %}
{% tab title="cURL" %}

```bash
curl -X POST https://api.oxapay.com/merchants/revoke/staticaddress \
  -d '{
    "merchant": "YOUR_MERCHANT_API_KEY",
    "address": "WALLET_ADDRESS_TO_REVOKE"
  }'
```

{% endtab %}

{% tab title="PHP" %}

```php
<?php

$url = 'https://api.oxapay.com/merchants/revoke/staticaddress';

$data = array(
    'merchant' => 'YOUR_MERCHANT_API_KEY',
    'address' => 'WALLET_ADDRESS_TO_REVOKE'
);

$options = array(
    'http' => array(
        'header' => 'Content-Type: application/json',
        'method'  => 'POST',
        'content' => json_encode($data),
    ),
);

$context  = stream_context_create($options);
$response = file_get_contents($url, false, $context);
$result = json_decode($response);
var_dump($result);
?>
```

{% endtab %}

{% tab title="Node.js" %}

```javascript
const axios = require('axios');
const url = 'https://api.oxapay.com/merchants/revoke/staticaddress';
const data = JSON.stringify({
    merchant: 'YOUR_MERCHANT_API_KEY',
    address: 'WALLET_ADDRESS_TO_REVOKE'
});

axios.post(url, data)
    .then(response => {
        console.log(response.data);
    })
    .catch(error => {
        console.error(error);
    });
```

{% endtab %}

{% tab title="Python" %}

```python
import requests
import json

url = 'https://api.oxapay.com/merchants/revoke/staticaddress'
data = {
    'merchant': 'YOUR_MERCHANT_API_KEY',
    'address': 'WALLET_ADDRESS_TO_REVOKE'
}
response = requests.post(url, data=json.dumps(data))
result = response.json()
print(result)
```

{% endtab %}
{% endtabs %}

Please replace `YOUR_MERCHANT_API_KEY` with your actual merchant API key and `WALLET_ADDRESS_TO_REVOKE` with the address of the static wallet, you want to revoke. Each of these code snippets sends a POST request to the API endpoint with the specified parameters and checks the response to determine whether the revocation was successful or not.

<br>


# Static Wallets List

Use this endpoint to retrieve a list of static addresses associated with a specific business. The list can be filtered by various criteria, such as trackId, address, network, email and orderId. Pagination is also available to fetch the results in smaller sets.

<mark style="color:green;">`POST`</mark> `https://api.oxapay.com/merchants/list/staticaddress`

#### Request Body

<table><thead><tr><th width="136">Name</th><th width="100">Type</th><th width="520">Description</th></tr></thead><tbody><tr><td>merchant<mark style="color:red;">*</mark></td><td>String</td><td>Your merchant API key for authentication and authorization.</td></tr><tr><td>trackId</td><td>integer</td><td>Filter payments by a specific invoice ID.</td></tr><tr><td>page</td><td>integer</td><td>The page number of the results you want to retrieve. Possible values: from 1 to the total number of pages - default 1.</td></tr><tr><td>size</td><td>integer</td><td>Number of records to display per page. Possible values: from 1 to 200. Default: 1.</td></tr><tr><td>network</td><td>string</td><td>Filter payments by the expected <a href="/pages/PDPsC6YSkcay1dmWueRA">blockchain network</a> for the specified crypto currency.</td></tr><tr><td>address</td><td>string</td><td>Filter payments by the expected address. It’s better to filter static addresses.</td></tr><tr><td>email</td><td>string</td><td>Filter payments by the email.</td></tr><tr><td>orderId</td><td>string</td><td>Filter payments by a unique order ID for reference.</td></tr></tbody></table>

{% tabs %}
{% tab title="200: OK " %}

```json
{
  "result": integer, // The result code indicates the success or failure of the request.
  "message": string, // A message providing additional information about the result.
  "data": [
    {
      "trackId": string, // The unique identifier of each payment session of the OxaPay payment gateway, which can be used to query the payment status and report requests (if the request is successful).
      "address": string, // The static address.
      "network": string, // The blockchain network associated with the cryptocurrency.
      "callbackUrl": string, // The URL where payment information will be sent. Use this to receive notifications about the payment status.
      "email": string, // The specified email
      "orderId": string, // The specified orderId
      "description": string, // Additional information or description related to the static address.
      "date": string // The timestamp of the static address generation in Unix time format.
    }
  ],
  "meta": {
    "size": integer, // The number of static addresses returned in the current page.
    "page": integer, // The current page number of the result set.
    "pages": integer, // The total number of pages available based on the number of records and page size.
    "total": integer // The total number of static addresses available for the specified criteria.
  }
}

```

{% endtab %}
{% endtabs %}

Please note that a successful request will return a result code 100. In case of any issues or validation problems, refer to the corresponding [result codes](/legacy/api-reference/result-code-table) for further details.

### Example codes

{% tabs %}
{% tab title="cURL" %}

```bash
curl -X POST https://api.oxapay.com/merchants/list/staticaddress \
  -d '{
    "merchant": "YOUR_MERCHANT_API_KEY",
    "size": 20,
    "page": 1
  }'
```

{% endtab %}

{% tab title="PHP" %}

```php
<?php

$url = 'https://api.oxapay.com/merchants/list/staticaddress';

$data = array(
    'merchant' => 'YOUR_MERCHANT_API_KEY',
    'size' => 20,
    'page' => 1
);

$options = array(
    'http' => array(
        'header' => 'Content-Type: application/json',
        'method'  => 'POST',
        'content' => json_encode($data),
    ),
);

$context  = stream_context_create($options);
$response = file_get_contents($url, false, $context);
$result = json_decode($response);
var_dump($result);
?>
```

{% endtab %}

{% tab title="Node.js" %}

```javascript
const axios = require('axios');
const url = 'https://api.oxapay.com/merchants/list/staticaddress';
const data = JSON.stringify({
    merchant: 'YOUR_MERCHANT_API_KEY',
    size: 20,
    page: 1
});

axios.post(url, data)
    .then(response => {
        console.log(response.data);
    })
    .catch(error => {
        console.error(error);
    });
```

{% endtab %}

{% tab title="Python" %}

<pre class="language-python"><code class="lang-python">import requests
import json

url = 'https://api.oxapay.com/merchants/list/staticaddress'
data = {
  'merchant': 'YOUR_MERCHANT_API_KEY',
<strong>  'size': 20,
</strong>  'page': 1
}
response = requests.post(url, data=json.dumps(data))
result = response.json()
print(result)
</code></pre>

{% endtab %}
{% endtabs %}

Now you have the example code snippets in cURL, PHP, Node.js, and Python for making a request to the Static Wallets List endpoint.


# Payment Information

Use the Payment Information endpoint to retrieve the details of a specific payment by its TrackId. After creating an invoice, you will receive a TrackId, which you can use to make payment information requests.

<mark style="color:green;">`POST`</mark> `https://api.oxapay.com/merchants/inquiry`

#### Request Body

<table><thead><tr><th width="127">Name</th><th width="100">Type</th><th width="526">Description</th></tr></thead><tbody><tr><td>merchant<mark style="color:red;">*</mark></td><td>string</td><td>Your merchant API key for authentication and authorization.</td></tr><tr><td>trackId<mark style="color:red;">*</mark></td><td>integer</td><td>The unique identifier of each payment session in the OxaPay payment gateway. Use this TrackId to query the payment status and obtain detailed payment information.</td></tr></tbody></table>

{% tabs %}
{% tab title="200: OK " %}

```json
{
  "result": integer, // The result code indicates the success or failure of the request.
  "message": string, // A message providing additional information about the result.
  "trackId": string, // The unique identifier of the payment session.
  "status": string, // The current status of the payment (e.g., \"New,\" \"Waiting,\" \"Confirming,\" \"Paid,\" \"Expired,\" etc.).
  "type": string, // The invoive type(Invoice or White-Label)
  "amount": string, // The total amount of the payment.
  "currency": string, // The currency in which the payment was made.
  "payAmount": string, // The actual amount paid by the payer.
  "payCurrency": string, // The currency in which the payment was made by the payer.
  "network": string, // The blockchain network on which the payment was made.
  "address": string, // The payment address where the payment was received.
  "txID": string, // The payment txID
  "email": string, // The customer email
  "orderId": string, // The invoice order id
  "description": string, // The invoice description
  "feePaidByPayer": integer, // feePaidByPayer of the invoice
  "underPaidCover": interger, // underPaidCover of the invoice
  "date": string, // Creation time of the invoice.
  "payDate": string // Payment time of the invoice.
}
```

{% endtab %}
{% endtabs %}

Please note that a successful request will return a result code 100. In case of any issues or validation problems, refer to the corresponding [result codes](/legacy/api-reference/result-code-table) for further details.

### Example codes

{% tabs %}
{% tab title="cURL" %}

```bash
curl -X POST https://api.oxapay.com/merchants/inquiry \
  -d '{
    "merchant": "YOUR_MERCHANT_API_KEY",
    "trackId": TRACK_ID
  }'
```

{% endtab %}

{% tab title="PHP" %}

```php
<?php

$url = 'https://api.oxapay.com/merchants/inquiry';

$data = array(
    'merchant' => 'YOUR_MERCHANT_API_KEY',
    'trackId' => 'TRACK_ID'
);

$options = array(
    'http' => array(
        'header' => 'Content-Type: application/json',
        'method'  => 'POST',
        'content' => json_encode($data),
    ),
);

$context  = stream_context_create($options);
$response = file_get_contents($url, false, $context);
$result = json_decode($response);
var_dump($result);
?>
```

{% endtab %}

{% tab title="Node.js" %}

```javascript
const axios = require('axios');
const url = 'https://api.oxapay.com/merchants/inquiry';
const data = JSON.stringify({
    merchant: 'YOUR_MERCHANT_API_KEY',
    trackId: TRACK_ID
});

axios.post(url, data)
    .then(response => {
        console.log(response.data);
    })
    .catch(error => {
        console.error(error);
    });
```

{% endtab %}

{% tab title="Python" %}

```python
import requests
import json

url = 'https://api.oxapay.com/merchants/inquiry'
data = {
    'merchant': 'YOUR_MERCHANT_API_KEY',
    'trackId': TRACK_ID
}
response = requests.post(url, data=json.dumps(data))
result = response.json()
print(result)
```

{% endtab %}
{% endtabs %}

Please replace `YOUR_MERCHANT_API_KEY` with your actual merchant API key, and `PAYMENT_TRACK_ID` with the unique identifier of the payment session (TrackId) you want to inquire about. These code snippets demonstrate how to make a POST request to the Payment Information endpoint and handle the response in each respective programming language.


# Payment History

Use this endpoint to retrieve a list of payments belonging to a specific business. You can apply filters to the list based on various criteria, such as time range, payment status, amount, payment method, and more. Additionally, you can paginate the results using the \`page\` and \`size\` parameters.

<mark style="color:green;">`POST`</mark> `https://api.oxapay.com/merchants/list`

#### Request Body

<table><thead><tr><th width="179">Name</th><th width="100">Type</th><th width="473">Description</th></tr></thead><tbody><tr><td>merchant<mark style="color:red;">*</mark></td><td>string</td><td>Your merchant API key for authentication and authorization.</td></tr><tr><td>orderBy</td><td>string</td><td>Display the list in ascending or descending order. Possible values: 'asc', 'desc'. Default: 'desc'.</td></tr><tr><td>sortBy</td><td>string</td><td>Sort the received list by a parameter. Possible values: 'create_date', 'pay_date', 'amount'. Default: 'create_date'.</td></tr><tr><td>trackId</td><td>integer</td><td>Filter payments by a specific invoice ID.</td></tr><tr><td>page</td><td>integer</td><td>The page number of the results you want to retrieve. Possible values: from 1 to the total number of pages - default 1.</td></tr><tr><td>size</td><td>integer</td><td>Number of records to display per page. Possible values: from 1 to 200. Default: 10.</td></tr><tr><td>orderId</td><td>string</td><td>Filter payments by a unique order ID for reference.</td></tr><tr><td>status</td><td>string</td><td>Filter payments by status (e.g., "Paid", "Confirming").</td></tr><tr><td>feePaidByPayer</td><td>decimal</td><td>Filter payments based on whether the payer covers the invoice commission (1) or the merchant covers it (0).</td></tr><tr><td>type</td><td>string</td><td>Filter payments by type (e.g. "invoice", "white_label", "static_address").</td></tr><tr><td>network</td><td>string</td><td>Filter payments by the expected <a href="/pages/PDPsC6YSkcay1dmWueRA">blockchain network</a> for the specified crypto currency.</td></tr><tr><td>payCurrency</td><td>string</td><td>Filter payments by a specific crypto <a href="/pages/J7efulCOZC0zGKzpVHol">currency symbol</a> in which the pay amount is specified.</td></tr><tr><td>currency</td><td>string</td><td>Filter payments by a specific <a href="/pages/J7efulCOZC0zGKzpVHol">currency symbol</a>.</td></tr><tr><td>toAmount</td><td>float</td><td>Filter payments with amounts less than or equal to the specified value.</td></tr><tr><td>fromAmount</td><td>float</td><td>Filter payments with amounts greater than or equal to the specified value.</td></tr><tr><td>toDate</td><td>string</td><td>The end of the date window to query for invoices in unix format</td></tr><tr><td>fromDate</td><td>string</td><td>The start of the date window to query for invoices in unix format</td></tr><tr><td>address</td><td>string</td><td>Filter payments by the expected address. It’s better to filter static addresses.</td></tr><tr><td>txID</td><td>string</td><td>Filter the payment with your transaction hash</td></tr></tbody></table>

{% tabs %}
{% tab title="200: OK " %}

```json
{
  "result": integer, // The result code indicates the success or failure of the request.
  "message": string, // A message providing additional information about the result.
  "data": array, // An array containing the list of payment information if the request is successful.
  "meta": object // including size, page, pages, total.
}
```

{% endtab %}
{% endtabs %}

Please note that a successful request will return a result code 100. In case of any issues or validation problems, refer to the corresponding [result codes](/legacy/api-reference/result-code-table) for further details.

### Example codes

{% tabs %}
{% tab title="cURL" %}

<pre class="language-bash"><code class="lang-bash">curl -X POST https://api.oxapay.com/merchants/list \
  -d '{
    "merchant": "YOUR_MERCHANT_API_KEY",
<strong>    "fromDate": 1690848000,
</strong>    "toDate": 1691625600,
    "size": 20,
    "page": 1
  }'
</code></pre>

{% endtab %}

{% tab title="PHP" %}

```php
<?php

$url = 'https://api.oxapay.com/merchants/list';

$data = array(
    'merchant' => 'YOUR_MERCHANT_API_KEY',
    'fromDate' => 1690848000,
    'toDate' => 1691625600,
    'size' => 20,
    'page' => 1
);

$options = array(
    'http' => array(
        'header' => 'Content-Type: application/json',
        'method'  => 'POST',
        'content' => json_encode($data),
    ),
);

$context  = stream_context_create($options);
$response = file_get_contents($url, false, $context);
$result = json_decode($response);
var_dump($result);
?>
```

{% endtab %}

{% tab title="Node.js" %}

```javascript
const axios = require('axios');
const url = 'https://api.oxapay.com/merchants/list';
const data = JSON.stringify({
    merchant: 'YOUR_MERCHANT_API_KEY',
    fromDate: 1690848000,
    toDate: 1691625600,
    size: 20,
    page: 1
});

axios.post(url, data)
    .then(response => {
        console.log(response.data);
    })
    .catch(error => {
        console.error(error);
    });
```

{% endtab %}

{% tab title="Python" %}

```python
import requests
import json

url = 'https://api.oxapay.com/merchants/list'
data = {
    'merchant': 'YOUR_MERCHANT_API_KEY',
    'fromDate': 1690848000,
    'toDate': 1691625600,
    'size': 20,
    'page': 1
}
response = requests.post(url, data=json.dumps(data))
result = response.json()
print(result)
```

{% endtab %}
{% endtabs %}

Now you have the example code snippets in cURL, PHP, Node.js, and Python for making a request to the Payment History endpoint. Feel free to use these examples to integrate the OxaPay API into your application or website and retrieve payment information based on your specified criteria.


# Accepted Coins

The endpoint allows you to retrieve the list of cryptocurrencies that are available for payments through OxaPay. These cryptocurrencies are set by you as the merchant in the "Merchant" tab on your account, indicating the coins accepted for transactions on your platform or website.

<mark style="color:green;">`POST`</mark> `https://api.oxapay.com/merchants/allowedCoins`

#### Request Body

<table><thead><tr><th width="130">Name</th><th width="100">Type</th><th width="524">Description</th></tr></thead><tbody><tr><td>merchant<mark style="color:red;">*</mark></td><td>string</td><td>Your merchant API key for authentication and authorization.</td></tr></tbody></table>

{% tabs %}
{% tab title="200: OK " %}

```json
{
  "result": integer, // The result code indicates the success or failure of the request.
  "message": string, // A message providing additional information about the result.
  "allowed": array // An array containing the cryptocurrency symbols that are accepted for payments.
}
```

{% endtab %}
{% endtabs %}

By making a request to this endpoint with your valid merchant API key, you can obtain the list of accepted cryptocurrencies for OxaPay payments and tailor your payment options accordingly.

Please note that a successful request will return a result code 100. In case of any issues or validation problems, refer to the corresponding [result codes](/legacy/api-reference/result-code-table) for further details.

### Example codes

{% tabs %}
{% tab title="cURL" %}

```bash
curl -X POST https://api.oxapay.com/merchants/allowedCoins \
-d '{"merchant": "YOUR_MERCHANT_API_KEY"}'
```

{% endtab %}

{% tab title="PHP" %}

```php
<?php

$url = "https://api.oxapay.com/merchants/allowedCoins";

$data = array(
    "merchant" => 'YOUR_MERCHANT_API_KEY'
);

$options = array(
    'http' => array(
        'header' => 'Content-Type: application/json',
        'method'  => 'POST',
        'content' => json_encode($data),
    ),
);

$context  = stream_context_create($options);
$response = file_get_contents($url, false, $context);
$result = json_decode($response);
var_dump($result);
?>
```

{% endtab %}

{% tab title="Node.js" %}

```javascript
const axios = require('axios');
const url = 'https://api.oxapay.com/merchants/allowedCoins';
const data = JSON.stringify({
    merchant: 'YOUR_MERCHANT_API_KEY'
});

axios.post(url, data)
    .then(response => {
        console.log(response.data);
    })
    .catch(error => {
        console.error(error);
    });
```

{% endtab %}

{% tab title="Python" %}

```python
import requests
import json

url = "https://api.oxapay.com/merchants/allowedCoins"
data = {
    'merchant': 'YOUR_MERCHANT_API_KEY'
}
response = requests.post(url, data=json.dumps(data))
result = response.json()
print(result)
```

{% endtab %}
{% endtabs %}

Please replace `YOUR_MERCHANT_API_KEY` with your actual OxaPay merchant API key when using these code snippets. These snippets will send a POST request to the "Accepted Coins" endpoint and print the response containing the list of accepted cryptocurrencies for OxaPay payments.


# Price

By using this endpoint, you can instantly retrieve the current prices of all crypto currencies supported by OxaPay.

<mark style="color:green;">`POST`</mark> `https://api.oxapay.com/api/prices`

{% tabs %}
{% tab title="200: OK " %}

```json
{
  "result": integer, // The result code indicates the success or failure of the request.
  "message": string, // A message providing additional information about the result.
  "data": object // The real-time price of all supported crypto currencies.
}
```

{% endtab %}
{% endtabs %}

Please note that the price provided in the response may fluctuate over time due to the volatile nature of cryptocurrency markets.

<br>


# Creating Payout

This resource allows users to submit cryptocurrency payouts to active recipients. It caters to various use cases such as offering cryptocurrency withdrawals to clients, facilitating payouts for marketplaces or affiliate networks, or managing payroll by creating multiple payouts at once.

<mark style="color:green;">`POST`</mark> `https://api.oxapay.com/api/send`

To use this endpoint, you need to make a POST request to the specified URL with the required parameters. The typical parameters for this request include:

#### Request Body

<table><thead><tr><th width="147">Name</th><th width="100">Type</th><th width="505">Description</th></tr></thead><tbody><tr><td>key<mark style="color:red;">*</mark></td><td>string</td><td>Your payout API key for authentication and authorization.</td></tr><tr><td>callbackUrl</td><td>string</td><td>The URL where payment information and status updates will be sent. You can include additional parameters in the URL if needed.</td></tr><tr><td>network</td><td>string</td><td>The blockchain <a href="/pages/PDPsC6YSkcay1dmWueRA">network</a> to be used for the payout. The field is required for external payment</td></tr><tr><td>memo</td><td>string</td><td>You can set a memo for <a href="/pages/PDPsC6YSkcay1dmWueRA">networks</a> that support this option.</td></tr><tr><td>currency<mark style="color:red;">*</mark></td><td>string</td><td>The <a href="/pages/J7efulCOZC0zGKzpVHol">symbol of the cryptocurrency</a> to be sent (e.g., BTC, ETH, LTC, etc.).</td></tr><tr><td>amount<mark style="color:red;">*</mark></td><td>decimal</td><td>The amount of cryptocurrency to be sent as the payout.</td></tr><tr><td>address<mark style="color:red;">*</mark></td><td>string</td><td>The cryptocurrency address of the recipient where the payout will be sent.</td></tr><tr><td>description</td><td>string</td><td>Provide payout details or any additional information that will be shown in different reports.</td></tr></tbody></table>

{% tabs %}
{% tab title="200: OK " %}

```json
{
  "result": integer, // The result code indicates the success or failure of the request.
  "message": string, // A message providing additional information about the result.
  "trackId": string, // The unique identifier for the payout request in the OxaPay payment gateway. 
  "status": string // The current status of the payout (Processing, Sending, Complete, or Rejected).
}
```

{% endtab %}
{% endtabs %}

Please ensure that you provide the necessary parameters accurately in the request to create a payout successfully. Additionally, handle the response accordingly based on the \`result\` and \`status\` fields to track the progress and status of your payouts.

Please note that a successful request will return a result code 100. In case of any issues or validation problems, refer to the corresponding [result codes](/legacy/api-reference/result-code-table) for further details.

### Example codes

{% tabs %}
{% tab title="cURL" %}

```bash
curl -X POST https://api.oxapay.com/api/send \
-d '{
  "key": "YOUR_PAYOUT_API_KEY",
  "address": "RECEIVER_CRYPTO_ADDRESS",
  "amount": 0.5,
  "currency": "BTC",
  "callbackUrl": "https://example.com/callback"
}'
```

{% endtab %}

{% tab title="PHP" %}

```php
<?php

$url = 'https://api.oxapay.com/api/send';

$data = array(
  'key' => 'YOUR_PAYOUT_API_KEY',
  'address' => 'RECEIVER_CRYPTO_ADDRESS',
  'amount' => 0.5,
  'currency' => 'BTC',
  'callbackUrl' => 'https://example.com/callback'
);

$options = array(
    'http' => array(
        'header' => 'Content-Type: application/json',
        'method'  => 'POST',
        'content' => json_encode($data),
    ),
);

$context  = stream_context_create($options);
$response = file_get_contents($url, false, $context);
$result = json_decode($response);
var_dump($result);
?>
```

{% endtab %}

{% tab title="Node.js" %}

```javascript
const axios = require('axios');
const url = 'https://api.oxapay.com/api/send';
const data = {
  key: 'YOUR_PAYOUT_API_KEY',
  address: 'RECEIVER_CRYPTO_ADDRESS',
  amount: 0.5,
  currency: 'BTC',
  callbackUrl: 'https://example.com/callback'
};

axios.post(url, data)
  .then(response => {
    console.log(response.data);
  })
  .catch(error => {
    console.error(error.response.data);
  });
```

{% endtab %}

{% tab title="Python" %}

```python
import requests
import json

url = 'https://api.oxapay.com/api/send'
data = {
  'key': 'YOUR_PAYOUT_API_KEY',
  'address': 'RECEIVER_CRYPTO_ADDRESS',
  'amount': 0.5,
  'currency': 'BTC',
  'callbackUrl': 'https://example.com/callback'
}
response = requests.post(url, data=json.dumps(data))
result = response.json()
print(result)
```

{% endtab %}
{% endtabs %}

Replace `YOUR_PAYOUT_API_KEY` with your actual payout API key, and `RECEIVER_CRYPTO_ADDRESS` with the recipient's cryptocurrency address for the payout.

### Allowed IPs for Transfers

To enhance security, you can configure allowed IPs to control who can initiate payout requests. If you set this restriction, only requests coming from the specified IPs will be permitted. Any transfer requests from other IPs will be failed.

To use this feature, you can receive your server's IP address by using the following endpoint:

<mark style="color:green;">`GET`</mark> `https://api.oxapay.com/api/myip`

To determine which IP version works with the OxaPay endpoint, you can use the API provided.


# Payout Information

Use the Payout Information endpoint to retrieve the details of a specific payment by its trackId. After creating an invoice, you will receive a TrackId, which you can use to make payment information requests.

<mark style="color:green;">`POST`</mark> `https://api.oxapay.com/api/inquiry`

#### Request Body

<table><thead><tr><th width="113">Name</th><th width="100">Type</th><th width="541">Description</th></tr></thead><tbody><tr><td>key<mark style="color:red;">*</mark></td><td>string</td><td>Your payout API key for authentication and authorization.</td></tr><tr><td>trackId<mark style="color:red;">*</mark></td><td>integer</td><td>The unique identifier of each payout request from OxaPay. Use this TrackId to query the payout status and obtain detailed payout information.</td></tr></tbody></table>

{% tabs %}
{% tab title="200: OK " %}

```json
{
  "result": integer, // The result code indicates the success or failure of the request.
  "message": string, // A message providing additional information about the result.
  "trackId": string, // The unique identifier of the payment session.
  "address": string, // The recipient's cryptocurrency address for the payout.
  "currency": string, // The cryptocurrency symbol of the payout.
  "network": string, // The blockchain network associated with the cryptocurrency.
  "amount": string, // The amount of cryptocurrency sent in the payout.
  "fee": string, // The transaction fee (if any) associated with the payout.
  "status": string, // The status of the payout transaction (e.g., \"Complete\", \"Processing\", \"Rejected\").
  "type": string, // The type of the payout (e.g., \"internal\" or \"external\").
  "txID": string, // The transaction ID of the payout on the blockchain (if available).
  "date": string, // The timestamp of the payout transaction in Unix time format.
  "description": string // Additional information or description related to the payout transaction.
}
```

{% endtab %}
{% endtabs %}

Please note that a successful request will return a result code 100. In case of any issues or validation problems, refer to the corresponding [result codes](/legacy/api-reference/result-code-table) for further details.

### Example codes

{% tabs %}
{% tab title="cURL" %}

```bash
curl -X POST https://api.oxapay.com/api/inquiry \
  -d '{
    "key": "YOUR_PAYOUT_API_KEY",
    "trackId": TRACK_ID
  }'
```

{% endtab %}

{% tab title="PHP" %}

```php
<?php

$url = 'https://api.oxapay.com/api/inquiry';

$data = array(
    'key' => 'YOUR_PAUOUT_API_KEY',
    'trackId' => 'TRACK_ID'
);

$options = array(
    'http' => array(
        'header' => 'Content-Type: application/json',
        'method'  => 'POST',
        'content' => json_encode($data),
    ),
);

$context  = stream_context_create($options);
$response = file_get_contents($url, false, $context);
$result = json_decode($response);
var_dump($result);
?>
```

{% endtab %}

{% tab title="Node.js" %}

```javascript
const axios = require('axios');
const url = 'https://api.oxapay.com/api/inquiry';
const data = JSON.stringify({
    key: 'YOUR_PAYOUT_API_KEY',
    trackId: TRACK_ID
});

axios.post(url, data)
    .then(response => {
        console.log(response.data);
    })
    .catch(error => {
        console.error(error);
    });
```

{% endtab %}

{% tab title="Python" %}

```python
import requests
import json

url = 'https://api.oxapay.com/api/inquiry'
data = {
    'key': 'YOUR_PAYOUT_API_KEY',
    'trackId': TRACK_ID
}
response = requests.post(url, data=json.dumps(data))
result = response.json()
print(result)
```

{% endtab %}
{% endtabs %}

Please replace `YOUR_PAYOUT_API_KEY` with your actual payout API key, and`TRACK_ID` with the unique identifier of the payout session (TrackId) you want to inquire about. These code snippets demonstrate how to make a POST request to the Payout Information endpoint and handle the response in each respective programming language.




---

[Next Page](/llms-full.txt/1)

