Skip to main content
This page extends the Embedded QR Overview. If you haven’t set up embedded QR payments yet, start there first.

What is Borderless QR?

Once your base integration is in place, Borderless QR lets you accept payments from international customers using their local payment methods. The API automatically converts the amount and returns the converted values :
  • qr_amount
  • qr_currency
  • fx_rate
So you can display the conversion clearly in your UI before the customer scans. Your payouts are always in your merchant currency. HitPay handles the conversion.

Live Demo

Try the interactive demo to see Borderless QR in action — including real-time currency conversion display.

How Borderless QR Differs From Standard Embedded QR

Standard embedded QR payments work within a single currency — the merchant and customer share the same currency, so no conversion is needed. Borderless QR automatically converts the amount and generates payment codes in the customer’s local currency, enabling seamless cross-border transactions.

Supported Payment Methods

The following payment methods support cross-border QR payments:
Only payment methods from countries different from your merchant country will trigger cross-border conversion. For example, a Singapore merchant using paynow_online (SGD) will get standard QR behavior, but using gcash_qr (PHP) will trigger Borderless QR with currency conversion.

How It Works

1

Select a cross-border payment method

Choose a payment method from a different country (e.g., a Singapore merchant selecting gcash_qr for Philippine customers)
2

System detects currency mismatch

HitPay detects that your merchant currency (SGD) differs from the payment method’s native currency (PHP)
3

Automatic currency conversion

The amount is automatically converted using the mid-market exchange rate
4

QR code generated in customer's currency

The QR code displays the amount in the customer’s local currency (PHP)

API Request

Use the same endpoint as Domestic QR: POST /v1/payment-requests The only difference is the payment method you specify. When you use a cross-border payment method, the system automatically enables Borderless QR behavior.

Request Parameters

Example Request

A Singapore merchant (SGD) accepting payment from a Philippine customer via GCash (PHP):

API Response

The response includes additional fields in qr_code_data for cross-border payments:

Borderless QR Response Fields

The qr_code_data object includes these additional fields for cross-border payments:
Display both amounts to your customer. You can show “SGD 10.00 = PHP 455.70” to help customers understand the conversion before scanning.

Displaying Currency Conversion

When presenting the QR code to your customer, display the currency conversion details to build trust and ensure transparency.

Response Fields to Use

Show customers both amounts and the exchange rate before they scan:

Code Examples

Check for borderless fields first. The qr_amount, qr_currency, and fx_rate fields only appear for cross-border payments. For same-currency payments, display only the original amount.

Webhook Handling

Webhook handling is identical to the Overview. The payment amount in the webhook payload will be in your merchant currency (the original amount you requested).

Refunds

Refund support by payment method

What happens when a refund is processed

When a charge is made in a currency other than your home currency, the refund works differently from a standard same-currency refund. Example scenario: A Singapore merchant (home currency SGD) accepts a MYR 100.00 payment from a Malaysian customer.

What the customer receives

The refund is issued in the charge currency — MYR 100.00 in this example. The customer's payment provider handles the funds in MYR, so they receive exactly what they paid.

What balance is debited

The refund is deducted from your home currency wallet. For a Singapore merchant, that means SGD is deducted — not MYR. Because the charge currency (MYR) differs from your home currency (SGD), HitPay converts the refund amount at the live exchange rate at the time of refund — not the rate from when the original charge was made. This can result in a small FX gain or loss depending on how rates have moved between the charge and refund.
If your home currency matches the charge currency (e.g., a Singapore merchant charging SGD), no currency conversion is needed and the exact charge amount is deducted from your SGD wallet.

FAQs

This error typically occurs when generate_qr is not set to true in your request. For Borderless QR payments, you must include "generate_qr": true in your API request body.Correct request:
Other possible causes:
  • Multiple payment methods specified - When using generate_qr: true, you must specify exactly one payment method in the array
  • The payment method is not enabled in your HitPay dashboard
  • The payment method doesn’t support QR code generation
  • You’re using a sandbox API key in production or vice versa
The exchange rate is based on the mid-market exchange rate at the time the payment request is created. The mid-market rate is the average of buy and sell rates between two currencies.
Merchants are charged a 1.5% payment processing fee for cross-border QR payments, plus applicable FX fees based on your country of registration and settlement currency. Customers are not charged any additional fees.
Refunds are issued in the charge currency (e.g., SGD) and deducted from your home currency wallet. If your home currency matches the charge currency (e.g., a Singapore merchant charging SGD), there is no FX conversion. If they differ, the live rate at refund time is used — not the rate from the original charge. Not all borderless QR payment methods support refunds — see the Refund support table for details.
If your merchant currency matches the payment method’s native currency (e.g., SGD merchant using PayNow), the response will follow standard QR behavior without the qr_amount, qr_currency, and fx_rate fields.
No. Simply specify the amount in your merchant currency. HitPay automatically handles the conversion and returns the converted amount in the response.
Cross-border payments are credited to your HitPay Balance on a T+1 calendar day basis.
Before going live:
  • Change the base URL to https://api.hit-pay.com/v1/
  • Enable cross-border payment methods in your production dashboard
  • Update API keys and salt values from production
  • Register webhook URLs in production
  • Test the full payment flow end-to-end
Last modified on August 6, 2026