innovaweb / transbank
Transbank webservices (Webpay Plus) SDK
v2.10.0
2023-04-10 14:48 UTC
Requires
- illuminate/support: ~5|~6|~7|~8|~9
- transbank/transbank-sdk: ^2.0
Requires (Dev)
- orchestra/testbench: ~5|~6
- phpunit/phpunit: ~9.0
README
请在这里填写您的描述。有关待办事项,请参阅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。有关更多信息,请参阅许可文件。