ibnuhalimm/laravel-tripay

Laravel 的 Tripay 支付网关包装器

v1.1.1 2022-06-22 03:50 UTC

This package is auto-updated.

Last update: 2024-09-22 08:52:56 UTC


README

Latest Version on Packagist Total Downloads

Laravel 对 Tripay 支付网关的包装器。

内容

安装

您可以通过 composer 安装此包

composer require ibnuhalimm/laravel-tripay

可选地,您可以使用以下命令发布此包的配置文件

php artisan vendor:publish --tag="laravel-tripay-config"

设置

将一些环境变量放置到 .env 文件中

TRIPAY_MERCHANT_CODE=
TRIPAY_API_KEY=
TRIPAY_PRIVATE_KEY=
TRIPAY_PRODUCTION_MODE=

** TRIPAY_PRODUCTION_MODE 的有效值为 truefalse

使用

您可以直接使用 Tripay Facade(别名或类本身)

支付渠道

use Ibnuhalimm\LaravelTripay\Facades\Tripay;

// Get all available payment channels
Tripay::paymentChannels();

// Or get single payment channels by specifying the code
Tripay::paymentChannels('BRIVA');

获取支付渠道费用

use Ibnuhalimm\LaravelTripay\Facades\Tripay;

$amount = 12000;
$paymentChannelCode = 'BRIVA';
Tripay::feeCalculator($amount, $paymentChannelCode);

获取交易

use Ibnuhalimm\LaravelTripay\Facades\Tripay;

Tripay::transactions();

获取交易详情

use Ibnuhalimm\LaravelTripay\Facades\Tripay;

$reference = 'DEV-T11958501451EJYV'; // Get from create transaction response / Transaction list
Tripay::transactionDetails($reference);

创建交易

use Ibnuhalimm\LaravelTripay\Facades\Tripay;

// All required parameters
$params = [
    'method'            => 'MANDIRIVA',
    'merchant_ref'      => 'INV-123456',
    'amount'            => 25000,
    'customer_name'     => 'Your Customer Name',
    'customer_email'    => 'customer.email@domain.com',
    'customer_phone'    => '081234567890',
    'order_items'       => [
        [
            'name'        => 'Product Name 1',
            'price'       => 6000,
            'quantity'    => 2
        ],
        [
            'name'        => 'Product Name 2',
            'price'       => 13000,
            'quantity'    => 1
        ]
    ]
];

// You can override the callback URL
// By adding the `callback_url` parameter
$params = [
    ...
    'callback_url' => 'https://yourdomain.tld/callback',
    ...
];

// By default, expired time will be set for 24 hours
// You can change it by adding 'expired_time'
$params = [
    ...
    'expired_time' => 1582855837 // Should be in integer value as unix format
    ...
];

// Add more info of ordered items
$params = [
    ...
    'order_items'    => [
        [
            'sku'         => 'FB-01',
            'name'        => 'Product Name',
            'price'       => 20000,
            'quantity'    => 1,
            'product_url' => 'https://yourstore.com/product/product-01',
            'image_url'   => 'https://yourstore.com/product/product-01.jpg',
        ],
        [
            'sku'         => 'FB-07',
            'name'        => 'Product Name 2',
            'price'       => 5000,
            'quantity'    => 1,
            'product_url' => 'https://yourstore.com/product/product-02',
            'image_url'   => 'https://yourstore.com/product/product-02.jpg',
        ]
    ],
    ...
];


Tripay::createTransaction($params);

覆盖默认配置

use Ibnuhalimm\LaravelTripay\Facades\Tripay;

// Override the default config
Tripay::setConfig([
    'merchant_code' => 'NEW-CODE',
    'api_key' => 'ANOTHER-API-KEY',
    ...
])->paymentChannels();

测试

composer test

变更日志

请参阅 CHANGELOG 了解最近更改的详细信息。

贡献

请参阅 CONTRIBUTING 了解详细信息。

安全

如果您发现任何安全问题,请通过电子邮件 ibnuhalim@pm.me 联系,而不是使用问题跟踪器。

致谢

许可证

MIT 许可证(MIT)。请参阅 许可证文件 了解更多信息。