После покупки "продукта"
Код: Выделить всё
Bundle buyIntentBundle = mService.getBuyIntent(3, activity.getPackageName(), "my_sku", "inapp", orderId);
PendingIntent pendingIntent = buyIntentBundle.getParcelable("BUY_INTENT");
activity.startIntentSenderForResult(pendingIntent.getIntentSender(), 1001, new Intent(), Integer.valueOf(0), Integer.valueOf(0), Integer.valueOf(0));
Код: Выделить всё
String purchaseData = data.getStringExtra("INAPP_PURCHASE_DATA");
String dataSignature = data.getStringExtra("INAPP_DATA_SIGNATURE");
Код: Выделить всё
function verify_market_in_app($purchaseData, $dataSignature, $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_get_publickey($key);
//$signature should be in binary format, but it comes as BASE64.
//So, I'll convert it.
$dataSignature = base64_decode($signature);
//using PHP's native support to verify the signature
$result = openssl_verify($purchaseData,$dataSignature,$key,OPENSSL_ALGO_SHA1);
if (0 === $result) {
return false;
}
else if (1 !== $result) {
return false;
}
else {
return true;
}
}