itemvirtual/

ecommerce-redsys

使用 Laravel 的 Redsys 支付

1.1.0 2023-01-18 14:57 UTC

This package is auto-updated.

Last update: 2024-09-14 20:55:57 UTC


README

使用 Laravel 的 Redsys 支付

Latest Version on Packagist Total Downloads

安装

您可以通过 composer 安装此包

composer require itemvirtual/ecommerce-redsys

发布配置(使用 --force 选项更新)

php artisan vendor:publish --provider="Itemvirtual\EcommerceRedsys\EcommerceRedsysServiceProvider" --tag=config

将此环境变量添加到您的 .env

ECOMMERCE_REDSYS_ENVIRONMENT=test # or live
ECOMMERCE_REDSYS_KEY="sq7HjrUOBfKmC576ILgskD5srU870gJ7"
ECOMMERCE_REDSYS_CODE="999008881"
ECOMMERCE_REDSYS_TERMINAL=1
ECOMMERCE_REDSYS_CURRENCY=978
ECOMMERCE_REDSYS_LANGUAGE="001"
ECOMMERCE_REDSYS_NOTIFICATION_URL="${APP_URL}/redsys-notification-url"
ECOMMERCE_REDSYS_URL_OK="${APP_URL}/redsys-ok-url"
ECOMMERCE_REDSYS_URL_KO="${APP_URL}/redsys-ko-url"
ECOMMERCE_REDSYS_TRADE_NAME="${APP_NAME}"
ECOMMERCE_REDSYS_TITULAR="Your company name"

将您的 ECOMMERCE_REDSYS_NOTIFICATION_URL 添加到 app/Http/Middleware/VerifyCsrfToken 中间件

protected $except = [
    'redsys-notification-url'
];

使用方法

创建 Redsys 支付表单

use Itemvirtual\EcommerceRedsys\EcommerceRedsys;

$EcommerceRedsys = new EcommerceRedsys();
$redsysForm = $EcommerceRedsys->setAmount(100)
    ->setMerchantData('YourMerchantData')
    ->setDescription('Purchase title')
    ->setSubmitButtonTitle('Pay button text')
    ->createForm();

可用方法

$EcommerceRedsys = new EcommerceRedsys();
$params = $EcommerceRedsys->setAmount(100)
    ->setOrder(time())
    ->setMerchantData('YourMerchantData')
    ->setDescription('Purchase title')
    ->setMerchantcode('Your Custom Data')
    ->setCurrency(999)
    ->setLanguage('Your Custom Data')
    ->setTransactiontype('Your Custom Data')
    ->setTerminal(1)
    ->setMethod('Your Custom Data')
    ->setNotificationUrl('Your Custom Data')
    ->setUrlOk('Your Custom Data')
    ->setUrlKo('Your Custom Data')
    ->setTradeName('Your Custom Data')
    ->setTitular('Your Custom Data')
    ->setEnvironment('test')
    ->setSubmitButtonName('Your Custom Button title')
    ->setSubmitButtonTitle('Your Custom Button title')
    ->setSubmitButtonId('Your Custom Button title')
    ->setSubmitButtonClass('Your Custom Button title')
    ->debugParameters();

获取 Redsys 响应

use Itemvirtual\EcommerceRedsys\EcommerceRedsys;

$EcommerceRedsys = new EcommerceRedsys();
$parameters = $EcommerceRedsys->getMerchantParameters($request->get('Ds_MerchantParameters'));
$yourMerchantData = $EcommerceRedsys->getMerchantData($request->get('Ds_MerchantParameters'));

// validate payment
$isValid = $EcommerceRedsys->checkValidPayment($request->all());

变更日志

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

贡献

请参阅CONTRIBUTING 了解详情。

鸣谢

许可协议

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

链接

Redsys 测试环境