openapi: 3.0.1
info:
  title: Start Here
  version: 1.8.4
  description: |
    ## Welcome to Welpay

    Thank you for considering Welpay. We help merchants across Thailand accept payments, simply and reliably. This page gives you the big picture of how Welpay works; for the full technical reference, see the Accept Payments tab.

    ### Welpay in 60 Seconds

    If you read nothing else, read this.

    | Question | Answer | Detail |
    |---|---|---|
    | **What does it cost?** | From 2.9% per successful payment, plus 7% VAT on the fee | [Pricing](#WELPAY_TAB_SLUG/description/pricing) |
    | **When do I get my money?** | T+1 or T+2 — next day or the day after | [Settlement Timing](#WELPAY_TAB_SLUG/description/settlement-timing-t1-t2) |
    | **How do customers pay?** | PromptPay QR, Thai e-wallets, bank transfer, cards | [Payment Methods](#WELPAY_TAB_SLUG/description/payment-methods) |
    | **How big can a payment be?** | 10.00 THB minimum, 2,000,000.00 THB maximum by default | [Transaction Limits](#WELPAY_TAB_SLUG/description/transaction-limits) |
    | **How fast do customers pay?** | 99% of PromptPay payments finish within 4 minutes, across Welpay traffic | [Payment Methods](#WELPAY_TAB_SLUG/description/payment-methods) |
    | **How long to go live?** | 3-10 working days once your documents are complete | [Getting Started](#WELPAY_TAB_SLUG/description/getting-started) |
    | **Do I need a developer?** | No — dashboard and payment links need no code | [Setup Paths](#WELPAY_TAB_SLUG/description/setup-paths) |
    | **How do I reconcile?** | Two verified payslips daily, 10:00 and 16:00 Thailand time | [Verified Reports](#WELPAY_TAB_SLUG/description/verified-reports) |
    | **Is any money held back?** | Possibly a rolling reserve, released in full on schedule | [Rolling Reserve](#WELPAY_TAB_SLUG/description/rolling-reserve) |
    | **What if something breaks?** | English and Thai support; urgent issues answered within 1 hour | [SLAs and Escalation](#WELPAY_TAB_SLUG/description/slas-and-escalation) |

    Everything is in Thai Baht (THB), and every timing follows Thailand time (UTC+7).

    ### How to Use This Guide

    The documentation is split by the job you are doing:

    | Tab | Who it is for | What is in it |
    |---|---|---|
    | **Start Here** (this tab) | Business, finance, compliance | How Welpay works, what it costs, when money arrives, how to onboard |
    | **Accept Payments** | Developers | Taking customer payments: credentials, first payment, callbacks, going live |
    | **Reference** | Everyone | Lookup tables: fields, errors, statuses, banks, limits, glossary |

    No code appears in this tab. If you build the integration, start with **Accept Payments**.

    <div class="welpay-extras">

    The **Send Money** tab covers transfers and payouts. It appears only on accounts where money-out is enabled.

    </div>

    ### Start With Your Role

    - **Business owners and managers** - start with [Why Merchants Choose Welpay](#WELPAY_TAB_SLUG/description/why-merchants-choose-welpay), then [Pricing](#WELPAY_TAB_SLUG/description/pricing) and [Getting Started](#WELPAY_TAB_SLUG/description/getting-started)
    - **Finance and operations** - start with [Settlement Timing](#WELPAY_TAB_SLUG/description/settlement-timing-t1-t2), then [Pricing](#WELPAY_TAB_SLUG/description/pricing) and [Verified Reports](#WELPAY_TAB_SLUG/description/verified-reports)
    - **Compliance and risk** - start with [Fraud Checks and Refunds](#WELPAY_TAB_SLUG/description/fraud-checks-and-refunds), then [Safety and Data Handling](#WELPAY_TAB_SLUG/description/safety-and-data-handling) and [SLAs and Escalation](#WELPAY_TAB_SLUG/description/slas-and-escalation)
    - **Developers** - read [Payment Flow](#WELPAY_TAB_SLUG/description/payment-flow) for context, then move to the **Accept Payments** tab

    ## Why Merchants Choose Welpay
    <span class="welpay-tag welpay-tag-business">business</span>

    Most merchants need four things: local payment methods, clear settlement timing, support they can reach, and reports that reconcile.

    | What merchants need | Welpay provides |
    |---|---|
    | Payment methods | PromptPay QR, wallets, and bank transfer options |
    | Settlement | T+1/T+2 timing, based on your agreement |
    | Support | English and Thai support |
    | Reporting | Twice-daily verified reports |
    | Controls | Fraud checks, name matching, and rate limits |

    ## Who We Help
    <span class="welpay-tag welpay-tag-business">business</span>

    Welpay is a good fit for merchants who need to collect payments,
    automate order confirmation, and reconcile settlement.

    | Use case | Typical setup |
    |---|---|
    | Retail or in-store | QR at the counter, payments confirmed manually or from the dashboard |
    | E-commerce | Hosted payment page or API integration at checkout |
    | Booking or invoicing | Payment link or API-triggered payment request |
    | Marketplace or operations | Settlement, reports, and reconciliation |

    ### Is Welpay a Fit for Your Business?

    Most merchants are straightforward. Some need a longer conversation - not
    because anything is wrong, but because the terms depend on details we
    should discuss properly rather than guess at.

    | Where you probably sit | What to expect |
    |---|---|
    | **Straightforward** - retail, e-commerce, services, bookings, invoicing | Standard onboarding and standard terms |
    | **Worth a conversation** - categories where customers dispute more often, such as travel booked far ahead, online gaming, subscriptions, or event ticketing | We can usually serve you. Expect a closer look at your model, and reserve terms agreed individually - see [Rolling Reserve](#WELPAY_TAB_SLUG/description/rolling-reserve) |
    | **Tell us early** - regulated activities needing an operating licence, or a foreign or unusual company structure | Very often workable. The sooner we see the structure, the faster we can confirm what is possible |

    A few business types we are not able to serve. If yours is one of them, we
    would rather tell you in the first conversation than after you have spent
    a week on paperwork - so ask us early, and ask directly. There is no
    disadvantage to asking, and we will give you a straight answer.

    **Not sure where you fall?** That is the normal case, and it is exactly
    what the first call is for. Email support@welpay.co.th with a short
    description of your business and your expected monthly volume, and we
    will tell you quickly whether we are a fit and on what terms.

    ### Thai SMEs

    Small and medium Thai businesses can start without a big tech team.
    You can take payments from the dashboard or with simple links, then
    add the full API whenever you're ready. Support is available in Thai.

    ### Foreign SMEs

    Foreign companies can use Welpay too. Here are the questions that come
    up most often:

    - **Do I need a Thai company?** Most merchants need a Thai-registered
      entity, or an approved local setup. Share your structure with us and
      we'll confirm what's possible.
    - **Is help in English?** Yes. Support and this guide are in English.
      Thai is also available.
    - **Which documents?** See [Required Documents](#WELPAY_TAB_SLUG/description/required-documents).
      Documents in Thai or English are fine; anything else may need a
      certified translation.
    - **What currency?** All payments are in Thai Baht (THB).
    - **What time zone?** We work in Thailand time (UTC+7). Cut-off times
      and reports follow the same clock.

    <div class="welpay-extras">

    - **Can I move money home?** Payouts can send money outside Thailand.
      The rules and timelines depend on the banks and your agreement.

    </div>

    ## Core Capabilities

    Welpay takes customer payments (**Money-In**), verifies each one
    automatically, and settles funds on schedule.

    ### Money-In

    - **Take payments** - customers scan QR codes, use wallets, or pay from their bank
    - **Instant confirmation** - payments appear in your dashboard right away
    - **Live updates** - Welpay sends status changes to your system
    - **Verified reports** - settlement reports reach you twice a day

    <div class="welpay-extras">

    **Money-Out** is money leaving your Welpay balance, and it comes in
    two types:

    - **Transfer** - send money to a Thai bank account
    - **Payout** - send money outside Thailand

    </div>

    All transactions are in **Thai Baht (THB)**.

    **QR code** is the square barcode customers scan. **PromptPay** is
    Thailand's main payment system. **E-wallet** is an app like TrueMoney.

    ## Setup Paths

    | Option | Best for | Developer needed? |
    |---|---|---|
    | Dashboard | Manual payment handling | No |
    | Payment links | Email or chat checkout | No |
    | API integration | Full automation in your app or site | Yes |

    Start with the simplest option that fits the way you work today. If you need
    automation later, you can add the API on the same account.

    Ready to move forward? See [Getting Started](#WELPAY_TAB_SLUG/description/getting-started) below for the exact steps.

    ## Payment Flow

    With **Money-In**, customers pay into your **balance**. Every payment is
    checked and appears in your reports.

    ```mermaid
    flowchart LR
      C([Customers]) -->|Pay-in: QR / wallet / bank| W{{Welpay}}
      W --> BAL[(Your balance)]
      W -->|settlement| BA([Your bank account])
      W -.->|reports twice a day| YOU([Your business])
    ```

    <div class="welpay-extras">

    With **Money-Out**, money flows the other way, leaving your balance. There are
    two types: **Transfer** for payments inside Thailand, and **Payout** for
    payments outside Thailand.

    </div>

    ### One Payment, Step by Step

    Here's what happens when a customer pays:

    1. **Customer clicks "Pay"** on your website or app
    2. **Your system asks Welpay** to start a payment
    3. **Welpay shows payment options** - QR code, wallet app, or bank transfer
    4. **Customer pays** - scanned or completed instantly
    5. **Bank/wallet confirms** the payment to Welpay
    6. **You get notified immediately** - dashboard updates + automatic message to your system
    7. **You can deliver** - payment is confirmed, order is ready
    8. **Money settles to your balance** - T+1 or T+2 (next day or day after), shown on your report

    **The key timing:** at step 6 you know the payment is confirmed, so you can deliver right away. At step 8, the money reaches your available balance (T+1/T+2, per your contract).

    A **callback** is an automatic notification Welpay sends to your system whenever a payment's status changes. You provide the URL; Welpay delivers the update and retries automatically if your server is temporarily unavailable. For the full technical details, see **Callbacks** in the **Accept Payments** tab.

    ## Payment Methods
    <span class="welpay-tag welpay-tag-business">business</span>

    **Give customers the payment methods they already use.** Each one suits a different kind of customer - **you choose which methods to offer**, and can turn on more at any time.

    - **PromptPay QR** - Thailand's most widely used payment method, with over 90 million registrations and more than 70 million transactions a day. Every Thai bank supports it, so customers just scan with any banking app. **Across payments processed by Welpay, 99% of PromptPay payments finish within the first 4 minutes** - if a customer has not paid by then, they have usually walked away rather than been delayed.
    - **TrueMoney Wallet** - Thailand's #1 e-wallet. Customers pay straight from their TrueMoney app balance - a good fit if your customers are mobile-first.
    - **LINE Pay** - the wallet built into LINE messenger. Useful if your customers already buy from you through LINE chat or a LINE Official Account.
    - **ShopeePay** - Shopee's wallet. Useful for sellers whose customers also shop on Shopee.
    - **WeChat Pay** - for Chinese customers and tourists, who pay through the WeChat app they already use at home.
    - **Bank transfer** - customers pay directly from their bank account, no wallet needed.
    - **Cards** - credit and debit cards, available for qualified merchants, familiar to international customers.

    **Most merchants start with PromptPay QR** and add the others as their customer base calls for them.

    ### Where PromptPay Came From

    PromptPay is not a bank product or a private wallet - it is national
    payment infrastructure, which is why it works the same way at every Thai
    bank and why it is free or near-free for consumers.

    It came out of Thailand's **National e-Payment Master Plan**, announced in
    2015, whose aim was to move the country away from its heavy reliance on
    cash and bring more people into the formal financial system. PromptPay was
    one of the plan's five projects. It carried its first real traffic on
    **8 December 2016**, when the Comptroller General's Department used it to
    pay child-support welfare, and interbank transfers between ordinary
    customers followed on **27 January 2017**.

    The system is run by **National ITMX Co., Ltd.** (National Interbank
    Transaction Management and Exchange) - the operator of Thailand's shared
    payment rails. It was set up by the Thai Bankers' Association under the
    Payment Systems Committee, which the Bank of Thailand governs, and it is
    owned collectively by its member banks rather than by any single one. That
    is what makes it a neutral custodian: every bank clears through the same
    infrastructure, on the same terms.

    Two things follow from this that matter to you as a merchant:

    - **Reach is universal.** Because ITMX sits between all the banks, a
      PromptPay QR is scannable from any Thai banking app - you are not
      choosing a network your customers might not be on.
    - **The rails set the timing, not us.** ITMX cut-offs and Bank of Thailand
      settlement windows are why approval is instant but money movement is
      T+1/T+2. See [Settlement Timing](#WELPAY_TAB_SLUG/description/settlement-timing-t1-t2).

    ### Security of the Rails

    Worth knowing when your security team asks what happens to a payment
    after it leaves your checkout: the shared infrastructure is certified in
    its own right, independently of any one provider connected to it.

    | | |
    |---|---|
    | **ISO/IEC 27001** | National ITMX holds certification for its information security management system - the internationally recognised standard for how security is governed, not just which controls exist |
    | **PCI DSS** | Card infrastructure operated under the Thai chip-card scheme has passed PCI DSS compliance verification |
    | **ISO 20022** | PromptPay's switch uses the global financial messaging standard, which is what makes richer payment data and cross-border links possible |
    | **Participant safeguards** | Banks and providers connecting to the system post collateral with the Bank of Thailand, which is how credit and liquidity risk between participants is contained |

    These are **ITMX's certifications, covering the shared rails** - they are
    separate from Welpay's own, which are listed under
    [Safety and Data Handling](#WELPAY_TAB_SLUG/description/safety-and-data-handling).
    The practical effect is that a payment is protected at both layers: by us
    while we handle it, and by the national infrastructure while it moves
    between banks.

    <div class="welpay-extras">

    ## Send Money

    **Pay suppliers, staff, or customers anywhere.**

    - **Transfers in Thailand** - to any Thai bank account, fast and low cost, automatically after your approval
    - **Payouts worldwide** - to recipients outside Thailand (costs more, takes longer, handled by our team)

    </div>

    ## Settlement Timing (T+1 / T+2)
    <span class="welpay-tag welpay-tag-finance">finance</span>

    **Payment approved instantly. Money in your Welpay available balance in 1-2 days.**

    When a customer pays, the payment is confirmed right away, so you can deliver immediately. The money itself takes 1-2 calendar days to reach your available balance.

    **Your exact timeline is in your contract.** We agree on it with you during onboarding, based on your business and payment methods. The timings below are typical - **your specific settlement is set in your agreement**.

    ### T-Day Terms

    - **T** = the day the payment happens.
    - **T+1** = the next calendar day.
    - **T+2** = the second calendar day after the payment.

    Your balance stays up to date 365 days a year: our fully automated system runs every single day, weekends and holidays included.

    ### Settlement Flow

    ```mermaid
    flowchart LR
      T0["Day T: Customer pays<br/>(PromptPay: at once)"]
      T0 --> ACQ["Welpay collects<br/>and checks it"]
      ACQ --> S1["T+1: Money reaches<br/>your balance"]
      S1 -. "holiday / cut-off /<br/>extra bank step" .-> S2["T+2: next day"]
    ```

    | System | What it does | Speed |
    |--------|--------------|-------|
    | **PromptPay** | QR system. Approves payments fast. | At once |
    | **ITMX** | Moves money between Thai banks. Has cut-offs. | Same workday |
    | **BAHTNET** | Final settlement, Bank of Thailand. | Workday |
    | **Welpay pays you** | Collects, deducts fees, and credits your available balance. | T+1 to T+2 |

    ### Factors That Affect Timing

    - **Cut-off times** - a payment after the daily cut-off counts toward the next day. Cut-offs vary by bank and typically fall in the early afternoon, so a late-afternoon payment usually settles on the following cycle.
    - **Different banks** - an extra bank in the chain can add a day: if you bank with a smaller institution, settlement may be T+2.
    - **Bank maintenance** - planned work by the banks, often at night or on weekends. Affected payments are delayed, not lost. The Bank of Thailand publishes a maintenance calendar.
    - **Record checks** - every payment is checked before it settles. Fraud holds can delay settlement, but this is rare.
    - **Thai holidays** - weekends and public holidays don't count as business days. See the [Thai holiday calendar](https://www.timeanddate.com/holidays/thailand).

    > **Fast payment is not fast settlement.** A QR code can show "paid"
    > within seconds - that's the approval. The money in your account
    > still follows T+1/T+2. This is normal in Thailand, not a Welpay delay.

    ## Funding Your Balance
    <span class="welpay-tag welpay-tag-finance">finance</span>

    Your **Welpay balance** is the money you can use right now.

    **Two simple ways to fill your balance:**

    ### Pay-in

    **How it works:** Customers pay you → money appears in your balance

    - **When:** T+1 or T+2 (next day, per your contract)
    - **Example:** Customer pays Monday → balance updates Tuesday or Wednesday
    - **Best for:** Your regular business flow

    Thai banks move money step by step, so this short wait is normal everywhere.

    ### Top-up

    **How it works:** You add your own USDT → it appears immediately

    - **When:** Instantly
    - **Best for:** Getting started before your first customer payment, or urgent needs
    - **How:** Add USDT or another agreed method

    **Compare the two:**

    | **What** | **Pay-in** | **Top-up** |
    |---|---|---|
    | **When** | T+1/T+2 | Now |
    | **From** | Customers | You |
    | **When to use** | Every day | Starting out, urgent needs |

    **Most merchants:** use pay-in for everyday payments, and top up when they need money today.

    ### Where Your Money Sits

    Your balance is not one number. Your money sits in separate buckets,
    and the bucket tells you one thing: can you use this money right now?

    The idea is simple. Money comes in and **waits until the bank confirms
    it**. Then it is yours to use. When you send money out, it **waits
    again until the bank confirms the transfer**.

    | Bucket | What is in it | Can you spend it? |
    |---|---|---|
    | **Credit Hold** | Money from customer payments. It has arrived, but the bank has not confirmed it yet | Not yet. When reconciliation confirms it, we move it to Available Funds |
    | **Available Funds** | Money the bank has confirmed. This is yours to use today | Yes |

    <div class="welpay-extras">

    | Bucket | What is in it | Can you spend it? |
    |---|---|---|
    | **Debit Hold** | Money you asked us to send out. We take it from your Available Funds and keep it here until the bank confirms the transfer | No. It is already on its way |

    When the bank confirms the transfer, the debit hold ends. If the
    transfer fails, the money goes back to your Available Funds. Nothing
    is lost.

    </div>

    **Fees and VAT are not buckets.** We deduct them during settlement and
    list them on your payslip, so you never manage them as a balance - see
    [Pricing](#WELPAY_TAB_SLUG/description/pricing) and
    [Verified Reports](#WELPAY_TAB_SLUG/description/verified-reports).

    **Why this matters at month end.** Your total balance and your spendable
    balance are different numbers. A payment taken today shows in your
    records at once, but it sits in Credit Hold until the bank confirms it.
    So a balance that looks big in total may have less that you can spend
    today. When you reconcile, look at the bucket that answers your
    question, not the headline figure.

    **Where the Rolling Reserve fits.** The reserve protects against
    chargebacks and claims. We take a small part **from your Available
    Funds** and keep it in your Rolling Reserve balance for a set time.
    The money is still yours - you can see it, but you cannot spend it
    yet. When the holding period ends, it moves back to your Available
    Funds. So the reserve does not take what you have earned; it only
    makes you wait for a part of it. See
    [Rolling Reserve](#WELPAY_TAB_SLUG/description/rolling-reserve).

    ### How We Keep the Books

    Welpay runs a **double-entry ledger**. Every movement of money is
    recorded as matching entries against named accounts, so money is never
    created or destroyed in your balance - it only ever moves from one
    bucket to another, and the entries on both sides have to agree.

    Three properties follow from that, and all three matter when you
    reconcile:

    - **Nothing is edited or deleted.** Entries are immutable. A correction
      or a reversal is posted as a new, opposite entry that references the
      original - so the history stays intact and every figure can be traced
      back to the event that caused it.
    - **Every entry belongs to an event.** Each payment, transfer, reserve
      hold and release is a record in its own right, with a status and a
      full history. Your balance is not a number we maintain by hand; it is
      the sum of those entries.
    - **Balances are derived, not asserted.** Because the running balance is
      calculated from the underlying entries, it can always be re-derived
      and checked against them. A balance that cannot be explained by its
      entries would be a defect, not a rounding difference.

    ```mermaid
    flowchart LR
      P([Customer pays]) -->|entry| CH[Credit Hold]
      CH -->|settlement| AF[(Available Funds)]
      AF -->|entry| RR[Rolling Reserve]
      RR -->|release| AF
    ```

    **What this means for you.** When a figure looks wrong, it can be traced
    - we can show you the entries that produced it and the events behind
    them. That is also why we ask for transaction references when you raise
    a query: with the reference we can follow the money through the ledger
    rather than estimate.

    <div class="welpay-extras">

    ## Using Available Funds

    **Money-Out** is how you use the money in your balance:

    - **Transfer in Thailand** - send to any Thai bank (fast, low cost)
    - **Payout abroad** - send outside Thailand (slower, costs more)
    - **Settle to your bank** - get money to your own bank account on your schedule

    **Compare Transfer vs Payout:**

    | **What** | **Transfer** (inside Thailand) | **Payout** (outside Thailand) |
    |---|---|---|
    | **Where** | To Thai banks | To other countries |
    | **Why** | Pay staff and suppliers, give refunds | Send money to people abroad |
    | **Cost** | Low | Higher (more work on our side) |
    | **Speed** | 1-2 business days | Slower (depends on country) |
    | **Approval** | Two people must approve | Set by your agreement |

    > **Easy way to remember it:**
    > **Transfer = Thailand.** Both start with T — the money stays in the country.
    > **Payout = Passport.** The money needs a passport, because it leaves Thailand.

    ### Transfer Approval

    For safety, transfers need two different people to approve:

    ```mermaid
    flowchart LR
      R([Person 1: asks]) -->|1. Request| W{{Welpay}}
      A([Person 2: approves]) -->|2. Approve| W
      W -->|3. Send money| B([Recipient bank])
    ```

    1. **Person 1 requests:** creates the transfer
    2. **Person 2 approves:** reviews and confirms

    Do both steps in your dashboard or through the API - whatever works for your team.

    **Why two people?** Safety. It prevents mistakes, stops fraud, and leaves a clear record of who did what.

    </div>

    ## Pricing
    <span class="welpay-tag welpay-tag-finance">finance</span>

    Your pricing is agreed in your contract and itemized on every report.

    ### Pay-in Fees

    - **Payment fee** - from 2.9% per successful payment, adjusted for your volume and payment method
    - **Plus VAT** - 7% Thai tax, shown separately on reports
    - **Rolling reserve** - a portion held for 30-90 days, as agreed
    - **You receive** - the rest, settled to your bank on schedule
    - **Your statements** - tax invoices and detailed reports, whenever you need them

    ### Example: 1,000 THB Payment

    Here is how a payment breaks down at the 2.9% base rate:

    | Step | Amount | Notes |
    |------|--------|-------|
    | **Customer pays** | 1,000.00 THB | Full amount from their account |
    | **Welpay fee** | 29.00 THB | 2.9% of payment |
    | **VAT (7% of fee)** | 2.03 THB | Thai tax on the fee |
    | **Rolling reserve hold** | 50.00 THB | Held for 30-90 days, then released (example: 5%) |
    | **You get immediately** | 918.97 THB | Appears in your balance on T+1/T+2 |
    | **Later released** | 50.00 THB | Returned once the reserve period ends |
    | **Total to you** | 968.97 THB | (1,000 THB minus the 29.00 THB fee and 2.03 THB VAT) |

    **Your actual fee cost:** 31.03 THB (fee + VAT) on 1,000 THB = ~3.10%

    **Note:** Your rate may be lower, depending on your transaction volume and payment method. Your specific rate is settled during onboarding.

    The reserve is protection, not a permanent hold. Once the holding period ends, the money comes back to you.

    For how the reserve is calculated, held, and released - and why it exists - see **Rolling Reserve** below.

    <div class="welpay-extras">

    **Money-Out Fees**

    - **Transfer fee** - a small fixed cost per transfer within Thailand
    - **Payout fee** - a higher cost for sending money abroad, reflecting the extra work involved
    - **Good news:** You pay only on success. If a transfer fails, the fee returns to your balance automatically.

    </div>

    **Our principle:** Clear pricing, the same for every merchant. No games.

    ## Rolling Reserve
    <span class="welpay-tag welpay-tag-finance">finance</span> <span class="welpay-tag welpay-tag-compliance">compliance</span>

    **In short:** the reserve is protection with an expiry date. Terms are
    agreed individually, every movement is logged and visible to you, and
    what is yours comes back to you on a published schedule.

    ### What It Is

    Rolling reserve is a standard practice in payment processing: a small,
    agreed percentage of your settlement volume is held aside for a fixed
    period, then released in full. It is not a fee and not a penalty - the
    money remains yours throughout. It simply waits.

    While held, the reserve sits in a separate Rolling Reserve balance,
    always visible in your dashboard next to your Available Funds. When the
    holding period ends, the full amount returns to your Available Funds
    automatically - no request, no paperwork.

    ### Why It Exists

    A card payment can be disputed long after it settles. When a customer
    asks their bank for a chargeback, the bank pulls the money back from
    the processor - sometimes weeks or months after the sale, when the
    goods are shipped and the money is already paid out.

    The reserve makes sure funds are there when that happens. It covers
    chargebacks, refunds, and related scheme fees, so that:

    - **You** avoid sudden negative balances and unexpected collections.
    - **Your customers** can always receive legitimate refunds, even after settlement.
    - **The payment network** keeps working - processors that cannot cover
      disputes do not stay processors for long.

    ### Why Some Categories Have One

    Some lines of business attract more disputes than others: travel booked
    months ahead, online gaming, subscriptions, event ticketing. That
    reflects how customers behave in those categories - it says nothing
    about any individual merchant's integrity.

    For these categories, card schemes and partner banks require processors
    to show that disputes can be covered. The reserve is how that
    requirement is met - and what makes it possible to serve these
    businesses at all. If your business falls into a higher-risk category,
    we tell you during onboarding, and your reserve terms - percentage and
    holding period - are agreed individually and set out in your agreement.

    ### How It Works

    Everything runs monthly, automatically:

    1. **Calculate.** At the start of each month, we total your settlement
       volume over your reserve window and apply your agreed percentage.
       For new merchants with no history yet, the agreed expected volume is
       used until real numbers arrive.
    2. **Hold.** The calculated amount is set aside in your Rolling Reserve
       balance, with a start date and a release date you can see.
    3. **Release.** Once a hold has passed the end of its window, the full
       amount returns to your Available Funds on the **first business day of
       the following month**, as part of the monthly cycle. Releases happen
       monthly, not on the exact end date.
    4. **Repeat.** New holds are added as older ones are released - a
       rolling cycle that follows your volume up and down.

    ```mermaid
    flowchart LR
      V([Settlement volume]) -->|each month| C{{Calculate %}}
      C --> R[Rolling Reserve balance]
      R -->|window ends| A([Available Funds])
    ```

    **Your reserve has three parts, agreed when you start:**

    1. **The Rate** - what percentage of your money to hold (example: 10%, meaning 1 out of every 10 THB)
    2. **The Window** - how many months to look back when calculating (example: 2 months)
    3. **The Holding Period** - how long the money stays blocked before it comes back (example: 30–90 days, depending on your tier)

    These three are linked together as a "tier" - you don't pick them separately. A riskier business category gets a higher percentage but shorter holding period; a lower-risk category gets a lower percentage but longer holding period.

    **The Monthly Cycle:**

    On the first business day of each month (when banks are open):

    1. **Calculate** - Add up all your customer payments from your lookback window (last 2 months in this example) and multiply by your rate (10% in this example).
    2. **Release** - All the money from your old reserve comes back to your Available Funds instantly.
    3. **Block** - The new reserve amount moves to your Rolling Reserve balance and becomes blocked (you can see it but cannot spend it).
    4. **Repeat** - Next month, do the same thing: release old, block new.

    **Why only one reserve at a time?** You never stack or add reserves together. The new one always replaces the old one completely.

    **Walking through a real example** (these numbers are illustrative):

    Your tier: 10% rate, 2-month window, 30-day holding period

    | Month | Customer payments | 2-month total | Reserve calculation | What happens | Your Rolling Reserve balance |
    |-------|-------------------|---|---|---|---|
    | **December** | 5,000,000 THB | 5,000,000 THB | 0 THB | First month is free | 0 THB (nothing blocked yet) |
    | **January** | 7,000,000 THB | 5M (Dec) + 7M (Jan) = 12M | 12,000,000 × 10% = 1,200,000 THB | Block 1,200,000 THB for the first time | 1,200,000 THB |
    | **February** | 1,000,000 THB | 7M (Jan) + 1M (Feb) = 8M | 8,000,000 × 10% = 800,000 THB | Release the old 1,200,000 THB; block the new 800,000 THB | 800,000 THB |
    | **March** | 11,000,000 THB | 1M (Feb) + 11M (Mar) = 12M | 12,000,000 × 10% = 1,200,000 THB | Release the old 800,000 THB; block the new 1,200,000 THB | 1,200,000 THB |
    | **April** | 15,000,000 THB | 11M (Mar) + 15M (Apr) = 26M | 26,000,000 × 10% = 2,600,000 THB | Release the old 1,200,000 THB; block the new 2,600,000 THB | 2,600,000 THB |

    **What "blocked" really means:**

    - **Available Funds** = money you can withdraw or spend today
    - **Rolling Reserve balance** = money you own but must wait for (visible in your dashboard, but locked until the holding period ends)

    Once January's reserve has passed its 30-day mark, it moves from Rolling Reserve back to Available Funds at the next monthly cycle - the first business day of the following month. No request needed, no paperwork.

    **Important:** You cannot request early release of blocked funds. The money stays blocked for your agreed holding period, or until you cancel your contract with us.

    **Key principle:** The reserve always adjusts to match your recent volume. Quiet months shrink the reserve; busy months grow it. The reserve follows the business, not the other way around. You always have just one active reserve hold, and once its holding period is up it is released at the next monthly cycle.

    **Reserve tiers.** The reserve is tiered: a longer holding period comes
    with a lower percentage, so the terms can match the shape of your
    business. Your tier - percentage and window together - is agreed
    individually during onboarding. After that, a user with approval
    rights can request a tier change once a month from the dashboard,
    confirmed with MFA. We review each request against current volumes and
    risk; approved changes apply to future calculations only - existing
    holds are left untouched.

    **You always know where you stand.** The dashboard shows your current
    reserve balance, the history of every hold and release, and the release
    dates ahead. The moment a hold is placed, we email you the blocked
    amount, your updated Available Funds, and your current tier; releases
    get the same treatment. No change, no email.

    ### Rolling Reserve - Frequently Asked Questions

    **Q: Can I get my blocked reserve money back early?**
    A: No. The money stays blocked for your full agreed holding period. The only way to unlock it earlier is to cancel your contract with us, in which case the reserve is held for 90 additional days after termination to cover any outstanding chargebacks or refunds.

    **Q: Does my rolling reserve count as "Available Funds"?**
    A: No. Available Funds are money you can withdraw or spend today. Your rolling reserve is separate - you can see it in your dashboard, but it's locked. When your holding period ends, it automatically moves to Available Funds.

    **Q: What's the difference between my "calculation window" and my "holding period"?**
    A: The calculation window is how far back we look (example: 2 months). The holding period is how long the money stays blocked (example: 30 days). They are independent: a 2-month window + 30-day holding period means we calculate based on the last 2 months of payments, then hold that amount for 30 days before releasing it.

    **Q: When exactly does my blocked money move back to Available Funds?**
    A: On the first business day of the month after your holding period ends. Releases run once a month, as part of the monthly cycle - not on the exact end date. We send you an email and update your dashboard when it happens.

    **Q: What if my volume drops to zero in a month?**
    A: Your reserve shrinks to match. If you have zero payments, your reserve calculation is zero. We release any old reserve that was held and block nothing new. No harm done - the reserve follows your business.

    **Q: Can I change my tier to a different rate or holding period?**
    A: Yes. A user with approval rights can request a tier change once per month from the dashboard. We review it against your current volumes and risk profile, and approve or deny within one business day. If approved, the new tier applies to all future calculations - existing holds are not changed.

    **Q: What happens to my reserve if I cancel my contract?**
    A: Any reserve currently blocked is held for an additional 90 days after your contract ends, to cover any chargebacks, refunds, or disputed transactions from before you left. After 90 days, any remaining balance is released to you.

    **Q: How do I know what my rate and holding period are?**
    A: Your tier is agreed during onboarding and shown in your contract. You can also see it in your dashboard at any time under Account Settings. Each time we calculate and hold a reserve, we email you the details, including your current tier.

    **Q: Do I pay any fee for the rolling reserve?**
    A: No. The rolling reserve is not a fee - it's your own money. We hold it for protection against chargebacks and refunds, then release it in full. You never lose it.

    **Q: What if I don't have enough Available Funds to cover the new reserve calculation?**
    A: We hold as much as possible from your Available Funds. If your balance is too low, any shortfall is deducted from your next settlement, or held until you have enough incoming payments to cover it.

    **No payments, no reserve.** If you use Welpay only for transfers and
    payouts, with no customer payments coming in, no reserve applies -
    there is nothing to reserve against.

    <div class="welpay-extras">

    ### Security Deposit for High-Risk Merchants

    For certain higher-risk categories, the reserve takes a different form:
    a **fixed security deposit** in THB, agreed during onboarding based on
    the business category and expected volumes.

    | &nbsp; | Percentage reserve | Security deposit |
    |---|---|---|
    | **Amount** | Recalculated monthly, follows your volume | Fixed sum, agreed at onboarding |
    | **How it is funded** | Withheld from settlements | Transferred once by the merchant |
    | **Your settlements** | Partially held | Arrive in full |
    | **When it ends** | Released each month, rolling | Held for the life of the contract |

    A few things worth knowing:

    - **Your money flows freely.** Because the deposit is funded directly,
      none of your settlement income is withheld.
    - **It is the last resort, not the first.** Chargebacks and fees are
      covered from your Available Funds first; the deposit is used only if
      those are not enough. Every use appears in your portal with the
      amount and the reason.
    - **It comes back.** When the contract closes, the remaining deposit is
      returned in full after a review period that allows late-arriving
      disputes to surface. The terms are set out in your agreement.

    The deposit is held at the master account level; individual
    sub-merchant stores do not see it.

    </div>

    ## Verified Reports
    <span class="welpay-tag welpay-tag-finance">finance</span> <span class="welpay-tag welpay-tag-business">business</span>

    Two settlement reports arrive each day, and every payment in them has already been checked against bank records.

    | Time | What | Why |
    |---|---|---|
    | **10:00 AM** | Morning payslip | All verified payments from the night and early morning |
    | **4:00 PM** | Afternoon payslip | All verified payments from the day |

    **Each payslip shows:**
    - Exactly which payments settled
    - Reference numbers, so you can match them to your orders
    - Amounts received
    - Fees and VAT breakdown
    - The net amount you receive

    **You can request** the payslip via the support channel.

    **Treat the payslip as your trusted record.** If a figure doesn't match your own records, tell support immediately and we'll help sort it out fast.

    All times are Thailand time.

    ## Transaction Limits

    Limits are set per merchant in your agreement. The numbers below are
    common defaults; your agreed limits may be higher.

    **Pay-in (taking payments)**

    | Pay-in limit | Common value |
    |--------------|---------------|
    | Smallest payment | 10.00 THB |
    | Largest payment | 2,000,000.00 THB |

    <div class="welpay-extras">

    **Transfer and Payout (sending money)**

    | Transfer or payout limit | Common value |
    |--------------------------|---------------|
    | Smallest amount | 10.00 THB |
    | Largest amount | 699,999.99 THB |
    | Total per month | Set in your agreement |

    > Some methods may have lower limits set by the bank or wallet. If you
    > need higher limits, please agree them with sales **before** you go
    > live - we're happy to help find the right fit.

    > **Why 699,999.99, of all numbers?** Thai anti-money-laundering law sets
    > a reporting threshold at **700,000 THB**: an electronic transfer or
    > e-payment at or above that amount must be reported to AMLO. The default
    > ceiling sits one satang below it, so everyday transfers stay clear of
    > that obligation.
    >
    > Larger amounts are not forbidden - they move into the reporting regime,
    > which means supporting documentation and a slower path. If you routinely
    > need to send more than this, agree it with us in advance rather than
    > discovering the paperwork mid-payment.
    >
    > Raised limits can revert to defaults if automated safety thresholds are
    > breached - if your limits reset unexpectedly, that is the likely cause;
    > ask support.

    </div>

    For API throughput limits, see **Rate Limits** in the **Reference** tab.

    ## Fraud Checks and Refunds
    <span class="welpay-tag welpay-tag-compliance">compliance</span>

    ### Full Payment Guaranteed

    **Our system makes sure: either the full amount arrives, or nothing.**

    Partial payment is not possible. If a customer tries to pay half the bill,
    the system rejects it outright, and the order stays open until the full
    amount arrives.

    **What this means for you:**
    - ✓ No partial payment confusion
    - ✓ No tracking fractional orders
    - ✓ No delivery before full payment
    - ✓ Clear yes/no answer: paid or unpaid

    ### How the Amount Is Checked

    The amount you ask for is the amount that has to arrive. There is no
    tolerance band and no rounding: the payment either matches or it does not.

    | | |
    |---|---|
    | **What is compared** | The amount you sent when you started the payment, against the amount actually paid |
    | **Precision** | Exact, to two decimal places - `100.00` means `100.00` |
    | **Partial payment** | Rejected. The order stays open and unpaid |
    | **Currency** | Thai Baht only, so there is no conversion step to introduce a difference |

    The same amount is used as a safety check later. When you look up a
    payment's status, you pass the amount along with the reference, and a
    value that does not match the original is refused rather than answered -
    so a mistyped amount can never return the wrong payment's status.

    **Keep your own record of the amount you requested.** It is both the
    thing that must match and the key you use to check the payment later.

    **You're protected.** Ship the goods or deliver the service only once we
    confirm full payment. That's all there is to it.

    ### Name Matching

    **We automatically verify that the payer is who they claim to be.**

    The system compares the payer's name against the bank's own records,
    catching stolen accounts and suspicious payments before they ever reach
    you.

    **For customer payments (Pay-in):**

    ✓ **Name matches** → Payment accepted, money comes in

    ✗ **Name doesn't match** → Payment automatically blocked

    **Most fraud never reaches you.** The great majority of disputes start
    with a payment made from an account that does not belong to the person
    buying from you, and that is exactly what this check stops - before the
    payment ever lands in your balance. You see fewer fraudulent payments and
    fewer disputes than you would without it, and the rolling reserve covers
    the rare case that gets through. Welpay does the filtering for you.

    <div class="welpay-extras">

    **For transfers and payouts:**

    ✓ **Name matches** → Money sent successfully

    ✗ **Name doesn't match** → Money stays in your balance, never sent

    **Your money stays protected.** When the names don't match, nothing
    leaves your balance - funds can never land with the wrong person by
    accident.

    </div>

    ### How Names Are Compared

    Thai bank records rarely hold a bare first and last name. They usually
    carry a title, and Thai titles are more varied than most: alongside the
    everyday นาย / นาง / นางสาว (Mr / Mrs / Miss) you will meet military,
    police, and government ranks, in Thai script or in English.

    You do not need to clean any of that up. Name matching runs on a
    dedicated engine built for Thai and English names, combining phonetic,
    linguistic, and transliteration analysis. It is our own work, tuned
    against real Thai banking data, and it does the normalising so you don't
    have to.

    Send the name the way your customer gives it to you. We handle:

    | Difference | Example |
    |---|---|
    | **Titles and ranks** - Mr, Mrs, Miss, Ms, and military, police, and government titles, in Thai or English | `MR JOHN DOE` matches `John Doe` |
    | **Letter case** | `JOHN DOE` matches `john doe` |
    | **Word order** | `Doe John` matches `John Doe` |
    | **Middle and extra name parts** | `John Michael Doe` matches `John Doe` |
    | **Thai and English script, including across the two** | A name written in English still matches the Thai record it came from |
    | **Spelling and transliteration variation** | The many valid ways one Thai name can be written in English are recognised |

    **Company accounts work the same way.** If your customer pays from a
    business account, the company name is matched under the same rules - you
    do not need a separate flow for personal and juristic accounts.

    What still has to match is the name itself. If the payer's actual name
    differs from the one you sent, the payment is rejected - that is the
    whole point of the check.

    **In practice:** collect the customer's name as it appears on their bank
    account, and pass it straight through in `UserName`. Stripping titles or
    reordering the words yourself gains you nothing and risks introducing a
    mistake.

    Fraud gets blocked; you get on with business.

    ### Why We Check Names

    Name matching is a compliance control, not a product feature. We apply it
    under our internal compliance policies and the obligations that apply to
    us as a regulated payment service provider in Thailand, including
    anti-money-laundering requirements. For that reason it runs on every
    applicable transaction, it is applied consistently across all merchants,
    and it cannot be switched off or relaxed by request.

    **Where it applies:**

    - **Money coming in.** The payer's name is checked against the account
      records held by their bank or payment provider. Where the check does
      not pass, the payment is declined and the funds are not credited to
      your balance.

    <div class="welpay-extras">

    - **Money going out.** The recipient's name is checked against the
      destination account records before any funds are released. Where the
      check does not pass, the transfer or payout is not sent and the funds
      remain in your balance.

    </div>

    Applying the check in both directions is what the applicable policies
    require: incoming funds are screened to reduce the risk of proceeds
    entering the system, and outgoing funds are screened to reduce the risk
    of payment to an unintended recipient.

    **What this does and does not mean.** These controls are designed to
    detect and prevent name mismatches, and they materially reduce fraud and
    disputes. No control of this kind identifies every case, and this section
    describes how the control operates rather than giving a warranty as to
    any particular transaction or outcome. Your rights and obligations, and
    ours, are those set out in your agreement with Welpay and in applicable
    law; nothing in this documentation varies them. You remain responsible
    for your own regulatory obligations, including any customer due diligence
    that applies to your business.

    If a payment or transfer of yours is declined by a name check and you
    believe that is wrong, contact support with the reference and we will
    review it.

    ### Sanctions and PEP Screening

    Some merchants carry obligations that go beyond name matching. For those
    cases, **sanctions and politically exposed person (PEP) screening is
    available as an additional control, enabled on request**.

    A few things to be clear about:

    - **It is not enabled by default.** If you have not asked for it, it is
      not running on your account.
    - **Coverage is US and Thai.** Screening is performed against US and Thai
      sanctions lists. If your obligations extend to other jurisdictions,
      tell us during onboarding so we can confirm what is possible before you
      rely on it.
    - **Scope is agreed with you.** The exact lists applied and how matches
      are handled are confirmed when we enable it, so that the configuration
      fits your obligations rather than a generic default.
    - **It does not replace your own compliance.** Whether screening is
      required for your business, and to what standard, is determined by the
      regulations that apply to *you*. Enabling or declining this service
      does not change those obligations, and nothing here should be read as
      advice on what your business is required to do.

    If you think you may need it - or you are not sure whether you do - raise
    it with us during onboarding rather than after you go live. It is far
    easier to configure screening before your first live transaction than to
    apply it retrospectively. Email support@welpay.co.th and we will work
    through it with you.

    ### What You Should Do

    We do the heavy lifting on fraud checks, but a few habits on your side
    make them even stronger:

    - **Wait for confirmation** - don't ship or deliver until Welpay confirms
      the payment succeeded
    - **Watch for odd orders** - very large amounts, repeated failures, or
      unusual patterns
    - **Keep records** - saved order details let us help quickly if questions
      arise
    - **Tell us immediately** - if something looks wrong, say so
    - **Respond to our questions** - when we're checking something, a quick
      reply keeps things moving

    The short version: deliver only after Welpay confirms payment.

    ### Fraud Handling

    When we suspect fraud, we may **hold, reverse, or reject** the payment and
    hold the related funds while we ask you for information. If fraud is
    confirmed, the funds may be **withheld or returned**, and we follow the
    law - including reporting to the authorities where required.

    > This is also why we run KYC and checks on every merchant: stopping
    > fraud starts with knowing who we both are.

    ### Refund Handling

    - **Refunds are handled case by case** through support - there is no
      self-service refund button today.
    - Each refund is processed **after verification**, on the terms set out
      in your agreement.
    - For Pay-in, the rules depend on the payment method: QR and wallet
      payments generally have no card-style chargebacks.

    <div class="welpay-extras">

    - If a transfer or payout fails or is cancelled, the amount **and** its
      fee and VAT return to your balance automatically - no refund request
      needed.

    </div>

    - Refund timing follows the normal settlement cycle.

    **What a refund or chargeback costs is a contractual matter.** Any fees
    that apply - and how they are charged back to your balance - are set out
    in your agreement, because they depend on your pricing, your payment
    methods, and the card scheme rules that apply to your business. We do not
    publish a standard figure here, since a number that is right for one
    merchant would be wrong for the next. If you want to model the cost
    before you sign, ask sales and we will walk you through it against your
    own volumes.

    ## Reliability

    - **Runs reliably** - built to stay online and monitored around the clock.
    - **Backups and redundancy** - critical components have backups, so a
      single failure won't stop the service.
    - **Business continuity** - plans are in place to keep us running and to
      recover quickly if something major goes wrong.
    - **Bank coordination** - we track bank maintenance windows and outages,
      and keep money moving wherever we can.
    - **Bank maintenance times** - banks schedule planned work, often at
      night. Affected payments may be delayed, not lost.
    - **Status page** - live service health and incident updates are on the
      status page; ask support for the link.
    - **Incident updates** - during an incident we post updates until it is
      resolved, then review what happened to prevent a repeat.

    ## SLAs and Escalation
    <span class="welpay-tag welpay-tag-compliance">compliance</span> <span class="welpay-tag welpay-tag-finance">finance</span>

    You should always know what to expect from us. The numbers below are the
    **service targets** we work to. Any **contractual SLA** for your account
    is set out in your agreement.

    **Availability target:** Welpay is designed for high availability, and we
    aim for at least **99.9% uptime** each month. This excludes bank-rail
    outages and planned maintenance.

    **Support response targets (production):**

    | Priority | Meaning | First response target |
    |----------|---------|----------------------|
    | **P1** | Service down or money stuck | Within 1 hour (business hours); best effort 24/7 |
    | **P2** | Major issue, workaround exists | Within 4 business hours |
    | **P3** | Question or minor issue | Within 1 business day |

    **Planned maintenance:** we give advance notice wherever possible (at
    least 24 hours) and schedule the work outside peak hours.

    **Escalation path** if an issue isn't moving:

    1. **Support** - your first point of contact.
    2. **Senior engineer on duty** - for technical issues.
    3. **Account / relationship manager** - for account matters.
    4. **Management** - for unresolved or high-impact cases.

    > The more you tell us up front, the faster we can act. Please include:
    > your **MerchantCode**, the relevant **transaction IDs**, the **date and
    > time** (Thailand time), what happened, and what you expected.

    ## Safety and Data Handling
    <span class="welpay-tag welpay-tag-compliance">compliance</span>

    Welpay combines access controls, fraud checks, and data protection to keep
    payments and customer data safe.

    ### Certifications and Supervision

    | &nbsp; | What it is | What it means for you |
    |---|---|---|
    | **Licensed PSP** | Welpay is a licensed payment service provider in Thailand, operating under the Payment Systems Act B.E. 2560 (2017) and supervised by the Bank of Thailand | You are dealing with a regulated entity, not an intermediary. Your own compliance team can verify our standing before onboarding |
    | **PCI DSS v4.0.1** | The payment card industry's security standard. v4.0.1 has been the only active version since v4.0 was retired at the end of 2024 | Card data is handled inside a certified environment, so you never store card numbers yourself and your own PCI scope stays small |
    | **PDPA** | Thailand's Personal Data Protection Act B.E. 2562 | Customer personal data is processed under Thai data protection law. Thailand-related data is processed and stored within Thailand |
    | **Cybersecurity Act** | Thailand's national cybersecurity framework | Security controls and incident handling follow the national framework |
    | **AMLO** | Thailand's Anti-Money Laundering Office | Anti-money-laundering checks apply to onboarding and to transactions |

    Being licensed and supervised is not a badge - it means capital, conduct,
    reporting, and security obligations that are audited rather than
    self-declared. If your compliance team needs our licence details or
    certification evidence for their own due diligence, ask
    support@welpay.co.th and we will provide them.

    - **Follows Thailand's data law (PDPA).** We use personal data only as
      needed for the payment. You stay in charge of your customer data and
      should have a privacy notice in place.
    - **Certified and supervised.** Welpay operates under PCI DSS 4.0.1
      certification, Thailand's PDPA and Cybersecurity Act, and AMLO
      (anti-money-laundering) oversight. Thailand-related data is processed
      and stored within Thailand.
    - **Separated environments.** Production, sandbox, and staging run on
      strictly separated infrastructure, and Welpay engineers have no
      production access by design - production issues go to the support
      team, not the integration chat.
    - **We handle sensitive data.** Welpay manages payment details, so you
      never need to store raw card or bank secrets.
    - **Data stays protected.** Data is stored securely, and access is limited
      to the people who need it.
    - **Keys are protected.** Your secret keys are kept safe and rotated on
      request, or whenever we suspect they may be at risk.
    - **Fraud and overload protection.** Several layers of defense (login
      checks, rate limits, and monitoring) keep any one bad actor from slowing
      the service down. This protects your payments too.
    - **Records and audits.** We keep transaction records as required by law
      and review our security regularly.
    - **IP allow-list.** For stronger safety, we can restrict connections to
      Welpay's own addresses only.

    PDPA is Thailand's Personal Data Protection Act. An **IP allow-list** is a
    list of allowed computer addresses; only those may connect.

    ### Personal Data: Who Is Responsible for What

    **You decide what customer data you collect and why; we process what you
    send us in order to execute the payment.** Those are different roles, and
    they carry different responsibilities.

    | &nbsp; | You | Welpay |
    |---|---|---|
    | **Decide what is collected and why** | ✓ | |
    | **Have a privacy notice for your customers** | ✓ | |
    | **Answer your customers' data requests** | ✓ | |
    | **Process payment data to complete the payment** | | ✓ |
    | **Protect the data we hold, and keep records the law requires** | ✓ | ✓ |

    ### If Your Business Is Outside Thailand

    Your own country's data protection law continues to apply to you - it
    does not stop at the border because your payment provider is Thai.

    At the same time, **Thai PDPA applies to the collection and use of
    personal data of people in Thailand**, which is what a Thai payment
    involves. So both regimes are typically in play at once.

    Two practical consequences:

    - **Complying with one does not discharge the other.** Meeting your home
      requirements does not automatically satisfy PDPA, and vice versa. Where
      the two differ, the safe course is to meet whichever is stricter.
    - **Work out your position before you go live, not after.** Your lawful
      basis, your privacy notice, your retention periods, and how you handle
      a customer's request about their data are all easier to get right at
      the start than to retrofit across live records.

    **Send us only what the payment needs.** The API asks for the customer's
    name, email, and phone because the payment and its receipt require them.
    Free-text fields are not a place for extra personal data: `ProdDesc` is
    shown to the customer on the payment page, and `Remark` comes back to you
    in the callback - neither is a private notes field. The less personal
    data you send, the less there is to protect, disclose, or explain.

    > This section describes how responsibility is divided in practice. It is
    > not legal advice, and it does not vary your agreement with Welpay. What
    > your business is required to do - in Thailand or anywhere else - is a
    > question for your own counsel.

    ## Support
    <span class="welpay-tag welpay-tag-business">business</span>

    Support covers onboarding, launch, and day-to-day operations.

    ### Launch

    - **Strategy call** - we talk through your business, your goals, and which payment methods fit
    - **Document guidance** - what you need and how to get it ready
    - **Sandbox testing** - a test environment with no real money
    - **Pre-launch review** - our team checks your setup
    - **Go-live walk-through** - we're with you on day one

    **Live in 3-10 days** once your documents are ready.

    ### Daily Operations

    - **System availability** - built to run every day, weekends and holidays included
    - **Support team** - English and Thai support at support@welpay.co.th
    - **Production incidents** - report live account issues (balances, stuck transactions, urgent failures) to support@welpay.co.th or your operations contact; integration chats are for API questions
    - **Support hours** - ICT [9-18 Bangkok time](https://www.timeanddate.com/worldclock/thailand/bangkok) for technical support; 24/7 for P1 issues
    - **Response targets** - urgent issues within 1 hour during business hours; everything else follows the SLA
    - **Verified reports** - two settlement reports each day

    ### Escalation and Response Targets

    If an issue stalls, it escalates: **Support → Senior engineer → Account manager → Management**. Response targets (P1 within 1 hour, 24/7; P2 within 4 business hours; P3 within 1 business day) and full details are in [SLAs and Escalation](#WELPAY_TAB_SLUG/description/slas-and-escalation). *(Actual SLA terms are in your agreement.)*

    ### Languages

    English and Thai. If anything is unclear, ask support.

    ## Getting Started
    <span class="welpay-tag welpay-tag-business">business</span> <span class="welpay-tag welpay-tag-dev">dev</span>

    The setup flow is:

    ```mermaid
    flowchart LR
        A["1. Talk to Us"] --> B["2. Send Documents"]
        B --> C["3. Get Test Access"]
        C --> D["4. Build & Test"]
        D --> E["5. Go Live"]
    ```

    ### Step 1: Contact Us
    Tell us about your business: your expected payment volume and the payment methods you need.

    ### Step 2: Send Documents
    We confirm your business details and review your documents.

    ### Step 3: Get Test Access
    You give us your testing server IPs and a technical contact email, and you get a login to our **sandbox** — a safe test environment where no real money moves. Your sandbox login and API credentials arrive by email; verify your email address first, or dashboard access will not work. Try everything.

    ### Step 4: Build and Test
    Your team builds the integration, and we review it against our go-live checklist. The full technical checklist is in **Go Live** in the **Accept Payments** tab.

    **Before you go live, confirm:**

    - ✓ Required documents submitted and confirmed - see [Required Documents](#WELPAY_TAB_SLUG/description/required-documents)
    - ✓ Callback (`BackendURL`) and redirect URLs configured and reachable - see [Responsibilities](#WELPAY_TAB_SLUG/description/responsibilities)
    - ✓ Settlement timing and pricing confirmed in your agreement - see [Settlement Timing](#WELPAY_TAB_SLUG/description/settlement-timing-t1-t2) and [Pricing](#WELPAY_TAB_SLUG/description/pricing)
    - ✓ Go-live review completed with the Welpay team - see [Support](#WELPAY_TAB_SLUG/description/support)

    ### Step 5: Go Live
    Once your sandbox integration passes review and the rates and agreement are signed, you receive your live credentials and start accepting real payments.

    **Timeline:** usually **3-10 working days** from completed documents to a signed contract. Building and testing move at your own pace.

    **Key terms:**
    - **Sandbox** = safe test copy with no real money
    - **Go live** = start accepting real payments with real money

    ### Required Documents

    For a smooth start, prepare these (the list applies to Thai-registered companies, and we may ask for more):

    | Category | Typical documents |
    |----------|-------------------|
    | **Company** | Registration certificate and company affidavit |
    | **Tax** | VAT certificate (ภ.พ.20), within 6 months |
    | **Ownership** | Shareholders, signers, true owners |
    | **People** | ID or passport of each signer and true owner |
    | **Banking** | Company bank book or statement in your name |
    | **Business** | Website, product list, sample invoices |
    | **Licence** | An operating licence, if your work needs one |

    > Make sure the names match across every document. Clear, valid
    > paperwork helps us approve you faster — and gets you started sooner.

    ### Responsibilities

    | You do | Welpay does |
    |--------|-------------|
    | Provide correct documents and a legal use case | Run the service and bank links |
    | Build your link and keep keys safe | Process transactions |
    | Tell us your callback and redirect URLs | Send callbacks and updates |
    | Keep your balance topped up | Check records and send payslips |
    | Tell us if something looks wrong | Watch the service and fix problems |

    ## FAQ

    **Questions organized by topic and role. Can't find your answer? Reach out to support@welpay.co.th.**

    ### Getting Started and Eligibility

    **Who can become a Welpay merchant?**
    Registered Thai businesses and approved groups with a legitimate reason to accept payments in Thailand. Some business types need extra checks, and a few we are not able to serve. See [Is Welpay a Fit for Your Business?](#WELPAY_TAB_SLUG/description/is-welpay-a-fit-for-your-business) for the shape of it. Not sure where you fall? Ask sales — we're happy to look into it, and there is no disadvantage to asking early.

    **I am a foreign company. Can I use Welpay?**
    Often, yes. Most merchants need a Thai entity or an approved local setup. Tell us how you're structured and we'll confirm what's possible. Support is in English.

    **Do I need developers?**
    No. Start with the dashboard for manual work, or with payment links you send to customers by email or SMS — no coding required. When you want full automation, add the API later.

    **How long does it take to start?**
    Usually 3-10 working days for checks and contracting once your documents are complete. If you only use the dashboard or payment links, you can go live the same day you're approved.

    ### Money and Settlement

    **For Finance & Operations teams**

    **When do I get my money?**
    Settlement follows the cycle in your contract, typically T+1/T+2. Payslips appear twice each working day, at 10:00 AM and 4:00 PM (Thailand time), and the money lands in your available balance on T+1 or T+2.

    **Example:** a customer pays on Monday at 2 PM → your balance updates on Tuesday at 2 PM (24 hours later, on T+1) → the money reaches your bank account by Wednesday night (on your request).

    **Do fees include VAT?**
    No. Fees are quoted without the 7% VAT. The VAT is added on top and shown as its own line on every statement and payslip.

    **Example:** a 1,000 THB payment with a 2% fee costs 20 THB plus 1.40 THB VAT. You see both amounts separately on your report.

    **What's the cost to add other payment methods?**
    Nothing extra. TrueMoney, LINE Pay, ShopeePay, and cards all share the same fee structure. Activate the methods you want and deactivate the ones you don't — the cost stays the same.

    <div class="welpay-extras">

    **Transfer vs Payout?**
    A **Transfer** moves money within Thailand. A **Payout** sends money outside Thailand and costs more, because a person handles each one by hand.

    **What if a transfer or payout fails?**
    The amount, its fee, and the VAT return to your balance automatically. We'll let you know, and you can try again whenever you're ready.

    </div>

    **Can I get higher limits or better pricing?**
    Yes. Tell sales your expected volume and we'll work with you to find the right fit.

    ### Security and Compliance

    **For Compliance & Risk teams**

    **Is my customer data safe with Welpay?**
    Yes. We follow Thailand's data protection law (PDPA). We never store your customers' card or bank details — so you don't need to either. All data is encrypted, and access is limited to people who need it.

    ### Troubleshooting and Support

    **For when things aren't working as expected**

    **What if a payment is stuck or I missed an update?**
    Check the real status in the dashboard or ask your developer to query the status endpoint. Waiting doesn't mean it failed. See **Issue Handling** in the **Accept Payments** tab.

    **What if I have a problem or question?**
    We have a real support team (English and Thai) at support@welpay.co.th. For urgent issues, we respond within 1 hour.

    **Can I cancel my account if I'm not happy?**
    Yes. You can cancel anytime, subject to any outstanding balances or reserves.

    **What if Welpay goes down? Will my payments work?**
    We're built to stay up and aim for 99.9% uptime. If something does go wrong, we work on it immediately and keep you updated on a status page.

    **Which payment methods can I offer?**
    Pay-in: PromptPay QR, Thai e-wallets, and bank payments.

    <div class="welpay-extras">

    Transfer: all major Thai banks. Payout: outside Thailand, per your
    agreement.

    </div>

    ## Contact

    **Ready to get started? Have a question? Either way, we're here to help.**

    ### Contact Options

    | Your Situation | Contact | Channel | Response Time |
    |---|---|---|---|
    | **Ready to onboard** | Sales & Onboarding | support@welpay.co.th | Same day |
    | **General questions** | Support Team | support@welpay.co.th | 1 business day |
    | **Urgent issue (P1)** | Support / Escalation | support@welpay.co.th | 1 hour, 24/7 |
    | **Technical integration** | Developer Support | support@welpay.co.th (mark as "DEV") | 4 business hours |
    | **Compliance / Legal** | Compliance Team | support@welpay.co.th | 1 business day |
    | **System status** | Status Page | Ask support for the link | Real-time updates |

    ### Support Details

    **Email:** support@welpay.co.th
    **Languages:** English, Thai (ไทย)
    **Available:** 24/7 for urgent (P1) issues; 9 AM-6 PM ICT on business days for standard inquiries

    **Include in your message:**
    - Your Merchant Code
    - The relevant transaction IDs, if applicable
    - The date and time (Thailand time, UTC+7)
    - What happened, and what you expected instead
    - Any error messages or screenshots

    ### Where to Go Next

    - **Accept Payments** tab - the technical guide to taking customer payments
    - **Reference** tab - fields, errors, statuses, limits, and the glossary

    <div class="welpay-extras">

    - **Send Money** tab - the technical guide for transfers and payouts

    </div>

    **Questions about this guide?** It should cover most scenarios — but if something is unclear, we want to know. Email support@welpay.co.th and tell us what's confusing.
  contact:
    name: Welpay Support
    email: support@welpay.co.th
  x-logo:
    url: ./img/welpay-logo.png
    altText: Welpay Logo
    backgroundColor: '#FFFFFF'
servers:
  - url: https://payment-sandbox.welpay.co.th/
    description: |-
      Sandbox environment - a safe place to test before you go live
  - url: https://payment.welpay.co.th/
    description: |-
      Production environment - live and ready for real payments
paths: {}
tags: []
x-tagGroups: []
