Troubleshooting & FAQs

Troubleshoot common errors and find answers to frequently asked questions related to Curlec Web Standard Checkout Integration.

1. The FPX bank page is not opening on the Firefox browser. How to resolve this?

Mozilla Firefox users may not be able to open the bank page while making an FPX payment on your checkout. This may be due to a browser setting that blocks the webpage from opening a pop-up page.

Your customers can follow these steps to unblock the pop-up page:

  • At page level: Modify settings on the bank page.
  • At browser level: Modify Firefox browser's settings.

Modify the settings on your bank page. Follow these steps:

  1. Open Mozilla Firefox.
  2. Navigate to ToolsPage InfoPermissions
  3. Set Open Pop-up Windows to Allow.

Modify the settings of your Firefox browser. Follow these steps:

  1. Open Mozilla Firefox.
  2. Navigate to PreferencesPrivacy & SecurityPermissions.
  3. Disable the Block pop-up windows option.

2. What can cause an overflow issue on an HTML page, and how can I resolve it?

Overflow issue can occur if the viewport meta tag is not present in your code. Check if the meta tag is added. If not, add the following line.

<meta name="viewport" content="width=device-width, initial-scale=1.0"/>

3. Is a timeout applicable on transactions?

The transaction timeout is applicable only when your customer attempts the payment. The timeout is 3 to 15 minutes for an attempted payment. The customer is redirected to the checkout if a payment fails due to timeout.

4. Can I track the status of the checkout modal?

Yes, you can track the status of the checkout modal. You can do this by passing a modal object with ondismiss: function() as options. The ondismiss function is called when the modal is closed by the user.

var options = {
"key": "<YOUR_KEY_ID>", // Enter the Key ID generated from the Dashboard
"amount": "29935",
"currency": "MYR",
"name": "Acme Corp",
"description": "A Wild Sheep Chase is the third novel by Japanese author Haruki Murakami",
"image": "",
"handler": function (response){
* You can track the modal lifecycle by * adding the below code in your options
"modal": {
"ondismiss": function(){
console.log('Checkout form closed');
var rzp1 = new Razorpay(options);

You can utilize the handler function called on every successful transaction for tracking payment completion.

5. Are language-based SDKs available?

Yes, language-based SDKs are available


6. What is the difference between webhooks and callback URL?

You can use Callback URL and webhook to get the status of the transaction for a payment source.

ParticularsWebhooksCallback URL
AboutWebhooks allow you to build or set up integrations that subscribe to certain events on Curlec APIs. When one of those events is triggered, we send an HTTP POST payload in JSON to the webhook's configured URL.
Know more about .
A callback URL is an address that a server provides, and any computer in the Internet/private network can POST data to it. For Curlec integrations, callback URL is the address at which Curlec should send the transaction response. You can pass the URL in the https://<domain_name_callback_url> format in the callback_url request parameter. Know more about .
When to useUse webhooks to receive real-time notifications when specific events occur. For example, receive notifications upon payment failure.Use callback URL to redirect your customers to a particular page. For example:
  • You can send customers to a payment success page after successful payment. This page will receive payment details such as the payment id.
  • The Curlec Checkout pop-up page does not appear in certain browsers, for example, on Facebook and Instagram browsers. In such cases, you can use the callback URL to redirect customers from your Facebook/Instagram page to another page where the Curlec Checkout appears. Customers can complete the payments on this redirected page.

7. Which are the payment methods that appear on Instagram/Facebook browsers?

Payment methods like Cards will appear on Instagram/Facebook browsers. Any other payment method which opens on a pop-up page is not supported in these browsers.

8. How do I resolve a 500 internal server error?

Multiple factors can cause a 500 internal server error. Ensure that the required features are enabled on your MID. Additionally, verify that you are calling the API correctly. If the issue is still not resolved, contact our


Is this integration guide useful?