For simple use of the platform enter your cryptocurrency addresses, create checkout and copy and paste the embed code, or you can use the direct payment link. If you include multiple checkouts on the same page, please note that you only need to include the <script>...</script> script code portion of the embed code once. You can also use integrations.
If you are using integration, complete the installation as explained here.
If you are using integration, complete the installation as explained here.
If you are using integration, complete the installation as explained here.
If you are using integration, complete the installation as explained here.
If you are using integration, complete the installation as explained here.
Required API keys and Nodes
The following cryptocurrencies require an API key or a node to work:
You need to save your Monero secret viewkey in Settings > Monero secret viewkey. For more details about Monero click here.
Requirements
Your web project must support HTML or/and PHP, and pages containing a checkout must be opened via a web browser.
Creating your first checkout
Create the checkout from the Checkouts area or via code.
Insert the Embed code on your website page, in the position where you want to show it.
If you are not using an integration, use the webhook to validate and finalize the purchase. For security reasons you should always validate the purchase via webhook. Use the redirect checkout option to redirect the customer to a new page after the purchase is complete. Use the JS event BXCTransactionCompleted to execute a JS code after the purchase is complete. See the JS events for more details.
Information
To understand how MyGate detect the payments see the address generation section.
Having Problems?
If you're having any issues at all, please contact our friendly support team.
If you have sent a cryptocurrency payment and MyGate does not detect it (pending transaction), the most common reasons are as follows:
The amount sent is different from the one shown by MyGate. If the address is not dynamically generated, the amount sent must be the exact amount shown by MyGate or the payment will not be detected. Enable the generation of dynamic addresses to also accept amounts higher than the one shown by MyGate.
The transaction is pending or has not been sent to the blockchain. Make sure the transaction is valid and has been sent. Use external websites like https://www.blockchain.com to check it.
The service or wallet from which you sent the transaction is not working properly. Send the transaction from a personal wallet, not from an exchange. Transactions made from exchanges can create troubles and are not advised.
Never use exchange addresses to receive payments, always use addresses from a personal wallet.
Ensure that you are sending the funds to the main network and not to a testnet network. Alternatively, if you are in testnet mode, confirm that you are sending the funds to the correct testnet network.
WooCommerce order is not marked as completed
If you MyGate show the payment as completed, but the WooCommerce order is still pending. Check all of the following. To manually mark a WooCommerce order as completed, navigate to the MyGate > Transactions section. Find the specific transaction you wish to mark as completed and then select the Mark as completed option from the transaction menu.
Disable all security plugins and try again.
Make sure you are not blocking access to WordPress REST API.
By default, MyGate use the single address set in Settings > Cryptocurrency addresses for all transactions in the same cryptocurrency. More details below.
MyGate detect the payment from its cryptocurrency amount, in which case, the amount is always unique for each transaction.
The amount always changes less than 0.02% of the original amount.
The user must submit the exact amount shown by MyGate or the payment will not be detected.
The underpayments setting is not compatible with the single address method. You have to activate the address generation to use this setting.
An address can be used again 24 hours after the last outstanding transaction or immediately after completing the transaction or if a transaction has been canceled. Your can stop the reusing addresses after 24 hours by checking Settings > Stop reusing addresses.
Address generation
When using this feature MyGate generates a new and unique cryptocurrency address for each transaction.
The transaction amount for the same FIAT amout remains the same.
If the user sends an amount different from the one show by MyGate (partial payment) the transaction is still recognized but is completed only if the amount is equal or more than the requested amount. If the amount is less than the requested amount, and the underpayments setting is not active, the following happen:
The transaction status is set to Underpayment.
The amount sent and what remains to be sent are saved in the description of the transaction, view it from the Transactions area. Open the transaction menu to view the full description.
The user sees a message showing that there is an underpayment. You can customize the message from Settings > Payment form texts.
The webhook is not sent.
The TransactionCompleted JS event is not sent.
In case of WooCommerce, or with other integrations, the purchase is not completed.
You can activate multiple address generation methods and use them as backup methods if one method fails. The priority is as follow:
1. Nodes - Address generation via node has priority and if active is always used first.
2. Custom explorer
3. Address list
4. Coinbase and Gemini - They are used only as last option.
5. Single address
The number of decimals is limited to 2 if the cryptocurrency of the transaction is a stablecoin.
You must add the addresses in Settings > Cryptocurrency addresses also if you use address generation.
Address list
This method generates the address using a list of addresses manually set by you.
You have to add at least 3 addresses to activate the address generation.
Add the addresses in Settings > Cryptocurrency addresses, separate addresses by comma.
The first address is reserved and used only if no more addresses are available, in this case the single address method is used.
The MyGate balance section controls only the first address.
Underpayments
Activate the Settings > Accept transactions with underpayments option to start accepting underpayments. An underpayment occurs when the user sends an amount that is less than what MyGate requested.
Only underpayments with a difference of 5% or less are accepted. If the user sends an amount that is less than 5% of the requested amount, the transaction will not be accepted.
Webhooks are automated data sent from MyGate to a URL set by you when something happens. Use the webhook to validate and finalize the purchase. For security reasons you should always validate the purchase via webhook. You must be a developer and know how to coding to setup the webhook.
How to validate a purchase
In Settings > Webhook > Webhook URL enter the destination URL. MyGate will send the data to this URL. The URL must point to a file that read the data received, with PHP, you can use the code below to read the data.
In Settings > Webhook > Webhook secret key enter a secret password of your choice. The password will be included in all webhook calls (see key value in the example below). Use it to verify that the webhook is sent by MyGate and not someone else.
Save the changes. MyGate will now start sending the below data when a payment is complete. To validate the transaction you must check that the value of the key status is equal to C. If the transaction was made from a dynamic checkout, you must also verify that the transaction amount_fiat value is correct and eqaual to the price amount of the purchased item.
The webhook sent when a payment is confirmed is only ever sent 1 time.
Dynamic checkouts
To create checkouts by HTML code place the code below into the web page where you want to show the checkout.
<divdata-bxc="custom-123"data-price=""></div>
URL
You can create a checkout page on the fly via the URL below. Use the URL paremeter lang=LANGUAGE_CODE to change language. Replace API-KEY with the value at MyGate > Account > API key.
If you are using the URL method remove the prefix data- from all attributes.
Attribute
Description
data-bxc
The checkout ID. It must starts with custom-.
data-price
The price amount.
data-external-reference
Enter the string you want, it will be sent via webhook and as a redirect URL parameter.
data-redirect
Redirect the user to a specific URL after the purchase is complete.
data-currency
The checkout currency. Default: Settings > Currency.
data-type
Set the checkout type. Available options: inline, link, popup, hidden Default: inline.
data-note
Add a note to the transaction. If the checkout is via URL this attribute should be URL encoded.
data-pay
Force the user to pay with a specific cryptocurrency. Available options: the cryptocurrency code, e.g. btc.
Warning Security measure
When using dynamic checkouts without encrypting attributes you must validate the payment via webhook and verify that the transaction amount_fiat value is correct and eqaual to the price amount of the purchased item.
Languages
Manually set the checkout language
You can force the checkout language via URL paramenter and JS variable. To set the language via URL parameter append the attribute ?lang=LANGUAGE-CODE to the client.js script link, e.g. <script id="mygate" src="[YOUR-URL]/js/client.js?lang=it"></script>. To set the language via JS variable insert the JS code <script>var BXC_LANGUAGE = "LANGUAGE-CODE";</script> into the checkout page, before the client.js script. Also, Settings > Languages > Payment form language must be set to Default.
Information
Both admin-side and client-side are multilingual. You can set the languages from Settings > Languages.
If the language is set to multilingual the language will be the browser language of the user.
To check the checkout language you must be logged out. If you are logged in as an administrator, log out or open the payment page from another browser or use the browser's private / incognito window.
If you are using the WordPress version and your website is multilingual, MyGate will use the active page language if Settings > Languages > Payment form language is set to Default. If you are using WooCommerce or Easy Digital Downloads, you need WPML or Polylang to redirect the user to the payment page in the correct language.
Custom tokens
You can add unlimited and tokens and start accepting payments with them.
Unlisted token
If your token is not listed on major cryptocurrency exchanges, MyGate cannot get your token's FIAT exchange rate. To solve this issue set the USD exchange rate of your token (set how much is the USD value of your 1 token) in Settings > Custom token > USD exchange rate. To retrieve the exchange rate dynamically, input the URL in the Settings section under Custom token. The URL should directly provide the USD exchange rate when accessed using the HTTP GET method. For instance, refer to this example: https://mygate.me/files/exchange_rate.txt.
Listed token
If your token is listed on major cryptocurrency exchanges, enter all the required information in Settings > Custom token and you are done.
Information
The setting Token code must contain the code of your token, it must be lowercase and without spaces or symbols, e.g. btc, eth.
Nodes
Connect Mygate to a node to enable powerful features.
Setup
In Node URL enter the URL of your node. The URL should contain the authentication details, e.g. http://user:[email protected]:1832.
In Node headers enter any additional headers required for authentication. Use the following syntax: key:value,key:value,....
See the nodes as a service section for a list of ready-to-use node providers.
Address generation
This feature generate a new and unique cryptocurrency address for each transaction.
Once the payment is received, it is transferred to the node transfer address, if set, otherwise to the corrispong address set in Settings > Cryptocurrency addresses. The amount will be less than the received amount because of the network fee spent for the transfer.
Generated addresses are reused 24 hours after the last payment. We do this for performance reasons and to save you money when using Ethereum.
Warning If the transfer fails, you can retrieve the private key of the wallet containing the funds using either the REST API function encryption. To decrypt, use the value stored in the database row btc-addresses or eth-addresses in the bxc_settings table. Decryption will reveal the addresses and their corresponding private keys.
Warning Changing your Mygate login details could result in loss of funds, if there are locked funds in the generated addresses. More details here.
Address generation via Xpub - Bitcoin only
Address generation via Xpub is another way to generate Bitcoin addresses. It's more secure and generates fewer fees, but it's more complex to use.
To enable the address generation simply enter the xpub key.
The default address generation method supports alzo zpub and ypub keys. Address generation via node only supports xpub keys. If you only get the zpub key, convert it to an xpub key with a tool like https://github.com/jlopp/xpub-converter (download it and open the file index.html).
Node address generation uses your node and the Bitcoin REST API to generate the address. Use it if your wallet doesn't support the address generated via the default method.
You can get the xpub key from your wallet settings. All major non-custodial wallets like Electrum and Exodus can show it. It is recommended to use Electrum. Get the key from Wallet > Information.
It's more secure because Mygate doesn't need any private keys to generate the addresses and only your wallet can access the funds sent to the generated addresses.
Generate fewer fees because there is no need to transfer the amount from the generated address to your main address.
Warning Not all wallets support the address generated via xpub by Mygate. Test with a small amount and see if your wallet shows the amount. If it doesn't show, your money can be recovered with your private keys but we don't provide any help for that. The support does not cover it. The Electrum wallet is compatible with Mygate addresses generated via xpub.
Warning Because as xpub works, your wallet may stop checking addresses after 20 consecutive addresses with no balance. When testing, make sure you don't generate more than 20 addresses without sending any money to any of them.
Running your own node can be challenging. There are a number of services that run optimized node infrastructures for you, so you can focus on developing your application or product instead. The list below contains node providers that we have already tested with Mygate.
If the invoice generation fails (for example because there is not enough remote balance), the Mygate checkout goes back to the cryptocurrency list, informs the user of a problem and asks to use another cryptocurrency.
Enable Settings > Email notifications > Lightning Network error to get notified by email when invoice generation fails.
Running your own Lightning Network node can be challenging. There are a number of services that run optimized node infrastructures for you, so you can focus on developing your application or product instead. The list below contains node providers that we have already tested with Mygate.
Click Create API key and as Scope select Primary, under API key settings check Found management, Trading, Require session heartbeat.
Copy API key and API Secret and paste them in Mygate > Settings > Gemini.
In Gemini click Create API key.
Address generation
This feature generate a new and unique cryptocurrency address for each transaction. To use it, you just have to activate it, no configuration is needed. For more details see the address generation section.
Transfer to address
This feature automatically transfers the cryptocurrency amount sent by the user to the dynamically generated address to the addresses set in Settings > Cryptocurrency addresses every time a transaction is completed.
To increase the security of this feature use the Mygate whitelist.
This function is active only if the address generation function is active.
The destination addresses are those saved in Settings > Cryptocurrency addresses, you need to add all these addresses to the Gemini whitelist, do it from Gemini > Settings > Approved addresses or got to https://exchange.gemini.com/settings/approvedAddresses.
If the instant conversion function is active, this function is disabled.
Instant conversion
This feature automatically convert the cryptocurrency amount sent by the user to USD, EURO, GBP or other currencies every time a transaction is completed.
Select GUSD only if you accept payment in BTC and ETH only. Conversion to GUSD is supported only with BTC and ETH.
If this function is active, the transfer function is disabled.
Sandbox account
Check this box if you are using the Gemini sandbox account for testing purposes.
Enter the API keys area and click Create API key. Enter a name and check all the permissions, then click Create & download.
Copy API key name and Private key and paste them in Mygate > Settings > Coinbase.
Address generation
This feature generate a new and unique cryptocurrency address for each transaction. To use it, you just have to activate it, no configuration is needed. For more details see the address generation section.
Transfer to address
This feature automatically transfers the cryptocurrency amount sent by the user to the dynamically generated address to the addresses set in Settings > Cryptocurrency addresses every time a transaction is completed.
To enable this feature you must enable the 2FA. Go to you Coinbase security settings page and under 2FA Settings > Active methods add a new method, the method must be an Auth app like Google Authenticator. You should see a QR code, scan it with the a QR Code scanner app. We suggest the privacy focused app QR-Scanner. When you scan the QR code you will get a code like otpauth://totp/Coinbase:Authenticator%203?algorithm=SHA1&digits=6&issuer=Coinbase&period=30&secret=YVXXXX4ODMB4LXXXXLFN1XXXGH
Enter the secret part (e.g. YVXXXX4ODMB4LXXXXLFN1XXXGH) in Mygate > Settings > Coinbase > 2FA key.
To increase the security of this feature use the Mygate whitelist.
This function is active only if the address generation function is active.
If the instant conversion function is active, this function is disabled.
Instant conversion
This feature automatically convert the cryptocurrency amount sent by the user to your main Coinbase FIAT currency (e.g. USD) every time a transaction is completed.
If this function is active, the transfer function is disabled.
Use PayPal to start accepting payments via PayPal. To get started, follow the steps below.
Enter the PayPal email of the account that will receive the payments in Mygate > Settings > PayPal > PayPal email.
From the top right profile menu click Account Settings > Website payments > Website preferences (https://www.paypal.com/businessmanage/preferences/website) and set the Auto return for website payments to on. Enter http://# as URL.
Visit https://dashboard.stripe.com/webhooks and add an end point, in Endpoint URL enter https://app.mygate.me/stripe.php. Listen for the following events: checkout.session.completed.
Create a new product from https://dashboard.stripe.com/products and copy the Product ID, e.g. prod_MAxqp5jYGKu2Sx, paste it in Mygate > Settings > Stripe > Product ID. With Mygate, a single product is utilized for all your sales, automatically applying the appropriate sale price. The product title should be generic, such as "Crypto Payment".
Go to https://secure.2checkout.com/cpanel/webhooks_api.php (Dashboard > Integrations > Webhooks & API) and copy Merchant Code, Secret Key, and Buy link secret word, paste the values in Mygate > Settings > 2Checkout.
Go to https://secure.2checkout.com/cpanel/webhooks_api.php (Dashboard > Integrations > Webhooks & API > IPN Settings) and add a new IPN URLs, enter the URL https://app.mygate.me/verifone.php. In General IPN Settings select the trigger Authorized and approved orders (sent after electronic delivery) and save the changes.
Mind that in localhost the transaction will not be marked as completed because the Verifone webhook can not be received.
Invoicing
Invoices are not available for pending transactions.
Invoices are deleted after 24 hours for security reasons. Administrator and users can re-generate them at a later time.
The invoice generation link is https://app.mygate.me/pay.php?invoice=ENCRYPTED-TRANSACTION-ID, replace ENCRYPTED-TRANSACTION-ID with the encrypted transaction ID, e.g. https://app.mygate.me/pay.php?invoice=8kjY56imsLMd89oklbv4. Encrypt the transaction ID with the REST API function encryption, or the JS AJAX API function encryption. Add the URL attribute download to show directly the PDF.
VAT
If you enable VAT validation you need to create an account at https://vatsense.com and enter the API key in Settings > VAT > Vatsense API key. This is a paid service but you have 100 free validations per month.
Once checked, all VAT numbers, even the invalid ones, are saved in the Mygate database and excluded from any future verification.
To deduct the VAT amount for valid VAT numbers, it is necessary to enable VAT validation.
VAT is automatically calculated based on the user's IP address.
VAT is only shown if the IP address is from a VAT-applying country.
If VAT is enabled, your webhook must verify that the value is equal to or greater than the original value.
If the invoice is enabled and the user changes the country of the invoice, the VAT country changes accordingly.
The VAT amount is shown on the PDF invoice.
The VAT rates are provided by https://vatstack.com and are updated periodically.
VAT details are sent in the webhook and in the TransactionCompleted JavaScript event.
VAT details are visible in the transaction details.
VAT does not need to be enabled for WooCommerce and Easy Digital Download purchases because it is handled by WooCommerce and Easy Digital Download.
Custom explorer
You can use a custom Blockchain explorer to analyze the blockchains and generate a new payment address for each transaction. To do that, follow the steps below. If you want to generate a new address for each transaction you can use https://www.blockchain.com/api/api_receive.
Instructions
In Settings > Custom Blockchain explorer enter the URLs to get the balance of your addresses (Balance URL), single transaction details (Transaction URL), list of the latest transactions (Transactions URL) and to activate the option that generate a new payment address for each transaction (Address generator URL). The base URLs must be the same for all cryptocurrencies, you must use the keyword {N} to automatically change the network URL part, {N} will be automatically replaced by btc, eth, doge based on the active cryptocurrency. Use {N2} to use bitcoin, ethereum, dogecoin instead. Use the keyword {R} to automatically set the address or transaction ID of the active Mygate transaction. For example, the URL https://blockscout.com/{N}/mainnet/api?module=account&action=balance&address={R} will become something like https://blockscout.com/btc/mainnet/api?module=account&action=balance&address=3EBVDZUU6M2Pvu4rAqHwNESDgXBfJTAz7r for Bitcoin balance and https://blockscout.com/eth/mainnet/api?module=account&action=balance&address=0x298b78d398dd02031c40a4ee42622856249aef3c for Ethereum balance.
In Balance path, Transaction paths, Transactions paths, Address generator path enter the JSON array paths of the values to get. Use the following syntax:
key>subkey>..., key>subkey>..., ...
For example the Balance path of the following JSON response is result.
In Transactions paths enter the JSON array paths to get the following values: transactions list path, transaction time in unix format, transaction address, transaction amount, number of confirmations, transaction hash. The paths must respect this exact order. For example, the Transaction paths value of the following JSON response is result,timeStamp,from,value,confirmations,hash.
In Transaction paths enter the JSON array paths to get the following values: transaction time in unix format, transaction address, transaction amount, number of confirmations, transaction hash. The paths must respect this exact order. For example, the Transaction paths value of the following JSON response is result>timeStamp, result>from, result>value, result>confirmations, result>hash.
Set the setting Settings > Custom Blockchain explorer > Unit type to Satoshi | Wei | Dogecoin if the transactions value/amount is in Satoshi, Wei, Dogecoin. In the examples above the values are in Wei.
You can use blockscout.com to test this feature, here the details:
Unit typeSatoshi | Wei | DogecoinBalance URLhttps://blockscout.com/{N}/mainnet/api?module=account&action=balance&address={R}Balance pathresultTransaction URLhttps://blockscout.com/{N}/mainnet/api?module=transaction&action=gettxinfo&txhash={R}Transaction pathsresult>timeStamp,result>from,result>value,result>confirmations,result>hashTransactions URLhttps://blockscout.com/{N}/mainnet/api?module=account&action=txlist&address={R}Transactions pathsresult,timeStamp,from,value,confirmations,hash
Requirements
All requests are made through the HTTP GET method. The custom explorer must support queries via HTTP GET method.
The custom explorer must return data in JSON format.
Information
We do not provide support for setting up your custom explorer. To get assistance, you can hire us.
If the custom explorer is down or a query fails the default explores are autoamtiacally used insted.
If the generation of a new payment address fails the default address is used instead.
If the custom explorer does not support a cryptocurrency you can still use it, the default explorers will be used for the unsupported cryptocurrencies.
Refunds
Issue a refund from the Transactions area by clicking Issue a refund from the transaction menu.
Coinbase refunds are supported by almost all cryptocurrencies, Bitcoin Node refunds only support Bitcoin refunds, Ethereum node refunds support refunds for Ethereum and all Ethereum-based cryptocurrencies.
A cryptocurrency refund is a new transaction sent to the sender address of the original transaction and with the same amount as the original transaction. For this reason, you must have a sufficient balance of the transaction's cryptocurrency to cover the transaction amount.
For security reasons, the address to send the refund to and the refund amount are obtained directly from the blockchain and verified with the transaction in the Mygate database. If the amounts or addresses do not match, an error will be displayed and the refund will not be sent.
You can only issue refunds for completed or underpaid transactions.
Refunds via nodes have priority over Coinbase.
Testnets
Testnets allow you to test Mygate and the exchange add-on without using real money. See the information below to undersatnd how to use them. When using testnet nodes you have to disable the node Address generation option.
Bitcoin Testnet
Wallet
Use Electrum in testnet mode. To enable Electrum test mode in Windows, complete the installation and create a shortcut for electrum.exe. Open the shortcut properties window, then open the Shortcut tab and add at the end of the target string the value --testnet.
Configure the email notifications from Settings > Email notifications.
Information
You can update the logo on the emails at Settings > Logo > Logo URL - PNG. Additionally, make sure to enable Settings > Logo > Display on the admin area.
The logo in user emails will have no link attached to it, whereas the logo in admin email notifications will redirect to the Mygate admin area.
Problems?
Emails may not be delivered several reasons; below are the most common ones:
Reason
Description
Solution
Hosting problems
The email server of your web hosting provider is not able to send emails or the emails are sent but they are automatically detected as spam and deleted by the email clients.
If the settings at Settings > Notifications > SMTP are not set, your server will send the emails instead. Contact your web hosting provider regarding email support or use your SMTP server by activating it in Settings > Notifications > SMTP.
SMTP problems
The email is not sent also if you activated the SMTP option in the Notifications area.
If you don't receive the emails make sure they are working by sending a test email from Settings > Notifications > Send a user email notifcation or Send an agent email notifcation. If you don't receive the test email, your SMTP server, is not working. Open the browser console for more details about the error. Because this is not an issue related to Support Board , the support doesn't cover it, please contact your server/hosting/SMTP support instead. You can use sendgrid.com, you can send 40000 emails for 30 days for free, then 100/day forever for free.
Google Gmail
The email is not sent also if you activated the SMTP option in the Notifications area and you are trying to the Gmail SMTP server.
If you're using Gmail enter smtp.gmail.com as host and set 465 or 587 as port. You need also to allow access to Gmail to less secure apps, you can do it from https://myaccount.google.com/lesssecureapps.
Custom fields
Include additional custom fields in the checkout form from Settings > Checkout custom fields.
Information
You can view the custom field values under the notes section in the transaction details.
In the webhook and JS event, the custom field values are part of the notes value.
The select field type should have a value format of field_name:option1:option2:option3. Replace field_name with the actual name of the field and option1, option2, and option3 with the select options, add as many options as you want.
Custom domain
In order to connect your domain, you'll need to have a DNS A record that points to the IP 51.222.29.203. If you already have an A record for that address, please change it to point at 51.222.29.203 and remove any other A records for that exact address. It may take a minute or two for your SSL certificate to take effect once you've pointed your DNS A record.
In order to access this feature, a minimum credit purchase of 50 USD is required.
Information
Pending transactions older than 48 hours are deleted automatically. You can change the interval from Settings > Exchange rates refresh interval. Once a pending transaction is deleted, the receiving address linked to it will be available again.
To disable a cryptocrrency from the payment options remove the cryptocrrency address.
Multiple checkouts can be present in the same web page but only one will be active at same time.
Mygate query the blockchain via AJAX every 5 seconds to verify the payment of pending transactions.
To test a completed transction multiple times without a real payment add the following attributes to the checkout URL: ?demo=true&amount=[123]&id=[ID]&webhook_key=[key]. Replace [123] with the exact transaction cryptocurrency amount, [ID] with the Mygate transaction ID, [key] with the Mygate webhook secret key, this attribute is optional. The blockchain transaction time must be higher than the Mygate transaction time. If you are using the WordPress version, you have to set the webhook secret key.
Add the debug=true attribute to the payment URL or admin URL to enable debugging in the browser console and PHP log.
IP ban
Mygate permits a maximum of 10 unsuccessful login attempts within an hour. If you exceeds this limit, you will be barred from accessing the admin area for a duration of 1 hour. This blocking mechanism is based on the user's IP address and serves to deter brute force attacks aimed at uncovering login credentials. If you encounter the "Too many login attempts. Please retry again in a few hours.
Two-factor authentication
To add an extra layer of security, activate Google Authenticator and enable two-factor authentication (2FA) for logging into the admin area. To do this, follow the instructions below:
Activate Settings > Two-factor authentication.
Click Pairing button and scan the QR code with the Google Authenticator app.
Enter the code generated by the Google Authenticator app in the Code field and click Validation.
Monero
The Monero balance currently is not shown in the Mygate dashboard. We will try to add the support soon.
The Monero payments are detected only if the transaction is within the last 5 block. If the transaction is older than 5 blocks it will not be detected. For this reason, the user should wait for the transaction to be confirmed before closing the payment page.
Shop
Start selling
To start selling your first product create a checkout from Settings > Checkouts. Every checkout represents a product you are offering for sale.
In order for your users to make purchases using their cryptocurrencies, you have to save the wallet address of the cryptocurrencies you wish to accept in Settings > Cryptocurrency addresses.
In order for your users to make purchases using their PayPal, you have to activate PayPal, more information can be found here.
In order for your users to make purchases using their credit or debit card, you have to activate either Stripe (more information can be found here) or 2checkout (more details are available here).
License keys
Enable the generation of an unique license key per sale from Settings > Shop > License keys.
You can disable and enable a license key from the transaction details panel.
You can verify a license key via REST API, details here.
To find a license key, simply enter it into the search bar located in the transactions area.
The user will see the license key immediately after completing the purchase. You can also send the license key through the purchase confirmation email.
Discount codes
To crete a discount code follow the steps below.
Add a new discount code from Settings > Shop > Discount codes.
In the Discount code field enter the secret discount code. It can be an alphanumeric string or any desired value.
In the Discount field choose the desired discount amount. To make the product free, set it to 100%.
In the Checkout ID field, enter the checkout IDs that allow the discount code to be used. To allow all checkouts to use the discount code, enter all.
Information
Custom dynamic checkouts do not allow discounts, therefore the discount field will not be visible in those cases.
Email notifications
To enable the email notifications you may have to configure the email notifications.
New sale notification
Receive email notifications for every new purchase that has been successfully made.
Once the purchase is completed, send the user a confirmation email.
To collect the user's email address you have to enable Settings > User details > Email.
The email should contains important details such as the invoice, license key, download links, and additional information. Use the following merge fields to display the relevant data: {license_key}, {user_name}, {invoice_url}, {checkout_title}, {downloads_url}.
Information
The shop page URL is in Settings > Shop page.
The files uploaded in the checkout area are secure files that can only be downloaded by the customer once the purchase has been made. Once the purchase is complete, the downloads will be start automatically. You can also send the download link via the purchase confirmation email, by entering the merge field {downloads_url}.
The downloads are automatically deleted as soon as the download is finished. Additionally, a cron job function is executed to remove the files.
To enable the uploading of new file extensions, edit the config.php file in the MyGate installation directory and add the constant define('BXC_FILE_EXTENSIONS', []). The value must be an array containing all the allowed extensions, e.g. define('BXC_WHITELIST', ["psd", "exe"]).
Pending transactions are similar to abandoned carts. By default, they are automatically removed every 24 hours but you can adjust the interval from Settings > Interval for deleting pending transactions.
To find a customer, simply input their details, such as email address, into the search bar located in the transactions area.
NTEGRATIONS
WordPress
There are two WordPress integrations of MyGate payment gateway.
Both integrations are compatible with MyGate WordPress plugin.
WooCommerce
To start accepting cryptocurrency payments in your shop, follow the steps below.
Download, the plugin from the links below, upload the mygate-wp plugin folder to the /wp-content/plugins/ directory, or install the plugin through the WordPress plugins screen directly.
From the WordPress administration area go to Settings > MyGate and enter the required information.
Get the Webhook secret key from MyGate > Settings > Webhook > Webhook secret key, if it is empty you have to enter whatever key you want.
Get the MyGate API key from MyGate > Account > API key.
From the WordPress administration area go to Settings > MyGate and copy the Webhook URL, paste it into MyGate > Settings > Webhook > Webhook URL.
From the WordPress administration area go WooCommerce > Settings > Payments activate the MyGate payment gateway.
Information
Check the option Do not finalize order to prevent a WooCommerce order from being finalized upon payment completion
MyGate will save the eCommerce order ID in the transaction.
MyGate will automatically complete eCommerce orders that include only downloadable or digital products. Orders containing physical products will be marked as processing but they will not be completed.
Easy Digital Downloads
To start accepting cryptocurrency payments in your shop, follow the steps below.
Download, the plugin from the links below, upload the mygate-wp plugin folder to the /wp-content/plugins/ directory, or install the plugin through the WordPress plugins screen directly.
From the WordPress administration area go to Settings > MyGate and enter the required information.
Get the Webhook secret key from MyGate > Settings > Webhook > Webhook secret key, if it is empty you have to enter whatever key you want.
Get the MyGate API key from MyGate > Account > API key.
From the WordPress administration area go to Settings > MyGate and copy the Webhook URL, paste it into MyGate > Settings > Webhook > Webhook URL.
From the WordPress administration area go to Downloads > Settings > Payments and activate the MyGate payment gateway.
Information
MyGate will save the eCommerce order ID in the transaction.
MyGate will automatically complete eCommerce orders that include only downloadable or digital products.
Shopify
To start accepting cryptocurrency payments in your store, follow the steps below.
Open your store settings area and click Apps and sales channels, then click Develop apps.
Click Create an app, enter the app name you want, and create the app.
Click Configure Admin API scopes and select the following: write_assigned_fulfillment_orders, read_assigned_fulfillment_orders, write_orders, read_orders.
Open the API credentials tab and click Install app, after the installation copy the API access token and paste it into MyGate > Settings > Shopify > Access token.
In MyGate > Settings > Shopify > Store URL enter you store URL, e.g. https://YourStore.tld.
Open again your store settings area and click Checkout and accounts, insert the following code into the Order status page field:
<script>if(!window.location.search.includes("cryptocurrency")){
let MYGATE_URL ="https://app.mygate.me";
let MYGATE_PAYMENT_METHOD_TEXT =["Pay with cryptocurrency"];
let MYGATE_INTERVAL = setInterval(function(){
let element = document.getElementsByClassName("payment-method-list__item__info");if(element.length){if(MYGATE_PAYMENT_METHOD_TEXT.includes(element[0].innerHTML)){
document.location = MYGATE_URL +"/pay.php?checkout_id=custom-shopify&price=&cloud=API-KEY"+Shopify.checkout.payment_due +"¤cy="+Shopify.checkout.currency +"&external-reference=shopify_"+Shopify.checkout.order_id +"&redirect="+ encodeURIComponent(document.location.href)+"¬e=Shopify Order ID "+Shopify.checkout.order_id
}
clearInterval(MYGATE_INTERVAL);}},50);}</script>
Warning Replace API-KEY with the value at MyGate > Account > API key.
Open again your store settings area and click Payments, then click Add manual payment method and Create custom payment method. As Custom payment method name enter Pay with cryptocurrency. You can change "Pay with cryptocurrency" with something else but in such a case you have to replace it also on the code of the previous point. If you add translatons you have to add them in the code of the previous point, e.g. let MYGATE_PAYMENT_METHOD_TEXT = ["Pay with cryptocurrency", "Pagar con criptomonedas", "Оплата криптовалютой", "Kripto para ile ödeme yapın"];.
WHMCS
To start accepting cryptocurrency payments in your website, follow the steps below.
Upload the contents of the upload folder to to WHMCS root directory.
Enter your WHMCS admin area and at the top-right click the wrench icon , then click on Apps and integrations and search for "mygate", wait and it should appear in the search results, activate it.
Copy the webhook URL from WHMCS > Payment gateway > MyGate > Webhook URL and paste it into MyGate > Settings > Webhook > Webhook URL.
Copy your webhook secret key from MyGate > Settings > Webhook > Webhook secret key (if it is empty you have to enter whatever key you want) and paste it into WHMCS > Payment gateway > MyGate > Webhook secret key.
Copy your API key from MyGate > Account > API key and paste it into WHMCS > Payment Gateways > MyGate > API key.
Open Cart
To start accepting cryptocurrency payments in your shop, follow the steps below.
Enter the Open Cart admin area and click Left menu > Extensions > Installer. Click the top-right blue icon to upload the extension.
Go to Left menu > Extensions > Extensions, select Payments as extension type and install the MyGate extension. After the installation is complete click the blue pencil icon Edit to enter the MyGate settings area.
In MyGate URL enter the URL of MyGate admin area https://app.mygate.me.
In Webhook key enter the webhook key. Get it from MyGate > Settings > Webhook > Webhook secret key. You can enter any string you want.
Copy the webhook URL and paste it into MyGate > Settings > Webhook > Webhook URL.
Copy your API key from MyGate > Account > API key and paste it into the MyGate API key field.
Enable the MyGate payment gateway and save.
Information
You can set the default order statues in OpenCart > Settings > Options. The Complete Order Status must be only one or it will always use the default Order Completed status.
FEES
Credit balance
The credit balance represent the fees you pay us for using MyGate. More details about how it works can be found in the points below.
Each transaction is subject to a fee of 0.4%. A transaction worth USD 100 will generate a fee of USD 0.4, for example.
When your credit balance goes negative your checkouts are blocked and your customers cannot make payments. For the checkouts to reactivate, credit must be added.
In the event that your credit balance is negative and a user attempts to pay, an email is sent to inform you that your checkouts are blocked.
Add credit to your account from Settings > Account > Add credit to your account.
You will receive an email when your credit balance falls below USD 5. A maximum of one notification will be sent every 7 days.
When you register, you will receive a USD 1 credit that allows you to transact for a total of USD 250.
Login to your Account
We use cookies to personalise content and ads, to provide social media features and to analyse our traffic. We DO NOT share any information about your use of our site with our social media, advertising and analytics partners. View more
Cookies settings
Accept
Decline
Privacy & Cookie policy
Privacy & Cookies policy
Cookies list
Cookie name
Active
Who we are
Our website address is: https://mygate.me.
Comments
When visitors leave comments on the site we collect the data shown in the comments form, and also the visitor’s IP address and browser user agent string to help spam detection.
An anonymized string created from your email address (also called a hash) may be provided to the Gravatar service to see if you are using it. The Gravatar service privacy policy is available here: https://automattic.com/privacy/. After approval of your comment, your profile picture is visible to the public in the context of your comment.
Media
If you upload images to the website, you should avoid uploading images with embedded location data (EXIF GPS) included. Visitors to the website can download and extract any location data from images on the website.
Cookies
If you leave a comment on our site you may opt-in to saving your name, email address and website in cookies. These are for your convenience so that you do not have to fill in your details again when you leave another comment. These cookies will last for one year.
If you visit our login page, we will set a temporary cookie to determine if your browser accepts cookies. This cookie contains no personal data and is discarded when you close your browser.
When you log in, we will also set up several cookies to save your login information and your screen display choices. Login cookies last for two days, and screen options cookies last for a year. If you select "Remember Me", your login will persist for two weeks. If you log out of your account, the login cookies will be removed.
If you edit or publish an article, an additional cookie will be saved in your browser. This cookie includes no personal data and simply indicates the post ID of the article you just edited. It expires after 1 day.
Embedded content from other websites
Articles on this site may include embedded content (e.g. videos, images, articles, etc.). Embedded content from other websites behaves in the exact same way as if the visitor has visited the other website.
These websites may collect data about you, use cookies, embed additional third-party tracking, and monitor your interaction with that embedded content, including tracking your interaction with the embedded content if you have an account and are logged in to that website.
Who we share your data with
Suggested text: If you request a password reset, your IP address will be included in the reset email.
How long we retain your data
If you leave a comment, the comment and its metadata are retained indefinitely. This is so we can recognize and approve any follow-up comments automatically instead of holding them in a moderation queue.
For users that register on our website (if any), we also store the personal information they provide in their user profile. All users can see, edit, or delete their personal information at any time (except they cannot change their username). Website administrators can also see and edit that information.
What rights you have over your data
If you have an account on this site, or have left comments, you can request to receive an exported file of the personal data we hold about you, including any data you have provided to us. You can also request that we erase any personal data we hold about you. This does not include any data we are obliged to keep for administrative, legal, or security purposes.
Where your data is sent
Visitor comments may be checked through an automated spam detection service.