professionalweb/payment-laravel

laravel的支付驱动程序

v3.0.1 2018-10-01 14:31 UTC

This package is auto-updated.

Last update: 2024-08-28 15:47:48 UTC


README

Latest Stable Version Code Climate License Latest Unstable Version

要求

  • PHP 7.2+

依赖项

安装

模块可通过composer获得

composer require professionalweb/payment-laravel "dev-master"

或者您可以将以下内容手动添加到您的composer.json文件的require部分

"professionalweb/payment-laravel": "^4.0"

之后运行composer update

使用

首先用户必须重定向到支付系统页面

<?php

public function action(PayService $paymentService) {
    redirect()->to(
        $paymentService->getPaymentLink($order->id,
            $payment->id,
            $payment->amount,
            $payment->currency,
            PayService::PAYMENT_TYPE_CARD
            $successfulPaymentReturnUrl,
            $failedPaymentReturnUrl,
            $description
        );
    );
}

然后您需要处理异步响应

<?php

public function responseHandler(PayService $paymentService) {
    if($paymentService->setResponse($this->getRequest()->all())->isSuccess()) {
        $orderId = $paymentService->getOrderId();
        $status = $paymentService->getStatus();
        $amount = $paymentService->getAmount();
        $errorCode = $paymentService->getErrorCode();
        $pan = $paymentService->getPan();
        $paymentDate = $paymentService->getDateTime();
        $transactionId = $paymentService->getTransactionId();
        $provider = $service->getProvider();

        // Update order, payment record, etc...
    } else {
        // something else
    }
}

收据

发送收据到IRS

/**
 * Prepare Receipt
 *
 * @param Order $order
 *
 * @return Receipt
 */
public function prepareReceipt(Order $order)
{
    $receipt = new Receipt($order->user->email);
    /** @var Item $item */
    foreach ($order->items as $item) {
        $receipt->addItem(new ReceiptItem($item->name, $item->qty, $item->price, config('payment.tax')));
    }

    return $receipt;
}

PayOnline提供单独的服务来发送注册收据并发送给用户。

use professionalweb\payment\contracts\ReceiptService;

$receipt = new Receipt($order->user->email);
$receipt->setTransactionId($transactionIdFromPayOnlineResponse);
/** @var Item $item */
foreach ($order->items as $item) {
    $receipt->addItem(new ReceiptItem($item->name, $item->qty, $item->price, config('payment.tax')));
}

app(ReceiptService::class)->sendReceipt(
    $this->prepareReceipt()
);

MIT许可证(MIT)

版权所有(c)2016 Sergey Zinchenko,Professional web

特此授予任何获得本软件及其相关文档副本(“软件”)的人免费权利,以不受限制地处理软件,包括但不限于使用、复制、修改、合并、发布、分发、再许可和/或出售软件的副本,并允许获得软件的人这样做,但受以下条件约束

上述版权声明和本许可声明应包含在软件的所有副本或主要部分中。

软件按“原样”提供,不提供任何明示或暗示的保证,包括但不限于适销性、特定用途的适用性和非侵权性。在任何情况下,作者或版权所有者均不对任何索赔、损害或其他责任负责,无论源于合同、侵权或其他方式,与软件或软件的使用或其他交易有关。