chargily/epay-symfony
最新稳定版本:v1.0.0
Composer 安装命令:
composer require chargily/epay-symfony
包简介
Chargily epay plugin for symfony.
README 文档
README
Symfony Plugin for Chargily ePay Gateway
Installation
- Via Composer (Recomended)
composer require chargily/epay-symfony
- Register the bundle, add this line at the end of the file config/bundles.php
\Chargily\SymfonyBundle\ChargilySymfonyBundle::class => ['all' => true],
- Import the services, Add the follow line in config/services.yml
imports:
- { resource: "@ChargilySymfonyBundle/config/services.yaml" }
- Configure the api keys Add the follow line in config/services.yml
parameters:
api_key: "API_KEY"
secret_key: "SECRET_KEY"
- Process payment and redirection to payment page
$payload = array( "client" => "test", 'client_email' => "test@gmail.com", "invoice_number" => '123456789', "amount" => 110, 'discount' => 0, 'mode' => 'CIB', 'back_url' => "https://test.com", 'webhook_url' => "https://test.com" . "/" . "webHookSuffixRoute". "/" ."OrderNumber", //back_url example when you want to take your host base url //'back_url' => $request->getSchemeAndHttpHost(), //webhook_url example when you want to take your host base url and add your suffix route for the webhook //'webhook_url' => $request->getSchemeAndHttpHost() . "/" . you_back_url_suffix_here . "/" .Order_Number, 'comment' => 'My Payment Comment.', 'api_key' => $this->getParameter('api_key'), ); $chargyliController = new ChargilyEpaySymfonyController(); $response = $chargyliController->pay($payload); $status_code = $response->getStatusCode(); $response = json_decode($response->getContent()); if ($status_code == 200) { //redirect to chargily payment gateway return $this->redirect($response->response); } else { // This is a error message depending on issue that happen dd($status_code . " " . $response->response); }
- success Message for the Process payment
200 => getting redirection link with success => Redirection to url
- Error Message for the Process payment
400 => There mode must be CIB,EDAHABIA option Only 400 => There amount must be numeric and greather or equal than 75 400 => There is issue \for connecting payment gateway. Sorry \for the inconvenience => with error message 400 => There is missing information in payment parameters
- Webhook Template
/** * @Route("/chargily/webhook/{OrderNumber}",name="chargily_webhook") * @throws \Exception */ public function chargilyWebhook(Request $request) { //getting your order number $number = $request->attributes->get('OrderNumber'); //part or code for searching your order by number /* * */ //getting request content $data = json_decode($request->getContent(), true); $headers = json_decode($request->headers, true); $hashedData = hash_hmac('sha256', json_encode($data) , $this->getParameter('secret_key')); if (isset($data) and isset($number)) { if($data['invoice']['status'] == 'paid'){ //part where you update your order status for paid status return new JsonResponse([ 'code' => 200, 'message' => 'Update status with success' ]); }elseif($data['invoice']['status'] == 'failed'){ //part where you update your order status for failed status return new JsonResponse([ 'code' => 200, 'message' => 'Update status with success' ]); } elseif( $data['invoice']['status'] == 'canceled'){ //part where you update your order status for canceled status return new JsonResponse([ 'code' => 200, 'message' => 'Update status with success' ]); } } else { return new JsonResponse([ 'code' => 400, 'message' => 'Update status Failed' ]); } }
- Clear the Cache And Enjoy
php bin/console cache:clear
This Plugin is to integrate ePayment gateway with Chargily easily.
- Currently support payment by CIB / EDAHABIA cards and soon by Visa / Mastercard
- This repo is recently created for Sylius Plugin, If you are a developer and want to collaborate to the development of this plugin, you are welcomed!
Contribution tips
- Make a fork of this repo.
- Take a tour to our API documentation here
- Get your API Key/Secret from ePay by Chargily dashboard for free.
- Start developing.
- Finished? Push and merge.
统计信息
- 总下载量: 0
- 月度下载量: 0
- 日度下载量: 0
- 收藏数: 3
- 点击次数: 1
- 依赖项目数: 0
- 推荐数: 0
其他信息
- 授权协议: MIT
- 更新时间: 2022-07-27
