evilnet/dotpay

用于通过API而不是表单进行Dotpay支付的软件包

2.1.3 2020-09-09 10:52 UTC

This package is auto-updated.

Last update: 2024-09-16 11:31:31 UTC


README

为 Laravel 5.x 提供的 Dotpay 包。允许您通过 API 直接发送数据,而不是使用表单。

Scrutinizer Code Quality Build Status Latest Unstable Version License Total Downloads

结构

src/
tests/

安装

通过 Composer

$ composer require evilnet/dotpay

或者,如果您正在使用 master 版本的最新版本(如果您想使用最稳定的版本,不建议这样做),请将以下内容添加到 composer 文件中

 "require": {
         "evilnet/dotpay": "dev-master"
     },

然后注册服务,如果需要的话,还可以添加别名,以便在 config/app.php 中使用 facade(从 Laravel 5.5 及更高版本不再需要)

'providers' => [

     Evilnet\Dotpay\DotpayServiceProvider::class,
 
 
 'aliases' => [
     'Dotpay' => Evilnet\Dotpay\Facades\Dotpay::class

发布配置,并在其中填写所需数据

php artisan vendor:publish --provider="Evilnet\Dotpay\DotpayServiceProvider"

将值添加到 .env 文件中

DOTPAY_USERNAME=
DOTPAY_PASSWORD=
DOTPAY_SHOP_ID=
DOTPAY_PIN=
DOTPAY_BASE_URL=https://ssl.dotpay.pl/test_seller/ 

并将您自己的处理回调的方法添加到 VerifyCsrfToken 文件中,作为异常处理(这样 POST 请求就不需要 CSRF 标记了)

环境

生产环境:https://ssl.dotpay.pl/s2/login/

测试环境:https://ssl.dotpay.pl/test_seller/

使用示例

namespace App\Http\Controllers;

use Evilnet\Dotpay\DotpayManager;
use Illuminate\Http\Request;
use Illuminate\Http\Response;

class DotpayController extends Controller
{

    private $dotpayManager;

    public function __construct(DotpayManager $dotpayManager)
    {
        $this->dotpayManager = $dotpayManager;
    }
    
    // Tutaj uderzy Dotpay z danymi o tym w jakim stanie jest transakcja. Zwrócenie OK jest wymagane by dotpay przyjął, że serwer odpowiada poprawnie
    
    public function callback(Request $request)
    {
        $response = $this->dotpayManager->callback($request->all());
        
        //Do whatever you want with this
        
        return new Response('OK');
    }

    public function pay()
    {
        $data = [
            'amount' => '100',
            'currency' => 'PLN',
            'description' => 'Payment for internal_id order',
            'control' => '12345', //ID that dotpay will pong you in the answer
            'language' => 'pl',
            'ch_lock' => '1',
            'url' => config('dotpay.options.url'),
            'urlc' => config('dotpay.options.curl'),
            'expiration_datetime' => '2017-12-01T16:48:00',
            'payer' => [
                'first_name' => 'John',
                'last_name' => 'Smith',
                'email' => 'john.smith@example.com',
                'phone' => '+48123123123'
            ],
            'recipient' => config('dotpay.options.recipient')

        ];

        return redirect()->to($this->dotpayManager->createPayment($data));
    }
}

变更日志

有关最近更改的更多信息,请参阅 CHANGELOG

测试

$ phpunit vendor/evilnet/dotpay/tests

贡献

有关详细信息,请参阅 CONTRIBUTINGCODE_OF_CONDUCT

安全性

如果您发现任何与安全性相关的问题,请通过电子邮件 axotion@linux.pl 而不是使用问题跟踪器。

致谢

许可协议

MIT 许可协议(MIT)。有关更多信息,请参阅 许可文件