WebPOS Terminals
Cybersource card-present integration with TopWise EMV hardware. Key-injected P2PE so your servers never touch raw PANs.
P2PE — out of scope for PCI DSS SAQ P2PE
How it works
- 1
Provision a TopWise terminal
TopWise injects terminal encryption keys (TDEAs) at the factory using Cybersource's key-injection facility. The device ships to you already key-loaded — no key ceremony required on your end. - 2
Register the terminal via API
CallPOST /v1/terminalswith the device serial number and model to create a terminal record in MerasPay. The terminal is initiallyinactive; callPOST /v1/terminals/{id}/activateto bring it live. - 3
Terminal captures card data
On card swipe, dip (chip), or tap (NFC), the TopWise hardware encrypts the track data and EMV cryptogram using the injected TDEA key. The encrypted payload is sent to your POS application over USB, serial, or TCP — never as plaintext. - 4
MerasPay decrypts via P2PE and forwards to Cybersource CP
Your POS application posts the encrypted payload to MerasPay. MerasPay passes it to the Cybersource P2PE decryption service, then forwards the authorisation request to the Cybersource CP gateway. No plaintext PAN ever reaches your infrastructure. - 5
Receipt printed and webhook fires
Cybersource returns an authorisation response in under 3 seconds. MerasPay books the ledger, sends an authorisation code back to the terminal for receipt printing, and dispatches apayment_intent.succeededwebhook to your endpoint.
Endpoints
/v1/terminalsRegister a new TopWise terminal.
/v1/terminalsList all terminals for the merchant (limit ≤ 100).
/v1/terminals/{id}Retrieve a specific terminal and its status.
/v1/terminals/{id}/activateActivate a registered terminal — enables transaction processing.
/v1/terminals/{id}Deregister a terminal — blocks all future transactions.
Register — parameters
| Name | Type | Description |
|---|---|---|
serial_numberrequired | string | TopWise factory serial number. Found on the label on the back of the device. |
model | string | TopWise model identifier (e.g. "EFT930M", "T3"). Used to select the correct P2PE decryption profile. |
outlet_id | string | Branch or location ID. Appears in transaction records and settlement reports for reconciliation. |
label | string | Human-readable terminal name (e.g. "Checkout lane 3"). ≤60 chars. |
metadata | map | Free-form string-string map; round-trips on every response. |
Sample — register + card-present charge webhook
curl -X POST https://api.merashub.com/v1/terminals \
-H "Authorization: Bearer sk_live_..." \
-H "Content-Type: application/json" \
-d '{
"serial_number": "TW930M-0042891",
"model": "EFT930M",
"outlet_id": "branch_main_djibouti",
"label": "Checkout lane 1"
}'{
"id": "term_01HZJ3EYJX7H2R1UP4I9A8BN5Q",
"status": "inactive",
"serial_number": "TW930M-0042891",
"model": "EFT930M",
"outlet_id": "branch_main_djibouti",
"label": "Checkout lane 1",
"created_at": "2026-05-25T10:15:30Z"
}{
"id": "evt_01HZJ4FYJX8I3S2VQ5J0B9CO6R",
"type": "payment_intent.succeeded",
"data": {
"object": {
"id": "pi_01HZJ4FYJX8I3S2VQ5J0B9CO6R",
"amount_minor": 84500,
"currency": "DJF",
"status": "succeeded",
"payment_method_details": {
"type": "card_present",
"card_present": {
"brand": "mastercard",
"last4": "5100",
"entry_mode": "chip",
"terminal_id": "term_01HZJ3EYJX7H2R1UP4I9A8BN5Q",
"auth_code": "831042",
"p2pe": true
}
}
}
}
}Supported hardware
- TopWise EFT930M
Full-featured countertop terminal. EMV Level 1, 2, and 3 certified. Supports swipe, chip, and NFC contactless. Built-in printer.
- TopWise T3
Compact mobile terminal with 4G + WiFi. EMV Level 1, 2, and 3 certified. Ideal for delivery and field agents. 12-hour battery.
All supported devices are EMVCo Level 1+2+3 certified and Cybersource P2PE validated. Contact hardware@merashub.com for procurement.
Key injection — factory only
DELETE /v1/terminals/{id} immediately to block it, then contact support for a replacement unit.