Obtener el estado de una transacción
No olvides especificar el "ID de plataforma" y la "Clave secreta."
CURL:
curl -X POST -d "platform_id=1&txhash=vw45hbw45v&hash=a81983b1...tb8kfyhjd" https://api.passimpay.io/transactionstatus
PHP:
$url =
'https://api.passimpay.io/transactionstatus'
;
$platform_id =
0
;
// ID de plataforma
$apikey =
'1111-2222-3333-4444-5555'
;
// Clave secreta
$txhash =
'erthbe46hw45tv34tyb6'
;
// ID de la transacción en la red de criptomonedas
$payload = http_build_query([
'platform_id'
=> $platform_id,
'txhash'
=> $txhash]);
$hash = hash_hmac(
'sha256'
, $payload, $apikey);
$data = [
'platform_id'
=> $platform_id,
'txhash'
> $txhash,
'hash'
> $hash,
];
$post_data = http_build_query($data);
$curl = curl_init();
curl_setopt($curl, CURLOPT_HEADER, false);
curl_setopt($curl, CURLOPT_HTTPHEADER, ['
'Content-Type: application/x-www-form-urlencoded'
]);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
curl_setopt($curl, CURLOPT_POSTFIELDS, $post_data);
curl_setopt($curl, CURLOPT_URL, $url);
curl_setopt($curl, CURLOPT_POST, true);
curl_setopt($curl, CURLOPT_ENCODING,
'gzip'
);
curl_setopt($curl, CURLOPT_FOLLOWLOCATION, true);
curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, false);
$result = curl_exec($curl);
curl_close( $curl );
$result = json_decode($result, true);
// Opciones de respuesta
// En caso de éxito
if (isset($result[
'result'
]) && $result[
'result'
] == 1)
{
$approve = $result[
'approve'
];
// 0 - En curso, 1 - Completada, 2 - Error
$payment_id = $result[
'payment_id'
];
$address_to = $result[
'address_to'
];
$amount = $result[
'amount'
];
$fee = $result[
'fee'
];
$txhash = $result[
'txhash'
];
}
// En caso de error
else
{
$error = $result[
'message'
];
// Texto de error
}