Logo
Eolia @eolia
a répondu au Message de Julien - 22 h.
Ton ChatGPT ne te l'a pas dit ?

C'est natif:

CODE    /**
* Add tracking information for one or more PayPal transactions
* param array $trackers Array of tracker objects
*
* return array|false
*/
public function addTracking(array $trackers)
{
if(empty($trackers)) {
return false;
}

// PayPal accepts max 20 trackers per call
$trackers = array_slice($trackers, 0, 20);

$body = array(
'trackers' => $trackers,
);

return $this->request(
'POST',
'/v1/shipping/trackers-batch',
$body,
$this->generateIdempotencyKey('tracking_'.md5(json_encode($trackers)))
);
}

/**
* Update an existing tracking (status, carrier, etc.)
* Endpoint: PUT /v1/shipping/trackers/{transaction_id}-{tracking_number}
*
* param string $transactionId
* param string $trackingNumber
* param array $data (status, carrier, carrier_name_other, notify_buyer...)
*
* return array|false
*/
public function updateTracking($transactionId, $trackingNumber, array $data)
{
if(empty($transactionId) || empty($trackingNumber)) {
return false;
}

$body = array_merge(array(
'transaction_id' => $transactionId,
'tracking_number' => $trackingNumber,
), $data);

$trackerId = urlencode($transactionId).'-'.urlencode($trackingNumber);

return $this->request(
'PUT',
'/v1/shipping/trackers/'.$trackerId,
$body,
$this->generateIdempotencyKey('update_tracking_'.$trackerId.'_'.md5(json_encode($data)))
);
}