kiakaha/chargily-v2
最新稳定版本:v1.0.1
Composer 安装命令:
composer require kiakaha/chargily-v2
包简介
README 文档
README
Symfony Plugin for Chargily v2 ePay Gateway Installation
Installation
- Via Composer (Recomended)
composer require kiakaha/chargily-v2
- Register the bundle, add this line at the end of the file config/bundles.php
Chargily\V2Bundle\ChargilyV2Bundle::class => ['all' => true]
- Import the services, Add the follow line in config/services.yml
imports: services: .... Chargily\V2Bundle\Service\HandleRequest\ChargilySendRequest: public: true
- Configure the api keys Add the follow line in config/services.yml
parameters:
.......
sandbox_url: 'Your test URL'
live_url: 'Your Live URL'
public_key: "Your Public KEY"
secret_key: "Your Secret KEY"
dev: Boolean true|flase
- Create Product Method
#[Route('/chargily/create/product', name: 'create_new_product', methods: ['GET'])] public function createNewProduct(ChargilySendRequest $sendRequest) { $payload = json_encode(["name" => "Super Product"]); $response = $sendRequest->createNewProduct($payload); if ($response->getStatusCode() == 200) { $response = json_decode($response->getContent()); return new JsonResponse([ "id" => $response->id ?? null, "entity" => $response->entity ?? null, "livemode" => $response->livemode ?? null, "name" => $response->name ?? null, "description" => $response->description ?? null, "images" => $response->images ?? null, "metadata" => $response->metadata ?? null, "created_at" => $response->created_at ?? null, "updated_at" => $response->updated_at ?? null ]); } else { $response = json_decode($response->getContent()); return new JsonResponse($response); } }
- Create Price Method
#[Route('/chargily/create/price', name: 'create_price', methods: ['GET'])] public function createPrice(ChargilySendRequest $sendRequest) { $payload = json_encode(["amount" => 5000, "currency" => "dzd", "product_id" => "01hnwn32spw57bz2b4m52rdjrh"]); return $sendRequest->createPrice($payload); }
- Create checkout Method
#[Route('/chargily/create/checkout', name: 'create_checkout', methods: ['GET'])] public function createCheckout(ChargilySendRequest $sendRequest) { $payload = json_encode(["items" => [[ "price" => "01hntrjg31kkxebqzxk37xzhp8", "quantity" => 1 ]], "success_url" => "https://your-cool-website.com/payments/success" ]); return $sendRequest->createCheckout($payload); }
- Webhook Method
/** * @Route("/chargily/webhook/checkout",name="webhook_checkout") * @throws \Exception */ public function webhookCheckout(ChargilySendRequest $sendRequest, Request $request) { $response = $sendRequest->webhookCheckout($request); return $response; }
- this is a full controller for the implementations
<?php namespace App\Controller; use Chargily\V2Bundle\Service\HandleRequest\ChargilySendRequest; use Symfony\Bundle\FrameworkBundle\Controller\AbstractController; use Symfony\Component\HttpFoundation\JsonResponse; use Symfony\Component\HttpFoundation\Request; use Symfony\Component\Routing\Attribute\Route; class ChargilyEpaySymfonyController extends AbstractController { #[Route('/chargily/create/product', name: 'create_new_product', methods: ['GET'])] public function createNewProduct(ChargilySendRequest $sendRequest) { $payload = json_encode(["name" => "Super Product"]); $response = $sendRequest->createNewProduct($payload); if ($response->getStatusCode() == 200) { $response = json_decode($response->getContent()); return new JsonResponse([ "id" => $response->id ?? null, "entity" => $response->entity ?? null, "livemode" => $response->livemode ?? null, "name" => $response->name ?? null, "description" => $response->description ?? null, "images" => $response->images ?? null, "metadata" => $response->metadata ?? null, "created_at" => $response->created_at ?? null, "updated_at" => $response->updated_at ?? null ]); } else { $response = json_decode($response->getContent()); return new JsonResponse($response); } } #[Route('/chargily/create/price', name: 'create_price', methods: ['GET'])] public function createPrice(ChargilySendRequest $sendRequest) { $payload = json_encode(["amount" => 5000, "currency" => "dzd", "product_id" => "01hnwn32spw57bz2b4m52rdjrh"]); return $sendRequest->createPrice($payload); } #[Route('/chargily/create/checkout', name: 'create_checkout', methods: ['GET'])] public function createCheckout(ChargilySendRequest $sendRequest) { $payload = json_encode(["items" => [[ "price" => "01hntrjg31kkxebqzxk37xzhp8", "quantity" => 1 ]], "success_url" => "https://your-cool-website.com/payments/success" ]); return $sendRequest->createCheckout($payload); } /** * @Route("/chargily/webhook/checkout",name="webhook_checkout") * @throws \Exception */ public function webhookCheckout(ChargilySendRequest $sendRequest, Request $request) { $response = $sendRequest->webhookCheckout($request); return $response; } }
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 V2 For test Mode ePay by Chargily V2 For live Mode dashboard for free.
- Start developing.
- Finished? Push and merge.
统计信息
- 总下载量: 8
- 月度下载量: 0
- 日度下载量: 0
- 收藏数: 1
- 点击次数: 0
- 依赖项目数: 0
- 推荐数: 0
其他信息
- 授权协议: proprietary
- 更新时间: 2024-02-04
