Witajcie,
tworzę aplikacje wraz ze znajomym i próbuję zintegrować płatności, aby po zapłaceniu dostać o tym informację i już z resztą sobie poradzę. Znalazłem jakieś funkcje wykorzystujące przesłane z aplikacji dane zakupu - 'signed_data', 'signature', 'public_key_base64', ale niestety one nie działają. Czy ktoś z forumowiczów tworzył płatności w aplikacji? Macie jakieś dobre artykuły o tym? Byłbym wdzięczny za informacje.
Jedna z funkcji które próbowałem zwraca niestety ciągle false
function verifySignatureTransaction($signed_data, $signature, $public_key_base64) {
$key = "-----BEGIN PUBLIC KEY-----\n" .
chunk_split($public_key_base64, 64, "\n") .
'-----END PUBLIC KEY-----';
//using PHP to create an RSA key
$key = openssl_pkey_get_public($key);
if ($key === false) {
throw new \InvalidArgumentException("Public key not valid");
}
$signature = base64_decode($signature);
//using PHP's native support to verify the signature
$result = openssl_verify(
$signed_data,
$signature,
$key,
OPENSSL_ALGO_SHA1
);
if (0 === $result) {
return false;
} else {
if (1 !== $result) {
return false;
} else {
return true;
}
}
}
$signeddata = $_POST['signeddata'];
$signature = $_POST['signature'];
$returned = verifySignatureTransaction($signeddata, $signature, 'publicKey');
var_dump($returned);