vadimfilatov/paysera

Paysera 网关用于 Omnipay 支付处理库

1.0.0 2024-04-04 08:44 UTC

This package is auto-updated.

Last update: 2024-09-04 09:35:44 UTC


README

Paysera 网关驱动程序,用于 Omnipay PHP 支付处理库

Latest Version on Packagist Software License Build Status StyleCI Quality Score Code Coverage Total Downloads

Omnipay 是一个不依赖于框架、多网关的 PHP 5.3+ 支付处理库。此包实现了 Omnipay 的 Paysera 支持。

安装

Omnipay 通过 Composer 安装。要安装,请使用 Composer 需求 league/omnipaysemyonchetvertnyh/omnipay-paysera

composer require league/omnipay semyonchetvertnyh/omnipay-paysera

有关一般使用说明,请参阅主 Omnipay 存储库。

要求

  • PHP 7.0+
  • Omnipay v3+
  • ext-openssl

基本用法

此包提供以下网关

  • Paysera

有关一般使用说明,请参阅主 Omnipay 存储库。

代码示例

use Omnipay\Omnipay;

// Setup payment gateway
$gateway = Omnipay::create('Paysersa');
$gateway->setProjectId('123456');
$gateway->setPassword('abcde12345');

// Optionally to determine which order has been paid
$orderId = 1;

// Example card (actually customer) data
$card = [
    'email' => 'john.doe@example.com',
    'billingFirstName' => 'John',
    'billingLastName' => 'Doe',
    'billingPhone' => '+372 12345678',
    'billingCompany' => 'Good Workers Ltd.',
    'billingAddress1' => 'Viru valjak 24',
    'billingCity' => 'Tallinn',
    'billingPostcode' => '123456',
    'billingCountry' => 'EE',
];

// Send purchase request
$response = $gateway->purchase(
    [
        'language' => 'ENG',
        'transactionId' => $orderId,
        // 'paymentMethod' => 10,
        'amount' => '10.00',
        'currency' => 'EUR',
        'returnUrl' => "https://example.com/paysera/return/{$orderId}",
        'cancelUrl' => "https://example.com/paysera/cancel/{$orderId}",
        'notifyUrl' => "https://example.com/paysera/notify/{$orderId}",
        'card' => $card,
    ]
)->send();

if ($response->isRedirect()) {
    return $response->redirect();
}

您还应实现 notifyUrl 方法。在成功收费后,Paysera 会向此 URL 发送请求。

use Omnipay\Omnipay;

// Setup payment gateway
$gateway = Omnipay::create('Paysersa');
$gateway->setProjectId('123456');
$gateway->setPassword('abcde12345');

// Accept the notification
$response = $gateway->acceptNotification()
    ->send();
    
if ($response->isSuccessful()) {
    // Mark the order as paid

    return true;
}

变更日志

请参阅 CHANGELOG 以获取有关最近更改的更多信息。

贡献

请参阅 CONTRIBUTING 以获取详细信息。

致谢

许可证

MIT 许可证 (MIT)。请参阅 许可证文件 以获取更多信息。