What is USD Wrapping?
USD Wrapping is HaiPay’s cross-currency payment capability: merchants price and settle in USD, while end users pay in their local currency (e.g., IDR, MYR, THB).Business value
- One-stop USD collection and withdrawal for merchants — no need to hold accounts in multiple local currencies
- End users see USD pricing — lowers the barrier for cross-border shoppers and eliminates mental currency conversion
How it works
Supported regions and payment methods
USD Wrapping covers multiple regions, each providing corresponding USD bank codes. Below is a reference list of supported regions (refer to each region’s documentation for the definitive list):For the full list, refer to each region’s payment method documentation.
Collection
Flow overview
Integration steps
Step 1: Obtain the appId for USD
In the merchant portal under Business Management → Payment Product Configuration, obtain the appId and key pair for USD.
Step 2: Select the USD payment method for the target region
Based on the end user’s region, select the corresponding USD payment code (inBankCode). USD payment codes are typically formed by appending a
_USD suffix to the local currency code (e.g., ID_DANA_USD, TH_TM_USD). Some bank codes do not include a region prefix (e.g., TNG_USD, PAYNOW_USD):Step 3: Call the collection API
Use the USD endpoint
/usd/collect/apply to create a collection order. Pass the amount in USD.Request example
URL:POST /usd/collect/apply
Response example
Exchange rate fields in async notifications
When a collection involves USD Wrapping currency conversion, the async notification (webhook) will include the following additional fields:FAQ
How do merchants know which payment methods support USD Wrapping?
How do merchants know which payment methods support USD Wrapping?
Each region’s payment method documentation lists the USD payment codes (typically with a
_USD suffix). You can also call the Get Merchant Payment Configuration API to query the payment methods currently enabled for your account.Is the exchange rate determined at order creation or queried in real time?
Is the exchange rate determined at order creation or queried in real time?
The exchange rate is determined by HaiPay at the time of order creation. Merchants can preview the exchange rate before placing an order via the
/common/quote/v1/exchange-rate API, but the actual rate is the one applied at order creation time.Do both collection and payout support USD Wrapping?
Do both collection and payout support USD Wrapping?
USD Wrapping covers a broader range of payment methods for collections. Payout support for USD Wrapping is more limited — refer to each region’s documentation for specifics.
How is the local currency amount paid by the end user calculated?
How is the local currency amount paid by the end user calculated?
Local currency amount paid by the end user = USD amount submitted by the merchant × exchange rate at order creation time. Merchants can retrieve the actual local currency amount paid via the
originalAmount field in the async notification.Does Global Cashier support USD Wrapping?
Does Global Cashier support USD Wrapping?
Yes. After enabling USD Wrapping, use the
/global/cashier/collect/apply API and set the currency parameter to USD.
