traknpay/checkout

TraknPay支付网关集成

v1.0 2016-10-13 14:11 UTC

This package is not auto-updated.

Last update: 2024-09-24 13:02:56 UTC


README

Laravel 5.x Latest Stable Version Latest Unstable Version Total Downloads License

Checkout

Traknpay/Checkout是一个Laravel包,用于将traknpay支付网关集成到您的laravel 5.X包中

此包用于与traknpay api支付请求集成。

要求

Checkout包在Laravel 5.1和5.3中运行良好。然而,在Laravel 5.2中,如果未正确处理响应,则存在一个较小的问题。如果按照以下步骤描述处理响应,则不会出现任何问题。

  1. PHP 5.4.0或更高版本
  2. Laravel 5.1或5.3

快速安装

要开始,请通过Composer包管理器安装Checkout

composer require traknpay/checkout

服务提供者

接下来,在config/app.php配置文件的providers数组中注册Checkout服务提供者

TraknPay\Checkout\CheckoutServiceProvider::class

门面

在config/app.php配置文件的aliases数组中添加'Checkout'门面

'Checkout'=>TraknPay\Checkout\Facades\Checkout::class

配置

发布配置

php artisan vendor:publish

config/traknpay_payment_gateway.php

这是Laravel将发布到您的config目录的配置文件。

打开此文件,并在以下参数中提供值

'api_key'
'app_url'
'salt'
'mode'

'app_url'应设置为您的服务器URL,默认设置为https://:8000,不要在此URL的末尾添加'/'

'api_key''salt'值由Traknpay提供。

'mode'值可以是TESTLIVE

有关需要发送的其他参数,请参阅traknpay集成文档TraknPay_Integration_Guide_Ver1.4.1

使用方法

要向traknpay网关发送支付参数,在点击结账按钮时执行以下操作。

    Checkout::post([
        'order_id'       => '10',
        'amount'         => '201.00',
        'name'           => 'Payer Name',
        'email'          => 'Payer@example.com',
        'phone'          => '9876543210',
    ]);

处理响应

有一个内置的响应处理器,但它并不做什么,除了显示交易是否成功失败。要自行处理响应,请使用以下步骤。

  1. 创建一个控制器(例如PaymentController

  2. 在此控制器中创建一个函数(例如handleResponse

  3. handleResponse函数中,执行哈希检查,然后更新您的支付状态。

        use TraknPay\Checkout\Facades\Checkout;
    
        class PaymentController extends Controller
        {
            public  function handleResponse(Request $request) {
                if(Checkout::checkResponseHash($request->all())){
                    // if checkResponseHash returns true, continue to save the response.
                } else {
                    // if checkResponseHash returns false , then it means that response might be tampered
                }
            }
        }
  4. 将新路由添加到web.php文件中。

        Route::post('/paymentresponse','PaymentController@handleResponse');
  5. 将此路由添加到中间件VerifyCsrfToken的异常列表中。

  6. config/traknpay_payment_gateway.php中更新app_urlreturn_url

        'app_url'    => 'http://your-site.com'
        'return_url' => '/paymentresponse'