main.php
class CheckoutClient {
private $url;
private $accessToken;
/**
* Constructor de CheckoutClient
*
* @param string $accessToken Token de acceso para la API.
*/
public function __construct($accessToken) {
$this->url = 'https://checkout.developers.ar.ua.la/v2/api/checkout';
$this->accessToken = $accessToken;
}
/**
* Crea un checkout en la API.
*
* @param string $amount Monto del checkout.
* @param string $description Descripción de la venta.
* @param string $notificationUrl URL de notificación.
* @param string $callbackFail URL de fallo.
* @param string $callbackSuccess URL de éxito.
* @param string $externalReference Referencia externa.
* @return array Respuesta de la API como un array.
* @throws Exception En caso de error en la solicitud o respuesta HTTP.
*/
public function createCheckout($amount, $description, $notificationUrl, $callbackFail, $callbackSuccess, $externalReference) {
$payload = json_encode([
'amount' => $amount,
'description' => $description,
'notification_url' => $notificationUrl,
'callback_fail' => $callbackFail,
'callback_success' => $callbackSuccess,
'external_reference' => $externalReference,
]);
$headers = [
'Content-Type: application/json',
'Authorization: Bearer ' . $this->accessToken,
];
$ch = curl_init($this->url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, $payload);
$response = curl_exec($ch);
$httpCode = curl_getinfo($ch, CURLINFO_HTTP_CODE);
if ($response === false || $httpCode !== 200) {
throw new Exception('HTTP error! Status: ' . $httpCode . ' Response: ' . $response);
}
curl_close($ch);
return json_decode($response, true);
}
}
// Uso del constructor
$accessToken = 'your-access-token'; // Reemplaza con tu token de acceso
$checkoutClient = new CheckoutClient($accessToken);
try {
$result = $checkoutClient->createCheckout(
'10.90', // Monto
'Venta', // Descripción
'your-notification-url', // URL de notificación
'your-fail-url', // URL de fallo
'your-success-url', // URL de éxito
'your-external-reference' // Referencia externa
);
echo 'Success: ' . print_r($result, true);
} catch (Exception $e) {
echo 'Error: ' . $e->getMessage();
}