netbums/laravel-quickpay

为Laravel应用程序提供的围绕Quickpay API的流畅API

0.1.6-alpha 2024-09-03 12:29 UTC

README

Latest Version on Packagist GitHub Tests Action Status GitHub Code Style Action Status Total Downloads

此Laravel包可以帮助您使用Quickpay API客户端,而不必太了解端点。它提供了一个流畅的API来使用该API。请参阅以下示例。

支持我

请考虑通过赞助我的工作来支持我

安装

  1. 您可以通过composer安装此包
composer require netbums/laravel-quickpay
  1. 使用以下命令发布配置文件
php artisan vendor:publish

搜索"quickpay",并发布configNetbums\Quickpay\QuickpayServiceProvider

这是已发布配置文件的内容

// config/quickpay.php
return [
    'api_key' => env('QUICKPAY_API_KEY'),
    'login' => env('QUICKPAY_LOGIN'),
    'password' => env('QUICKPAY_PASSWORD'),
    'merchant_id' => env('QUICKPAY_MERCHANT_ID'),
];
  1. 将环境变量添加到您的.env文件中
QUICKPAY_API_KEY=

或者,您还可以将以下环境变量添加到您的.env文件中,而不是QUICKPAY_API_KEY

QUICKPAY_LOGIN=
QUICKPAY_PASSWORD=
QUICKPAY_MERCHANT_ID=

用法

付款

获取所有付款

use \Netbums\Quickpay\Facades\Quickpay;

$payments = Quickpay::payments()->all();

获取一笔付款

通过id获取单笔付款

use \Netbums\Quickpay\Facades\Quickpay;

$payment = Quickpay::payments()->find($paymentId);

创建一笔付款

首先创建一个包含商品的手推车,然后使用该手推车和一个唯一的订单id创建一笔付款。

use \Netbums\Quickpay\DataObjects\Basket;
use \Netbums\Quickpay\DataObjects\BasketItem;
use \Netbums\Quickpay\DataObjects\Payment;
use \Netbums\Quickpay\Facades\Quickpay;

$basket = new Basket(
    items: [
        new BasketItem(
            qty: 1,
            item_name: 'Test item',
            item_no: 'sku-1234',
            item_price: 100, // in smallest currency unit
            vat_rate: 0.25, // 25%
        )
    ]
);

$paymentData = new Payment(
    currency: 'DKK',
    order_id: '1234',
    basket:  $basket,
);


$createdPayment = Quickpay::payments()->create(
    payment: $paymentData
);

付款创建后,您可以为其创建一个付款链接,并将用户重定向到付款链接。

创建付款链接

use \Netbums\Quickpay\Facades\Quickpay;
use \Netbums\Quickpay\DataObjects\PaymentLink;

$paymentLinkData = new PaymentLink(
    id: $createdPayment['id'], 
    amount: 100
);

$paymentLink = Quickpay::payments()->createLink($paymentLinkData);

这将返回一个URL,您可以将其重定向到用户。

更新付款


捕获付款

捕获付款。这将捕获指定的付款金额。

use \Netbums\Quickpay\Facades\Quickpay;

$payment = Quickpay::payments()->capture(
    id: $paymentId,
    amount: 100, // in smallest currency unit
);

退款付款

退款付款。这将退还指定的付款金额。

use \Netbums\Quickpay\Facades\Quickpay;

$payment = Quickpay::payments()->refund(
    id: $paymentId,
    amount: 100, // in smallest currency unit
);

授权付款

授权付款。这将保留卡上的金额,但不会捕获它。

use \Netbums\Quickpay\Facades\Quickpay;

$payment = Quickpay::payments()->authorize(
    id: $paymentId,
    amount: 100, // in smallest currency unit
);

更新付款授权

更新付款授权。这将保留卡上的金额,但不会捕获它。

use \Netbums\Quickpay\Facades\Quickpay;

$payment = Quickpay::payments()->renew(
    id: $paymentId,
);

取消付款

取消付款。这将取消付款,并释放卡上保留的金额。

use \Netbums\Quickpay\Facades\Quickpay;

$payment = Quickpay::payments()->cancel(
    id: $paymentId,
);

创建付款链接

为付款创建付款链接。可选参数包括:languagecontinue_urlcancel_urlcallback_url

use \Netbums\Quickpay\Facades\Quickpay;
use \Netbums\Quickpay\DataObjects\PaymentLink;

$paymentLinkData = new PaymentLink(
    id: $paymentId,
    amount: 100, // in smallest currency unit
    language: 'da',
    continue_url: 'https://example.com/continue',
    cancel_url: 'https://example.com/cancel',
    callback_url: 'https://example.com/callback',
);

$paymentLink = Quickpay::payments()->createPaymentLink(
    paymentLink: $paymentLinkData,
);

创建付款会话

use \Netbums\Quickpay\Facades\Quickpay;

$session = Quickpay::payments()->session(
    id: $paymentId,
    amount: 100, // in smallest currency unit
);

创建欺诈报告

为付款创建欺诈报告。可选参数包括:description

use \Netbums\Quickpay\Facades\Quickpay;

$fraudReport = Quickpay::payments()->createFraudReport(
    id: $paymentId,
    description: 'Fraudulent payment',
);

更新日志

请参阅更新日志了解最近更改的更多信息。

贡献

请参阅贡献指南了解详细信息。

安全漏洞

请参阅我们的安全策略了解如何报告安全漏洞。

鸣谢

许可证

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