athlan / yetipay
Yetipay.pl PHP 库
1.2.0
2017-09-05 18:39 UTC
Requires
- guzzlehttp/guzzle: ~6.0
This package is auto-updated.
Last update: 2024-08-29 04:14:24 UTC
README
此库允许轻松集成 yetipay 支付。
特性
- 生成支付按钮
- 处理 pingback (
URL_STATUS
) - 验证支付
安装
Composer
在 composer.json
文件中添加依赖
{
"require": {
"athlan/yetipay": "1.*"
}
}
示例
处理 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');
生成支付按钮
<?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>
验证支付
<?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 }