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

# Glossary

> Payments and Modulus terms, with Philippine local context

## Overview

Plain definitions of the terms used across the Modulus APIs. New to payments or new to the Philippine market? Start here.

## Money and amounts

Two amount conventions are in use. Check each API's reference before you send a value.

| Term                       | Meaning                                                                                                                                                             |
| -------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| Minor units (Ecom)         | Payment Links and Payment Intents take amounts as **integers in the currency's smallest unit**, no decimals. For PHP that is centavos: `150000` means PHP 1,500.00. |
| Major units (QR, Terminal) | The QR and Terminal Gateway APIs take amounts as a **decimal in the main unit**: `500.00` means PHP 500.00.                                                         |
| Centavo                    | 1/100 of a Philippine peso.                                                                                                                                         |
| ISO 4217                   | The currency-code standard. `PHP` is the Philippine peso.                                                                                                           |

## Keys and access

| Term                               | Meaning                                                                                                                                                                                                     |
| ---------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `sk_` (secret key)                 | Server-side key. Creates resources (payment links, payment intents). Never expose it in a browser or mobile app. Newer keys are prefixed `sk_test_` (sandbox) or `sk_live_` (production).                   |
| `pk_` (publishable key)            | Browser key used by the JavaScript SDK to confirm a payment, scoped to a single intent by its `client_secret`. Safe to ship in your frontend. Prefixed `pk_test_` or `pk_live_`.                            |
| Entity hierarchy                   | Organization levels a key can be scoped to: **partner** (all merchants and branches under it), **merchant** (all branches under it), **branch** (one branch only). Access is restricted to the key's level. |
| `merchant_branch_reference_number` | Identifies the branch a resource belongs to. Required for partner- and merchant-scoped keys; branch-scoped keys can omit it.                                                                                |

## Ecom concepts

| Term                    | Meaning                                                                                                                                                                                                                                                          |
| ----------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| Payment link            | A shareable hosted checkout URL. Create it server-side, send your customer the `url`, and Modulus hosts the checkout page. See [Payment Links](/docs/ecom/payment-links).                                                                                        |
| Payment intent          | An amount a customer has agreed to pay, created server-side and confirmed in the browser by the JavaScript SDK. See [JavaScript SDK](/docs/ecom/jssdk/introduction).                                                                                             |
| `id` vs `client_secret` | The intent `id` is the public identifier (safe in logs, webhooks, dashboards). The `client_secret` is the capability that authorizes confirming that one intent. They are separate on purpose: a value that is widely logged should not also authorize a charge. |
| `order_reference`       | Your own identifier stored on the payment, used to reconcile a payment back to your records.                                                                                                                                                                     |
| `idempotency-key`       | A client-generated id that lets you safely retry a create request without creating a duplicate. See [Authentication](/docs/ecom/authentication#idempotency).                                                                                                     |
| `administrative_area`   | The state or province in a billing address, `{ code, name }` with a short ISO 3166-2 subdivision code (for example `{ "code": "CA", "name": "California" }`). Only required for US, CA, and CN billing addresses; for PH it is not required and is dropped.      |

## Cards and 3D Secure

| Term            | Meaning                                                                                                                                            |
| --------------- | -------------------------------------------------------------------------------------------------------------------------------------------------- |
| 3D Secure (3DS) | An issuer authentication step (an OTP or biometric prompt) that helps confirm the cardholder is genuine.                                           |
| Challenge       | A 3DS flow where the customer must complete a step, such as entering an OTP.                                                                       |
| Frictionless    | A 3DS flow the issuer approves with no customer interaction.                                                                                       |
| ECI             | Electronic Commerce Indicator. A value returned by 3DS that indicates the authentication outcome and who carries liability for a disputed payment. |
| PAN             | Primary Account Number, the card number itself. With the JavaScript SDK the PAN is entered into Modulus-hosted fields and never touches your page. |

## Encryption (QR and Webhooks)

| Term                      | Meaning                                                                                                                                                                                           |
| ------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| Encryption Key            | A separate key (from your Secret Key) used to encrypt and decrypt JWE payloads in the QR and Webhooks APIs. The Secret Key authenticates requests; the Encryption Key wraps and unwraps payloads. |
| JWE                       | JSON Web Encryption. QR and Webhooks carry payloads as a compact JWE inside a `{ "Token": "<JWE>" }` envelope (`alg` `A256KW`, `enc` `A256CBC-HS512`).                                            |
| Activation code           | Identifies one of your sub-merchant accounts. Sent as the `Activation-Code` header on webhook deliveries so you know which account an event belongs to.                                           |
| `merchantReferenceNumber` | The reference you set when creating a QR. It is echoed in the webhook payload - correlate a payment to your order on this, not on `referenceNumber`.                                              |
| `webhookAction`           | The single event a webhook fires on: `QRPH_SUCCESS` or `QRPH_DECLINED`. Deduplicate deliveries on `(transactionId, webhookAction)`.                                                               |

## Terminals and onboarding

| Term                         | Meaning                                                                                                                                                                         |
| ---------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `deviceId` vs `connectionId` | On the Terminal Gateway, `deviceId` is a stable identifier that survives reconnects; `connectionId` is the transient per-connection id. Always address terminals by `deviceId`. |
| Activation code (terminal)   | The physical device identifier used to filter terminal transactions in Transaction Reporting.                                                                                   |
| `onboardingReferenceNumber`  | The id returned when a merchant onboarding application is submitted. Poll `/v2/onboard/{ref}/status` with it for the approval result.                                           |

## Reconciliation

| Term                | Meaning                                                                              |
| ------------------- | ------------------------------------------------------------------------------------ |
| `transaction_id`    | Modulus reference for a completed payment.                                           |
| `approval_code`     | The issuer's authorization code for an approved payment.                             |
| `reconciliation_id` | Settlement / reconciliation reference used to match a payment to a settlement batch. |
| `invoice_number`    | Modulus invoice number for a payment.                                                |
