In this section, we look at the most common technical problems and solutions:
CORS error (widget isn’t loading)
Refused to frame 'https://sandbox-widget.mrcr.io/' because an ancestor violates the following Content Security Policy directive: "frame-ancestors none".
Solution: Change the domain in the widget settings.
This can be done by opening the dashboard and navigating to "My Widgets".
Specify a domain you embed the widget to, with no subdomains.
Error 403. What does this mean?
sandbox-exchange.mrcr.io, sandbox-api.mrcr.io, sandbox-cryptosaas.mrcr.io are only available if your IP address has been added to a whitelist.
Please ensure that you are using a whitelisted IP. IP addresses require whitelisting to ensure the security of these systems. Contact your integration manager if you need to whitelist your IP.
What is the request limit?
Usually no more than 5000 requests in 5 minutes.
Contact us if you need to increase the number of requests per minute.
What should I enter in the Domain field when I set up my first widget?
-
For redirect Integration:
Production: https://exchange.mercuryo.io
Sandbox: https://sandbox-exchange.mrcr.io -
For iFrame: a domain on which the widget will open, with no subdomains.
Do you have any recommendations for the frame size in which the widget will open?
It is designed so that all the information you need is always in view for all screen sizes. Outside the screen is usually the footer. That's why we don't have size recommendations, because we think it should be ok for all screen sizes.
Buy button is not available
The buy button may be inaccessible in cases where the wrong address has been entered or autofilled. The buy button may also be inaccessible if a user has not yet agreed to the terms and conditions.
Signature is invalid error
Signatures are used to identify and access wallet addresses, protecting against use by unauthorised parties.
Wallet address signatures are calculated using the following algorithm:
The signature string is formed by concatenating the following values without
spaces: addresssecretIpMerchanttransactionid,
where:
• address: blockchain wallet address.
• secret: your widget's secret key.
• Ip: IP address of the user.
• Merchanttransactionid: your merchant transaction ID.
Steps:
1. Go to Widgets and select your widget.
2. Find Secret at the bottom.
3. Form the signature string by concatenating: addressSecretIpMerchanttransactionid.
4. Paste the concatenated string into the SHA512 calculator to generate a signature.
5. Add the v2: prefix to the generated signature.
6. Append the signature to the widget URL.
Example:
• Widget URL: https://exchange.mercuryo.io/?widget_id=0afcf059-392a-4a13-adeb-11f3ef3142ab&address=1FCraX5VzxNJGRzGxdzky33Fvmgt2x6Ymp&merchant_transaction_id=12345&signature=v2:9182a23f3cb7704f9e5a02c70c9d88bfecec799bdca191f39ed5eb8d22ca8d398cfa4d3a46109e523fb946bc25d24f77a8a2e54aaa6d6c819c7bcd98787b8015.
• widget_id: widget ID.
• address: blockchain wallet address.
• merchant_transaction_id: your transaction identifier.
• signature: v2 signature with the v2: prefix.
The signature is verified before the 3-D Secure step. If the signature is invalid, the Signature is invalid message will be displayed.
The user won't be able to complete the operation.