Heim > Backend-Entwicklung > PHP-Tutorial > Einführung des Pesapal PHP SDK: Vereinfachen Sie Ihre Zahlungsintegration

Einführung des Pesapal PHP SDK: Vereinfachen Sie Ihre Zahlungsintegration

DDD
Freigeben: 2024-11-24 00:19:10
Original
137 Leute haben es durchsucht

Introducing the Pesapal PHP SDK: Simplify Your Payment Integration

Die Integration von Zahlungslösungen in Ihre PHP-Anwendungen ist jetzt viel einfacher. Wir freuen uns, die Veröffentlichung unseres Pesapal PHP SDK bekannt zu geben, einer robusten und benutzerfreundlichen Bibliothek, die Ihre Interaktion mit dem Pesapal-Zahlungsgateway optimieren soll.

? Warum Pesapal PHP SDK?

Pesapal ist eine führende Zahlungsplattform in Afrika und bietet sichere und zuverlässige Zahlungsabwicklung für Unternehmen jeder Größe. Die direkte Integration der Pesapal-API kann jedoch zeitaufwändig und komplex sein. Unser SDK abstrahiert die Feinheiten der API und bietet Entwicklern eine saubere und intuitive Schnittstelle.

Hauptmerkmale

  • Einfache Authentifizierung: Vereinfacht die OAuth-Authentifizierung mit Pesapal.
  • Nahtlose Zahlungsintegration: Zahlungen schnell veranlassen und Rückrufe bearbeiten.
  • Transaktionsverwaltung: Überprüfen Sie ganz einfach den Transaktionsstatus und verarbeiten Sie Rückerstattungen.
  • PSR-4-kompatibel: Entspricht den PHP-FIG-Standards für das automatische Laden.
  • Umfangreiche Dokumentation: Gut dokumentierte Methoden und Beispiele, die Ihnen den Einstieg erleichtern.

? Erste Schritte

Installation

Installieren Sie das SDK über Composer:

composer require katorymnd/pesapal-php-sdk
Nach dem Login kopieren

Anforderungen

  • PHP 8.0 oder höher
  • Komponist
  • Pesapal-Händlerkonto

Konfiguration

Initialisieren Sie den Client mit Ihren Pesapal-Anmeldeinformationen:

require 'vendor/autoload.php';

use Katorymnd\PesapalPhpSdk\Api\PesapalClient;
use Katorymnd\PesapalPhpSdk\Config\PesapalConfig;

$consumerKey = 'YOUR_CONSUMER_KEY';
$consumerSecret = 'YOUR_CONSUMER_SECRET';

// Initialize PesapalConfig and PesapalClient
$configPath = __DIR__ . '/../pesapal_dynamic.json';
$config = new PesapalConfig($consumerKey, $consumerSecret, $configPath);
$environment = 'sandbox';
$sslVerify = false; // Enable SSL verification for production


$pesapal = new PesapalClient($config, $environment, $sslVerify);

Nach dem Login kopieren

? Eine Zahlung veranlassen

So können Sie eine Zahlung mit minimalem Code veranlassen:

use Katorymnd\PesapalPhpSdk\Utils\PesapalHelpers;

$merchantReference = PesapalHelpers::generateMerchantReference();
$notificationId = 'adbd39cc-a48e-4789-b42b-79ad8deb32df';  // Replace with actual notification ID from IPN registration

// Define the order data as an associative array for the POST request
$paymentDetails= [
    "id" => $merchantReference,
    "currency" => "USD",
    "amount" => 100.00,
    "description" => "Payment for invoice " . $merchantReference,
    "callback_url" => "https://www.example.com/payment-callback",
    "notification_id" => $notificationId,
    "redirect_mode" => "PARENT_WINDOW",
    "cancellation_url" => "https://www.example.com/payment-cancel",
    "billing_address" => [
        "phone_number" => "0700000000",
        "email_address" => "john.doe@example.com",
        "country_code" => "UG",
        "first_name" => "John",
        "middle_name" => "",
        "last_name" => "Doe",
        "line_1" => "123 Example Street",
        "line_2" => "",
        "city" => "Kampala",
        "state" => "KMP",
        "postal_code" => 256
    ]
];

