XTMS Device Binding Evidence
Use scripts/xtms-device-binding-evidence.sh to capture the operational
evidence package for an existing NexGO terminal claim. The claim must already
exist through the terminal provisioning flow; operators reconcile and release
it by immutable claim ID rather than by merchant and serial-number ownership
routes.
Required evidence:
- Canonical fleet projection for the target merchant, serial, and claim before reconciliation.
- Retry response for the exact claim ID.
- Post-retry fleet projection showing the observed remote merchant and terminal IDs, lifecycle, last verification time, and any failure operation.
- Operator note identifying the XTMS credential, profile, and app-version set used for the run.
The script writes timestamped JSON files under
tmp/xtms-device-binding-evidence by default and prints a summary with HTTP
statuses. A successful retry is not proof of binding unless the returned and
projected lifecycle is BOUND and the provider evidence matches the expected
merchant and terminal exactly. CONFLICT and REQUIRES_RECONCILIATION are
explicit non-success outcomes.
Command
GATEWAY_API_BASE_URL=https://api.peakgateway.co \
GATEWAY_BEARER_TOKEN=... \
MERCHANT_ID=merch_... \
CLAIM_ID=... \
NEXGO_SERIAL=... \
./scripts/xtms-device-binding-evidence.sh
Optional variables:
OUTPUT_DIR: evidence output directory. Defaults totmp/xtms-device-binding-evidence.
The management token must have platform device-write access. The script does
not create claims and does not infer ownership from serial number: it calls
POST /api/v1/devices/fleet/claims/{claimId}/retry. Initial claim creation is
owned by the terminal provisioning flow, which supplies the provider hardware
ID, Gateway device ID, merchant ID, and provider terminal ID to card-present.
Evidence handling
Treat device-binding output as operational evidence. Store the generated files in an approved evidence location and summarize statuses in issue or PR discussion instead of pasting raw device/provisioning payloads into chat.