lamtd/vnpt-epay

使用VNPT EPAY支付网关集成

dev-main 2021-11-10 12:07 UTC

This package is auto-updated.

Last update: 2024-09-10 18:49:13 UTC


README

VNPT EPay


Latest version Latest version

描述

创建VNPT支付网关。这是一个用于从Omnipay添加VNPT Epay支付网关的库

安装

通过 Composer 安装VNPT Epay

composer require lamtd/vnpt-epay

安装完成后,您需要通过以下命令发布配置文件来设置您要集成的支付网关的参数:

php artisan vendor:publish --provider="PHPViet\Laravel\Omnipay\OmnipayServiceProvider" --tag="config"
php artisan vendor:publish --provider="Lamtd\VNPTEpay\VNPTEpayServiceProvider"

将以下内容添加到 config/laravel-omnipay.php 文件的末尾:

'VnptEpay' => [
            'driver' => 'VnptEpay',
            'options' => [
                'merId' => '',
                'EncodeKey' => '',
                'VNPTDomain' => 'https://sandbox.megapay.vn:2810', //Domain test
                'CANCEL_PASSWORD' => '',
                'KEY3DES_ENCRYPT' => '',
                'KEY3DES_DECRYPT' => '',
            ],
        ],

使用

加载类

use Lamtd\VNPTEpay\Facade\Gateway as VNPTEpay;

在函数中调用

return VNPTEpay::purchase([
            'amount' => $request -> input('goodsAmount'),
            'userFee' => $request -> input('userFee'),
            'userId' => $request -> input('userId'),
            'callBackUrl' => route('vnpt-epay-success'), 
            'notiUrl' => '' //khi test local không dùng link ipn được
        ]) -> send();;

监听vnpt事件

$response = VNPTEpay::notification()->send();

您可以在以下位置查看示例:

vendor/lamtd/vnpt-epay/src/laravel/TestVNPTEpaytController.php

在实际运行时,由于vnpt使用POST JSON,因此需要更改监听器

$response = VNPTEpay::notificationJSON()->send();

示例

truy cập theo path /vnpt-epay-demo

面向开发者

这是我在VNPT Epay支付部分测试过的版本。如果有错误或想要扩展功能,请创建 issue 以供我更新。如果您想直接联系,请发送邮件至 lamtd@boonygroup.com 。谢谢!