adrian1207/dotpay

通过API而不是表单进行Dotpay支付

2.1.6 2021-03-31 12:18 UTC

README

Laravel 5.x的Dotpay包装。允许通过API而不是表单发送数据。

Scrutinizer Code Quality Build Status Latest Unstable Version License Total Downloads

结构

src/
tests/

安装

通过Composser

$ composer require evilnet/dotpay

或添加到composer文件

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

然后注册服务和可选的别名到config/app.php

'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的异常中

使用示例

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;
    }

    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));
    }
}

变更日志

有关最近更改的更多信息,请参阅变更日志

测试

$ phpunit vendor/evilnet/dotpay/tests

贡献

有关详细信息,请参阅贡献指南行为准则

安全

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

鸣谢

许可

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