tingg / checkout
A PHP SDK to help developers integrate their business into the Tingg platform
dev-main
2024-03-18 11:28 UTC
Requires
- php: >=7.2
- ext-curl: *
- ext-json: *
- ext-openssl: *
- nesbot/carbon: ^2.71
Requires (Dev)
- phpunit/phpunit: ^10.4.2
This package is not auto-updated.
Last update: 2024-12-17 08:19:36 UTC
README
Introduction | Installation | License
Introduction
Integrate your Php app with Tingg checkout in minutes using our feature rich & flexible SDK.
- Express Checkout
Installation
The SDK can be installed via composer using the command below:
composer require tingg/checkout
Express checkout integration
Ensure you get your client id and client secret keys to continue. See docs
Let's look at a simple Express APP route that creates a checkout request
<?php
namespace App\Http\Controllers;
use Illuminate\Http\Request;
use Tingg\Checkout\Express;
class CheckoutController extends Controller
{
/**
* Handle the incoming request.
*/
public function __invoke(Request $request)
{
# Get these values from your .env config
$client_secret =env('clientSecret');
$client_id = env('clientId');
$environment = "testing";
// Get the JSON payload from the request
$payload = $request->json()->all();
// A sample for $request->json()->all() returned value
// $payload = [
// "merchant_transaction_id" => "mtr-dg9823euy3a",
// "account_number" => "acc-14n345j5599",
// "msisdn" => "254700000000",
// "service_code" => "JOHNDOEONLINE",
// "country_code" => "KEN",
// "currency_code" => "KES",
// "customer_last_name" => "John",
// "customer_first_name" => "Doe",
// "customer_email" => "tingg@cellulant.io",
// "request_amount" => "100",
// "due_date" => "2023-11-18 16:15:30",
// "language_code" => "en",
// "request_description" => "Dummy merchant transaction",
// "fail_redirect_url" => "https://webhook.site/88390df9-a496-432f-abe5-0cf3380fda54",
// "success_redirect_url" => "https://webhook.site/88390df9-a496-432f-abe5-0cf3380fda54",
// "callback_url" => "https://webhook.site/88390df9-a496-432f-abe5-0cf3380fda54",
// ];
// Init a checkout request
$express = new Express();
// validates & encrypt the request
$data = $express->create($payload,$environment,$client_id,$client_secret);
// Handle errors if error key is not empty
// 1. Returns validation & API errors if any i.e $result['error']['message']
return response()->json([
"long_url" => $data['results']['long_url'],
"short_url" => $data['results']['short_url']
]);
}
}
License
This SDK is distributed under the Apache License, Version 2.0, see LICENSE.txt for more information.