athlan / yetipay
Yetipay.pl PHP library
1.2.0
2017-09-05 18:39 UTC
Requires
- guzzlehttp/guzzle: ~6.0
This package is auto-updated.
Last update: 2024-11-29 04:49:33 UTC
README
This library allows to easy integration with yetipay payments.
Features
- Generated payment button
- Handles pingback (
URL_STATUS
) - Verifies payments
Installation
Composer
Add dependency in composer.json
file:
{
"require": {
"athlan/yetipay": "1.*"
}
}
Examples
Handle pingback (URL_STATUS
)
<?php use Yetipay as Yetipay; $merchantId = ''; $authKey1 = ''; $authKey2 = ''; $yetipay = new Yetipay\Client($merchantId, $authKey1, $authKey2); $pingback = new Yetipay\TransactionPingback($yetipay); $params = $_POST; // or more proper way in frameworks, from Request object if($pingback->validateHash($params['hash'], $params)) { // activate product here die('ACK'); // yetipay expects "ACK" string in response to confirm transaction } die('FAILED');
Generate payment button
<?php use Yetipay as Yetipay; $merchantId = ''; $authKey1 = ''; $authKey2 = ''; $yetipay = new Yetipay\Client($merchantId, $authKey1, $authKey2); $amount = 5; $description = 'Test payment'; $button = new Yetipay\PaymentButton($amount, $description); $button->setUserId('userid_here'); $button->setProductId('productid_here'); $button->setReturnUrl('http://localhost/validate-transaction.php?transactionId=%transactionId%'); $buttonGenerator = new Yetipay\PaymentButtonCodeGenerator($yetipay); ?><html xmlns:yp="https://www.yetipay.pl"> <head> <script type="text/javascript" src="https://www.yetipay.pl/payments/js/316/yetixd.js"></script> </head> <body> <?php echo $buttonGenerator->getButtonCode($button) ?> </body> </html>
Validate payment
<?php use Yetipay as Yetipay; $merchantId = ''; $authKey1 = ''; $authKey2 = ''; $yetipay = new Yetipay\Client($merchantId, $authKey1, $authKey2); $pingback = new Yetipay\TransactionValidate($yetipay); $transactionId = $_GET['transactionId']; // or more proper way in frameworks, from Request object $data = $pingback->validateTransaction($transactionId); if($data['status'] == 200) { // activte product here }