¿Cómo firmar las transacciones?
Para firmar tus transacciones, sigue estos pasos:
- Clasifica los parámetros en orden alfabético ascendente, según el nombre del parámetro.
- Una vez ordenados, los parámetros deben concatenarse en una cadena. Por ejemplo, si los parámetros son
{
"amount": "25500",
"clientDocument": "11111111-1",
"clientEmail": "[email protected]",
"clientName": "John Doe",
"clientPhone": "999999999",
"country": "CL",
"currency": "CLP",
"order": "XYZ789",
"paymentMethod": "webpay_payment",
"urlConfirmation": "https://www.webhook.com",
"urlFinal": "https://sandbox.prontopaga.com/successful",
"urlRejected": "https://sandbox.prontopaga.com/declined"
}
ParámetrosTodos los parámetros deben estar en la firma, excepto el parámetro "sign" (que es en donde va la firma).
Entonces, la cadena ordenada para la firma deberá tener este aspecto:
// String to sign.
$keys = array_keys($data);
sort($keys);
$toSign = '';
foreach ($keys as $key) {
$toSign .= $key . $data[$key];
}
- Finalmente, la cadena concatenada debe ser firmada con la función hmac usando el sha256 y tu secretKey como clave:
// Obtaining the signature.
$sign = hash_hmac('sha256', $toSign, $secretKey);
Updated 1 day ago