Integrate MX Connect (Priority)

Repo: · Issue: #1078 Status: Open · Priority: P2 Assignee: Sparsh

Description

Priority Commerce (MX Connect) needs to be added as a processor alongside Luqra and EMS. Follow the same integration pattern end-to-end.


Sandbox Credentials

Portal:   https://sso-sandbox.mxconnect.com
API host: sandbox-api.mxconnect.com
Username: nader@twillpayments.com
Password: iQy5Km$FrqhN!XA
API key:  API_73810f7ff1c6183714309d541d26ff6a7d35b7f83169083d
Support:  integratedSolutions@prth.com

Auth

Two-step JWT flow. JWT is ES256, expires in 600 seconds.

POST https://sandbox-api.mxconnect.com/security/v1/apiKey/authenticate
Authorization: Basic base64("username:password")
Content-Type: application/json

{ "value": "API_73810f7ff1c6183714309d541d26ff6a7d35b7f83169083d" }

Response:

{ "token": "<jwt>" }

Decoded JWT payload:

{
  "uid": "d8bbb71e-cc37-5f16-84f1-91625f5ff596",
  "role": "15",
  "domain": { "id": "57357606-496a-55db-9d05-2a367c52c212" },
  "grants": ["global", "user:...", "domain:..."],
  "flyInAllowed": false,
  "exp": 1772431994,
  "aud": "https://aws-nv-sandbox.mxconnect.com",
  "iss": "https://aws-nv-sandbox-api.mxconnect.com/security/v1",
  "sub": "nader@twillpayments.com"
}

Use Bearer <token> on all subsequent requests. Auto-refresh on 401 and at ~9 min.


Sandbox Endpoint Findings

Boarding API — build 1.169.3461

EndpointMethodStatusNotes
/boarding/v1/GET✅ 200Version check
/boarding/v1/uarGET✅ 200Returns paginated UAR list
/boarding/v1/uarPOST❌ 500See below
/boarding/v1/accountPOST✅ 405 on GET (POST-only)Exists, not yet tested

GET /boarding/v1/uar response shape:

{
  "totalRecords": 0,
  "totalType": "exact",
  "recordCount": 0,
  "records": []
}

POST /boarding/v1/uar — tested with a complete payload including signers, bankAccount, businessAddress, mcc, ein, avgTicket, monthlyVolume, maxTicket. Returns 500 regardless:

{ "message": "Can
 
## Implementation Notes
_Dash adds notes here while working_
 
## Related
_Link to people, meetings, dependent tickets_