Skip to main content

Register account

Registers a PayWise account via wrapper-normalized payload.

Endpoint​

POST /account/register_account

Query Parameters​

  • version (string, required) - API contract version. Use exactly 2024-10-01.
  • diagnostics (boolean, optional) - Non-production docs only. Set true to include extra diagnostic metadata (for example observed_client_ip).

Header Parameters​

  • PW-subscription-key (string, required)
  • PW-origin-country (string, required)
  • PW-request-date (string, required) - UTC request timestamp formatted as YYYY-MM-DD HH:mm:ss.
  • PW-ip-address (string, required)
  • User-Agent (string, required)

Header Constraints​

KeyDescriptionExampleData typeRequirementField Length
PW-subscription-keyDeveloper key available after portal registration. Production key is shared on request.eed0d85c530c4b26a91d09b783d8fab3stringmandatory32
PW-origin-countryISO Alpha-2 country code where the transaction is created.TTstringmandatory2
PW-request-dateCurrent request timestamp. Format: YYYY-MM-DD HH:mm:ss (UTC).2014-10-08 16:01:31stringmandatory19
PW-ip-addressFixed institution IP used for PayWise network-level validation.255.255.255.255stringconditional8-16
User-AgentIn programmable environments, this avoids running into Cloudflare issues.Mozilla/5.0 (Windows NT 10.0; Win64; x64)stringmandatory255

Request Body​

{
"mobile_number": "18680001234",
"institution_name": "ExampleInstitution",
"first_name": "First",
"last_name": "Last",
"session_token": "SESSION_TOKEN_REDACTED",
"authorisation_token": "AUTH_TOKEN_REDACTED",
"callback_url": "https://example.test/callback"
}

Downloads​

Responses​

200 - Wrapper-normalized response envelope (success cases).​

Example: success​

{
"status": "success",
"code": 200,
"message": "Registration request sent",
"request_id": "49cb97fa-1218-40f0-a5db-5f23d1325aed",
"timestamp": "2026-02-11T03:59:45.482Z",
"challengeId": "pw-challenge-demo-20260211-0001",
"observed_client_ip": {
"request_ip": "172.64.80.1",
"socket_remote_address": "172.64.80.1"
}
}

400 - Wrapper-normalized response envelope (400)​

Example: error​

{
"status": "error",
"code": 400,
"message": "institution_name is required",
"request_id": "62a88990-5a8a-4c89-8e16-d7a727d2ed0a",
"timestamp": "2026-02-11T03:59:45.487Z",
"observed_client_ip": {
"request_ip": "172.64.80.1",
"socket_remote_address": "172.64.80.1"
}
}

Notes​

This endpoint page is generated from openapi/pw-wrappers.2024-10-01.yaml.