vptrading / h5-telebirr-laravel

用于 H5 telebirr api 的 Laravel 扩展包

v1.0.0 2023-12-21 14:44 UTC

This package is auto-updated.

Last update: 2024-09-05 07:31:47 UTC


README

Logo V P Trading

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 的键值对数组,您可以使用它查询数据库。

🚀 就这些。做你的事,如果这个包帮到了你,请给我们一个星标。🚀