Create contract
XML: CreateCustomerContract · JSON: POST /contracts
Links a subscriber (MSISDN) to a project for recurring payments. After creation a PIN is “sent” to the subscriber (any PIN works in the sandbox).
| Field | Type | Req. | Description |
|---|---|---|---|
ProjectID | int | Yes | Project ID |
ClientIP | string(39) | No | Subscriber IP |
MSISDN | string(20) | Yes | Phone number |
MerchantContractID | string(64) | Yes | Contract ID in the Merchant’s system |
Response
| Field | Type | Description |
|---|---|---|
ContractID | guid | Unique contract ID — store it for payments |
AuthorizationType | enum | SMS_PIN / EXTERNAL |
ExpirationTimeUtc | datetime | Contract expiration time |
MSISDN, Country, NetworkID, OperatorID | — | Subscriber data |
JSON API v3
Request and response (JSON)
// POST /api/v3/projects/1001/contracts
{
"client_ip": "87.101.32.12",
"customer": { "type": "mobile_phone", "msisdn": "79600000000" },
"merchant_contract_id": "contract-123"
}
// 201 Created
{
"success": true,
"data": {
"contract_id": "16449203-0000-009b-a125-351b7bfbd207",
"authorization_type": "SMS_PIN",
"expires_at": "2026-06-25T14:00:00Z",
"merchant_contract_id": "contract-123"
}
}