innovaweb/transbank

Transbank webservices (Webpay Plus) SDK

v2.10.0 2023-04-10 14:48 UTC

README

Latest Version on Packagist Total Downloads

请在这里填写您的描述。有关待办事项,请参阅contributing.md

安装

通过 Composer

$ composer require innovaweb/transbank

用法

private $webpay_plus;

public function __construct()
{
    if (env('APP_ENV') == 'production') {

        $this->webpay_plus = new WebpayPlus(
            env('TBK_CC'),
            env('TBK_API_KEY'),
            WebpayPlus::PRODUCTION
        );

    } else {
        $this->webpay_plus = new WebpayPlus();
    }
}
createTransaction($buy_order, $session_id, $amount, $url_return);
commitTransaction($token_ws);
refundTransaction($token, $amount);
getTransactionStatus($token);

示例

<?php

namespace App\Http\Controllers;

use Illuminate\Http\Request;
use Innovaweb\Transbank\Helpers\HelperTransbankResponseCode;
use Innovaweb\Transbank\WebpayPlus;

class WebpayPlusController extends Controller
{
    private $webpay_plus;

    public function __construct()
    {
        if (env('APP_ENV') == 'production') {

            $this->webpay_plus = new WebpayPlus(
                env('TBK_CC'),
                env('TBK_API_KEY'),
                WebpayPlus::PRODUCTION
            );

        } else {
            $this->webpay_plus = new WebpayPlus();
        }
    }

    public function create(Request $request)
    {
        $response = $this->webpay_plus->createTransaction(
            $request->buy_order,
            'session' . $request->buy_order,
            $request->amount,
            route('response-wp-plus')
        );
        return $this->webpay_plus->redirectHTML();
    }

    public function response(Request $request)
    {
        if ($request->token_ws) {

            $commit = $this->webpay_plus->commitTransaction($request->token_ws);
            $response = $commit['response'];
            
            return [
                $response,
                'vci' => HelperTransbankResponseCode::VCI($response->vci),
                'responseCode' => HelperTransbankResponseCode::ResponseCode($response->responseCode),
                'paymentTypeCode' => HelperTransbankResponseCode::PaymentTypeCode($response->paymentTypeCode),
                'status' => HelperTransbankResponseCode::Status($response->status),
            ];
        } else {
            //transacción anulada
            return $request->all();
        }
    }
}

变更日志

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

贡献

有关详细信息,请参阅contributing.md

安全

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

致谢

许可

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