PHP code example of chfur / appgallery-iap
1. Go to this page and download the library: Download chfur/appgallery-iap library . Choose the download type require .
2. Extract the ZIP file and open the index.php.
3. Add this code to the index.php.
<?php
require_once('vendor/autoload.php');
/* Start to develop here. Best regards https://php-download.com/ */
chfur / appgallery-iap example snippets
use CHfur\AppGallery\ServerNotifications\ServerNotification;
use CHfur\AppGallery\ServerNotifications\SubscriptionNotification;
use Huawei\IAP\Response\SubscriptionResponse;
/**
* @var array $data AppGallery ServerNotification request
* @see https://developer.huawei.com/consumer/en/doc/development/HMSCore-References/api-notifications-about-subscription-events-0000001050706084
*/
$data = [];
$publicKey = 'Your AppGallery notification public key';
/** @var ServerNotification $serverNotification */
$serverNotification = ServerNotification::parse($data, $publicKey);
if($serverNotification->isSubscriptionNotification()){
/** @var SubscriptionNotification $subscriptionNotification */
$subscriptionNotification = $serverNotification->getSubscriptionNotification();
$productId = $subscriptionNotification->getProductId();
$environment = $subscriptionNotification->getEnvironment();
/** @var SubscriptionResponse $subscriptionResponse */
$subscriptionResponse = $subscriptionNotification->getSubscriptionResponse();
$notificationTypeName = $subscriptionNotification->getNotificationTypeName();
switch ($notificationTypeName){
case 'RENEWAL':
//implement your logic
break;
}
}
use CHfur\AppGallery\ServerNotifications\PendingPurchaseNotification;
use CHfur\AppGallery\ServerNotifications\ServerNotification;
/**
* @var array $data AppGallery ServerNotification request
* @see https://developer.huawei.com/consumer/en/doc/development/HMSCore-References/api-notifications-about-pending-payment-events-0000001230063777
*/
$data = [];
$publicKey = 'Your AppGallery notification public key';
/** @var ServerNotification $serverNotification */
$serverNotification = ServerNotification::parse($data, $publicKey);
if($serverNotification->isPendingPurchaseNotification()){
/** @var PendingPurchaseNotification $pendingPurchaseNotification */
$pendingPurchaseNotification = $serverNotification->getPendingPurchaseNotification();
$productId = $pendingPurchaseNotification->getProductId();
$purchaseToken = $pendingPurchaseNotification->getPurchaseToken();
$isSuccessPayment = $pendingPurchaseNotification->getNotificationType();
//implement your logic
}