Rumah > Artikel > pembangunan bahagian belakang > Memperkenalkan Pesapal PHP SDK: Permudahkan Penyepaduan Pembayaran Anda
Menyepadukan penyelesaian pembayaran ke dalam aplikasi PHP anda menjadi lebih mudah. Kami sangat teruja untuk mengumumkan keluaran Pesapal PHP SDK kami, perpustakaan yang teguh dan mesra pengguna yang direka untuk menyelaraskan interaksi anda dengan gerbang pembayaran Pesapal.
Pesapal ialah platform pembayaran terkemuka di Afrika, menawarkan pemprosesan pembayaran yang selamat dan boleh dipercayai untuk perniagaan dari semua saiz. Walau bagaimanapun, penyepaduan API Pesapal secara langsung boleh memakan masa dan rumit. SDK kami merumuskan selok-belok API, menyediakan antara muka yang bersih dan intuitif untuk pembangun.
Pasang SDK melalui Komposer:
composer require katorymnd/pesapal-php-sdk
Mulakan pelanggan dengan kelayakan Pesapal anda:
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);
Berikut ialah cara anda boleh memulakan pembayaran dengan kod minimum:
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'] }
Untuk menyemak status transaksi:
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']; }
Keluarkan bayaran balik dengan mudah:
// 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(), ]; }
Kami telah menyertakan suite ujian yang komprehensif untuk memastikan kebolehpercayaan SDK. Untuk menjalankan ujian:
vendor/bin/phpunit
Untuk mendapatkan maklumat terperinci tentang semua kaedah dan ciri yang tersedia, sila rujuk repositori GitHub kami.
Kami mengalu-alukan sumbangan daripada komuniti! Jangan segan-segan untuk menyerahkan isu, menghentikan repositori dan membuat permintaan tarik.
SDK tersedia di Packagist, menjadikannya mudah untuk disertakan dalam projek anda melalui Komposer.
Kami telah menyediakan penyepaduan berterusan menggunakan GitHub Actions untuk memastikan setiap kemas kini mengekalkan standard kualiti tertinggi.
SDK PHP Pesapal direka untuk menjimatkan masa dan usaha anda, membolehkan anda menumpukan pada membina aplikasi yang hebat tanpa perlu risau tentang kerumitan penyepaduan pembayaran. Kami teruja untuk melihat apa yang anda bina dengannya!
Atas ialah kandungan terperinci Memperkenalkan Pesapal PHP SDK: Permudahkan Penyepaduan Pembayaran Anda. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!