Have you even looked at the docs or tried something?
<?php
$reference = [
"amount" => "9701.84",
"end_datetime" => "2018-12-31",
"custom_fields" => [
"invoice" => "2018/0333"
]
];
$data = json_encode($reference);
$curl = curl_init();
$httpHeader = [
"Authorization: " . "Token " . "reh8inj33o3algd2tpi6tkcnrqf8rjj2",
"Accept: application/vnd.proxypay.v2+json",
"Content-Type: application/json",
"Content-Length: " . strlen($data)
];
$opts = [
CURLOPT_URL => "https://api.proxypay.co.ao/references/904800000",
CURLOPT_CUSTOMREQUEST => "PUT",
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_RETURNTRANSFER => true,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTPHEADER => $httpHeader,
CURLOPT_POSTFIELDS => $data
];
curl_setopt_array($curl, $opts);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);