> ## Documentation Index
> Fetch the complete documentation index at: https://docs.hitpayapp.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Payment Methods

> Complete list of payment method enums, supported currencies, channels, and capabilities

## Overview

When creating a payment request via the API, you can specify which payment methods to offer using the `payment_methods[]` parameter. Each method has a unique enum string that you pass in the request body.

```json theme={"system"}
{
  "amount": 100.00,
  "currency": "sgd",
  "payment_methods": ["paynow_online", "card"]
}
```

If you omit `payment_methods[]`, all payment methods enabled for your account will be shown on the checkout page.

## Payment Methods by Market

<Tabs>
  <Tab title="Singapore">
    | Enum                 | Display Name           | Online | In-Person | Recurring | Refunds | Sandbox |
    | :------------------- | :--------------------- | :----- | :-------- | :-------- | :------ | :------ |
    | `card`               | Visa, Mastercard, Amex | Yes    | Yes       | Yes       | Yes     | Yes     |
    | `card_adyen`         | Cards                  | Yes    | No        | No        | Yes     | No      |
    | `card_present`       | Card Terminal          | No     | Yes       | No        | Yes     | No      |
    | `card_present_adyen` | Card Terminal          | No     | Yes       | No        | Yes     | No      |
    | `paynow_online`      | PayNow                 | Yes    | Yes       | No        | Yes     | Yes     |
    | `giro`               | GIRO Direct Debit      | No     | No        | Yes       | No      | No      |
    | `grabpay_direct`     | GrabPay                | Yes    | Yes       | Yes       | Yes     | No      |
    | `grabpay_paylater`   | GrabPay PayLater       | Yes    | Yes       | No        | Yes     | No      |
    | `shopee_pay`         | ShopeePay              | Yes    | Yes       | Yes       | Yes     | No      |
    | `shopee_pay_later`   | SPayLater              | Yes    | Yes       | No        | Yes     | No      |
    | `shopback`           | ShopBack PayLater      | Yes    | No        | No        | Yes     | No      |
    | `atome`              | Atome                  | Yes    | No        | No        | Yes     | Yes     |
    | `atome_qr`           | Atome QR               | No     | Yes       | No        | No      | Yes     |
    | `wechat_pay`         | WeChat Pay             | Yes    | Yes       | No        | No      | No      |
    | `upi_qr`             | UPI                    | Yes    | Yes       | No        | No      | No      |

    <Info>
      **Online** = payment gateway (checkout, payment links, API). **In-Person** = POS terminal or QR at counter. **Recurring** = subscriptions via wallet account linking.
    </Info>
  </Tab>

  <Tab title="Malaysia">
    | Enum                         | Display Name                | Online | In-Person | Recurring | Refunds | Sandbox |
    | :--------------------------- | :-------------------------- | :----- | :-------- | :-------- | :------ | :------ |
    | `card`                       | Visa, Mastercard, Apple Pay | Yes    | Yes       | Yes       | Yes     | No      |
    | `card_present`               | Card Terminal               | No     | Yes       | No        | Yes     | No      |
    | `fpx`                        | FPX Online Banking          | Yes    | No        | No        | Yes     | No      |
    | `grabpay_direct`             | GrabPay                     | Yes    | Yes       | Yes       | Yes     | Yes     |
    | `grabpay_paylater`           | GrabPay PayLater            | Yes    | Yes       | No        | Yes     | Yes     |
    | `shopee_pay`                 | ShopeePay                   | Yes    | Yes       | Yes       | Yes     | Yes     |
    | `shopee_pay_later`           | SPayLater                   | Yes    | Yes       | No        | Yes     | No      |
    | `shopback`                   | ShopBack PayLater           | Yes    | No        | No        | Yes     | No      |
    | `razer_boost`                | Boost                       | Yes    | No        | No        | Yes     | No      |
    | `razer_maybankqr`            | MayBank QR                  | Yes    | No        | No        | Yes     | No      |
    | `touch_n_go`                 | Touch 'n Go eWallet         | Yes    | Yes       | Yes       | Yes     | No      |
    | `duitnow`                    | DuitNow                     | Yes    | Yes       | No        | No      | No      |
    | `atome`                      | Atome                       | Yes    | No        | No        | Yes     | Yes     |
    | `atome_qr`                   | Atome QR                    | No     | Yes       | No        | No      | Yes     |
    | `wechat_pay`                 | WeChat Pay                  | Yes    | Yes       | No        | No      | No      |
    | `alipay_plus_connect_wallet` | Alipay+                     | Yes    | No        | No        | Yes     | No      |
  </Tab>

  <Tab title="Philippines">
    | Enum                       | Display Name     | Online | In-Person | Recurring | Refunds | Sandbox |
    | :------------------------- | :--------------- | :----- | :-------- | :-------- | :------ | :------ |
    | `card_cybersource`         | Cards            | Yes    | No        | Yes       | Yes     | No      |
    | `card_present_cybersource` | Card Terminal    | No     | Yes       | No        | Yes     | No      |
    | `gcash`                    | GCash            | Yes    | No        | No        | Yes     | No      |
    | `gcash_qr`                 | GCash QR         | No     | Yes       | No        | No      | No      |
    | `qrph_netbank`             | QRPH / InstaPay  | Yes    | Yes       | No        | Yes     | No      |
    | `grabpay_direct`           | GrabPay          | Yes    | No        | Yes       | Yes     | No      |
    | `shopee_pay`               | ShopeePay        | Yes    | No        | Yes       | Yes     | No      |
    | `shopee_pay_later`         | SPayLater        | Yes    | No        | No        | Yes     | No      |
    | `billease`                 | BillEase         | Yes    | No        | No        | Yes     | No      |
    | `wechat_pay`               | WeChat Pay       | Yes    | Yes       | No        | No      | No      |
    | `upay_online`              | Unionbank Online | Yes    | No        | No        | No      | No      |
    | `upay_instapay`            | InstaPay         | Yes    | No        | No        | No      | No      |
    | `upay_pchc`                | PesoNet          | Yes    | No        | No        | No      | No      |
    | `upay_bayad`               | Bayad Center     | Yes    | No        | No        | No      | No      |
    | `upay_ecpy`                | ECPay            | Yes    | No        | No        | No      | No      |
    | `upay_plwn`                | Palawan Pawnshop | Yes    | No        | No        | No      | No      |
  </Tab>

  <Tab title="Indonesia">
    | Enum         | Display Name | Online | In-Person | Recurring | Refunds | Sandbox |
    | :----------- | :----------- | :----- | :-------- | :-------- | :------ | :------ |
    | `ifpay_qris` | QRIS         | Yes    | Yes       | No        | No      | Yes     |
  </Tab>

  <Tab title="Cross-Border">
    These methods are available from any HitPay market via [Borderless QR](/apis/guide/embedded-qr-code-payments/borderless-qr). Partners settle in their home currency.

    **Malaysia (MYR)**

    | Enum         | Display Name | Online | In-Person | Recurring | Refunds |
    | :----------- | :----------- | :----- | :-------- | :-------- | :------ |
    | `touch_n_go` | Touch 'n Go  | Yes    | No        | No        | No      |
    | `duitnow`    | DuitNow      | Yes    | Yes       | No        | No      |

    **Philippines (PHP)**

    | Enum           | Display Name | Online | In-Person | Recurring | Refunds |
    | :------------- | :----------- | :----- | :-------- | :-------- | :------ |
    | `qrph_netbank` | QRPH         | Yes    | Yes       | No        | No      |

    **WeChat Pay**

    | Enum         | Display Name | Online | In-Person | Recurring | Refunds |
    | :----------- | :----------- | :----- | :-------- | :-------- | :------ |
    | `wechat_pay` | WeChat Pay   | Yes    | Yes       | No        | No      |

    <Note>Available to Singapore, Malaysia, and Philippines merchants only. Unlike the other methods on this tab, the transaction currency matches the merchant's own local currency (SGD, MYR, or PHP respectively) rather than a single fixed foreign currency.</Note>

    **India (SGD)**

    | Enum     | Display Name | Online | In-Person | Recurring | Refunds |
    | :------- | :----------- | :----- | :-------- | :-------- | :------ |
    | `upi_qr` | UPI          | Yes    | Yes       | No        | No      |

    **Indonesia (IDR)**

    | Enum         | Display Name | Online | In-Person | Recurring | Refunds |
    | :----------- | :----------- | :----- | :-------- | :-------- | :------ |
    | `ifpay_qris` | QRIS         | Yes    | Yes       | No        | No      |

    **Vietnam (VND)**

    | Enum             | Display Name | Online | In-Person | Recurring | Refunds |
    | :--------------- | :----------- | :----- | :-------- | :-------- | :------ |
    | `zalopay`        | ZaloPay      | Yes    | Yes       | Yes       | Yes     |
    | `vietqr_zalopay` | VietQR       | Yes    | Yes       | No        | Yes     |

    **Thailand (THB)**

    | Enum                | Display Name | Online | In-Person | Recurring | Refunds |
    | :------------------ | :----------- | :----- | :-------- | :-------- | :------ |
    | `opn_prompt_pay`    | PromptPay    | Yes    | Yes       | No        | No      |
    | `line_pay`          | LINE Pay     | Yes    | Yes       | Yes       | Yes     |
    | `opn_true_money_qr` | TrueMoney    | Yes    | Yes       | No        | No      |

    **Korea (KRW)**

    | Enum                | Display Name | Online | In-Person | Recurring | Refunds |
    | :------------------ | :----------- | :----- | :-------- | :-------- | :------ |
    | `nhn_kcp_kakao_pay` | Kakao Pay    | Yes    | No        | No        | Yes     |
    | `nhn_kcp_naver_pay` | Naver Pay    | Yes    | No        | No        | Yes     |
    | `nhn_kcp_payco`     | PAYCO        | Yes    | No        | No        | No      |
  </Tab>
