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.
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.
Installieren Sie das SDK über Composer:
composer require katorymnd/pesapal-php-sdk
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);
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'] }
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']; }
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(), ]; }
Wir haben eine umfassende Testsuite integriert, um die Zuverlässigkeit des SDK sicherzustellen. So führen Sie die Tests aus:
vendor/bin/phpunit
Detaillierte Informationen zu allen verfügbaren Methoden und Funktionen finden Sie in unserem GitHub-Repository.
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.
Das SDK ist auf Packagist verfügbar, sodass Sie es einfach über Composer in Ihre Projekte einbinden können.
Wir haben eine kontinuierliche Integration mithilfe von GitHub Actions eingerichtet, um sicherzustellen, dass bei jedem Update die höchsten Qualitätsstandards eingehalten werden.
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!
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!