1- Şu kütüphaneyi uygulamana dahil et. Yazman gereken IAB kodlarını bayağı bir azaltıyor. Benim anlatmam da buna dayanıyor:
https://github.com/anjlab/android-inapp-billing-v3

2-Satın alma işlemini hangi aktivitede yapıyorsan BillingProcessor.IBillingHandler implement et.

BillingProcessor bp;

@Override
protected void onCreate(){
   //MARKET_LICENSE_KEY, senin license anahtarın
   bp = new BillingProcessor(this, MARKET_LICENSE_KEY, this);
}

@Override
public void onDestroy() {
  if (bp != null)
         bp.release();

     super.onDestroy();
}

 

@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
    if (!bp.handleActivityResult(requestCode, resultCode, data))
        super.onActivityResult(requestCode, resultCode, data);
}
Satın alma yaparken

bp.purchase(activity, "productId");
@Override
public void onProductPurchased(String productId, TransactionDetails details) {

       String sig = details.purchaseInfo.signature;
       String response_data = details.purchaseInfo.responseData;

       //credit.php'ye iki parametreyi post et, cevap bekle

}
3- Php kısmı

credit.php:

<?php

$sig = $_POST["sig"];
$response_data = $_POST["response_data"];

/* marketten lisans anahtarı */
$public_key_base64 = "MIIBIjANBgkqhkiG....";

/**/
$pkey = "-----BEGIN PUBLIC KEY-----\n".chunk_split($public_key_base64, 64,"\n").'-----END PUBLIC KEY-----';

/**/
$pkey = openssl_get_publickey($pkey);
$sig = base64_decode($sig);

/* kontrol işlemi */
$result = openssl_verify(
	$response_data,
	$sig,
	$pkey,
	OPENSSL_ALGO_SHA1
);

//
if($result == 1) {

      //işlem başarılı
     
      $response_data = json_decode($response_data, true);
      $productId = $response_data["productId"]; //markette bizim tarafımızdan oluşturulan product id

        //dbye ekle veya kontrol et vs..

        echo "OK";

} else {
    //işlem başarısız

     echo "ERR";

}

?>