</Tabs>

## Recurring Billing

The following methods support [recurring billing](/apis/guide/recurring-billing) via card tokenization or wallet account linking:

| Method           | Currencies                                                      |
| :--------------- | :-------------------------------------------------------------- |
| `card`           | SGD, MYR, THB, USD, and [30+ currencies](#multi-currency-cards) |
| `giro` (GIRO)    | SGD                                                             |
| `grabpay_direct` | SGD, MYR                                                        |
| `shopee_pay`     | SGD, MYR, PHP                                                   |
| `touch_n_go`     | MYR                                                             |
| `line_pay`       | THB                                                             |
| `zalopay`        | VND                                                             |

<Note>
  For wallet-based recurring methods (`grabpay_direct`, `shopee_pay`, `touch_n_go`, `zalopay`, `line_pay`), the customer links their wallet account during the first payment. Subsequent charges are processed automatically.
</Note>

## Sandbox Testing

The following payment methods are available in the [sandbox](/apis/guide/sandbox) environment:

| Method             | Test Details                                                                                                              |
| :----------------- | :------------------------------------------------------------------------------------------------------------------------ |
| `card`             | Use test card `4242 4242 4242 4242` (Visa), any future expiry, any CVC. Use `4000 0000 0000 0002` for a declined payment. |
| `paynow_online`    | Scan the generated QR code with your mobile camera to simulate a successful payment.                                      |
| `shopee_pay`       | Scan the generated QR code with your mobile camera to simulate a successful payment.                                      |
| `grabpay_direct`   | Scan the generated QR code with your mobile camera to simulate a successful payment.                                      |
| `grabpay_paylater` | Scan the generated QR code with your mobile camera to simulate a successful payment.                                      |
| `atome`            | Scan the generated QR code with your mobile camera to simulate a successful payment.                                      |
| `ifpay_qris`       | Scan the generated QR code with your mobile camera to simulate a successful payment.                                      |

All other payment methods require production credentials. The integration approach is identical — simply swap the API key and base URL.

## Multi-Currency Cards

The `card` method supports 30+ currencies, including: SGD, MYR, USD, AUD, NZD, PHP, HKD, THB, EUR, CAD, GBP, IDR, AED, KRW, CNY, INR, JPY, CHF, BND, SAR, SEK, DKK, NOK, PLN, QAR, TWD, ZAR, and VND.

The exact list of currencies depends on your account configuration and the card networks enabled for your business.
