vptrading / h5-telebirr-laravel
用于 H5 telebirr api 的 Laravel 扩展包
Requires
- php: ^7.4 || ^8.0
README
Laravel 扩展包针对
Telebirr
简介
此 Laravel 扩展包是一个轻量级包,用于集成 Telebirr®。
使用说明
这是一个私有包,意味着无法使用 composer 安装。
第一步
使用 composer require vptrading/h5-telebirr-laravel
安装扩展包
第二步
运行 artisan 命令以发布 Vptrading/telebirr-laravel 配置文件。
php artisan vendor:publish --provider="Vptrading\TelebirrLaravel\TelebirrServiceProvider"
运行该命令后,您将在应用程序的 config
目录中看到 telebirr.php
配置文件。
第四步
打开 telebirr.php
配置文件,并添加 Telebirr® 提供给您的密钥。
使用方法
购买
要使用 Telebirr® 发送购买请求,您只需将 Telebirr
类导入您要使用它的位置,并调用 buy
静态方法。 Telebirr::buy()
方法接受以下参数:项目名称、金额、返回 URL 和短码。
示例
use Vptrading\TelebirrLaravel\Telebirr;
$response = Telebirr::buy('iPhone', 999, 'https://domain.tld/return', 0000);
注意:ShortCode 由 Ethio Telecom 提供
调用该方法会返回响应
响应示例
{
"teleResponse": {
"code": 200,
"data": {
"toPayUrl": "https://app.ethiomobilemoney.et:2121/ammwebpay/#/?transactionNo=202202151208181493512480051392514"
},
"message": "Operation successful",
"dateTime": 1644916098027,
"path": null,
"errorDetails": [],
"extraData": []
},
"outTradeNo": "76c1aace47b3dc0a"
}
注意:请务必将
outTradeNo
存储到您的数据库中,以便在收到通知时获取该交易。
使用 toPayUrl,您将被重定向到 Ethio Telecom 的 Telebirr® 网站,用户将能够使用 Telebirr® 移动应用或直接从浏览器使用 SMS 进行支付。
通知
接下来是当支付成功时接收通知。在用户支付了所描述的金额后,Telebirr® 将在您在 telebirr.php
配置文件中指定的 URL 上向您发送通知。
Telebirr® 通知示例字符串
VBMDvN6H2U/AGbxocLQgZfJOR2rLLqTZ5pHm6295AZS4uFXR1YMPJlF+SCoJK0DLzZ2OlgGMsVPrwfJ1lmKHtOvnDGJLKrcpIG/J7RLf+tN672g+lT5o3tByvQBkjqualj91i7uNqCytNFfVN5azw7VV+OwXBMu5gnGhZPX5D4plBtOjyMWm8IYsM4uqy9V7Os+jPk7w3QBHSMB8jRRhVABT9xAzTPWC1J86xAIaTA1ehjHcbY9ziA1+P5kNQSULunOMhCA+fn0Y2HZyyFySW+dU+DHWnwf0mjGa/xF669CQttTqcmIg4QLu0TUzYjhHl1l5gbAxrwK//amHL5I2wpUhCeeSS5E4tq/TmoqVdJoZC0/gvu2Zta/9orfbzWz/xYeKefvkRaHVUid0fRu6x0xGnVe115OPCm79Y0dU43mxMVhmPza45qxGwcmsbGzs1drMiu2BJI664f0kt8lfZAUVwhIMAZbdB4MnP7gi1pnW3vBZLAtAvSCY45X/gl1sqo1X9Ypdg9jd5fCQp0b44NKI7JojYTXWrtsFWYxOAiLB9zh53Bah6WjHSnHauBbRU8eeE2Lt6Lv+QzXlu2uCjRveBH9mauNyt5XNwaU/BoSSNUZpJFRgmy7AsNkj2RoBfKyggdexik6FJbff3lBODJcWWBjol1H6qlkMp9RkJLU=
为了解码它,该包提供了一个具有 notify
静态方法的 Notify::class
。您只需将 Telebirr® 发送的通知字符串放入该静态方法中,它将被解码。
示例
$decoded = Notify::notify('VBMDvN6H2U/AGbxocLQgZfJOR2rLLqTZ5pHm6295AZS4uFXR1YMPJlF+SCoJK0DLzZ2OlgGMsVPrwfJ1lmKHtOvnDGJLKrcpIG/J7RLf+tN672g+lT5o3tByvQBkjqualj91i7uNqCytNFfVN5azw7VV+OwXBMu5gnGhZPX5D4plBtOjyMWm8IYsM4uqy9V7Os+jPk7w3QBHSMB8jRRhVABT9xAzTPWC1J86xAIaTA1ehjHcbY9ziA1+P5kNQSULunOMhCA+fn0Y2HZyyFySW+dU+DHWnwf0mjGa/xF669CQttTqcmIg4QLu0TUzYjhHl1l5gbAxrwK//amHL5I2wpUhCeeSS5E4tq/TmoqVdJoZC0/gvu2Zta/9orfbzWz/xYeKefvkRaHVUid0fRu6x0xGnVe115OPCm79Y0dU43mxMVhmPza45qxGwcmsbGzs1drMiu2BJI664f0kt8lfZAUVwhIMAZbdB4MnP7gi1pnW3vBZLAtAvSCY45X/gl1sqo1X9Ypdg9jd5fCQp0b44NKI7JojYTXWrtsFWYxOAiLB9zh53Bah6WjHSnHauBbRU8eeE2Lt6Lv+QzXlu2uCjRveBH9mauNyt5XNwaU/BoSSNUZpJFRgmy7AsNkj2RoBfKyggdexik6FJbff3lBODJcWWBjol1H6qlkMp9RkJLU=);
结果
[
"msisdn" => "251912345678",
"outTradeNo" => "76c1aace47b3dc0a",
"totalAmount" => "999",
"tradeDate" => 1643891838000,
"tradeNo" => "202202151208181493512480051392514",
"tradeStatus" => 2,
"transactionNo" => "9B327LP01I",
]
结果是包含唯一 outTradeNo
的键值对数组,您可以使用它查询数据库。
🚀 就这些。做你的事,如果这个包帮到了你,请给我们一个星标。🚀