// Obtain a valid access token
    $accessToken = $clientApi->getAccessToken();
    if (!$accessToken) {
        throw new PesapalException('Failed to obtain access token');
    }

// Submit order request to Pesapal
    $response = $clientApi->submitOrderRequest($orderData);

if ($response['status'] === 200 && isset($response['response']['redirect_url'])) {
        $redirectUrl = $response['response']['redirect_url'];
        $orderTrackingId = $response['response']['order_tracking_id'];

} else {
    // Handle errors
    $response['response']['error']
}
Nach dem Login kopieren

? Überprüfen des Transaktionsstatus

So überprüfen Sie den Status einer Transaktion:

use Katorymnd\PesapalPhpSdk\Exceptions\PesapalException;

// Obtain a valid access token
    $accessToken = $clientApi->getAccessToken();
    if (!$accessToken) {
        throw new PesapalException('Failed to obtain access token');
    }

 // Get the transaction status
    $response = $clientApi->getTransactionStatus($orderTrackingId);

if ($response['status'] === 200 && isset($response['response'])) {
        $transactionStatusData = $response['response'];
}

Nach dem Login kopieren

? Bearbeitung von Rückerstattungen

Erstatten Sie ganz einfach:

// Prepare refund data with user-provided values
$refundData = [
    'confirmation_code' => '7323605385336397404011', // the code is received by  checking the transaction status
    'amount' => 50.00,
    'username' => 'John Doe',
    'remarks' => 'Customer Requested Refund'
];

try {
    // Request Refund
    $refundResponse = $clientApi->requestRefund($refundData);

    if ($refundResponse['status'] === 200 && isset($refundResponse['response'])) {
        $refundDataResponse = $refundResponse['response'];

        // Add refund response to the output
        $responseData['refund_response'] = $refundDataResponse;
    } else {
        $errorMessage = $refundResponse['response']['error']['message'] ?? 'Unknown error occurred while requesting a refund.';
        throw new PesapalException($errorMessage);
    }
} catch (PesapalException $e) {
    // Add the error to the response
    $responseData['refund_error'] = [
        'error' => $e->getMessage(),
        'details' => $e->getErrorDetails(),
    ];
}

Nach dem Login kopieren

? Testen und Entwicklung

Wir haben eine umfassende Testsuite integriert, um die Zuverlässigkeit des SDK sicherzustellen. So führen Sie die Tests aus:

vendor/bin/phpunit
Nach dem Login kopieren

? Dokumentation

Detaillierte Informationen zu allen verfügbaren Methoden und Funktionen finden Sie in unserem GitHub-Repository.


? Mitwirken

Wir freuen uns über Beiträge aus der Community! Fühlen Sie sich frei, Probleme einzureichen, das Repository zu teilen und Pull-Anfragen zu stellen.


? Paketverteilung

Das SDK ist auf Packagist verfügbar, sodass Sie es einfach über Composer in Ihre Projekte einbinden können.


?️ Kontinuierliche Integration

Wir haben eine kontinuierliche Integration mithilfe von GitHub Actions eingerichtet, um sicherzustellen, dass bei jedem Update die höchsten Qualitätsstandards eingehalten werden.


? Abschluss

Das Pesapal PHP SDK wurde entwickelt, um Ihnen Zeit und Mühe zu sparen, sodass Sie sich auf die Entwicklung großartiger Anwendungen konzentrieren können, ohne sich um die Komplexität der Zahlungsintegration kümmern zu müssen. Wir sind gespannt, was Sie damit bauen!


? Bleiben Sie in Kontakt

  • GitHub: github.com/katorymnd/pesapal-php-sdk
  • Packagist: packagist.org/packages/katorymnd/pesapal-php-sdk

Das obige ist der detaillierte Inhalt vonEinführung des Pesapal PHP SDK: Vereinfachen Sie Ihre Zahlungsintegration. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:dev.to
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage